forked from mirrors/qmk_userspace
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.
This commit is contained in:
parent
67fa2568fe
commit
ef92c9ee2c
4 changed files with 115 additions and 0 deletions
|
@ -103,6 +103,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
#ifdef EEPROM_DRIVER
|
||||
# include "eeprom_driver.h"
|
||||
#endif
|
||||
#if defined(CRC_ENABLE)
|
||||
# include "crc.h"
|
||||
#endif
|
||||
|
||||
static uint32_t last_input_modification_time = 0;
|
||||
uint32_t last_input_activity_time(void) { return last_input_modification_time; }
|
||||
|
@ -300,6 +303,9 @@ void keyboard_init(void) {
|
|||
timer_init();
|
||||
sync_timer_init();
|
||||
matrix_init();
|
||||
#if defined(CRC_ENABLE)
|
||||
crc_init();
|
||||
#endif
|
||||
#ifdef VIA_ENABLE
|
||||
via_init();
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue