/*************************************************************************** * * Function : get_wathgod_expired * * RET : Return the value of register SwitchOffStatus * * Notes : From register 0x0F00, bits 3:3 * **************************************************************************/ unsigned char get_wathgod_expired() { unsigned char value; /* * STw4500 has switched off due to primary watchdog has * expired. */ value = (I2CRead(SWITCH_OFF_STATUS_REG) & WATHGOD_EXPIRED_PARAM_MASK) >> 3; return value; }
/*************************************************************************** * * Function : get_battery_temperature_low * * RET : Return the value of register InterruptSource19 * * Notes : From register 0x0E12, bits 0:0 * **************************************************************************/ unsigned char get_battery_temperature_low() { unsigned char value; /* * 0: Btemp > BtempLow * 1: BtempLow > Btemp */ value = (I2CRead(INTERRUPT_SOURCE_19_REG) & BATTERY_TEMPERATURE_LOW_INTERRUPT_PARAM_MASK); return value; }
/*************************************************************************** * * Function : get_charging_current_limited_hs_chirp * * RET : Return the value of register InterruptSource22 * * Notes : From register 0x0E15, bits 6:6 * **************************************************************************/ unsigned char get_charging_current_limited_hs_chirp() { unsigned char value; /* * 0: inactive * 1: charging current is limited in HS or Chirp modes. */ value = (I2CRead(INTERRUPT_SOURCE_22_REG) & CHARGING_CURRENT_LIMITED_HS_CHIRP_ENABLE_PARAM_MASK) >> 6; return value; }
/*************************************************************************** * * Function : get_adp_sense_off * * RET : Return the value of register InterruptSource12 * * Notes : From register 0x0E09, bits 4:4 * **************************************************************************/ unsigned char get_adp_sense_off() { unsigned char value; /* * 0: Current source Off * 1: Current source On */ value = (I2CRead(INTERRUPT_SOURCE_12_REG) & CURRENT_SOURCE_ON_PARAM_MASK) >> 4; return value; }
/*************************************************************************** * * Function : get_battery_temperature_medium_high * * RET : Return the value of register InterruptSource19 * * Notes : From register 0x0E12, bits 2:2 * **************************************************************************/ unsigned char get_battery_temperature_medium_high() { unsigned char value; /* * 0: Btemp < BtempMedium or Btemp > BtempHigh * 1: BtempHigh > Btemp > BtempMedium */ value = (I2CRead(INTERRUPT_SOURCE_19_REG) & BATTERY_TEMPERATURE_MEDIUM_HIGH_INTERRUPT_PARAM_MASK) >> 2; return value; }
/*************************************************************************** * * Function : get_adc_buffer * * RET : Return the value of register 0xAdcControl * * Notes : From register 0xA00, bits 6:6 * **************************************************************************/ unsigned char get_adc_buffer() { unsigned char value; /* * 0: disable channel buffer * 1: enable channel buffer */ value = (I2CRead(ADC_CONTROL_REG) & ADC_BUFFER_MASK) >> 6; return value; }
/*************************************************************************** * * Function : get_adc * * RET : Return the value of register 0xAdcControl * * Notes : From register 0xA00, bits 0:0 * **************************************************************************/ unsigned char get_adc() { unsigned char value; /* * 0: disable ADC * 1: enable ADC */ value = (I2CRead(ADC_CONTROL_REG) & ADC_MASK); return value; }
/*************************************************************************** * * Function : get_long_pressure * * RET : Return the value of register SwitchOffStatus * * Notes : From register 0x0F00, bits 6:6 * **************************************************************************/ unsigned char get_long_pressure() { unsigned char value; /* * STw4500 has switched off with a PonKey1 pressure longer * than 10 s. */ value = (I2CRead(SWITCH_OFF_STATUS_REG) & LONG_PRESSURE_PARAM_MASK) >> 6; return value; }
/*************************************************************************** * * Function : get_low_battery * * RET : Return the value of register SwitchOffStatus * * Notes : From register 0x0F00, bits 5:5 * **************************************************************************/ unsigned char get_low_battery() { unsigned char value; /* * STw4500 has switched off due to a battery level lower * than PornVbat threshold. */ value = (I2CRead(SWITCH_OFF_STATUS_REG) & LOW_BATTERY_PARAM_MASK) >> 5; return value; }
/*************************************************************************** * * Function : get_switch_cmd_off * * RET : Return the value of register SwitchOffStatus * * Notes : From register 0x0F00, bits 0:0 * **************************************************************************/ unsigned char get_switch_cmd_off() { unsigned char value; /* * STw4500 has switched off with ‘Swoff’.bit of STw4500Ctrl1 * register. */ value = (I2CRead(SWITCH_OFF_STATUS_REG) & SWITCH_CMD_OFF_PARAM_MASK); return value; }
/*************************************************************************** * * Function : get_rtc_read_request * * RET : Return the value of register RTCReadRequest * * Notes : From register 0x0F02, bits 0:0 * **************************************************************************/ unsigned char get_rtc_read_request() { unsigned char value; /* * RTC data read transfer is required * Cleared upon data transfert in watchtim register is done */ value = (I2CRead(RTC_READ_REQUEST_REG) & RTC_READ_ENABLE_PARAM_MASK); return value; }
/*************************************************************************** * * Function : get_rtc_thermal_protection * * RET : Return the value of register SwitchOffStatus * * Notes : From register 0x0F00, bits 1:1 * **************************************************************************/ unsigned char get_rtc_thermal_protection() { unsigned char value; /* * STw4500 has switched off due to Thermal protection * activation. */ value = (I2CRead(SWITCH_OFF_STATUS_REG) & THERMAL_PROTECTION_PARAM_MASK) >> 1; return value; }
/*************************************************************************** * * Function : get_battery_very_low * * RET : Return the value of register SwitchOffStatus * * Notes : From register 0x0F00, bits 2:2 * **************************************************************************/ unsigned char get_battery_very_low() { unsigned char value; /* * STw4500 has switched off due to a VbatA ball level lower * than BattOk falling threshold. */ value = (I2CRead(SWITCH_OFF_STATUS_REG) & BATTERY_VERY_LOW_PARAM_MASK) >> 2; return value; }
/*************************************************************************** * * Function : get_oscillator32k_status * * RET : Return the value of register RtcDerivation * * Notes : From register 0x0F0F, bits 2:2 * **************************************************************************/ unsigned char get_oscillator32k_status() { unsigned char value; /* * 0: Xtal 32khz oscillator is stopped * 1: Xtal 32khz oscillator is running */ value = (I2CRead(RTC_DERIVATION_REG) & OSCILLATOR_3_2K_STATUS_PARAM_MASK) >> 2; return value; }
/*************************************************************************** * * Function : get_adc_trig_edge * * RET : Return the value of register 0xAdcControl * * Notes : From register 0xA00, bits 4:4 * **************************************************************************/ unsigned char get_adc_trig_edge() { unsigned char value; /* * 0: inactive * 1: active */ value = (I2CRead(ADC_CONTROL_REG) & ADC_TRIG_EDGE_MASK) >> 4; return value; }
/*************************************************************************** * * Function : get_modem_i2c_clock_pullup * * RET : Return the value of register I2cPadControl * * Notes : From register 0x1067, bits 0:0 * **************************************************************************/ unsigned char get_modem_i2c_clock_pullup() { unsigned char value; /* * 0: enable internal pull-up * 1: Disable internal pull-up */ value = (I2CRead(I_2C_PAD_CONTROL_REG) & MODEM_I_2C_PULLUP_ENABLE_PARAM_MASK); return value; }
/*************************************************************************** * * Function : get_pull_up_supply * * RET : Return the value of register 0xAdcControl * * Notes : From register 0xA00, bits 5:5 * **************************************************************************/ unsigned char get_pull_up_supply() { unsigned char value; /* * 0: Select Vtvout as Pull-Up supply * 1: Select Vrtc as Pull-Up supply */ value = (I2CRead(ADC_CONTROL_REG) & PULL_UP_SUPPLY_MASK) >> 5; return value; }
/*************************************************************************** * * Function : get_ape_i2c_data_pullup * * RET : Return the value of register I2cPadControl * * Notes : From register 0x1067, bits 3:3 * **************************************************************************/ unsigned char get_ape_i2c_data_pullup() { unsigned char value; /* * 0: enable internal pull-up * 1: Disable internal pull-up */ value = (I2CRead(I_2C_PAD_CONTROL_REG) & APE_I_2C_DATA_PULLUP_ENABLE_PARAM_MASK) >> 3; return value; }
/*************************************************************************** * * Function : get_charging_current_sense * * RET : Return the value of register 0xAdcControl * * Notes : From register 0xA00, bits 7:7 * **************************************************************************/ unsigned char get_charging_current_sense() { unsigned char value; /* * 0: disable charging current sense * 1: enable charging current sense */ value = (I2CRead(ADC_CONTROL_REG) & CHARGING_CURRENT_SENSE_MASK) >> 7; return value; }
/*************************************************************************** * * Function : get_acc_detect_pullup_supply * * RET : Return the value of register 0xAccDetect3 * * Notes : From register 0x882, bits 1:1 * **************************************************************************/ unsigned char get_acc_detect_pullup_supply() { unsigned char value; /* * 0: disable AccDetect2 Pull-up 2.1v supply * 1: enable AccDetect2 Pull-up 2.1v supply */ value = (I2CRead(ACC_DETECT_3_REG) & ACC_DETECT_PULLUP_SUPPLY_MASK) >> 1; return value; }
/*************************************************************************** * * Function : get_usb_link_status * * RET : Return the value of register InterruptSource12 * * Notes : From register 0x0E09, bits 7:7 * **************************************************************************/ unsigned char get_usb_link_status() { unsigned char value; /* * 0: UsbLink status unchanged * 1: UsbLink status changed */ value = (I2CRead(INTERRUPT_SOURCE_12_REG) & USB_LINK_STATUS_CHANGED_PARAM_MASK) >> 7; return value; }
/*************************************************************************** * * Function : get_acc_detect_pullup * * RET : Return the value of register 0xAccDetect3 * * Notes : From register 0x882, bits 3:3 * **************************************************************************/ unsigned char get_acc_detect_pullup() { unsigned char value; /* * 0: disable AccDetect2 Pull-up * 1: enable AccDetect2 Pull-up */ value = (I2CRead(ACC_DETECT_3_REG) & ACC_DETECT_PULLUP_MASK) >> 3; return value; }
/*************************************************************************** * * Function : get_adp_probe_plug * * RET : Return the value of register InterruptSource12 * * Notes : From register 0x0E09, bits 2:2 * **************************************************************************/ unsigned char get_adp_probe_plug() { unsigned char value; /* * 0: previous state * 1: accessory plug on Vbus */ value = (I2CRead(INTERRUPT_SOURCE_12_REG) & ADP_PROBE_PLUG_PARAM_MASK) >> 2; return value; }
/*************************************************************************** * * Function : get_acc_detect22_comparator * * RET : Return the value of register 0xAccDetect3 * * Notes : From register 0x882, bits 5:5 * **************************************************************************/ unsigned char get_acc_detect22_comparator() { unsigned char value; /* * 0: disable AccDetect22 comparator * 1: enable AccDetect22 comparator */ value = (I2CRead(ACC_DETECT_3_REG) & ACC_DETECT_22_COMPARATOR_MASK) >> 5; return value; }
/*************************************************************************** * * Function : get_battery_temperature_low_medium * * RET : Return the value of register InterruptSource19 * * Notes : From register 0x0E12, bits 1:1 * **************************************************************************/ unsigned char get_battery_temperature_low_medium() { unsigned char value; /* * 0: Btemp < BtempLow or Btemp > BtempMedium * 1: BtempMedium > Btemp > BtempLow */ value = (I2CRead(INTERRUPT_SOURCE_19_REG) & BATTERY_TEMPERATURE_LOW_MEDIUM_INTERRUPT_PARAM_MASK) >> 1; return value; }
/*************************************************************************** * * Function : get_adc_trigger * * RET : Return the value of register 0xAdcControl * * Notes : From register 0xA00, bits 1:1 * **************************************************************************/ unsigned char get_adc_trigger() { unsigned char value; /* * 0: disable GPADCTrig functionality * 1: enable GPADCTrig functionality */ value = (I2CRead(ADC_CONTROL_REG) & ADC_TRIGGER_MASK) >> 1; return value; }
/*************************************************************************** * * Function : get_srp_p_detect * * RET : Return the value of register InterruptSource20 * * Notes : From register 0x0E13, bits 0:0 * **************************************************************************/ unsigned char get_srp_p_detect() { unsigned char value; /* * 0: Inactive * 1:SRP detected */ value = (I2CRead(INTERRUPT_SOURCE_20_REG) & SRP_DETECTED_PARAM_MASK); return value; }
/*************************************************************************** * * Function : get_adc_auto_req * * RET : Return the value of register 0xAdcControl * * Notes : From register 0xA00, bits 3:3 * **************************************************************************/ unsigned char get_adc_auto_req() { unsigned char value; /* * 0: inactive * 1: Auto mode ON */ value = (I2CRead(ADC_CONTROL_REG) & ADC_AUTO_REQ_MASK) >> 3; return value; }
/*************************************************************************** * * Function : get_battery_over_voltage_interrupt * * RET : Return the value of register InterruptSource2 * * Notes : From register 0x0E01, bits 0:0 * **************************************************************************/ unsigned char get_battery_over_voltage_interrupt() { unsigned char value; /* * VbatA ball goes upper over voltage threshold (charge * stopped) */ value = (I2CRead(INTERRUPT_SOURCE_2_REG) & BATTERY_OVER_VOLTAGE_INTERRUPT_PARAM_MASK); return value; }
/*************************************************************************** * * Function : get_no_signal_c_lock32 * * RET : Return the value of register SwitchOffStatus * * Notes : From register 0x0F00, bits 4:4 * **************************************************************************/ unsigned char get_no_signal_c_lock32() { unsigned char value; /* * STw4500 has switched off due to the non presence of 32 * Khz clock. */ value = (I2CRead(SWITCH_OFF_STATUS_REG) & NO_SIGNAL_C_LOCK_32_PARAM_MASK) >> 4; return value; }