TWI AT commands
This page describes AT commands related to the Two-Wire Interface (TWI).
List TWI instances #XTWILS
The #XTWILS
command lists all available TWI instances.
Set command
The set command allows you to list all available TWI instances.
Response syntax
#XTWILS: <index>[[[,<index>],<index>],<index>]
The <index>
parameter corresponds to the following TWI instances:
0
- TWI0 (i2c0
).1
- TWI1 (i2c1
).2
- TWI2 (i2c2
).3
- TWI3 (i2c3
).See nordic,nrf-twi.
Example
The following example is meant for Thingy:91.
It shows that TWI2 (i2c2
) is available.
AT#XTWILS
#XTWILS: 2
OK
Read command
The read command is not supported.
Test command
The test command is not supported.
Write to TWI peripheral device #XTWIW
The #XTWIW
command writes data to a TWI peripheral device.
Set command
The set command allows you to write data to a TWI peripheral device.
Syntax
#XTWIW=<index>,<dev_addr>,<data>
The
<index>
parameter accepts the following integer values:0
- Use TWI0 (i2c0
).1
- Use TWI1 (i2c1
).2
- Use TWI2 (i2c2
).3
- Use TWI3 (i2c3
).
See nordic,nrf-twi.
The
<dev_addr>
parameter is a hexadecimal string. It represents the peripheral device address to write to. The maximum length is 2 characters (for example, “DE” for 0xDE).The
<data>
parameter is a hexadecimal string. It represents the data to be written to the peripheral device. The maximum length is 255 characters (for example, “DEADBEEF” for 0xDEADBEEF).
Response syntax
There is no response.
Example
The following example is meant for Thingy:91.
It performs a write operation to the device address 0x76
(BME680), and it writes D0
to the device.
AT#XTWIW=2,"76","D0"
OK
Read command
The read command is not supported.
Test command
The test command is not supported.
Read from TWI peripheral device #XTWIR
The #XTWIR
command reads data from a TWI peripheral device.
Set command
The set command allows you to read data from a TWI peripheral device.
Syntax
#XTWIR=<index>,<dev_addr>,<num_read>
The
<index>
parameter accepts the following integer values:0
- Use TWI0 (i2c0
).1
- Use TWI1 (i2c1
).2
- Use TWI2 (i2c2
).3
- Use TWI3 (i2c3
).
The
<dev_addr>
parameter is a hexadecimal string. It represents the peripheral device address to read from. The maximum length is 2 characters (for example, “DE” for 0xDE).The
<num_read>
parameter is an unsigned 8-bit integer. It represents the amount of data to read from the peripheral device. The available range is from 0 to 255 bytes.
Response syntax
#XTWIR:
<data>
The
<data>
parameter is a hexadecimal string. It represents the data read from the peripheral device.
Example
The following example is meant for Thingy:91.
It performs a read operation to the device address 0x76
(BME680), and it reads 1 byte from the device.
The value returned (61
) indicates 0x61
as the CHIP ID
.
AT#XTWIR=2,"76",1
#XTWIR: 61
OK
Read command
The read command is not supported.
Test command
The test command is not supported.
Write data and read from TWI peripheral device #XTWIWR
The #XTWIWR
command writes data to a TWI peripheral device and then reads data from the device.
Set command
The set command allows you to first write data to a TWI peripheral device and then read the returned data.
Syntax
#XTWIW=<index>,<dev_addr>,<data>,<num_read>
The
<index>
parameter accepts the following integer values:0
- Use TWI0 (i2c0
).1
- Use TWI1 (i2c1
).2
- Use TWI2 (i2c2
).3
- Use TWI3 (i2c3
).
See nordic,nrf-twi.
The
<dev_addr>
parameter is a hexadecimal string. It represents the peripheral device address to write to. The maximum length is 2 characters (for example, “DE” for 0xDE).The
<data>
parameter is a hexadecimal string. It represents the data to be written to the peripheral device. The maximum length is 255 characters (for example, “DEADBEEF” for 0xDEADBEEF).The
<num_read>
parameter is an unsigned 8-bit integer. It represents the amount of data to read from the peripheral device. The available range is from 0 to 255 bytes.
Response syntax
#XTWIWR:
<data>
The
<data>
parameter is a hexadecimal string. It represents the data read from the peripheral device.
Examples
The following example is meant for Thingy:91.
It performs a write-then-read operation to the device address
0x76
(BME680) to get theCHIP ID
of the device. The value returned (61
) indicates0x61
as theCHIP ID
.AT#XTWIWR=2,"76","D0",1 #XTWIWR: 61 OK
The following example is meant for Thingy:91.
It performs a write-then-read operation to the device address
0x38
(BH1749) to get theMANUFACTURER ID
of the device. The value returned (E0
) indicates0xE0
as theMANUFACTURER ID
of the device.AT#XTWIWR=2,"38","92",1 #XTWIWR: E0 OK
Read command
The read command is not supported.
Test command
The test command is not supported.