Commit Graph
5 Commits
Author SHA1 Message Date
Stefan Kerkmann 04bc74d8f5 Switch split_common to CRC subsystem (#13418) 2021-07-02 22:28:32 +01:00
Stefan KerkmannandNick Brassel 117bff17ba [Core] Unite half-duplex and full-duplex serial drivers (#13081)
* Unite half-duplex and full-duplex serial driver.

* Add full duplex operation mode to the interrupt based driver
* Delete DMA UART based full duplex driver
* The new driver targets #11930

* Fix freezes with failing transactions in half-duplex

* Increase default serial TX/RX buffer size to 128 bytes

* Correctly use bool instead of size_t

Co-authored-by: Nick Brassel <[email protected]>
2021-07-02 08:24:08 +10:00
Stefan Kerkmann ef92c9ee2c Add CRC8 calculation subsystem to quantum (#12641)
* Intended usage is data validation in split transport code.
* Default space efficient algorithm.
* Opt-in fast table based algorithmn with #define CRC8_USE_TABLE switch.
* Define switches for size and speed optimized versions, the default is size
  optimized by using uint_least8_t as datatype for calculations.
  * #define CRC8_OPTIMIZE_SPEED uses uint_fast8_t as datatype for
    calculations, this only affects 32-bit Archs like ARM and RISC-V.
* Placeholder crc_init() function for hardware backed crc calculation,
  not implemented yet.
2021-06-18 00:09:43 +01:00
Stefan Kerkmann 49fd3c0760 [Core] ChibiOS fix O3 and LTO breakage of extra keys and joystick (#12819) 2021-06-06 22:16:55 -07:00
Stefan Kerkmann d9610120de Add Full-duplex serial driver for ARM boards (#9842) 2021-05-26 20:37:54 -07:00