Commit Graph

645 Commits

Author SHA1 Message Date
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
Eric Tang
cbb0a02f19 Fix the formatting in parse_keymap.c 2017-07-21 12:56:56 -07:00
Eric Tang
d14a7565a8 Simplify the error checking in parseKeyAction 2017-07-21 12:43:12 -07:00
Eric Tang
c4ce5a6cf7 Add parsePlayMacroAction 2017-07-21 12:09:32 -07:00