Skip to content

Releases: 3devo/ChildbusBootloader

v4

13 Apr 05:20
Compare
Choose a tag to compare

Version 4 (2023-04)

  • Support protocol verfsion 2.2.
  • Support READ_BOARD_INFO command.
  • No longer set board versions and extra info (display type) at
    compiletime, but read them from board info from flash at runtime.
    This means that instead of producing a hex file for each board
    version, just a hex file per hardware type (interface board & hopper
    board) is produced that will be combined with a board info block at
    flash time.
  • Removed version number block from flash.
  • Size optimizations to make things fit on the attiny.

v3.1

01 Sep 10:43
Compare
Choose a tag to compare
v3.1 Pre-release
Pre-release
Makefile: Add support for new interface- and hopperboards

- This adds interfaceboard v1.5 to the list (again). Which is probably forgotten
during the previous makefile overhaul.
- Add interfaceboard v1.6.
- Add hopperboard v2.0 and 2.1

V3

06 Aug 11:34
Compare
Choose a tag to compare
V3

This release adds the following changes:

  • Support protocol version 2.1.
  • Support STM32G0.
  • Support ATtiny441 (untested).
  • Support RS485 (STM32G0 only).
  • Support erasing/flashing pages more than 256 bytes long.
  • Ignore general call messages that are longer than expected.
  • Support an upstream child select pin.
  • Support downstream childbus connections and the GET_NUM_CHILDREN
    and SET_CHILD_SELECT commands.
  • Support GET_MAX_PACKET_LENGTH and increase max packet length to 255
    on the hopperboard.
  • Support GET_EXTRA_INFO command and return the attached display
    hardware type on the interfaceboard.
  • Size optimizations for ATtiny (noreturn on startApplication and
    remove ISR).
  • Various refactoring and restructuring of the code to support Rs485
    and allow reusing parts of the code elsewhere.
  • Support hopperboard v1.0.

V2.1

19 Nov 10:11
Compare
Choose a tag to compare

This version is identical to version 2, except for the compiler version and the new interfaceboard v1.5 version.

Bootloader for the 3devo interface boards. Compiled using avr-gcc 5.4.0 on Cygwin/Windows.

Keep in mind that the I²C and SPI pins are shared, so during programming, no I²C master must be active. The easiest way to do so is to connect programmer reset line to the master reset line, or connect the master reset line to GND directly. Colliding communication transfers could break the slave AtTiny (presumably by setting the fuses to external crystal usage or something similar).

make all BOARD_TYPE=interfaceboard CURRENT_HW_REVISION=0x13 COMPATIBLE_HW_REVISION=0x01
make[1]: Map '/cygdrive/c/GitHub/AtTinyBootloader' wordt binnengegaan

attinybootloader-v2-interfaceboard-1.3.elf:     file format elf32-avr

Contents of section .fuse:
 820000 e2d5f4                               ...
        ^^     Low
          ^^   High
            ^^ Extended
avr-size --format=avr attinybootloader-v2-interfaceboard-1.3.elf
AVR Memory Usage
----------------
Device: Unknown

Program:    2010 bytes
(.text + .data + .bootloader)

Data:        114 bytes
(.data + .bss + .noinit)
...

To set fuses and flash:

$ avrdude -c atmelice_isp -B 4 -p t841 -U lfuse:w:0xe2:m -U hfuse:w:0xd5:m -U efuse:w:0xf4:m -U flash:w:attinybootloader-v2-interfaceboard-1.5.hex

(adapt the -c option for your programmer)

v2

23 Oct 12:37
Compare
Choose a tag to compare
v2

Bootloader for the 3devo interface board v1.3 and v1.4. Compiled using avr-gcc 4.9.2 on Linux.

Keep in mind that the I²C and SPI pins are shared, so during programming, no I²C master must be active. The easiest way to do so is to connect programmer reset line to the master reset line, or connect the master reset line to GND directly. Colliding communication transfers could break the slave AtTiny (presumably by setting the fuses to external crystal usage or something similar).

To set fuses and flash:

$ avrdude -c atmelice_isp -B 4 -p t841 -U lfuse:w:0xe2:m -U hfuse:w:0xd5:m -U efuse:w:0xf4:m -U flash:w:attinybootloader-v2-interfaceboard-1.4.hex

(adapt the -c option for your programmer)

Initial release

18 Aug 14:24
Compare
Choose a tag to compare

Bootloader for the interface board v1.3. Compiled using avr-gcc 4.9.2 on Linux.

Keep in mind that the I²C and SPI pins are shared, so during programming, no I²C master must be active. The easiest way to do so is to connect programmer reset line to the master reset line, or connect the master reset line to GND directly. Colliding communication transfers could break the slave AtTiny (presumably by setting the fuses to external crystal usage or something similar).

To set fuses and flash:

$ avrdude -c atmelice_isp -B 4 -p t841 -U lfuse:w:0xe2:m -U hfuse:w:0xd5:m -U efuse:w:0xf4:m -U flash:w:bootloader-iface-v1.3.hex

(adapt the -c option for your programmer)