25 #ifndef _AROARFW_I2C_H_
26 #define _AROARFW_I2C_H_
32 #define I2C_OFFSET_IFVERSION 0x00
33 #define I2C_OFFSET_STATUS0 0x01
35 #define I2C_OFFSET_BANKSELECT 0x02
37 #define I2C_OFFSET_DEVERROR 0x03
39 #define I2C_OFFSET_BANKDATA 0x04
43 #define RI2C_INTERFACE_VERSION 0x00
46 #define RI2C_STATUS0_NONE 0x00
47 #define RI2C_STATUS0_DEVICE_READY 0x01
49 #define RI2C_STATUS0_SELFCHECK_PASSED 0x02
51 #define RI2C_STATUS0_SELFCHECK_ERROR 0x04
53 #define RI2C_STATUS0_UPDATES_PENDING 0x08
57 #define RI2C_STATUS1_NONE 0x00
58 #define RI2C_STATUS2_NONE 0x00
62 #define RI2C_CAPS0_BRIDGE_NONE 0x00
63 #define RI2C_CAPS0_BRIDGE_NETWORK 0x01
65 #define RI2C_CAPS0_BRIDGE_ETHERNET 0x02
67 #define RI2C_CAPS0_BRIDGE_I2C 0x04
69 #define RI2C_CAPS0_BRIDGE_SPI 0x08
71 #define RI2C_CAPS0_BRIDGE_DMX512 0x10
73 #define RI2C_CAPS0_BRIDGE_MIDI 0x20
75 #define RI2C_CAPS0_BRIDGE_WAVEFORM 0x40
77 #define RI2C_CAPS0_BRIDGE_RESERVED7 0x80
Vendor specific device type 47.
Vendor, Type and Subtype specific bank 25.
Vendor, Type and Subtype specific bank 0.
Assigned Type and Subtype specific bank 24.
Assigned Type and Subtype specific bank 12.
Vendor, Type and Subtype specific bank 21.
Assigned Type and Subtype specific bank 1.
Vendor specific device type 56.
Vendor specific device type 41.
Vendor specific device type 13.
Vendor specific device type 16.
Vendor specific device type 45.
Vendor specific device type 5.
Vendor specific device type 14.
uint8_t subtype
Vendor specific subtype of device.
ruuid_t serial
Sieral of the device.
Vendor, Type and Subtype specific bank 24.
Vendor, Type and Subtype specific bank 13.
Assigned Type and Subtype specific bank 14.
Assigned Type and Subtype specific bank 6.
Assigned Type and Subtype specific bank 11.
ri2c_dev_t
Type for device types.
Vendor specific device type 17.
Vendor specific device type 4.
Vendor, Type and Subtype specific bank 4.
uint8_t parenttype
Parent device's type ID.
Vendor specific device type 27.
Assigned Type and Subtype specific bank 28.
Vendor, Type and Subtype specific bank 2.
Generic device information.
Vendor, Type and Subtype specific bank 26.
Vendor specific device type 36.
Vendor specific device type 61.
Assigned Type and Subtype specific bank 31.
Vendor specific device type 39.
Vendor, Type and Subtype specific bank 27.
Vendor, Type and Subtype specific bank 9.
Vendor, Type and Subtype specific bank 29.
uint8_t ri2c_addr_t
Type for storing I²C slave addresses.
uint8_t revision
Vendor specific revision of the device.
Vendor, Type and Subtype specific bank 8.
Vendor specific device type 23.
Vendor specific device type 3.
Vendor specific device type 52.
Assigned Type and Subtype specific bank 27.
This is a media converter. It converts between two (or more) low level protocols and physical layers...
Assigned Type and Subtype specific bank 16.
Vendor specific device type 32.
Assigned Type and Subtype specific bank 3.
Vendor specific device type 33.
Vendor specific device type 15.
Vendor specific device type 24.
Assigned Type and Subtype specific bank 5.
Assigned Type and Subtype specific bank 7.
Assigned Type and Subtype specific bank 15.
uint8_t vendor
Vendor of this device. This is a assigned device vendor ID.
Vendor, Type and Subtype specific bank 10.
Vendor specific device type 63.
Assigned Type and Subtype specific bank 10.
Assigned Type and Subtype specific bank 18.
uint8_t type
Vendor specific type of device.
Vendor, Type and Subtype specific bank 20.
Vendor specific device type 57.
Vendor specific device type 49.
Assigned Type and Subtype specific bank 2.
Vendor, Type and Subtype specific bank 14.
Assigned Type and Subtype specific bank 17.
Vendor specific device type 55.
Vendor specific device type 26.
Vendor specific device type 30.
Vendor specific device type 44.
Assigned Type and Subtype specific bank 23.
Vendor specific device type 42.
Vendor, Type and Subtype specific bank 23.
Assigned Type and Subtype specific bank 8.
Vendor specific device type 1.
Vendor, Type and Subtype specific bank 7.
Vendor specific device type 8.
Assigned Type and Subtype specific bank 26.
Assigned Type and Subtype specific bank 25.
Type to store (in packed format) static information for the device info bank (bank 0)...
Vendor specific device type 59.
Vendor specific device type 20.
Vendor specific device type 28.
General Purpose Digital Input/Output.
Vendor, Type and Subtype specific bank 19.
Assigned Type and Subtype specific bank 20.
Vendor, Type and Subtype specific bank 1.
Vendor specific device type 54.
Assigned Type and Subtype specific bank 22.
Vendor specific device type 60.
Assigned Type and Subtype specific bank 13.
uint8_t parentsubtype
Parent device's subtype ID.
Most generic device. Supports bank 0.
Assigned Type and Subtype specific bank 4.
General Purpose Analog Input/Output.
Vendor, Type and Subtype specific bank 30.
uint8_t parentvendor
Parent device's vendor ID.
Vendor specific device type 7.
Vendor specific device type 6.
Generic control of the device.
Vendor, Type and Subtype specific bank 22.
ri2c_bank_t
Type for memory banks (commands)
Assigned Type and Subtype specific bank 29.
Vendor specific device type 19.
Generic bridge device. Can be used as prent for vendor specific bridges.
Assigned Type and Subtype specific bank 21.
Assigned Type and Subtype specific bank 19.
Vendor specific device type 46.
Vendor specific device type 35.
Vendor specific device type 62.
Vendor specific device type 9.
Assigned Type and Subtype specific bank 0.
Vendor specific device type 38.
Vendor specific device type 50.
Vendor specific device type 58.
Vendor, Type and Subtype specific bank 3.
Vendor, Type and Subtype specific bank 11.
Vendor, Type and Subtype specific bank 31.
Vendor, Type and Subtype specific bank 15.
Vendor, Type and Subtype specific bank 16.
Vendor specific device type 21.
Vendor specific device type 43.
Vendor specific device type 10.
Vendor specific device type 34.
Vendor, Type and Subtype specific bank 12.
Vendor specific device type 25.
Vendor specific device type 37.
ri2c_subtype_bridge_t
Subtype for devices of type RI2C_DEV_BRIDGE.
Vendor specific device type 53.
Assigned Type and Subtype specific bank 30.
This is a bridge device. It converts between at least two diffrent communication channels. Subtypes are defined in ri2c_subtype_bridge_t.
Vendor specific device type 40.
Vendor, Type and Subtype specific bank 6.
Vendor specific device type 0.
Vendor specific device type 12.
Vendor specific device type 29.
Vendor specific device type 51.
Vendor specific device type 48.
Vendor specific device type 31.
Vendor specific device type 22.
Vendor specific device type 18.
uint8_t ruuid_t[16]
Type to store packed UUID.
Vendor, Type and Subtype specific bank 28.
Vendor specific device type 2.
Vendor, Type and Subtype specific bank 17.
Assigned Type and Subtype specific bank 9.
Vendor specific device type 11.
Vendor, Type and Subtype specific bank 18.
Vendor, Type and Subtype specific bank 5.