by bkingsley22 » Tue May 17, 2011 9:03 am
Hi Arduwino, I am an educator by profession and so I definitely respect your logic. I see that your posts are much less of an easy answer and more of a guiding suggestion. This way, we are led to the answer by our own admission and truly comprehend the content, rather than just follow a given answer.
So, I have continued to research this problem as much as I can. Again, I have extremely basic knowledge in any of this. However, as far as I can tell, to fix this bug I must...
1. -Install AVRDUDE in order to program/flash the AVR microcontroller on each of the Spoke POVs. (Assumes use of USBtiny to program to SpokePOV.)
2. - Find the "main.c" file from the Spoke POV firmware source files. Edit the line of code appropriately as follows:
Line 102 of main.c needs to be changed from
Code:
spieeprom_read_into_leds(anim_eeprom_offset + (1024UL-eepromaddr), BACK);
to
Code:
spieeprom_read_into_leds(anim_eeprom_offset + (1024UL-eepromaddr) - 4, BACK);
3.- Locate the newly edited and saved "main.c" file, along with "makefile" and compile.
4. -Upload the new resulting ".hex" file to each SpokePOV.
Could someone please let me know if I am missing anything. I do not want to update the firmware on the chip and wind up "bricking" it from some dumb oversight. Essentially, am I missing any steps ? All I do is update the "main.c" file. But then what about the other files in the original Firmware folder? All I use to create a new .hex is the main.c and makefile ? Then, all I update to the chip via AVRDUDE is the .hex file ? Or are there other files, procedures I am missing? I saw references to all kinds of adjustment like "fuses", etc.
My head was already swimming from all of this new terminology and language. Any insight is greatly welcomed so that I do not wind up totally screwing up my boards from trying to edit this code. Thanks all.