AMU Library 3.0
C/C++ library for communicating with AMU (Aerospace Measurement Unit) devices
Loading...
Searching...
No Matches
I2C System Commands

System-level I2C commands for device control and configuration. More...

Enumerations

enum  CMD_SYSTEM_t {
  CMD_SYSTEM_NO_CMD = 0x0100 + 0x00+ 0x00 ,
  CMD_SYSTEM_RESET = 0x0100 + 0x00+ 0x01 ,
  CMD_SYSTEM_XMEGA_FUSES = 0x0100 + 0x00+ 0x02 ,
  CMD_SYSTEM_TWI_ADDRESS = 0x0100 + 0x00+ 0x03 ,
  CMD_SYSTEM_TWI_NUM_DEVICES = 0x0100 + 0x00+ 0x04 ,
  CMD_SYSTEM_TWI_STATUS = 0x0100 + 0x00+ 0x05 ,
  CMD_SYSTEM_FIRMWARE = 0x0100 + 0x00+ 0x06 ,
  CMD_SYSTEM_SERIAL_NUM = 0x0100 + 0x00+ 0x07 ,
  CMD_SYSTEM_TEMPERATURE = 0x0100 + 0x00+ 0x08 ,
  CMD_SYSTEM_TIME = 0x0100 + 0x00+ 0x09 ,
  CMD_SYSTEM_UTC_TIME = 0x0100 + 0x00+ 0x0A ,
  CMD_SYSTEM_LED_COLOR = 0x0100 + 0x00+ 0x0B ,
  CMD_SYSTEM_XMEGA_USER_SIGNATURES = 0x0100 + 0x00+ 0x0C ,
  CMD_SYSTEM_SLEEP = 0x0100 + 0x00+ 0x0F
}
 I2C System command identifiers. More...

Detailed Description

System-level I2C commands for device control and configuration.

These I2C commands control basic system functions including:

  • Device identification and status (CMD_SYSTEM_*)
  • LED control
  • Sleep mode
  • Temperature monitoring
  • I2C configuration
  • Firmware information

Many of these commands have corresponding SCPI equivalents.

Enumeration Type Documentation

◆ CMD_SYSTEM_t

I2C System command identifiers.

System commands control basic device functionality and provide device information. These I2C commands are available on both I2C and USB interfaces. Many have corresponding SCPI command equivalents.

Enumerator
CMD_SYSTEM_NO_CMD 0x0100 + 0x00+ 0x00 

No operation command - Communication test.

Tests device communication without performing any operation or changing state. Used for verifying interface connectivity and basic device responsiveness.

Parameters
None
Returns
Status code (0 = success)
SCPI Equivalent:
*TST? Root command for I2C/USB commands
CMD_SYSTEM_RESET 0x0100 + 0x00+ 0x01 

Performs complete software reset.

Performs a complete software reset of the device, restoring all settings to factory defaults and reinitializing all subsystems.

SCPI Equivalent:
*RST
Warning
All user configuration will be lost
Note
Device will disconnect briefly during reset process Root command for I2C/USB commands
CMD_SYSTEM_XMEGA_FUSES 0x0100 + 0x00+ 0x02 

Returns microcontroller fuse configuration.

Returns the microcontroller fuse configuration as a 32-bit hexadecimal value. Fuse bits control fundamental hardware behavior and security features.

Returns
32-bit fuse configuration (hex format: 0xAABBCCDD)
SCPI Equivalent:
SYSTem:XMEGA:FUSES?
Note
Read-only command for diagnostic purposes Root command for I2C/USB commands
CMD_SYSTEM_TWI_ADDRESS 0x0100 + 0x00+ 0x03 

Sets or queries I2C slave address.

Sets or queries the device I2C slave address for TWI communication. Address changes take effect immediately but are not saved to EEPROM.

Parameters
address7-bit I2C address (range: 0x08-0x77, excludes reserved addresses)
Returns
Current I2C address (7-bit, no R/W bit)
SCPI Equivalent:
SYSTem:TWI:ADDress[?]
Warning
Address 0x00-0x07 and 0x78-0x7F are reserved and will be rejected Root command for I2C/USB commands
CMD_SYSTEM_TWI_NUM_DEVICES 0x0100 + 0x00+ 0x04 

Scans I2C bus for devices.

Performs an I2C bus scan and returns the number of responding devices. Scans all valid 7-bit addresses (0x08-0x77) and counts acknowledgments.

Returns
Number of detected I2C devices (0-112)
SCPI Equivalent:
SYSTem:TWI:NUMdevices?
Note
Scan may take up to 2 seconds to complete Root command for I2C/USB commands
CMD_SYSTEM_TWI_STATUS 0x0100 + 0x00+ 0x05 

Returns I2C interface status.

Returns comprehensive I2C interface status including error conditions, bus state, and communication statistics.

Returns
Status bitfield: [7:4]=Reserved [3]=Bus_Error [2]=Arbitration_Lost [1]=NACK [0]=Active
SCPI Equivalent:
SYSTem:TWI:STATus?
Note
Status bits are cleared after reading Root command for I2C/USB commands
CMD_SYSTEM_FIRMWARE 0x0100 + 0x00+ 0x06 

Returns firmware version string.

Returns the current firmware version string in semantic versioning format. Includes major.minor.patch version numbers.

Returns
Version string (format: "X.Y.Z", e.g., "2.1.0")
SCPI Equivalent:
SYSTem:FIRMware?
Note
Maximum string length: 16 characters Root command for I2C/USB commands
CMD_SYSTEM_SERIAL_NUM 0x0100 + 0x00+ 0x07 

Returns unique device serial number.

Returns the factory-programmed unique serial number for device identification and traceability. Serial number is burned into EEPROM during manufacturing.

Returns
Serial number string (format: "AMU-YYYYMMDD-XXXX")
SCPI Equivalent:
SYSTem:SERial?
Note
Serial numbers are globally unique across all devices Root command for I2C/USB commands
CMD_SYSTEM_TEMPERATURE 0x0100 + 0x00+ 0x08 

Internal MCU temperature sensor.

Reads the built-in microcontroller temperature sensor for thermal monitoring. Accuracy is ±3°C, primarily used for thermal protection and diagnostics.

Parameters
None
Returns
Temperature in degrees Celsius (range: -40 to +85°C)
SCPI Equivalent:
SYSTem:TEMPerature?
Note
Sensor is factory calibrated at 25°C
Warning
High temperatures may indicate thermal stress Root command for I2C/USB commands
CMD_SYSTEM_TIME 0x0100 + 0x00+ 0x09 

Sets or queries system timestamp.

Sets or queries the system timestamp representing seconds since device boot. Useful for timing measurements and event correlation.

Parameters
timestampSeconds since boot (32-bit unsigned, rolls over at ~136 years)
Returns
Current timestamp in seconds
SCPI Equivalent:
SYSTem:TIMEstamp[?]
Note
Timestamp is reset to 0 on power cycle or reset Root command for I2C/USB commands
CMD_SYSTEM_UTC_TIME 0x0100 + 0x00+ 0x0A 

Sets or queries UTC timestamp.

Sets or queries absolute UTC timestamp in Unix epoch format (seconds since Jan 1, 1970). Requires external time synchronization for accuracy.

Parameters
utc_timeUnix epoch timestamp (32-bit, valid until 2038)
Returns
Current UTC timestamp
SCPI Equivalent:
SYSTem:TIMEstamp:UTC[?]
Note
Time is not maintained across power cycles without external RTC Root command for I2C/USB commands
CMD_SYSTEM_LED_COLOR 0x0100 + 0x00+ 0x0B 

Sets or queries status LED color.

Sets or queries the status LED RGB color values for visual feedback. Each color component uses floating-point values for smooth transitions.

Parameters
redRed component intensity (range: 0.0-1.0)
greenGreen component intensity (range: 0.0-1.0)
blueBlue component intensity (range: 0.0-1.0)
Returns
Current RGB values as comma-separated floats
SCPI Equivalent:
SYSTem:LED:COLOR[?]
Note
LED brightness is automatically adjusted for optimal visibility Root command for I2C/USB commands
CMD_SYSTEM_XMEGA_USER_SIGNATURES 0x0100 + 0x00+ 0x0C 

Returns microcontroller signature bytes.

Returns the microcontroller's unique signature bytes for device identification and debugging purposes. Contains manufacturer ID and device type information.

Returns
3-byte signature (format: 0xAABBCC)
SCPI Equivalent:
SYSTem:XMEGA:SIGnature?
Note
Signature is factory-programmed and cannot be modified Root command for I2C/USB commands
CMD_SYSTEM_SLEEP 0x0100 + 0x00+ 0x0F 

Enters low-power sleep mode.

Puts the device into low-power sleep mode to conserve energy. Device will wake on USB activity, I2C communication, or external interrupt.

SCPI Equivalent:
SYSTem:SLEEP
Note
Current measurements will be suspended during sleep
Warning
USB communication may be interrupted briefly Root command for I2C/USB commands

Definition at line 97 of file amu_commands.h.