I merged your question into this existing thread on chipKIT uploading questions. So what you are saying is that you are looking for the correct firmware that works for all 16 channels? And that you can successfully upload your own 8 channel programs?
Joel @biomurph may have some more comments. Can you share what URL you are using for the firmware? Thanks.
@Sifeng , hi. Please try to post followup questions to the same thread you started on. Rather than opening new threads. I merged your question into this thread, where you were asking about the same issue.
Have you looked at the 32 bit upload section here, what happens when you follow those instructions?
@Sifeng did you read the first page of this thread where the verification errors were discussed? There are also some suggested workarounds on that first page,
Joel @biomurph , was there any update on this previous comment you made on April 22; with possibility of Microchip finding some workarounds or fixes / new chipKIT core?
In regard to all of the issues with timeouts and mismatches, we are working closely with the folks at Microchip chipKIT to get this issue resolved. I believe that it has to do with the code uploader (avrdude) that is used with the current release of mpide.
the chipKIT folks are in the process of changing that in the new chipKIT core. And they will also include OpenBCI 32 as a selection in the Board drop-down menu selector {exciting!}
In maybe a few days (next week?), I will reach out to this thread with instructions and links to ask you all to test the new setup.
There's some update to the resolution of this timout | mismatch problem.
I've been in close contact with the principal fellow in charge of the next IDE build at chipKIT. There's some big changes happening.
In a nutshell, the mpide that we all know and hate is going to go away (!) and all of the chipKIT cores (including OpenBCI 32) will be compatible with Arduino IDE 1.6.x
The proceedure will be to create a folder inside your Arduino Sketch folder called 'hardware' and that is where you will place the core files and variant files associated with OpenBCI and chipKIT.
The big change that we hope will fix the timeout issues is switching from avrdude to a microchip compiler-uploader toolchain.
It's not quite ready for prime time.... but it's sooo close! I will be updating the docs and this thread when we have the IDE working correctly.
ok ok ok ok ok. I got it to work! I'm able to upload OpenBCI 32bit code to the OpenBCI 32bit board using the Arduino IDE (NOT the mpide) and this is super duper new, but in my initial testing there is no longer an issue of 'timeouts' or 'mismatches'
This fix has not been tested hundreds of times, more like tens, and it is consistently stable when using either mpide or the latest Arduino IDE and chipkit-core discussed earlier in this thread. Brilliant!
Please check out the tutorial on how to upload code to the radios to implement this fix
with Arduino 1.6.4. It works, one just needs to comment out the assignments to RFduinoGZLL.channel on both host and device, since they are not being used any more.
If you are using the 1.6.4 to program the Device and Host radios on your OpenBCI, then you have followed the instructions on the RFduino website for adding the board files to Arduino IDE 1.6.4. Correct?
The only issue with that is we have a custom built library from RFdigital for our OpenBCI system that enables the RFduinoGZLL.channel command, and also there's some magic there to make the streaming data more stable.
I will add a post here soon that will go over how to update the Gazelle library so those functionalities are available.
In the mean time, you can get previous versions of the Arduino IDE here
@biomurph: Yes, I have followed the instructions on RFduino website. I will wait for your Gazelle instructions, since I experienced about 10% data loss with both the original 1.5.8 and the current 1.6.4 Arduino versions. That was actually the main reason I went with arduino 1.6.4 and the latest RFduino library hoping to get better streaming performance. But I am not stuck, I can interpolate the missing data and I do not plan to go back to arduino 1.5.8 beta. Thanks.
@biomurph: Trying to follow the updates you indicate. The eventual goal is a version of the board firmware that increases the sample rate, though right now i would take any working firmware. Cannot get a firmware version to load in any setting.
I have successfully updated both the host and device radio firmware per your instruction, breadboard and all.
Have tried mpide, arduino 1.5.8 and 1.6.5 methods to get firmware onto the board, using the OpenBCI and your github repos, respectively.
On mpide, the sketch compiles, but then I have the timing out problem that i think everyone has.
On Arduino, when I try to compile the OpenBCI_32bit_SD sketch from your github branch, it compiles to only 508 bytes. If I try to upload it, I get "COM18: Cannot open" and "No target found" from Programmer for Microchip PIC32 etc.
Any guesses?? Unfortunately I've rendered the hardware unusable with this since I can't get a working version back onto it.
Definitely have the right port. That's a reasonable thought given my description, however.
Given that the sketch is only compiling to 508 bytes, something must be going wrong well before it tries to upload. I'm on Windows--is the Windows directory in your chipkit-core-prebuilt repo actually ready for Windows?
Also, I was able to do a factory reset equivalent so I was at least able to get back to out-of-box functioning, which is better than nothing. However, I already lost track of what I did to do that! Can you remind me what does the factory reset for when I start messing around again?
The prebuilt file was made for 32bit on a windows 7 enterprise machine. First tests on that machine worked fine, so I put the core on my github to share.
Because it compiles, I believe that the core is ready, but I haven't put it on OpenBCI github because I was afraid this kind of thing might happen.
I have a different windows machine running windows 7, and I'm getting the same problem that you are.
I don't think that the 508 byte compile size is an issue, it does that on my Mac as well.
I'm getting COM177: Cannot open error... Looking into this.
When you say 'factory reset equivalent', what do you mean?
Your best bet until we get this ironed out is to go back to mpide to upload to the 32bit board if you're using windows
I've tried both the 1.5.8 and 1.6.5 versions of Arduino and had the same problem.
When you compiled the prebuilt, was it on a 32 bit or 64 bit Windows OS? I wonder if that could be a factor? I couldn't tell if you meant you compiled it for the 32-bit board or a 32-bit OS.
"Factory reset equivalent" was my inelegant way of saying "go back to the last working version". I think I just pressed the RESET button without the PROG button, does that sound right?
I'll go back to mpide. I was having the same timeout issues that spawned this whole thread in the first place, but I'll take some more swings at it.
Ok, yes. If you press the RST button, it will reset and run the original code, as long as it hasn't been corrupted.
We are looking into this now. We have 3 windows machines that are attempting to upload to the OpenBCI 32bit. Yours, mine, and Luke's (Luke is one of our interns). It only works on Luke's, and the core was compiled on his machine. This is likely the problem. We may need to await the prebuilt core from chipKIT.
Another thing that will help you uploading using the mpide is to update the RFduino firmware on the Dongle and Board. Our repo has the latest firmware. Just make sure that both radios are using the same channel number
@biomurph Thanks. I'll let you know if anything interesting happens here.
I already did the update procedure for the RFduino radios. Does pressing the RST button reset the RFduino radio firmware as well, or just the OpenBCI firmware?
Comments
http://docs.openbci.com/tutorials/04-External_Trigger_32bit_Example
http://openbci.com/forum/index.php?p=/discussion/263/data-timestamp
http://openbci.com/forum/index.php?p=/discussion/334/labstreaminglayer-into-bcilab-eeglab-matlab
Have you looked at the 32 bit upload section here, what happens when you follow those instructions?
http://docs.openbci.com/tutorials/02-Upload_Code_to_OpenBCI_Board
Thanks,
I'm sure Joel's likely seen this, but may have further remarks,
http://chipkit.net/faq/#AVRdude-verification-error
https://github.com/RFduino/RFduino
with Arduino 1.6.4. It works, one just needs to comment out the assignments to RFduinoGZLL.channel on both host and device, since they are not being used any more.
Thanks. I'll let you know if anything interesting happens here.
I already did the update procedure for the RFduino radios. Does pressing the RST button reset the RFduino radio firmware as well, or just the OpenBCI firmware?