diff options
author | Stefan Kerkmann <[email protected]> | 2021-06-18 01:09:43 +0200 |
---|---|---|
committer | GitHub <[email protected]> | 2021-06-18 00:09:43 +0100 |
commit | ef92c9ee2cf4745637635ec1895399e4f013914c (patch) | |
tree | 25184a0ad78399826ee585571e69b5df4beaa34b /common_features.mk | |
parent | 67fa2568fe1f17942bf61462754e0be5a6bc3223 (diff) | |
download | qmk_firmware-ef92c9ee2cf4745637635ec1895399e4f013914c.tar.gz qmk_firmware-ef92c9ee2cf4745637635ec1895399e4f013914c.zip |
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.
Diffstat (limited to 'common_features.mk')
-rw-r--r-- | common_features.mk | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/common_features.mk b/common_features.mk index b259af46c0..1a079a8df2 100644 --- a/common_features.mk +++ b/common_features.mk @@ -530,6 +530,7 @@ endif ifeq ($(strip $(SPLIT_KEYBOARD)), yes) POST_CONFIG_H += $(QUANTUM_DIR)/split_common/post_config.h OPT_DEFS += -DSPLIT_KEYBOARD + CRC_ENABLE := yes # Include files used by all split keyboards QUANTUM_SRC += $(QUANTUM_DIR)/split_common/split_util.c @@ -557,6 +558,11 @@ ifeq ($(strip $(SPLIT_KEYBOARD)), yes) COMMON_VPATH += $(QUANTUM_PATH)/split_common endif +ifeq ($(strip $(CRC_ENABLE)), yes) + OPT_DEFS += -DCRC_ENABLE + QUANTUM_LIB_SRC += crc.c +endif + HAPTIC_ENABLE ?= no ifneq ($(strip $(HAPTIC_ENABLE)),no) COMMON_VPATH += $(DRIVER_PATH)/haptic |