Releases: bxparks/AceCRC
Releases · bxparks/AceCRC
1.1.1 - add SAMD21 and SAMD51 to Tier 1 supported boards
- 1.1.1 (2023-07-12)
- Update supported boards and tiers
- Add SAMD21 and SAMD51 boards to Tier 1
- Add 2 SAMD boards from 2 different companies, to test their
Arduino Core software:- Seeeduino XIAO M0 (SAMD21 48MHz ARM Cortex-M0+)
- Adafruit ItsyBitsy M4 (SAMD51 120MHz ARM Cortex-M4)
- SAMD21 and SAMD51 boards are back in Tier 1, as long as they use
the traditional Arduino API instead of the new
ArduinoCore-API. - Fortunately most third party SAMD21 and SAMD51 boards continue to
use the traditional Arduino API.
- Add 2 SAMD boards from 2 different companies, to test their
- Move Teensy 3.2 to Tier 2 ("Should work but not tested often")
- This board is entering end-of-life.
- As well, the Teensyduino environment integrates with the Arduino
IDE and CLI in a way that's different than all other third-party
Arduino boards. Some of my automation scripts do not work with
Teensyduino, so it becomes very time consuming to test the Teensy
boards. - All Teensy boards are now in Tier 2.
- Add SAMD21 and SAMD51 boards to Tier 1
- This is a maintenance release, no changes to code.
- Update supported boards and tiers
1.1.0 - add crc-16-modbus; regenerate benchmarks with (mostly) latest tool chain
- 1.1.0 (2023-02-03)
- Upgrade tool chain
- Arduino IDE from 1.8.13 to 1.8.19
- Arduino CLI from 0.15.2 to 0.27.1
- Arduino AVR Core from 1.8.3 to 1.8.5
- SparkFun AVR Core 1.8.13
- SparkFun SAMD Core from 1.8.1 to 1.8.7
- STM32duino Core from 1.9.0 to 2.3.0
- ESP8266 Core from 2.7.4 to 3.0.2
- ESP32 Core from 1.0.6 to 2.0.5
- TeensyDuino from 1.54 to 1.57
- Remove SAMD21 boards.
- No longer supported.
- Add CRC-16-MODBUS from pycrc (see
Issue#12).
- Upgrade tool chain
v1.0.1 - update benchmarks for ESP32 Core v1.0.6; update Makefiles for FreeBSD compatibility
- 1.0.1 (2021-04-19)
- Update EpoxyDuino Makefiles for better compatibility with FreeBSD.
- Add recommendation to use
nibblem
on ESP8266. - Upgrade to ESP32 Arduino Core v1.0.6 and update benchmark numbers (no
significant changes). - No functional change in this release.
v1.0 - add nibblem variant, with 1.9X-2.7X speed improvement on ESP8266
- 1.0 (2021-02-21)
- Add
nibblem
variant.- Same as
nibble
but the 16-element lookup table is stored in static
memory instead of flash memory. - On ESP8266, this causes a 1.9X-2.7X speed improvement because
accessing the flash memory access is much slower than static memory. - Only a 2-7% speed improvement for AVR processors.
- Same as
- Graduate to v1.0.
- Add
v0.4.2 - Update UnixHostDuino 0.4 to EpoxyDuino 0.5
- 0.4.2 (2021-01-22)
- Update UnixHostDuino 0.4 to EpoxyDuino 0.5
- No functional change in this release.
v0.4.1 - support STM32; re-add Teensy 3.2 benchmarks
- 0.4.1 (2021-01-19)
- Add official support for STM32 by validating against STM32 Blue Pill
board. Update CpuBenchmark and MemoryBenchmark numbers. - Re-add benchmark numbers for Teensy 3.2. Able to upload to it again
after reinstalling Ubuntu 20.04. - No functional change in this release.
- Add official support for STM32 by validating against STM32 Blue Pill
v0.4 - improve performance on 8-bit processors by 6%-34%
- 0.4 (2020-12-10)
- Convert internal loop or index variable inside
crc_update()
fgrom
unsigned int
to a one-byteuint8_t
. Improves CPU performance by 6%-34%
on 8-bit processors. See
examples/benchmarks/CpuBenchmark. No
change in performance for 32-bit processors. - Add MemoryBenchmark numbers for the same third-party CRC libraries as
CpuBenchmark.
- Convert internal loop or index variable inside
v0.3.2 - add third-party libraries to CpuBenchmark
- 0.3.2 (2020-12-09)
- Add CpuBenchmark numbers for some third-party CRC libraries for curiosity.
- Rewrite README.md for clarity.
- Use Arduino-CLI to gather MemoryBenchmark results faster.
- No functional change.
v0.3.1 - add CRC-8 algorithms; use exact sized uint{xx}_t types for crc_t
- 0.3.1 (2020-12-03)
- Use exact sized
uint16_t
anduint32_t
as the typedef forcrc_t
,
instead of the defaultuint_fast16_t
anduint_fast32_t
produced by
pycrc. This change affects only the 32-bit processors where
uint_fast16_t
is defined to be 32 bits instead of 16 bits. Some of the
crc16ccitt
algorithms become slightly slower but some become slightly
faster. The biggest difference is that thecrc_table
sizes for the
cc16ccitt
algorithms all become 1/2 the size, which is a big win. - Add CRC-8 algorithms in
crc8_bit
,crc8_nibble
, andcrc8_byte
namespaces. Update MemoryBenchmark and CpuBenchmark numbers. - Add recommendation list of various algorithms in README.md.
- Use exact sized
v0.2 - add crc_calculate() convenience function
- 0.2 (2020-12-03)
- Generate CPU times of each CRC algorithm and variant using
examples/benchmarks/CpuBenchmark. - Create combined CPU and Memory benchmark tables in
examples/benchmarks. - Insert a
crc_calculate()
convenience function into the header files so
that the CRC can be calculated in one-shot, instead of forcing the user to
callcrc_init()
,crc_update()
andcrc_finalize()
. - Remove
static
keyword from*.hpp
files. Not needed in C++ and
prevents doxygen doc generation of those functions.
- Generate CPU times of each CRC algorithm and variant using