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 |