From 334ae50bc30a4a97fe213389c06ee2d055839216 Mon Sep 17 00:00:00 2001 From: Kai Ryu Date: Mon, 2 Dec 2013 11:22:34 +0900 Subject: [PATCH] Change checksum algorism --- common/keymap_ex.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/common/keymap_ex.c b/common/keymap_ex.c index 3d55c08c..0c01f707 100644 --- a/common/keymap_ex.c +++ b/common/keymap_ex.c @@ -33,7 +33,7 @@ bool check_keymap_in_eeprom(void) { uint16_t checksum_in_eeprom = eeprom_read_word(&((keymap_ex_t*)EECONFIG_KEYMAP_EX)->checksum); uint16_t checksum = EECONFIG_MAGIC_NUMBER; for (uint16_t i = 0; i < KEYMAP_SIZE; i += 2) { - checksum ^= eeprom_read_word((void*)(EECONFIG_KEYMAP_FN_ACTIONS + i)); + checksum += eeprom_read_word((void*)(EECONFIG_KEYMAP_FN_ACTIONS + i)); } #ifdef DEBUG eeprom_write_word((void*)(EECONFIG_KEYMAP_DEBUG), checksum); @@ -54,7 +54,7 @@ void write_keymap_to_eeprom(void) { fn_action = pgm_read_word(fn_actions + i); } eeconfig_write_keymap_fn_action(i, fn_action); - checksum ^= fn_action; + checksum += fn_action; } } // write keymaps @@ -70,7 +70,7 @@ void write_keymap_to_eeprom(void) { if (i & 1) { keymap_word = keymap << 8; } - checksum ^= keymap_word; + checksum += keymap_word; } } // write checksum