Commit Graph
975 Commits
Author SHA1 Message Date
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
László Monda d399d5f1bf Stop writing the EEPROM when every byte has been transferred. 2017-07-23 14:03:26 +02:00
László Monda d87c22a1e1 Abort EEPROM I2C callback if its status is anything but success. 2017-07-23 13:58:35 +02:00
László Monda 4d15f6f756 Extract USB response codes into an enum. 2017-07-23 01:02:24 +02:00
László Monda 57136e279d Be explicit about void function arguments. 2017-07-23 00:56:43 +02:00
László Monda c86bfff38f Remove function prototypes for USB handlers and move usbProtocolHandler to the end of the file. 2017-07-23 00:55:06 +02:00
László Monda b87cafd10e Extract system properties as enums. 2017-07-23 00:53:27 +02:00
László Monda d8825cc617 Add missing break that could cause troubles later. 2017-07-23 00:50:37 +02:00
László Monda e0dcf81421 Extract USB commands as enums of the same type. 2017-07-23 00:49:50 +02:00
László Monda 0acb1c54ca Expose EEPROM_LaunchTransfer() via USB. 2017-07-23 00:41:08 +02:00
László Monda 8ed4a6ba09 Separate the configuration to hardware configuration and user configuration. Implement async I2C EEPROM handling. Remove USB functions that dealt with EEPROM and individual LEDs because they were dependent on sync I2C functions. 2017-07-22 23:49:47 +02:00