/***************************************************************************
 *
 * 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;
  }
示例#6
0
/***************************************************************************
 *
 * 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;
  }
示例#7
0
/***************************************************************************
 *
 * 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;
  }
示例#15
0
/***************************************************************************
 *
 * 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;
  }
示例#17
0
/***************************************************************************
 *
 * 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;
  }
示例#19
0
/***************************************************************************
 *
 * 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;
  }
示例#26
0
/***************************************************************************
 *
 * 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;
  }
示例#28
0
/***************************************************************************
 *
 * 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;
  }