László Monda
|
51b2631012
|
Make saving the user configuration faster by only writing the part of the EEPROM which actually contains the user configuration. Resolves #111.
|
2018-05-15 02:40:21 +02:00 |
|
Kristian Sloth Lauszus
|
e12e219b4e
|
Various fixes and improvements (#96)
* Global variables shared between an interrupt and the main code should be volatile
See: https://www.embedded.com/electronics-blogs/beginner-s-corner/4023801/Introduction-to-the-Volatile-Keyword
* There is no reason to change the active report if it has not changed
* Declare local functions and variables static
This both helps the compiler and the programmer
|
2018-03-11 19:19:15 +01:00 |
|
László Monda
|
5798f9e4fb
|
Refactor UsbCommandId_LaunchEepromTransfer, change its arguments, and change its ID to 0x08.
|
2017-12-12 03:24:34 +01:00 |
|
László Monda
|
086ab239b4
|
Fix the previously introduced EEPROM read bug by making addressBuffer static. Rename EEPROM_ADDRESS_LENGTH to EEPROM_ADDRESS_SIZE.
|
2017-11-18 03:18:37 +01:00 |
|
László Monda
|
a7ba0add18
|
Simplify eeprom.c
|
2017-11-18 03:11:17 +01:00 |
|
László Monda
|
5c7a3faa9c
|
Use buffer functions in eeprom.c for easier readability.
|
2017-11-11 03:41:03 +01:00 |
|
László Monda
|
f45ebdde4f
|
Comment that the EEPROM address has to be big-endian.
|
2017-11-11 01:15:27 +01:00 |
|
László Monda
|
377fe4a2b2
|
Make EEPROM transfers receive an operation and a buffer id parameter. This allows reading and writing both staging and validated user configurations which will aid future debugging. This API is also cleaner.
|
2017-10-05 02:45:22 +02:00 |
|
László Monda
|
f348aec97a
|
Rename UserConfigBuffer to ValidatedUserConfigBuffer.
|
2017-10-04 22:10:55 +02:00 |
|
László Monda
|
751810ec4c
|
Explicitly add void to the argument list of zero argument functions.
|
2017-09-28 03:03:11 +02:00 |
|
László Monda
|
e6b5b3b3a5
|
Read the hardware configuration area and the user configuration area of the EEPROM into the RAM and try to apply it.
|
2017-09-14 09:55:29 +02:00 |
|
László Monda
|
dd5a0e058d
|
Split config_state.[ch] to config_globals.[ch] and basic_types.[ch]
|
2017-08-08 23:22:18 +02:00 |
|
László Monda
|
f779f3ec6f
|
Rename the config directory to config_parser.
|
2017-08-06 16:52:04 +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
|
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 |
|
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
|
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
|
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 |
|