EEPROM Memory Map Quick Start Guide

EEPROM Memory Commands

EEPROM Memory is used to store important parameters within the controller.  Many of the ProXR Standard commands have been removed and replaced with EEPROM Memory Commands.  In the past, the controller had a separate command for each parameter.  This consumed an excessive amount of space within the microprocessor firmware.  To save space, we have consolidated all parameter read and write functions into two simple commands, which saves a lot of space inside the MCU.

Below you will find an EEPROM Memory Map.  This Memory Map shows you what each memory location is used for.  The valid parameter range is also shown in the memory map.  Keep in mind; you cannot store device parameters unless you are in ‘configuration’ mode.  You may read device parameters in ‘run’ of configuration mode.

Read EEPROM Memory

This command reads a single data byte from non-volatile EEPROM Memory and reports the contents as a value from 0 to 255 indicating the E3C Device Number.

Send Bytes: Byte 1, Byte 2, Byte 3

Function: Command, Read EEPROM Value, Location

Decimal Values: 254, 53, 0-255

Hex Values 0xFE, 0x35, 0x00-0xFF

Receive Byte:

Decimal: 0-255

Hex: 0x00-0xFF

COMM Operator Examples

254 53 1 Read Memory Location 1 (which contains the E3C device number).

Write EEPROM Memory

This command stores a single byte of data in non-volatile EEPROM Memory.  This command requires two parameters.  The first parameter is the memory location, and has a valid range of 0 to 255.  The second parameter contains the data byte to be stored in memory, and has a valid range of 0-255.  Some memory locations are reserved and cannot be modified or read.

Send Bytes: Byte 1, Byte 2, Byte 3, Byte 4

Function: Command Store EEPROM Value Location Data to Store

Decimal Values: 254 54 0-255 0-255

Hex Values 0xFE 0x36 0x00-0xFF 0x00-0xFF

Receive Byte:

Decimal: 85

Hex: 0x55

COMM Operator Examples

254 54 1 12 Store in Memory Location 1 the E3C Device Number 12 . 

Reboot Controller

This command reboots the controller, which forces the controller to clear all memory and reload EEPROM settings.  This command will not work if there are any security issues pending (See AVA Security Quick Start Guide).

Send Bytes: Byte 1, Byte 2, Byte 3, Byte 4

Function: Command, Reboot Controller Function Bytes

Decimal Values: 254, 33, 140, 99

Hex Values: 0xFE, 0x21, 0x8C, 0x63

Receive Byte: No Response

COMM Operator Example

254 33 140 99 Reboots controller, clears memory, and reloads EEPROM settings. 

Place Controller in Configuration Mode

This command places the controller in Configuration mode for up to 255 Seconds.

Send Bytes: Byte 1, Byte 2, Byte 3, Byte 4, Byte 5

Function: Command, Function Bytes, Seconds

Decimal Values: 254, 33, 140, 86, 0-255

Hex Values 0xFE, 0x21, 0x8C, 0x56, 0x00-0xFF

Receive Byte:

Decimal: 85

Hex: 0x55

COMM Operator Example

254 33 140 86 25 Reboots controller, clears memory, and reloads EEPROM settings. 

EEPROM Memory Map

The EEPROM Memory Map shows you a list of memory locations and functions.  Most settings may be modified using Device Configuration if you prefer to use a graphical user interface.  However, this map will guide users who are creating software that may require device configuration changes.  Some memory locations are readable/writable, others are readable only, and some locations are completely protected against reading and writing.

Memory Location Valid Range Function
0 0-3 Contains the Write Protection Settings for the device 0 = EEPROM is Not Protected in Runtime Mode 1 = Relay Bank EEPROM Storage is Write Protected in Run Mode 2 = Scratchpad EEPROM Storage is Write Protected in Run Mode 3 = Relay Bank and Scratchpad EEPROM is Protected in Run Mode (Default Value)
1 0-255 Contains the device E3C Device Number (Default Value = 0)
2 0-1 Contains the Auto-Refresh Setting for the relays. 0 = Relay Refreshing is OFF 1 = Relay Refreshing is ON (Default Value)
3 0-255 Contains the ProXR Ticks MSB Value for the 16 Timers. Changing this value will redefine the length of a second for the 16 timers. This value should be changed using the Base configuration software.
4 0-255 Contains the ProXR Ticks LSB Value for the 16 Timers. Changing this value will redefine the length of a second for the 16 timers. This value should be changed using the Base configuration software.
5 1-255 Contains the Repetitions value (Reps). The Reps value contains the number of times relay banks are refreshed. The default value is 1, indicating that every time a relay control command is sent to the device, the controller will refresh the relay banks 1 time. Increasing this setting will slow down the controller, but it may be able to help control stubborn inductive loads that tend to interfere with the electronics that control relays.
6 0-255 Contains the Character Delay Value. The Default value is 10. Increasing this value creates a longer space between bytes sent from the controller to the computer. Decreasing this value improves performance. Older programming languages such as Visual Basic 6 need to use the default value or larger for best reliability. Lowering this value will improve performance for newer programming languages. A value of 0 yields the best performance, but at the expense of compatibility with older languages.
7 0-255 Contains the UART Receive Timeout Value. The Default Value is 40. Increasing this value slows communications, but gains compatibility with older slower computers. Most computers work great at the default value. However, if you are using a modern computer and a modern programming language, this value may be decreased. Decreasing this value too far will cause a loss of communications. In this case, the Program/Run Jumper must be moved to the Program mode. Power must be cycled on the controller. The controller will boot up at 57.6K Baud so you can recover this parameter. We strongly recommend finding the lowest value possible for this parameter, as it will significantly improve performance of the controller. Once you find the lowest acceptable value, we suggest adding 1 or 2 to this value to ensure reliability.
8 0-19 Contains the UART Baud Rate. The following values are supported by this controller: 0 = 9600 Baud -0.08% Timing Error 1 = 19.2K Baud +0.16% Timing Error 2 = 38.4K Baud +0.16% Timing Error 3 = 57.6K Baud -0.79% Timing Error (XSC Long Range Wireless) (Default for Config Mode) 4 = 115.2K Baud -0.79% Timing Error
5 = 230.4K Baud +2.12% Timing Error 6 = 250,000 Baud 0.00% Timing Error Non-Standard Tested with USB 7 = 266,660 Baud 0.00% Timing Error Non-Standard Tested with USB 8 = 285,710 Baud 0.00% Timing Error Non-Standard Tested with USB 9 = 307,700 Baud 0.00% Timing Error Non-Standard Tested with USB 10 = 333,330 Baud 0.00% Timing Error Non-Standard Tested with USB 11 = 363,620 Baud 0.00% Timing Error Non-Standard Tested with USB 12 = 400,000 Baud 0.00% Timing Error Non-Standard Tested with USB 13 = 444,440 Baud 0.00% Timing Error Non-Standard Tested with USB 14 = 500,000 Baud 0.00% Timing Error Non-Standard Tested with USB 15 = 571,410 Baud 0.00% Timing Error Non-Standard Tested with USB 16 = 666,660 Baud 0.00% Timing Error Non-Standard Tested with USB 17 = 800,000 Baud 0.00% Timing Error Non-Standard Tested with USB 18 = 1,000,000 Baud 0.00% Timing Error Non-Standard Tested with USB 19 = 1,333,300 Baud 0.00% Timing Error Non-Standard Tested with USB 20 = 2,000,000 Baud 0.00% Timing Error Non-Standard Tested with USB
9 0-255 Contains the UART Interface Technology. This value has no practical use in the controller, but serves as a marker for rules within the configuration software. The following values serve as a map for different interface technologies (though we may not currently support all communication technologies):
0 = RS-232 Serial
1 = RS-485 Serial
2 = USB Universal Serial Bus
3 = ZigBee Wireless Mesh Networking
4 = 802.15.4 Wireless Point to Multipoint
5 = Bluetooth
6 = Fiber Optic
7 = Ethernet Connect ME (TCP/IP – VERY SLOW)
8 = Ethernet NET
9 = Ethernet Web-I
10 = Wi-Fi Embedded (Roving Networks)
11 = XSC Long Range Wireless
12 = DigiMesh
13 = Ethernet Connect ME (RealPort – FAST)
14 = Wi-Fi Embedded (Digi)
10 1-255 Contains the Number of Attached Banks. This setting indicates how many relay banks are attached to your controller. The default value depends on your controller model, but default values may be anywhere from 32 to 255. You should never exceed the total number of relay banks available on your controller. This setting drastically changes the behavior of the Base software, as the interface is reorganized to accommodate this setting. We strongly suggest using the Base software to manage this setting as there are rules regarding this use of this parameter. Changing this parameter will never cause a loss of communications, but it will affect performance of the controller.
11 1-255 Contains the Serial Clock Delay. The default value of this setting is 15. This parameter controls how fast data is clocked to all relay banks. You may reduce this value to greatly improve performance. However, if you are using long XR cables, it may be necessary to increase this value. Most applications work great at values in the 1 to 10 range.
12 0-1 Contains the Remote Configuration Allowance Mode. The default value of this parameter is 1, indicating the user is allowed to place the device in configuration mode using a software command. If this value is set to 0, the user must change the Program/Run jumper to the Program position to make configuration changes.
13 0-255 Unused Parameter Reserved for Future Use
14 0-255 Unused Parameter Reserved for Future Use
15 0-255 Unused Parameter Reserved for Future Use
16-79 0-255 Contains the Startup Status of Relays. Each Memory Location stores Relay Bank from 1 to 64. A Byte Value of 0 in every location makes sure all relays are off when the controller is powered up. A Byte Value of 255 in every locations turns all relays on.
80-111 0-255 Unused Memory Locations, May be Used for other Applications if desired, However, these Memory Locations are planned for future use and may not be available for use by the customer in future devices.
112-113 0-255 Taralist Enhanced Time Compensation Memory Registers, we suggest using Base Station GUI to Modify these Memory Locations
114-127 0-255 Unused Memory Locations, May be Used for other Applications if desired, However, these Memory Locations are planned for future use and may not be available for use by the customer in future devices.
128 0-255 SCAN Series Spontaneous Output Control Configuration Byte
129-142 0-255 Unused Memory Locations, May be Used for other Applications if desired, However, these Memory Locations are planned for future use and may not be available for use by the customer in future devices.
143 See Notes Taralist Enhanced Battery Charge Level:
92 Turn Off Charger
171 Low 1 Charge Power
170 Low 2 Charge Power
169 Med 1 Charge Power
167 Med 2 Charge Power
166 High 1 Charge Power
165 High 2 Charge Power
144-159 0-255 Contains the Device Name up to 16 Characters. The device name is useful for indicating a location but may be used for other applications as well. These 16 bytes may be used for anything, but we suggest using it for a name so that E3C Device Discovery can function properly.
160-191 0-255 Contains the Device Name up to 16 Characters. The device name is useful for indicating a location but may be used for other applications as well. These 16 bytes may be used for anything, but we suggest using it for a name so that E3C Device Discovery can function properly.
192-223 0-255 Contains the default power-up status of the first 32 Potentiometers. These memory locations only apply to UXP controllers or POT controllers that support potentiometers. These memory locations may be used for other applications if you do not require potentiometers for your application.
224 0-255 Read Only Memory Location
Contains Invoice Number MSB
225 0-255 Read Only Memory Location
Contains Invoice Number LSB
226 0-255 Read Only Memory Location
Contains the Activation Year
227 0-255 Read Only Memory Location
Contains the Activation Month
228 0-255 Read Only Memory Location
Contains the Activation Day
229 0-255 Read Only Memory Location
Contains the Activation Hour
230 0-255 Read Only Memory Location
Contains the Activation Minute
231 0-255 Read Only Memory Location
Contains the Activation Second
232 0-255 Read Only Memory Location
Contains the Serial Number High Byte
233 0-255 Read Only Memory Location
Contains the Serial Number Low Byte
234 0-1 Read Only Memory Location. Contains the Security Status 0 = Unsecured (Default) 1 = Secured
235 0-255 Read Only Memory Location. Contains the Maximum Number of Relay Banks Supported by this Controller
236 0-255 Read Only Memory Location. Contains the Maximum Number of Current Sensors Supported by this Controller
237 0-255 Read Only Memory Location. Contains the Maximum Number of PWM Channels Supported by this Controller
238 0-255 Read Only Memory Location.
Current Sensor Model Number (0=None 1=ACS712-5)
239 0-255 Read Only Memory Location. Reserved for Future Use.
240 0-255 Read Only Memory Location. Contains the Firmware Version (Left of Decimal Point)
241 0-255 Read Only Memory Location. Contains the Firmware Sub-Version (Right of Decimal Point)
242 0-255 Read Only Memory Location. Contains the Firmware Year
11 1-255 Contains the Serial Clock Delay. The default value of this setting is 15. This parameter controls how fast data is clocked to all relay banks. You may reduce this value to greatly improve performance. However, if you are using long XR cables, it may be necessary to increase this value. Most applications work great at values in the 1 to 10 range.
12 0-1 Contains the Remote Configuration Allowance Mode. The default value of this parameter is 1, indicating the user is allowed to place the device in configuration mode using a software command. If this value is set to 0, the user must change the Program/Run jumper to the Program position to make configuration changes.
13 0-255 Unused Parameter Reserved for Future Use
14 0-255 Unused Parameter Reserved for Future Use
15 0-255 Unused Parameter Reserved for Future Use
16-79 0-255 Contains the Startup Status of Relays. Each Memory Location stores Relay Bank from 1 to 64. A Byte Value of 0 in every location makes sure all relays are off when the controller is powered up. A Byte Value of 255 in every locations turns all relays on.
80-111 0-255 Unused Memory Locations, May be Used for other Applications if desired, However, these Memory Locations are planned for future use and may not be available for use by the customer in future devices.
112-113 0-255 Taralist Enhanced Time Compensation Memory Registers, we suggest using Base Station GUI to Modify these Memory Locations
114-127 0-255 Unused Memory Locations, May be Used for other Applications if desired, However, these Memory Locations are planned for future use and may not be available for use by the customer in future devices.
128 0-255 SCAN Series Spontaneous Output Control Configuration Byte
129-142 0-255 Unused Memory Locations, May be Used for other Applications if desired, However, these Memory Locations are planned for future use and may not be available for use by the customer in future devices.
143 See Notes Taralist Enhanced Battery Charge Level:
92 Turn Off Charger
171 Low 1 Charge Power
170 Low 2 Charge Power
169 Med 1 Charge Power
167 Med 2 Charge Power
166 High 1 Charge Power
165 High 2 Charge Power
144-159 0-255 Contains the Device Name up to 16 Characters. The device name is useful for indicating a location but may be used for other applications as well. These 16 bytes may be used for anything, but we suggest using it for a name so that E3C Device Discovery can function properly.
160-191 0-255 Contains the Device Name up to 16 Characters. The device name is useful for indicating a location but may be used for other applications as well. These 16 bytes may be used for anything, but we suggest using it for a name so that E3C Device Discovery can function properly.
192-223 0-255 Contains the default power-up status of the first 32 Potentiometers. These memory locations only apply to UXP controllers or POT controllers that support potentiometers. These memory locations may be used for other applications if you do not require potentiometers for your application.
224 0-255 Read Only Memory Location
Contains Invoice Number MSB
225 0-255 Read Only Memory Location
Contains Invoice Number LSB
226 0-255 Read Only Memory Location
Contains the Activation Year
227 0-255 Read Only Memory Location
Contains the Activation Month
228 0-255 Read Only Memory Location
Contains the Activation Day
229 0-255 Read Only Memory Location
Contains the Activation Hour
230 0-255 Read Only Memory Location
Contains the Activation Minute
231 0-255 Read Only Memory Location
Contains the Activation Second
232 0-255 Read Only Memory Location
Contains the Serial Number High Byte
233 0-255 Read Only Memory Location
Contains the Serial Number Low Byte
234 0-1 Read Only Memory Location. Contains the Security Status 0 = Unsecured (Default) 1 = Secured
235 0-255 Read Only Memory Location. Contains the Maximum Number of Relay Banks Supported by this Controller
236 0-255 Read Only Memory Location. Contains the Maximum Number of Current Sensors Supported by this Controller
237 0-255 Read Only Memory Location. Contains the Maximum Number of PWM Channels Supported by this Controller
238 0-255 Read Only Memory Location.
Current Sensor Model Number (0=None 1=ACS712-5)
239 0-255 Read Only Memory Location. Reserved for Future Use.
240 0-255 Read Only Memory Location. Contains the Firmware Version (Left of Decimal Point)
241 0-255 Read Only Memory Location. Contains the Firmware Sub-Version (Right of Decimal Point)
242 0-255 Read Only Memory Location. Contains the Firmware Year