Releases: jgressmann/sllin
slLIN v0.5.1
Firmware v0.5.1
changes
- D5035-50
- use on board crystal for core clock
- only enable GCLK3 for app builds
slLIN v0.5.0
Firmware v0.5.0
features
- add support for D5035-51 board
- squeeze code base to use < 8K RAM while supporting two LINs
- add CFG_TUSB_ENDPOINT_LIMIT config option to limit the number of USB endpoints (default full complement)
- remove 'manifest tolerant' RT USB descriptor attributes
- convert firmware builds to SuperDFU 0.6.1 or better
bugfixes
-
handle multi-master scenario
When multiple masters are on the bus, for instance due to misconfiguration,
ongoing BREAK SYNC ID or plain frame reception can get interrupted.
This code change handles these situations. -
fixes various asserts
Frames longer than 8 bytes + CRC weren't tallied correctly.
SuperDFU
0.6.2
bugfixes
-
fix handling of sam_crc32 error code
Upon failure of the CRC computation return the proper error code
int dfu_app_tag_validate_{tag,app}. -
sam_crc32: fix computations for SAMD21 rev. A-D
0.6.1
features
-
bump version to 0.6.1 to distinguish from upgrade bootloader version 0.6.0
-
add support for D5035-51 board
-
reduce bootloader ROM requirements to below 8K
-
enable LTO
-
disable ARM long calls
-
disable TinyUSB's SOF callback though CFG_TUSB_SOF_CALLBACK (default 1)
-
disable sone of TinyUSB's callbacks through CFG_TUSB_LEAN_AND_MEAN (default 0)
-
replace header / footer construct with tag (saves 1k ROM on SAMX5X)
scan binary for tag end, and use binutils to compute length of the rom section -
replace memcpy, memmove, strlen, memcmp with size optimized version
-
-
remove 'manifest tolerant' DFU USB descriptor attributes
-
remove dual-bank support for SAMX5X to share code base with SAMs w/o dual bank support (SAMD2X, SAMDA1)
-
adds version check to prevent downgrade
slLIN v0.4.3
-
SAM based boards: remove auto-baud, relax spec
Auto baud mode is mostly broken in SAMX5X so don't use it.
See family errata for details.Prolong data byte timeout from 1.4 times to 2 times the duration
of a single byte transmission to work around the frame length jumping
around for some ECUs. -
Trinket M0: fixes clobbering of PA I/O group
slLIN v0.4.2
Firmware
bugfixes
- SAM based boards: on disable timer clear pending interrupt
slLIN v0.4.1
- fixes LIN checksum computation
slLIN v0.4.0
- initial support for SAM Cortex-M0 based boards such as Adafruit's Trinket M0
- add support for the simpler USARTs used in SAMD21 chip
- porting: require only the USART and one timer (down from 3)
slLIN v0.3.2
firmware 0.3.2
D5035-50
- attempt to make timer code more robust
- ensure device is awake on bus after opening
latest-main
Builds slLIN firmware from latest main sources