
4.2.4 Direct EVM USB Communication
If desired, the EVM can be communicated with directly without the use of the GUI through the USB port. This is
done by sending the desired command string over the serial COM port and receiving the results either through
the COM port or the USB BULK channel, based on the mode. This is useful for interfacing the EVM with custom
setups, scripts, or GUIs.
4.2.4.1 Standard USB Read and Write Operations
Use the serial COM port to read and write registers through USB commands using the following format:
• Set device address format: setdevice DEVID
– Where setdevice is always lower case, and DEVID is defined as:
• SPI
– The chip select number. Ex, for chip select of 3, use 3.
• I2C
– The 4 LSBs of the address in decimal format. Ex, for an address of 0x4A, use 10.
– Note, when the SCB is reset while one or more EVMs are connected, the address will default to the lowest
address/chip select found.
• The SCB checks for I2C or SPI at start up, if no device is attached, it will default to SPI. Reset the SCB
with an I2C EVM connected to use I2C.
– For example, to set an I2C device with a register address of 0x4A you could send the command:
setdevice 10
– For this example, the EVM would return the acknowledgment and state ("idle" or "collecting") in JSON
format:
{"acknowledge":"setdevice 10"}
{"evm_state":"idle"}
• Read register format: rreg ADR
– Where ADR is the address in hex, and rreg is always lower case.
– Register addresses can be in upper or lower case, and do not need to be led by '0x'. 0 padding register
addresses is also optional. For example, to read register address 0xB, some valid commands include:
• rreg b
• rreg 0B
• rreg 0x0B
– When '0x' is used, the 'x' must be lower case.
– For this example, the EVM would return the results and state ("idle" or "collecting") in JSON format:
{"acknowledge":"rreg 0x0B"}
{"register":{"address":11,"value":3}}
{"evm_state":"idle"}
• Write register format: wreg ADR VAL
– Where ADR and VAL are in hex, and wreg is always lower case.
– Register addresses and values can be in upper or lower case, and do not need to be led by '0x'. 0 padding
register addresses and values is also optional. For example, to write register address 0x1 with the value
0xfb69, some valid commands include:
• wreg 1 fb69
• wreg 01 0xfb69
• wreg 0x01 0xFB69
– When '0x' is used, the 'x' must be lower case.
– For this example, the EVM would return the results and state ("idle" or "collecting") in JSON format:
{"acknowledge":"wreg 0x01 0xfb69"}
{"console":"Writing 0xfb69 to ADC_CONFIG register"}
{"evm_state":"idle"}
Operation
18
INA228, INA229, INA237, INA238, and INA239 EVM User’s Guide
SBOU241C – APRIL 2020 – REVISED JULY 2021
Copyright © 2021 Texas Instruments Incorporated