itron SMART TFT Hardware   General Overview + Connector Pin Assignment  
             
Interfaces Memory Accessories
RS232 SD Card Audio
RS485 NAND CANBUS
Async EEPROM Rotary Encoder
SPI USB Host
I2C Design Ethernet
USB Mounting SD Card
External Key + I/O RFI Gaskets
ADC ESD Cables
  PWM Temperature Battery Holder
  BUZZ Precautions  


EEPROM

The internal EEPROM has 7.5K bytes of user space and 500 bytes for system parameters like touch screen calibration and screen orientation. Data variables can be created for storage in EEPROM with the VAR command. These are protected by checksum and in the event of corruption, the default value assigned to a variable will be used.

It may be necessary to clear the EEPROM with a RESET(EEPROM); command. After this default parameters will be applied for touch screen calibration and orientation.

The process of installing a new boot file (boot.bin) will also clear the EEPROM.
 
Operational
 

   EEPROM SYSTEM    
 EEPROM USER VARIABLES
   
Update Information

 Version

 Title

Date  

 Details

49.54

 RESET(FACTORY) Doesn't Erase Whole EEPROM

05 Mar 14 

Show

It was found that the command RESET(EEPROM) was not reliably erasing the whole of the EEPROM. This has now been fixed by adding a retry mechanism.

49.43

 RESET(LIBRARY) / RESET(START)

12 Sep 13 

Show

* EEPROM entities are now automatically reloaded following RESET( LIBRARY ); and RESET( START );

49.37

 Touch Screen Calibration - Manual Save & Status

10 Jun 13 

Show

* Added option to save manual touch calibration figures to EEPROM, either
SETUP(SYSTEM)
{
tch_val_tlx = 123;
...
tch_val_bly = 345;
touchSave = eeprom; // or "none" for no storage
}
or,
LOAD(SYSTEM.touchSave,eeprom);
* Added system parameter calFunc which is called when calibration is started and finished. Reading TCH_CAL value will indicate what stage the calibration is at.
SETUP(SYSTEM){calFunc=myFunc;}
FUNC(myFunc){LOAD(RS2,TCH_CAL);}
LOAD(SYSTEM.calibrate,y);
> myFunc will run when calibration page is shown - TCH_CAL value = 255 (calibrating)
> myFunc will run when calibration finished and previous page shown - TCH_CAL value = 1 (done)
> TCH_CAL value = 0 when touch is not calibrated.
* Added additional retry mechanisms for saving/retrieving values from EEPROM.

49.37

 DEL(EEPROM); - Erase EEPROM without restore

10 Jun 13 

Show

* User EEPROM can be erased (without restoring variables) using DEL(EEPROM);
* RESET(EEPROM); erases EEPROM and restores any EEPROM variables currently in use.

49.37

 EEPROM reset and text data

10 Jun 13 

Show

* Fixed storage of variables following RESET(EEPROM);
* Fixed zeroing of variable text data.

49.32

 EEPROM - Modified EEPROM handlers to only store bytes whose values have been changed.

14 Feb 13 

Show

* Modified EEPROM handlers to only store bytes whose values have been changed. Contents of the EEPROM is maintained in SDRAM a comparison is made before writing. This speeds up the EEPROM routine especially where long text strings or arrays are modified.
* Fixed end of storage marker code to prevent occasional corruption causing EEPROM startup errors.

49.22

 EEPROM - Fixed problem causing the RESET(EEPROM); command to generate an error.

17 Oct 12 

Show

* Fixed problem causing the RESET(EEPROM); command to generate an error.
* Added check to detect if EEPROM is fitted. Factory default settings are used if not present

49.18

 Faster Startup - Improved EEPROM initialisation code, removing 500ms from module startup time.

22 Sep 12 

Show

* Improved EEPROM initialisation code, removing 500ms from module startup time.

49.02

 Loss of Touch Calibration

15 May 12 

Show

Added retry mechanism for EEPROM when retrieving touch screen calibration figures during boot. This has not yet been proven to fix the problem as unable to reliably replicate calibration figure loss in-house.
* The screen calibration state can found by LOAD( var, TCH_CAL );. If var is 1 then the screen is calibrated else if 0 then the screen is uncalibrated.

49.02

 Display - Fixed storage/retrieval of startup screen rotation setting from EEPROM.

15 May 12 

Show

Fixed storage/retrieval of startup screen rotation setting from EEPROM.
* Fixed loading bar positioning and operation with 180 deg screen rotation.
* Note: Boot code does not support screen rotation currently.
* Fixed problem with error screen being displayed.
* Fixed clearing of display buffers during start up.

49.00

 EEPROM Buffer Length - The 2048 byte write buffer increased to support 7680 bytes of array data.

22 Mar 12 

Show

The 2048 byte write buffer increased to support 7680 bytes of array data

49.00

 EEPROM - Fixed problem retrieving entities with maximum name length.

22 Mar 12 

Show

Fixed problem retrieving entities with maximum name length.
Fixed problem with non-array entities not having array properties cleared.
Fixed eepprom array data retrieval on power-up problem.
EEPROM variable values being repeated when loaded into a text string.
This was a problem with the maxlen property not being set correctly when a variable was read from EEPROM.
The data stored in EEPROM was correct, it was the variable creation that was at fault.
Fixed problem with setting decimal and format for EEPROM variables

48.24

 SD Newflash - The newflash.bin boot program now erases all the EEPROM area.

10 Mar 12 

Show

The newflash.bin boot program now erases all the EEPROM area, not just the user area. This also clears the touch screen calibration figures so that they return to factory defaults.

47.12

 EEPROM

09 Sep 11 

Show

Fixed bug in retrieving text from EEPROM.
* Arrays now stored in EEPROM.

42.00

 EEPROM - Resolved problems with EEPROM writing / reading.

09 Mar 11 

Show

Resolved problems with EEPROM writing / reading. Text length change has BUG.
If an EEPROM error occurs (after a number of retries), the EEPROM is cleared and
defaults programmed on next boot.
Storage speed of entities to EEPROM increased significantly.

41.00

 EEPROM - EEPROM storage with dual checksums for read/write.

26 Jan 11 

Show

EEPROM storage with dual checksums for read/write.

34.00

 EEPROM Storage - The user software can store values (text and numbers) in EEPROM.

19 Oct 10 

Show

The user software can store values (text and numbers) in EEPROM
About 1500 bytes are available. This would hold about 50 variable names and their values.
Example command VAR(MyEENum, 123, U8E); stores 123 in MyEENum the first time as a default. When you use LOAD(MyEENum, 244); the value is updated in RAM and in EEPROM. When power is removed and reapplied, VAR(MyEENum, 123, U8E); will not load 123 but the previously saved value.
To clean up the EEPROM during development, use RESET(EEPROM); which cleans the EEPROM and loads back only the currently defined variables.

STYLE( EEstyle, data) { type=U8; location=eeprom; } if location is specified as eeprom, data is stored otherwise just RAM is used and data lost at power off.

Built in data types have been created to simplify EEPROM storage: U8E, S8E, U16E, S16E, U32E, S32E, PTRE, FLT1E, FLT2E, FLT3E, FLT4E, TXTE

The ‘aircon.mnu’ now uses two U8E variables for the minimum and maximum temperatures. Error messages will be generated if a variable stored in EEPROM is redefined in SDRAM or a different VAR type is specified.