mirror of
https://github.com/zsa/qmk_firmware.git
synced 2026-05-04 14:55:29 +00:00
The EEPROM stream read/write functions now use eeprom_update_byte() instead of eeprom_write_byte(), so that only changed bytes are written to EEPROM to preserve its lifespan.
Changed over the AVRISP-MKII and TemperatureDataLogger projects to use eeprom_update_byte() when writing non-volatile parameters to EEPROM to preserve its lifespan.
This commit is contained in:
@@ -266,7 +266,7 @@ uint8_t Endpoint_Discard_Stream(uint16_t Length
|
||||
#define TEMPLATE_BUFFER_TYPE void*
|
||||
#define TEMPLATE_CLEAR_ENDPOINT() Endpoint_ClearOUT()
|
||||
#define TEMPLATE_BUFFER_OFFSET(Length) 0
|
||||
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) eeprom_write_byte((uint8_t*)BufferPtr++, Endpoint_Read_Byte())
|
||||
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) eeprom_update_byte((uint8_t*)BufferPtr++, Endpoint_Read_Byte())
|
||||
#include "Template/Template_Endpoint_RW.c"
|
||||
|
||||
#define TEMPLATE_FUNC_NAME Endpoint_Read_Stream_BE
|
||||
@@ -280,7 +280,7 @@ uint8_t Endpoint_Discard_Stream(uint16_t Length
|
||||
#define TEMPLATE_BUFFER_TYPE void*
|
||||
#define TEMPLATE_CLEAR_ENDPOINT() Endpoint_ClearOUT()
|
||||
#define TEMPLATE_BUFFER_OFFSET(Length) (Length - 1)
|
||||
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) eeprom_write_byte((uint8_t*)BufferPtr--, Endpoint_Read_Byte())
|
||||
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) eeprom_update_byte((uint8_t*)BufferPtr--, Endpoint_Read_Byte())
|
||||
#include "Template/Template_Endpoint_RW.c"
|
||||
|
||||
#endif
|
||||
@@ -322,7 +322,7 @@ uint8_t Endpoint_Discard_Stream(uint16_t Length
|
||||
|
||||
#define TEMPLATE_FUNC_NAME Endpoint_Read_Control_EStream_LE
|
||||
#define TEMPLATE_BUFFER_OFFSET(Length) 0
|
||||
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) eeprom_write_byte((uint8_t*)BufferPtr++, Endpoint_Read_Byte())
|
||||
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) eeprom_update_byte((uint8_t*)BufferPtr++, Endpoint_Read_Byte())
|
||||
#include "Template/Template_Endpoint_Control_R.c"
|
||||
|
||||
#define TEMPLATE_FUNC_NAME Endpoint_Read_Control_Stream_BE
|
||||
@@ -332,7 +332,7 @@ uint8_t Endpoint_Discard_Stream(uint16_t Length
|
||||
|
||||
#define TEMPLATE_FUNC_NAME Endpoint_Read_Control_EStream_BE
|
||||
#define TEMPLATE_BUFFER_OFFSET(Length) (Length - 1)
|
||||
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) eeprom_write_byte((uint8_t*)BufferPtr--, Endpoint_Read_Byte())
|
||||
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) eeprom_update_byte((uint8_t*)BufferPtr--, Endpoint_Read_Byte())
|
||||
#include "Template/Template_Endpoint_Control_R.c"
|
||||
|
||||
#endif
|
||||
|
||||
@@ -270,7 +270,7 @@ uint8_t Pipe_Discard_Stream(uint16_t Length
|
||||
#define TEMPLATE_TOKEN PIPE_TOKEN_IN
|
||||
#define TEMPLATE_CLEAR_PIPE() Pipe_ClearIN()
|
||||
#define TEMPLATE_BUFFER_OFFSET(Length) 0
|
||||
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) eeprom_write_byte((uint8_t*)BufferPtr++, Pipe_Read_Byte())
|
||||
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) eeprom_update_byte((uint8_t*)BufferPtr++, Pipe_Read_Byte())
|
||||
#include "Template/Template_Pipe_RW.c"
|
||||
|
||||
#define TEMPLATE_FUNC_NAME Pipe_Read_Stream_BE
|
||||
@@ -286,7 +286,7 @@ uint8_t Pipe_Discard_Stream(uint16_t Length
|
||||
#define TEMPLATE_TOKEN PIPE_TOKEN_IN
|
||||
#define TEMPLATE_CLEAR_PIPE() Pipe_ClearIN()
|
||||
#define TEMPLATE_BUFFER_OFFSET(Length) (Length - 1)
|
||||
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) eeprom_write_byte((uint8_t*)BufferPtr--, Pipe_Read_Byte())
|
||||
#define TEMPLATE_TRANSFER_BYTE(BufferPtr) eeprom_update_byte((uint8_t*)BufferPtr--, Pipe_Read_Byte())
|
||||
#include "Template/Template_Pipe_RW.c"
|
||||
|
||||
#endif
|
||||
|
||||
@@ -13,6 +13,10 @@
|
||||
* <b>Changed:</b>
|
||||
* - The RingBuff library code has been replaced in the XPLAINBridge project with an ultra lightweight buffer to help
|
||||
* improve the reliability of the bridge
|
||||
* - The EEPROM stream read/write functions now use eeprom_update_byte() instead of eeprom_write_byte(), so that only
|
||||
* changed bytes are written to EEPROM to preserve its lifespan
|
||||
* - Changed over the AVRISP-MKII and TemperatureDataLogger projects to use eeprom_update_byte() when writing non-volatile
|
||||
* parameters to EEPROM to preserve its lifespan
|
||||
*
|
||||
* <b>Fixed:</b>
|
||||
* - Fixed AVRISP project sending a LOAD EXTENDED ADDRESS command to 128KB AVRs after programming or reading from
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
* -# Add standardized descriptor names to class driver structures
|
||||
* -# Correct mishandling of error cases in Mass Storage demos
|
||||
* -# Fix AVRISP-MKII clone project's XMEGA EEPROM section erase command
|
||||
* -# Fix occasional dropped characters in the XPLAINBridge project
|
||||
* - Documentation/Support
|
||||
* -# Remake AVRStudio project files
|
||||
* -# Add detailed overviews of how each demo works
|
||||
|
||||
Reference in New Issue
Block a user