v2 firmware and GUI stability
Hello,
I would like to make some modifications to the firmware, and in the long run it would obviously be best to use the latest code on OpenBCI_32bit_Library. But I'm a bit unsure, is this code reasonably stable? My biggest worry is bricking the board, as that would be a rather expensive mistake... Furthermore, is the GUI usable with this version since, as I understand it, the protocol has changed. I guess OpenBCI_GUI_2.0 is used for this?
I'm also assuming the repo OpenBCI_32bit will be deprecated and shouldn't be used if I'm going with the new firmware, is this correct?
On a related note, has anyone had any success with setting up an (maybe an QEMU based) emulator for the chipKIT system? It would be really nice to develop against that firsthand, but it is probably a lot of work to configure it to emulate the OpenBCI system.
I would like to make some modifications to the firmware, and in the long run it would obviously be best to use the latest code on OpenBCI_32bit_Library. But I'm a bit unsure, is this code reasonably stable? My biggest worry is bricking the board, as that would be a rather expensive mistake... Furthermore, is the GUI usable with this version since, as I understand it, the protocol has changed. I guess OpenBCI_GUI_2.0 is used for this?
I'm also assuming the repo OpenBCI_32bit will be deprecated and shouldn't be used if I'm going with the new firmware, is this correct?
On a related note, has anyone had any success with setting up an (maybe an QEMU based) emulator for the chipKIT system? It would be really nice to develop against that firsthand, but it is probably a lot of work to configure it to emulate the OpenBCI system.
Comments
But I'm a bit unsure, is this code reasonably stable?
I'm also assuming the repo OpenBCI_32bit will be deprecated and shouldn't be used if I'm going with the new firmware, is this correct?
On a related note, has anyone had any success with setting up an (maybe an QEMU based) emulator for the chipKIT system?
I have succesfully changed the firmware now to v2, and written a small python script to collect data.
But sometimes I get corrupted packets, which might be due to me not upgrading the radios.
Before I try to reprogram them, I just want to check if someone here knows more...
The
streaming format is supposed to be the same, but for example, on the
master branch, in OpenBCI_32bit_Library.cpp:824 it begins all packets
with an 'A' instead of 0xA0:
obviously breaks backward compatibility, but if I remove it, I can get
things to work again. Then it also only writes 32 bytes which seems to
be good for radio packet alignment. But for some magical reason, the
streaming packet header '0xA0' is appended too, which I assume must be
done by the RFduino firmware somehow. This also makes me believe that
the RFduino firmware might have a misunderstanding with my v2 OpenBCI
firmware, which causes my packets being corrupted, but I am still
investigating.
For example, here are one packet that is valid, then directly after follows an invalid packet:
VALID id: 86 raw: [86 83 c0 f5 85 2a b0 84 68 25 84 ce 25 83 94 b6 84 2f 50 85 21 ca 84 ba bf 00 00 00 00 00 00 c0]
INVALID id: c0 raw: [c0 87 84 1e eb 83 fe b1 83 6e a5 84 8a 61 83 b9 40 84 a4 69 82 ed 59 83 8e bd 00 00 00 00 00 c0], expected id:87)
As can be seen, the end marker is read again in the beginning of the following message.
My question is, do the radios know stuff about what's being sent, and do they modify the data being sent?
Please read the tutorial below:
http://docs.openbci.com/tutorials/04-Updating_Custom_Firmware_to_2.0#updating-and-using-v200-32bit-firmware-sending-data-packets-from-the-pic32-to-the-pc