Holiday "Arduino" firmware (with 20MHz related bootloader, etc)
Other C++ C Makefile Python Shell
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
optiboot_20MHz
.gitignore
Changes08.TXT
FastSPI_LED2.RC3.zip
FastSPI_LED2_RC5_20MHz.zip
Holiday ATmega328 firmware spec - draft 130722.pdf
Holiday ATmega328 firmware spec - draft 140106.pdf
Holiday Architecture Rev 2.pdf
Holiday EEPROM Data Structures - draft 130817.pdf
HolidayDuino02.hex
HolidayDuino02.ino
HolidayDuino03.hex
HolidayDuino03.ino
HolidayDuino04.hex
HolidayDuino04.ino
HolidayDuino04_plus_optiboot_holiday328_20MHz.hex
HolidayDuino05-16.hex
HolidayDuino05-20.hex
HolidayDuino05.ino
HolidayDuino06.ino
HolidayDuino07-16.hex
HolidayDuino07-20.hex
HolidayDuino07.ino
HolidayDuino08-16.hex
HolidayDuino08-20.hex
HolidayDuino08.ino
LICENSE
README.md
boards_1.0.txt
boards_1.5.4.txt
holidayduino01.hex
holidayduino01.ino
holidayduino01.sh
holidayduino01b.hex
holidayduino01b.ino
holidayduino01b.sh
holidayduino02.sh
holidayduino05.tar.gz
holidayduino_down.py
holidayduino_update.py
holidayduino_upload.sh
numglobes.py
optiboot_holiday328_20MHz.hex
pyserial.txt

README.md

holidayduino

Holiday "Arduino" firmware (with 20MHz related bootloader, etc)

As of v05 can be compiled for 16MHz or 20MHz crystal

Must use included boards.txt in Arduino environment for compilation for Holiday target

For production programming, combine the application hex file and optiboot hex file into one

v06: I believe this was a fail - no actual code changes, except version # and switching to FastSPI_LED2 RC4.

v07: Changed to use FastSPI_LED2 RC5 with minor changes to optimise timing for 20MHz ATmega which can thus do exact multiples of 50ns (16MHz can only do multiples of 62.5ns).

v08: In addition to supporting longer strings (currently a max of 240), and a few other minor changes, it now reinitialises the ATmega SPI slave on each packet. Occasionally a process could be terminated while in the middle of sending an SPI byte, and HolidayDuino wouldn’t resynchronise to the start of the new byte. This probably won’t ever happen with apps using the compositor as they would typically exit cleanly, but it could happen with rainbow. There is also an minor hardware change that could help with this, but the software fix seems to work.

Note re the PDF docs - not everything is implemeted (notably the pattern features)