Commit Graph

1307 Commits

Author SHA1 Message Date
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
László Monda
7deaedb397 Merge pull request #53 from UltimateHackingKeyboard/configuration-parser
Add the macro parser
2017-07-21 21:40:34 +02:00
Eric Tang
c4ce5a6cf7 Add parsePlayMacroAction 2017-07-21 12:09:32 -07:00
Eric Tang
4ad11700c6 Add the macro parser 2017-07-21 11:54:39 -07:00
Eric Tang
d29d104be2 Add readInt16 2017-07-21 11:16:52 -07:00
László Monda
c1c00f2b3a Replace tabs with spaces. 2017-07-20 00:32:37 +02:00
Erich Styger
ccc02fe795 fixed BusPal Bootloader (https://github.com/UltimateHackingKeyboard/firmware/issues/44) 2017-07-19 17:28:13 +02:00
Erich Styger
b4ce3b227a disabled unused SWO option 2017-07-19 17:23:40 +02:00
Erich Styger
3f70b08c9f producing binary file for bootloader 2017-07-19 16:54:02 +02:00
Erich Styger
7c89020ccf disabled SWO (not used) in debug configuration 2017-07-19 16:51:33 +02:00
Eric Tang
8a58d97809 Simplify LedDisplay_SetLayer 2017-07-15 23:59:34 -07:00
László Monda
64668e953f Remove commented out line. 2017-07-15 18:36:16 +02:00
Eric Tang
85b709bad9 Resolve some compiler warnings 2017-07-15 07:06:20 -07:00
Eric Tang
b329485ac9 Merge branch 'master' of https://github.com/UltimateHackingKeyboard/firmware 2017-07-15 06:50:14 -07:00
László Monda
b8b1bc4979 Rename serialized_buffer_t to config_buffer_t 2017-07-15 11:23:02 +02:00
László Monda
5d39c725f9 Make the serialized buffer fixed-size. 2017-07-15 11:18:22 +02:00
Eric Tang
dab3b3464f Use only decimal values to represent LED brightnesses in led_display.c 2017-07-14 20:28:00 -07:00