Commit Graph

835 Commits

Author SHA1 Message Date
Eric Tang
b07aba1766 Set AllKeymapsCount only once when applying a configuration 2017-08-08 12:40:19 -07:00
Eric Tang
31de620fee Add error checking to parseSwitchKeymapAction 2017-08-08 12:10:44 -07:00
Eric Tang
2621707206 Implement keymap switching 2017-08-08 12:10:26 -07:00
Eric Tang
599e701479 Rename current_keymap.* to keymaps.* 2017-08-08 12:03:13 -07:00
Eric Tang
709e7644e5 Fully implement parseSwitchKeymapAction 2017-08-08 12:02:27 -07:00
Eric Tang
2fa935af37 Revert "Add some temporary code to ensure that only the default keymap is applied"
This reverts commit 711769cb50.
2017-08-08 12:01:34 -07:00
László Monda
d06cb4f1e2 Merge pull request #55 from UltimateHackingKeyboard/configuration-parser
Verify a new configuration before applying it
2017-08-08 20:49:08 +02:00
Eric Tang
711769cb50 Add some temporary code to ensure that only the default keymap is applied 2017-08-08 11:42:35 -07:00
Eric Tang
521c84d326 Set GenericHidOutBuffer[3] to 1 if an attempt was made to apply the configuration 2017-08-08 11:31:47 -07:00
Eric Tang
2dd0f589db Inline TestConfig 2017-08-08 11:27:15 -07:00
Eric Tang
406ea3782d Move back to swapping pointers 2017-08-08 10:57:12 -07:00
László Monda
079988146d Make the ParserRunDry global. Separate TestConfig() and ApplyConfig() 2017-08-08 19:20:01 +02:00
Erich Styger
0f2c7d53c9 added section for custom user configuration used in right/src/config_parser/config_state.c 2017-08-08 13:49:10 +02:00
Eric Tang
29fabe5b2e Revert "Cut the lengths of userConfig1 and userConfig2 in half for now"
This reverts commit 036b5c4172.
2017-08-07 18:18:42 -07:00
Eric Tang
036b5c4172 Cut the lengths of userConfig1 and userConfig2 in half for now 2017-08-07 17:39:14 -07:00
Eric Tang
d035c8699b Try putting userConfig2 in the upper half of the RAM 2017-08-07 16:40:21 -07:00
Eric Tang
97336455b5 Verify a new configuration before applying it 2017-08-07 11:19:41 -07:00
László Monda
f817a5cbb9 Kickstart the slave scheduler with the value of currentSlaveId 2017-08-06 17:53:53 +02:00
László Monda
48429f1efe Add FORCE_BUSPAL 2017-08-06 17:37:49 +02:00
László Monda
68e2dab576 Add config.h and move LED_DRIVER_STRESS_TEST and FIXED_BUSPAL_BOOTLOADER to it. 2017-08-06 17:28:32 +02:00
László Monda
48cd8f374a Move EEPROM_SIZE from config_state.h to eeprom.h 2017-08-06 16:55:12 +02:00
László Monda
f779f3ec6f Rename the config directory to config_parser. 2017-08-06 16:52:04 +02:00
László Monda
01baa31241 Rename slave_driver_led_driver.[ch] to is31fl3731_driver.[ch] 2017-08-06 16:09:33 +02:00
László Monda
fef35bf68e Rename slave_driver_uhk_module.[ch] to uhk_module_driver.[ch] 2017-08-06 16:06:40 +02:00
László Monda
78eac147d6 Only delay the initialization of the left LED driver until the KL03 pulls up its SDB. 2017-08-03 01:42:11 +02:00
László Monda
7092e1acf9 Update the isConnected status of the correct slaves. 2017-08-03 01:22:45 +02:00
László Monda
7b1f9dc2b7 Remove unused variables. 2017-08-03 00:54:41 +02:00
László Monda
2bdcb87659 Add UsbCommand_GetDebugInfo. 2017-08-01 03:00:48 +02:00
László Monda
546ca5d0b2 Implement much more efficient LED driver updater algorithm that only talks to the LED driver ICs when necessary. Add LED_DRIVER_STRESS_TEST macro. 2017-07-31 17:30:33 +02:00
László Monda
a30c078f02 Read keymap index instead of keymap abbreviation for keymap switch actions according to the updated binary configuration. 2017-07-30 21:20:23 +02:00
László Monda
b5fd93f578 Send address bytes to the EEPROM in the right order. 2017-07-26 16:11:41 +02:00
László Monda
1dd839d7c8 Merge branch 'master' of github.com:UltimateHackingKeyboard/firmware 2017-07-26 13:35:39 +02:00
László Monda
19b3a73e3d Correctly maintain the state of the isEepromBusy flag during reads. Make sure the correct EEPROM memory offsets are sent when dealing with the user configuration. 2017-07-26 13:34:24 +02:00
Eric Tang
1709227a28 Use ternary operators instead of if-else statements 2017-07-25 18:17:41 -07:00
Eric Tang
eeeff4ec1a Fix parseKeyStrokeAction 2017-07-25 17:46:24 -07:00
László Monda
b48e2b42d3 Stop reading when the desired amount of bytes have been read. 2017-07-26 02:11:55 +02:00
László Monda
f5d794ec98 Deal with NAKs in the I2C callback while the EEPROM is busy persisting the data. 2017-07-26 00:49:30 +02:00
László Monda
35f78f542d Write all the bytes to the EEPROM that are needed to be written, including the last 2 bytes. 2017-07-25 23:57:06 +02:00
László Monda
c5c44efd22 Add the GetKeyboardState USB command. 2017-07-25 02:38:51 +02:00
László Monda
c3d9938192 Expose hardware config size and user config size as system properties. 2017-07-23 20:20:13 +02:00
László Monda
c5abbdcd54 Move system property enum to system_properties.h 2017-07-23 20:14:29 +02:00
László Monda
057f048d1b Fix pointer arithmetic. 2017-07-23 17:51:52 +02:00
László Monda
5a9286537e Remove the commented out uploadConfig() 2017-07-23 17:49:15 +02:00
László Monda
d73a5e7880 Make reading and writing the hardware and user configuration possible via USB. Remove readEeprom() and writeEeprom(). Use enums instead of macros. 2017-07-23 17:37:25 +02:00
László Monda
3d98a66b64 Rename pageLength to writeLength and improve readability a bit. 2017-07-23 14:47:16 +02:00
László Monda
65ff2bf799 Slighly improve readability. 2017-07-23 14:44:48 +02:00
László Monda
e601ee6c3c Rename setStartAddressCommand to eepromStartAddress. 2017-07-23 14:36:00 +02:00
László Monda
b6a0470bdb Set IsEepromBusy at the right time inside of the I2C callback when dealing with EepromTransfer_Write*Configuration. 2017-07-23 14:33:26 +02:00
László Monda
a5c088689e Use the EEPROM_ADDRESS_LENGTH macro instead of a magic constant. 2017-07-23 14:30:56 +02:00
László Monda
87cee8b8eb Always update LastEepromTransferStatus in the beginning of i2cCallback() 2017-07-23 14:04:48 +02:00