27#ifndef __AMU_COMMANDS_H__
28#define __AMU_COMMANDS_H__
34#define CMD_READ (1<<CMD_RW_BIT)
35#define CMD_WRITE (0<<CMD_RW_BIT)
46#define CMD_I2C_USB 0x0100
47#define CMD_USB_ONLY 0x0200
49#define CMD_SYSTEM_OFFSET CMD_I2C_USB + 0x00
50#define CMD_SYSTEM_LED_OFFSET CMD_I2C_USB + 0x10
51#define CMD_DUT_OFFSET CMD_I2C_USB + 0x20
52#define CMD_EXEC_OFFSET CMD_I2C_USB + 0x30
53#define CMD_SWEEP_OFFSET CMD_I2C_USB + 0x40
54#define CMD_AUX_OFFSET CMD_I2C_USB + 0x50
55#define CMD_ADC_CH_OFFSET CMD_I2C_USB + 0x60
56#define CMD_MEAS_CH_CMD_OFFSET CMD_I2C_USB + 0x70
58#define CMD_USB_SYSTEM_OFFSET CMD_USB_ONLY + 0x00
59#define CMD_USB_EEPROM_CMD_OFFSET CMD_USB_ONLY + 0x10
60#define CMD_USB_ADC_VOLTAGE_CMD_OFFSET CMD_USB_ONLY + 0x20
61#define CMD_USB_ADC_CURRENT_CMD_OFFSET CMD_USB_ONLY + 0x30
62#define CMD_USB_SWEEP_OFFSET CMD_USB_ONLY + 0x40
63#define CMD_USB_SYSTEM_CONFIG_OFFSET CMD_USB_ONLY + 0x50
83#define AMU_GET_CMD_ROOT(cmd) (cmd & 0xFF70)
84#define AMU_GET_CMD_BRANCH(cmd) (cmd & 0x000F)
246#undef CMD_SYSTEM_OFFSET
530#undef CMD_EXEC_OFFSET
635#undef CMD_SWEEP_OFFSET
944#undef CMD_ADC_CH_OFFSET
1090#undef CMD_MEAS_CH_CMD_OFFSET
1130#undef CMD_USB_SYSTEM_OFFSET
1188#undef CMD_USB_EEPROM_CMD_OFFSET
1251#undef CMD_USB_ADC_VOLTAGE_CMD_OFFSET
1315#undef CMD_USB_ADC_CURRENT_CMD_OFFSET
1329#undef CMD_USB_SWEEP_OFFSET
1368#undef CMD_USB_SYSTEM_CONFIG_OFFSET
CMD_USB_SYSTEM_t
USB-only system command identifiers.
@ CMD_USB_SYSTEM_DEBUG
Debug value access @scpi_cmd SYSTem:DEBug#? @description Sets or queries debug values for development...
@ CMD_USB_SYSTEM_TWI_MODE
I2C mode configuration @scpi_cmd SYSTem:TWI:MODE[?] @description Sets or queries I2C operating mode (...
@ CMD_USB_SYSTEM_LIST_SCPI_COMMANDS
List available SCPI commands @scpi_cmd SYSTem:SCPI:LIST? @description Returns list of all supported S...
@ CMD_USB_SYSTEM_ENTER_BOOTLOADER
Enter bootloader mode @scpi_cmd SYSTem:BOOTloader @description Enters bootloader mode for firmware up...
@ CMD_USB_SYSTEM_TWI_SCAN
Scan I2C bus for devices @scpi_cmd SYSTem:TWI:SCAN? @description Scans I2C bus and returns list of de...
#define CMD_ADC_CH_OFFSET
CMD_USB_ADC_VOLTAGE_t
USB-only voltage ADC command identifiers.
@ CMD_USB_ADC_VOLTAGE_CAL_SAVE
Save voltage channel calibration @scpi_cmd ADC:VOLTage:CALibrate:SAVe @description Saves voltage chan...
@ CMD_USB_ADC_VOLTAGE_PGA
Voltage channel PGA setting @scpi_cmd ADC:VOLTage:PGA[?] @description Sets or queries voltage channel...
@ CMD_USB_ADC_VOLTAGE_CAL_FULL
Voltage channel full-scale calibration @scpi_cmd ADC:VOLTage:CALibrate:FULL @description Performs ful...
@ CMD_USB_ADC_VOLTAGE_GAIN
Voltage channel gain coefficient @scpi_cmd ADC:VOLTage:GAIN[?] @description Sets or queries voltage c...
@ CMD_USB_ADC_VOLTAGE_MAX_PGA
Voltage channel PGA maximum setting for given PGA setting @scpi_cmd ADC:VOLTage:MAX:PGA[#]?...
@ CMD_USB_ADC_VOLTAGE_CAL_ZERO
Voltage channel zero-scale calibration @scpi_cmd ADC:VOLTage:CALibrate:ZERO @description Performs zer...
@ CMD_USB_ADC_VOLTAGE_MAX
Voltage channel maximum range @scpi_cmd ADC:VOLTage:MAX? @description Queries voltage channel maximum...
@ CMD_USB_ADC_VOLTAGE_OFFSET
Voltage channel offset coefficient @scpi_cmd ADC:VOLTage:OFFset[?] @description Sets or queries volta...
@ CMD_USB_ADC_VOLTAGE_CAL_RESET
Reset voltage channel calibration @scpi_cmd ADC:VOLTage:CALibrate:RESet @description Resets voltage c...
#define CMD_USB_EEPROM_CMD_OFFSET
#define CMD_USB_ADC_CURRENT_CMD_OFFSET
#define CMD_SYSTEM_LED_OFFSET
CMD_USB_ADC_CURRENT_t
USB-only current ADC command identifiers.
@ CMD_USB_ADC_CURRENT_CAL_RESET
Reset current channel calibration @scpi_cmd ADC:CURRent:CALibrate:RESet @description Resets current c...
@ CMD_USB_ADC_CURRENT_MAX
Current channel maximum range @scpi_cmd ADC:CURRent:MAX? @description Queries current channel maximum...
@ CMD_USB_ADC_CURRENT_CAL_FULL
Current channel full-scale calibration @scpi_cmd ADC:CURRent:CALibrate:FULL @description Performs ful...
@ CMD_USB_ADC_CURRENT_CAL_SAVE
Save current channel calibration @scpi_cmd ADC:CURRent:CALibrate:SAVe @description Saves current chan...
@ CMD_USB_ADC_CURRENT_CAL_ZERO
Current channel zero-scale calibration @scpi_cmd ADC:CURRent:CALibrate:ZERO @description Performs zer...
@ CMD_USB_ADC_CURRENT_PGA
Current channel PGA setting @scpi_cmd ADC:CURRent:PGA[?] @description Sets or queries current channel...
@ CMD_USB_ADC_CURRENT_GAIN
Current channel gain coefficient @scpi_cmd ADC:CURRent:GAIN[?] @description Sets or queries current c...
@ CMD_USB_ADC_CURRENT_OFFSET
Current channel offset coefficient @scpi_cmd ADC:CURRent:OFFset[?] @description Sets or queries curre...
@ CMD_USB_ADC_CURRENT_MAX_PGA
Current channel PGA maximum setting for given PGA setting @scpi_cmd ADC:CURRent:MAX:PGA[#]?...
#define CMD_USB_SYSTEM_CONFIG_OFFSET
CMD_USB_SYSTEM_CONFIG_t
USB-only system configuration command identifiers.
@ CMD_USB_SYSTEM_CONFIG_SAVE
Save system configuration @scpi_cmd SYSTem:CONFig:SAVE @description Saves current system configuratio...
@ CMD_USB_SYSTEM_CONFIG_VOLT_R1
Voltage divider R1 resistor value @scpi_cmd SYSTem:CONFig:VOLTage:R1[?] @description Sets or queries ...
@ CMD_USB_SYSTEM_CONFIG_VOLT_R2
Voltage divider R2 resistor value @scpi_cmd SYSTem:CONFig:VOLTage:R2[?] @description Sets or queries ...
@ CMD_USB_SYSTEM_CONFIG_CURR_RSENSE
Current measurement sense resistor value @scpi_cmd SYSTem:CONFig:CURRent:Rsense[?] @description Sets ...
@ CMD_USB_SYSTEM_CONFIG_CURR_GAIN
Current measurement gain setting @scpi_cmd SYSTem:CONFig:CURRent:GAIN[?] @description Sets or queries...
#define CMD_USB_SYSTEM_OFFSET
#define CMD_USB_ADC_VOLTAGE_CMD_OFFSET
#define CMD_MEAS_CH_CMD_OFFSET
CMD_USB_SWEEP_t
USB-only sweep command identifiers.
@ CMD_USB_SWEEP_TRIGGER
Trigger sweep via USB @scpi_cmd SWEEP:TRIGger:USB @description Triggers I-V sweep with USB-specific p...
#define CMD_SYSTEM_OFFSET
CMD_USB_EEPROM_t
USB-only EEPROM command identifiers.
@ CMD_USB_EEPROM_OFFSET
ADC channel offset calibration data @scpi_cmd MEMory:ADC:CH#:OFFset[?] @description Sets or queries E...
@ CMD_USB_EEPROM_VOLTAGE_OFFSET
Voltage measurement offset calibration @scpi_cmd MEMory:VOLTage:OFFset#[?] @description Sets or queri...
@ CMD_USB_EEPROM_GAIN
ADC channel gain calibration data @scpi_cmd MEMory:ADC:CH#:GAIN[?] @description Sets or queries EEPRO...
@ CMD_USB_EEPROM_CURRENT_OFFSET
Current measurement offset calibration @scpi_cmd MEMory:CURRent:OFFset#[?] @description Sets or queri...
@ CMD_USB_EEPROM_CURRENT_GAIN
Current measurement gain calibration @scpi_cmd MEMory:CURRent:GAIN#[?] @description Sets or queries E...
@ CMD_USB_EEPROM_ERASE_ALL
Erase all EEPROM data @scpi_cmd MEMory:ERASE:ALL @description Erases all user data from EEPROM (USB o...
@ CMD_USB_EEPROM_VOLTAGE_GAIN
Voltage measurement gain calibration @scpi_cmd MEMory:VOLTage:GAIN#[?] @description Sets or queries E...
@ CMD_USB_EEPROM_ERASE_CONFIG
Erase configuration data @scpi_cmd MEMory:ERASE:CONFig @description Erases configuration data from EE...
#define CMD_USB_SWEEP_OFFSET
CMD_ADC_CH_t
ADC channel configuration command identifiers.
@ CMD_ADC_CH_SETUP
Sets or queries ADC channel setup.
@ CMD_ADC_CH_PGA_VMAX
Queries maximum voltage range for PGA.
@ CMD_ADC_CH_PGA
Sets or queries ADC channel PGA setting.
@ CMD_ADC_CH_FILTER
Sets or queries ADC channel filter.
@ CMD_ADC_CH_CAL_FULL_SCALE
Performs full-scale ADC calibration.
@ CMD_ADC_CH_REG
Sets or queries ADC channel register.
@ CMD_ADC_CH_CAL_ZERO_SCALE
Performs zero-scale ADC calibration.
@ CMD_ADC_CH_CAL_INTERNAL
Performs internal ADC channel calibration.
@ CMD_ADC_CH_OFFSET_COEFF
Sets or queries ADC channel offset coefficient.
@ CMD_ADC_CH_CAL_RESET
Resets ADC channel calibration.
@ CMD_ADC_CH_PGA_MAX
Queries maximum input range for current PGA.
@ CMD_ADC_CH_SAVE
Saves ADC channel configuration.
@ CMD_ADC_CH_CAL_SAVE
Saves ADC channel calibration.
@ CMD_ADC_CH_RATE
Sets or queries ADC channel sample rate.
@ CMD_ADC_CH_PGA_IMAX
Queries maximum current range for PGA.
@ CMD_ADC_CH_GAIN_COEFF
Sets or queries ADC channel gain coefficient.
CMD_AUX_t
Auxiliary subsystem command identifiers.
@ CMD_AUX_HEATER_STATE
Sets or queries heater enable state.
@ CMD_AUX_DAC_STATE
Sets or queries DAC output enable state.
@ CMD_AUX_DAC_CURRENT_RAW
Sets or queries DAC current output (raw)
@ CMD_AUX_DAC_OFFSET_CORRECTION
Sets or queries DAC offset correction coefficient.
@ CMD_AUX_DAC_VOLTAGE
Sets or queries DAC voltage output.
@ CMD_AUX_DAC_OFFSET
Sets or queries DAC offset calibration.
@ CMD_AUX_SUNSENSOR_RVAL
Sets or queries sun sensor radial reference.
@ CMD_AUX_HEATER_SETPOINT
Sets or queries heater temperature setpoint.
@ CMD_AUX_DAC_VOLTAGE_RAW
Sets or queries DAC voltage output (raw)
@ CMD_AUX_SUNSENSOR_FIT_PITCH_COEFF
Sets or queries sun sensor pitch calibration coefficients.
@ CMD_AUX_DAC_GAIN_CORRECTION
Sets or queries DAC gain correction coefficient.
@ CMD_AUX_SUNSENSOR_FIT_YAW_COEFF
Sets or queries sun sensor yaw calibration coefficients.
@ CMD_AUX_SUNSENSOR_THRESHOLD
Sets or queries sun sensor detection threshold.
@ CMD_AUX_DAC_CURRENT
Sets or queries DAC current output.
@ CMD_AUX_HEATER_PID
Sets or queries heater PID controller coefficients.
@ CMD_AUX_SUNSENSOR_HVAL
Sets or queries sun sensor horizontal reference.
CMD_DUT_t
Device Under Test (DUT) command identifiers.
@ CMD_DUT_MANUFACTURER
Sets or queries DUT manufacturer name.
@ CMD_DUT_DOSE
Sets or queries DUT ionizing radiation dose.
@ CMD_DUT_MODEL
Sets or queries DUT model/part number.
@ CMD_DUT_INTERCONNECT
Sets or queries DUT interconnect type.
@ CMD_DUT_JUNCTION
Sets or queries DUT junction type.
@ CMD_DUT_TECHNOLOGY
Sets or queries DUT semiconductor technology.
@ CMD_DUT_COVERGLASS
Sets or queries DUT coverglass type.
@ CMD_DUT_RESERVED
Reserved for future expansion.
@ CMD_DUT_SERIAL_NUMBER
Sets or queries DUT serial number.
@ CMD_DUT_TSENSOR_FIT
Sets or queries temperature sensor calibration coefficients.
@ CMD_DUT_NOTES
Sets or queries DUT documentation notes.
@ CMD_DUT_ENERGY
Sets or queries DUT radiation energy exposure.
@ CMD_DUT_TSENSOR_NUMBER
Sets or queries number of DUT temperature sensors.
@ CMD_DUT_TSENSOR_TYPE
Sets or queries DUT temperature sensor type.
CMD_EXEC_t
Execution and measurement command identifiers.
CMD_MEAS_CH_t
Measurement channel command identifiers.
@ CMD_EXEC_TSENSOR_COEFF_SAVE
Saves temperature sensor calibration coefficients.
@ CMD_EXEC_ADC_CAL_SAVE_ALL_INTERNAL
Saves internal ADC calibration data.
@ CMD_EXEC_DAC_CAL
Initiates DAC calibration procedure.
@ CMD_EXEC_ADC_CAL
Initiates ADC calibration procedure.
@ CMD_EXEC_TSENSOR_CAL_25C
Calibrates temperature sensor at 25°C.
@ CMD_EXEC_HEATER_PID_SAVE
Saves heater PID controller parameters.
@ CMD_EXEC_MEAS_CHANNEL
Measures specified ADC channel.
@ CMD_EXEC_MEAS_INTERNAL_VOLTAGES
Measures internal supply voltages.
@ CMD_EXEC_MEAS_ACTIVE_CHANNELS
Measures all active ADC channels.
@ CMD_EXEC_ADC_CAL_ALL_INTERNAL
Calibrates all internal ADC references.
@ CMD_EXEC_MEAS_SUN_SENSOR
Calculates sun sensor angles.
@ CMD_EXEC_MEAS_PRESSURE_SENSOR
Measures pressure sensor.
@ CMD_EXEC_MEAS_TSENSORS
Measures all configured temperature sensors.
@ CMD_EXEC_SUNSENSOR_COEFF_SAVE
Saves sun sensor calibration coefficients.
@ CMD_EXEC_DAC_CAL_SAVE
Saves DAC calibration data.
@ CMD_MEAS_CH_BIAS
Measures bias voltage reference.
@ CMD_MEAS_CH_ALDO
Measures analog LDO output voltage.
@ CMD_MEAS_CH_AVDD
Measures analog supply voltage.
@ CMD_MEAS_CH_IOVDD
Measures I/O supply voltage.
@ CMD_MEAS_CH_SS_BL
Measures sun sensor bottom-left quadrant.
@ CMD_MEAS_CH_TSENSOR_0
Measures temperature sensor 0.
@ CMD_MEAS_CH_SS_TR
Measures sun sensor top-right quadrant.
@ CMD_MEAS_CH_SS_TL
Measures sun sensor top-left quadrant.
@ CMD_MEAS_CH_VOLTAGE
Measures dedicated voltage channel.
@ CMD_MEAS_CH_SS_BR
Measures sun sensor bottom-right quadrant.
@ CMD_MEAS_CH_CURRENT
Measures dedicated current channel.
@ CMD_MEAS_CH_TEMP
Measures internal MCU temperature.
@ CMD_MEAS_CH_OFFSET
Measures offset calibration reference.
@ CMD_MEAS_CH_TSENSOR
Measures primary temperature sensor.
@ CMD_MEAS_CH_TSENSOR_1
Measures temperature sensor 1.
@ CMD_MEAS_CH_TSENSOR_2
Measures temperature sensor 2.
@ CMD_MEAS_CH_DLDO
Measures digital LDO output voltage.
CMD_SWEEP_t
I-V sweep control command identifiers.
@ CMD_SWEEP_CONFIG_SAVE
Saves sweep configuration.
@ CMD_SWEEP_AES_DECODE
Decrypts AES-encrypted sweep data.
@ CMD_SWEEP_TRIG_ISC
Measures short-circuit current.
@ CMD_SWEEP_DATAPOINT_SAVE
Saves single voltage/current data point.
@ CMD_SWEEP_TRIG_SWEEP
Initiates complete I-V sweep measurement.
@ CMD_SWEEP_TRIG_INIT
Initializes sweep trigger system.
@ CMD_SWEEP_DATAPOINT_LOAD
Loads single voltage/current data point.
@ CMD_SWEEP_AES_ENCODE
Encrypts sweep data using AES.
@ CMD_SWEEP_IV_SAVE_TO_EEPROM
Saves sweep data to EEPROM.
@ CMD_SWEEP_TRIG_VOC
Measures open-circuit voltage.
@ CMD_SWEEP_ENABLE
Enables sweep functionality.
@ CMD_SWEEP_IV_LOAD_FROM_EEPROM
Loads sweep data from EEPROM.
@ CMD_SWEEP_DISABLE
Disables sweep functionality.
CMD_SYSTEM_t
I2C System command identifiers.
@ CMD_SYSTEM_RESET
Performs complete software reset.
@ CMD_SYSTEM_XMEGA_USER_SIGNATURES
Returns microcontroller signature bytes.
@ CMD_SYSTEM_UTC_TIME
Sets or queries UTC timestamp.
@ CMD_SYSTEM_SLEEP
Enters low-power sleep mode.
@ CMD_SYSTEM_TIME
Sets or queries system timestamp.
@ CMD_SYSTEM_TWI_ADDRESS
Sets or queries I2C slave address.
@ CMD_SYSTEM_TWI_STATUS
Returns I2C interface status.
@ CMD_SYSTEM_XMEGA_FUSES
Returns microcontroller fuse configuration.
@ CMD_SYSTEM_FIRMWARE
Returns firmware version string.
@ CMD_SYSTEM_NO_CMD
No operation command - Communication test.
@ CMD_SYSTEM_SERIAL_NUM
Returns unique device serial number.
@ CMD_SYSTEM_TEMPERATURE
Internal MCU temperature sensor.
@ CMD_SYSTEM_TWI_NUM_DEVICES
Scans I2C bus for devices.
@ CMD_SYSTEM_LED_COLOR
Sets or queries status LED color.