pub enum FieldSetValue {
Show 71 variants
PowerStatus(PowerStatus),
ChargeStatus(ChargeStatus),
OtgVbusStatus(OtgVbusStatus),
DataBuffer0(DataBuffer0),
ExtenDcDc2Control(ExtenDcDc2Control),
PowerOutputControl(PowerOutputControl),
DcDc2VoltageSetting(DcDc2VoltageSetting),
DcDc2VrcParameter(DcDc2VrcParameter),
DcDc1VoltageSetting(DcDc1VoltageSetting),
Ldo2And3VoltageSetting(Ldo2And3VoltageSetting),
VbusIpsoutPathManagement(VbusIpsoutPathManagement),
ShutdownVoltageSetting(ShutdownVoltageSetting),
ShutdownBatChgLedControl(ShutdownBatChgLedControl),
ChargeControl1(ChargeControl1),
ChargeControl2(ChargeControl2),
BackupBatteryChargeControl(BackupBatteryChargeControl),
PekKeyParameters(PekKeyParameters),
DcDcOperatingFrequency(DcDcOperatingFrequency),
BatteryChargeLowTempThreshold(BatteryChargeLowTempThreshold),
BatteryChargeHighTempThreshold(BatteryChargeHighTempThreshold),
ApsLowPowerLevel1Setting(ApsLowPowerLevel1Setting),
ApsLowPowerLevel2Setting(ApsLowPowerLevel2Setting),
BatteryDischargeLowTempThreshold(BatteryDischargeLowTempThreshold),
BatteryDischargeHighTempThreshold(BatteryDischargeHighTempThreshold),
DcDcOperatingMode(DcDcOperatingMode),
AdcEnable1(AdcEnable1),
AdcEnable2(AdcEnable2),
AdcSampleRateTsPinControl(AdcSampleRateTsPinControl),
GpioAdcInputRangeSetting(GpioAdcInputRangeSetting),
Gpio1AdcIrqRisingThreshold(Gpio1AdcIrqRisingThreshold),
Gpio1AdcIrqFallingThreshold(Gpio1AdcIrqFallingThreshold),
TimerControl(TimerControl),
VbusSrpControl(VbusSrpControl),
OverTempShutdownControl(OverTempShutdownControl),
Gpio0Control(Gpio0Control),
Gpio0LdoVoltageSetting(Gpio0LdoVoltageSetting),
Gpio1Control(Gpio1Control),
Gpio2Control(Gpio2Control),
Gpio0To2SignalStatusAndControl(Gpio0To2SignalStatusAndControl),
Gpio3And4FunctionControl(Gpio3And4FunctionControl),
Gpio3And4SignalStatusAndControl(Gpio3And4SignalStatusAndControl),
Gpio0To2PulldownControl(Gpio0To2PulldownControl),
Pwm1FrequencySetting(Pwm1FrequencySetting),
Pwm1DutyCycleSettingY1(Pwm1DutyCycleSettingY1),
Pwm1DutyCycleSettingY2(Pwm1DutyCycleSettingY2),
NrstoGpio5Control(NrstoGpio5Control),
IrqEnableControl1(IrqEnableControl1),
IrqEnableControl2(IrqEnableControl2),
IrqEnableControl3(IrqEnableControl3),
IrqEnableControl4(IrqEnableControl4),
IrqEnableControl5(IrqEnableControl5),
IrqStatus1(IrqStatus1),
IrqStatus2(IrqStatus2),
IrqStatus3(IrqStatus3),
IrqStatus4(IrqStatus4),
IrqStatus5(IrqStatus5),
AcinVoltageAdc(AcinVoltageAdc),
AcinCurrentAdc(AcinCurrentAdc),
VbusVoltageAdc(VbusVoltageAdc),
VbusCurrentAdc(VbusCurrentAdc),
InternalTemperatureAdc(InternalTemperatureAdc),
TsPinAdc(TsPinAdc),
GpioVoltageAdc(GpioVoltageAdc),
BatteryInstantaneousPowerAdc(BatteryInstantaneousPowerAdc),
BatteryVoltageAdc(BatteryVoltageAdc),
BatteryChargeCurrentAdc(BatteryChargeCurrentAdc),
BatteryDischargeCurrentAdc(BatteryDischargeCurrentAdc),
ApsVoltageAdc(ApsVoltageAdc),
BatteryChargeCoulombCounter(BatteryChargeCoulombCounter),
BatteryDischargeCoulombCounter(BatteryDischargeCoulombCounter),
CoulombCounterControl(CoulombCounterControl),
}Expand description
Enum containing all possible field set types
Variants§
PowerStatus(PowerStatus)
Indicates the input power source status (ACIN, VBUS), battery current direction, and other power-related conditions.
ChargeStatus(ChargeStatus)
Indicates various operational modes and charging statuses, including AXP192 temperature, battery presence, and charging progress.
OtgVbusStatus(OtgVbusStatus)
Indicates the status of VBUS when operating in USB OTG (On-The-Go) mode.
DataBuffer0(DataBuffer0)
General purpose data buffer for system data storage. Note: Retained as long as any AXP192 power source is present (not affected by host on/off).
ExtenDcDc2Control(ExtenDcDc2Control)
Controls the output enable state for the EXTEN pin and the DC-DC2 converter.
PowerOutputControl(PowerOutputControl)
Controls output enable for DC-DC1, DC-DC3, LDO2, LDO3, EXTEN, and DC-DC2. Power-on default for M5StickC Plus is 0x5F. IMPORTANT: REG12H bit 6 (exten_output_enable) is linked to REG10H bit 2. REG12H bit 4 (dcdc2_output_enable) is linked to REG10H bit 0. These pairs control the same underlying hardware function.
DcDc2VoltageSetting(DcDc2VoltageSetting)
Sets the output voltage for the DC-DC2 converter. Formula: Output Voltage (V) = 0.7 + (value * 0.025). Range: 0.7V to 2.275V (raw 0-63).
DcDc2VrcParameter(DcDc2VrcParameter)
Configures DC-DC2 Dynamic Voltage Scaling / Voltage Ramp Control (VRC).
DcDc1VoltageSetting(DcDc1VoltageSetting)
Sets the output voltage for a DC-DC converter. Formula: V_out = 0.7V + (value * 25mV). Range 0.7V-3.5V (raw 0-112).
Ldo2And3VoltageSetting(Ldo2And3VoltageSetting)
Sets the output voltage for both LDO2 and LDO3. LDO2 (bits 7-4) & LDO3 (bits 3-0): V_out = 1.8V + (setting * 100mV). Range: 1.8V-3.3V.
VbusIpsoutPathManagement(VbusIpsoutPathManagement)
Manages VBUS to IPSOUT path, VHOLD voltage limiting, and VBUS current limiting.
ShutdownVoltageSetting(ShutdownVoltageSetting)
Sets VOFF (shutdown) voltage and PWRON short-press wakeup from sleep.
ShutdownBatChgLedControl(ShutdownBatChgLedControl)
Controls shutdown, battery detection, CHGLED pin, and N_OE shutdown delay.
ChargeControl1(ChargeControl1)
Controls primary charging parameters.
ChargeControl2(ChargeControl2)
Controls secondary charging parameters including pre-charge timeout, external path charge current and enable state, and constant current mode timeout.
BackupBatteryChargeControl(BackupBatteryChargeControl)
Controls the charging parameters for the backup battery (RTC battery).
PekKeyParameters(PekKeyParameters)
Configures parameters related to the PEK (Power Enable Key/Button) operations.
DcDcOperatingFrequency(DcDcOperatingFrequency)
Sets the operating (switching) frequency for the DC-DC converters. The 4-bit value (bits 0-3) adjusts the frequency around a default of 1.5MHz. The raw value 0b1000 (decimal 8) corresponds to 1.5MHz. Each step away from this default value changes the frequency by approximately 5% of 1.5MHz (75kHz). Range approx 0.9MHz (raw 0) to 2.025MHz (raw 15).
BatteryChargeLowTempThreshold(BatteryChargeLowTempThreshold)
Sets the low-temperature threshold (V_LTF_charge) for battery charging, typically read from an NTC thermistor. If the NTC voltage rises above this threshold (indicating low temperature), charging may be suspended or modified. Formula: Threshold Voltage (V) = raw_value * 0.0128. Range: 0V (raw 0x00) to 3.264V (raw 0xFF).
BatteryChargeHighTempThreshold(BatteryChargeHighTempThreshold)
Sets the high-temperature threshold (V_HTF_charge) for battery charging, typically read from an NTC thermistor. If the NTC voltage falls below this threshold (indicating high temperature), charging may be suspended or modified. Formula: Threshold Voltage (V) = raw_value * 0.0128. Range: 0V (raw 0x00) to 3.264V (raw 0xFF).
ApsLowPowerLevel1Setting(ApsLowPowerLevel1Setting)
Sets the APS (Average Power Source voltage) low power warning Level 1 threshold. An IRQ may be triggered if APS voltage drops below this level. Formula: V_WARNING1 (V) = 2.8672 + (raw_value * 0.0014 * 4). The raw_value is the 8-bit content of this register.
ApsLowPowerLevel2Setting(ApsLowPowerLevel2Setting)
Sets the APS (Average Power Source voltage) low power warning Level 2 threshold. Typically set lower than Level 1. An IRQ may be triggered if APS voltage drops below this level. Formula: V_WARNING2 (V) = 2.8672 + (raw_value * 0.0014 * 4). The raw_value is the 8-bit content of this register.
BatteryDischargeLowTempThreshold(BatteryDischargeLowTempThreshold)
Sets the low-temperature threshold (V_LTF_discharge) for battery discharging, typically read from an NTC thermistor. If the NTC voltage rises above this threshold (indicating low temperature), system behavior may be modified. Formula: Threshold Voltage (V) = raw_value * 0.0128. Range: 0V (raw 0x00) to 3.264V (raw 0xFF).
BatteryDischargeHighTempThreshold(BatteryDischargeHighTempThreshold)
Sets the high-temperature threshold (V_HTF_discharge) for battery discharging, typically read from an NTC thermistor. If the NTC voltage falls below this threshold (indicating high temperature), system behavior may be modified. Formula: Threshold Voltage (V) = raw_value * 0.0128. Range: 0V (raw 0x00) to 3.264V (raw 0xFF).
DcDcOperatingMode(DcDcOperatingMode)
Selects the operating mode (PFM/PWM Auto or Fixed PWM) for DC-DC1, DC-DC2, and DC-DC3.
AdcEnable1(AdcEnable1)
Controls the enable state for various ADC channels (Set 1).
AdcEnable2(AdcEnable2)
Controls the enable state for internal temperature ADC and GPIO ADCs (Set 2).
AdcSampleRateTsPinControl(AdcSampleRateTsPinControl)
Configures ADC sample rate and TS (Temperature Sense) pin functionality, current, and output mode.
GpioAdcInputRangeSetting(GpioAdcInputRangeSetting)
Sets the ADC input voltage range for GPIO0, GPIO1, GPIO2, and GPIO3.
Gpio1AdcIrqRisingThreshold(Gpio1AdcIrqRisingThreshold)
Sets the rising edge voltage threshold for GPIO1 ADC input to trigger an interrupt. An IRQ is generated when the GPIO1 ADC voltage rises above this set threshold. Formula: Threshold Voltage (V) = raw_value * 0.008. Range: 0V (raw 0x00) to 2.04V (raw 0xFF).
Gpio1AdcIrqFallingThreshold(Gpio1AdcIrqFallingThreshold)
Sets the falling edge voltage threshold for GPIO1 ADC input to trigger an interrupt. An IRQ is generated when the GPIO1 ADC voltage falls below this set threshold. Formula: Threshold Voltage (V) = raw_value * 0.008. Range: 0V (raw 0x00) to 2.04V (raw 0xFF).
TimerControl(TimerControl)
Controls an internal timer, sets its duration, and indicates timeout status.
VbusSrpControl(VbusSrpControl)
Controls VBUS pin monitoring for Session Request Protocol (SRP) related functions, including valid voltage threshold and SRP feature enables.
OverTempShutdownControl(OverTempShutdownControl)
Controls the AXP192 internal over-temperature shutdown function. Other bits are reserved.
Gpio0Control(Gpio0Control)
Configures the function of the GPIO0 pin.
Gpio0LdoVoltageSetting(Gpio0LdoVoltageSetting)
Sets the output voltage for GPIO0 when it is configured in Low Noise LDO (LDOIO0) mode (via REG90H).
Gpio1Control(Gpio1Control)
Configures the function of the GPIO1 pin.
Gpio2Control(Gpio2Control)
Configures the function of the GPIO2 pin.
Gpio0To2SignalStatusAndControl(Gpio0To2SignalStatusAndControl)
Monitors input status for GPIO0-GPIO2 and controls their output levels when configured as NMOS open-drain or output low.
Gpio3And4FunctionControl(Gpio3And4FunctionControl)
Configures the function for GPIO3 and GPIO4 pins, and enables their GPIO mode.
Gpio3And4SignalStatusAndControl(Gpio3And4SignalStatusAndControl)
Monitors input status for GPIO3-GPIO4 and controls their output levels when configured as NMOS open-drain or output low.
Gpio0To2PulldownControl(Gpio0To2PulldownControl)
Controls internal pull-down resistors for GPIO0, GPIO1, and GPIO2 when they are configured as inputs.
Pwm1FrequencySetting(Pwm1FrequencySetting)
Sets the ‘X’ parameter for PWM1 output frequency calculation. Formula: F_pwm1 = 2.25MHz / (X_value + 1) / Y1_value (where Y1 is from REG99H).
Pwm1DutyCycleSettingY1(Pwm1DutyCycleSettingY1)
Sets the ‘Y1’ parameter for PWM1 duty cycle and frequency calculations. Y1 is the denominator for duty cycle (Duty = Y2/Y1) and also affects frequency. Y1 should not be set to 0.
Pwm1DutyCycleSettingY2(Pwm1DutyCycleSettingY2)
Sets the ‘Y2’ parameter (numerator) for PWM1 duty cycle calculation (Duty = Y2/Y1). Only upper 5 bits (bits 7-3) are used for Y2.
NrstoGpio5Control(NrstoGpio5Control)
Configures the N_RSTO/GPIO5 pin function. It can operate as N_RSTO (LDO1 status monitor) or as a general-purpose I/O pin (GPIO5) with configurable direction and output state.
IrqEnableControl1(IrqEnableControl1)
Interrupt Enable Control Register 1 (ACIN and VBUS related IRQs).
IrqEnableControl2(IrqEnableControl2)
Interrupt Enable Control Register 2 (Battery and Charge related IRQs).
IrqEnableControl3(IrqEnableControl3)
Interrupt Enable Control Register 3 (IC Temp, Charge Current, DCDC VLow, PEK IRQs).
IrqEnableControl4(IrqEnableControl4)
Interrupt Enable Control Register 4 (N_OE and VBUS session/status related IRQs, APS Low Voltage).
IrqEnableControl5(IrqEnableControl5)
Interrupt Enable Control Register 5 (Timer and GPIO Input Edge Trigger IRQs).
IrqStatus1(IrqStatus1)
Interrupt Status Register 1. Bits are set when corresponding IRQ occurs. Write 1 to a bit to clear it.
IrqStatus2(IrqStatus2)
Interrupt Status Register 2. Bits are set when corresponding IRQ occurs. Write 1 to a bit to clear it.
IrqStatus3(IrqStatus3)
Interrupt Status Register 3. Bits are set when corresponding IRQ occurs. Write 1 to a bit to clear it.
IrqStatus4(IrqStatus4)
Interrupt Status Register 4. Bits are set when corresponding IRQ occurs. Write 1 to a bit to clear it.
IrqStatus5(IrqStatus5)
Interrupt Status Register 5. Bits are set when corresponding IRQ occurs. Write 1 to a bit to clear it.
AcinVoltageAdc(AcinVoltageAdc)
Raw 16-bit data from REG56H (MSB) and REG57H (LSB) for ACIN Voltage ADC. The actual 12-bit ADC value is (REG56H << 4) | (REG57H & 0x0F). Use the driver’s helper function to extract and convert: Voltage (mV) = adc_value * 1.7.
AcinCurrentAdc(AcinCurrentAdc)
Raw 16-bit data from REG58H (MSB) and REG59H (LSB) for ACIN Current ADC. The actual 12-bit ADC value is (REG58H << 4) | (REG59H & 0x0F). Use driver helper: Current (mA) = adc_value * 0.625.
VbusVoltageAdc(VbusVoltageAdc)
Raw 16-bit data from REG5AH (MSB) and REG5BH (LSB) for VBUS Voltage ADC. The actual 12-bit ADC value is (REG5AH << 4) | (REG5BH & 0x0F). Use driver helper: Voltage (mV) = adc_value * 1.7.
VbusCurrentAdc(VbusCurrentAdc)
Raw 16-bit data from REG5CH (MSB) and REG5DH (LSB) for VBUS Current ADC. The actual 12-bit ADC value is (REG5CH << 4) | (REG5DH & 0x0F). Use driver helper: Current (mA) = adc_value * 0.375.
InternalTemperatureAdc(InternalTemperatureAdc)
Raw 16-bit data from REG5EH (MSB) and REG5FH (LSB) for Internal Temperature ADC. The actual 12-bit ADC value is (REG5EH << 4) | (REG5FH & 0x0F). Use driver helper: Temp (°C) = (adc_value * 0.1) - 144.7.
TsPinAdc(TsPinAdc)
Raw 16-bit data from REG62H (MSB) and REG63H (LSB) for TS Pin ADC. The actual 12-bit ADC value is (REG62H << 4) | (REG63H & 0x0F). Use driver helper: Voltage (mV) = adc_value * 0.8.
GpioVoltageAdc(GpioVoltageAdc)
Raw 16-bit data for GPIO Pin ADC (indexed 0-3). The actual 12-bit ADC value is (MSB_byte << 4) | (LSB_byte & 0x0F). Use driver helper: Voltage (mV) = adc_value * 0.5.
BatteryInstantaneousPowerAdc(BatteryInstantaneousPowerAdc)
Raw 24-bit data from REG70H (MSB), REG71H, REG72H (LSB) for Battery Power ADC. The value is (REG70H << 16) | (REG71H << 8) | REG72H. Use driver helper: Power (uW) = adc_value * 0.55.
BatteryVoltageAdc(BatteryVoltageAdc)
Raw 16-bit data from REG78H (MSB) and REG79H (LSB) for Battery Voltage ADC. The actual 12-bit ADC value is (REG78H << 4) | (REG79H & 0x0F). Use driver helper: Voltage (mV) = adc_value * 1.1.
BatteryChargeCurrentAdc(BatteryChargeCurrentAdc)
Raw 16-bit data from REG7AH (MSB) and REG7BH (LSB) for Battery Charge Current ADC. The actual 13-bit ADC value is (REG7AH << 5) | (REG7BH & 0x1F). Use driver helper: Current (mA) = adc_value * 0.5.
BatteryDischargeCurrentAdc(BatteryDischargeCurrentAdc)
Raw 16-bit data from REG7CH (MSB) and REG7DH (LSB) for Battery Discharge Current ADC. The actual 13-bit ADC value is (REG7CH << 5) | (REG7DH & 0x1F). Use driver helper: Current (mA) = adc_value * 0.5.
ApsVoltageAdc(ApsVoltageAdc)
Raw 16-bit data from REG7EH (MSB) and REG7FH (LSB) for APS Voltage ADC. The actual 12-bit ADC value is (REG7EH << 4) | (REG7FH & 0x0F). Use driver helper: Voltage (mV) = adc_value * 1.4.
BatteryChargeCoulombCounter(BatteryChargeCoulombCounter)
Raw 32-bit data for the battery charge coulomb counter. The value is (REG_B0 << 24) | (REG_B1 << 16) | (REG_B2 << 8) | REG_B3. Represents accumulated charge input.
BatteryDischargeCoulombCounter(BatteryDischargeCoulombCounter)
Raw 32-bit data for the battery discharge coulomb counter. The value is (REG_B4 << 24) | (REG_B5 << 16) | (REG_B6 << 8) | REG_B7. Represents accumulated charge output.
CoulombCounterControl(CoulombCounterControl)
Controls the operation of the fuel gauge / coulomb counter, including enabling, pausing, and clearing its value.