bq25896.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #pragma once
  2. #include <stdbool.h>
  3. #include <stdint.h>
  4. #include <furi_hal_i2c.h>
  5. /** Initialize Driver */
  6. void bq25896_init(FuriHalI2cBusHandle* handle);
  7. /** Send device into shipping mode */
  8. void bq25896_poweroff(FuriHalI2cBusHandle* handle);
  9. /** Is currently charging */
  10. bool bq25896_is_charging(FuriHalI2cBusHandle* handle);
  11. /** Enable charging */
  12. void bq25896_enable_charging(FuriHalI2cBusHandle* handle);
  13. /** Disable charging */
  14. void bq25896_disable_charging(FuriHalI2cBusHandle* handle);
  15. /** Enable otg */
  16. void bq25896_enable_otg(FuriHalI2cBusHandle* handle);
  17. /** Disable otg */
  18. void bq25896_disable_otg(FuriHalI2cBusHandle* handle);
  19. /** Is otg enabled */
  20. bool bq25896_is_otg_enabled(FuriHalI2cBusHandle* handle);
  21. /** Check OTG BOOST Fault status */
  22. bool bq25896_check_otg_fault(FuriHalI2cBusHandle* handle);
  23. /** Get VBUS Voltage in mV */
  24. uint16_t bq25896_get_vbus_voltage(FuriHalI2cBusHandle* handle);
  25. /** Get VSYS Voltage in mV */
  26. uint16_t bq25896_get_vsys_voltage(FuriHalI2cBusHandle* handle);
  27. /** Get VBAT Voltage in mV */
  28. uint16_t bq25896_get_vbat_voltage(FuriHalI2cBusHandle* handle);
  29. /** Get VBAT current in mA */
  30. uint16_t bq25896_get_vbat_current(FuriHalI2cBusHandle* handle);
  31. /** Get NTC voltage in mpct of REGN */
  32. uint32_t bq25896_get_ntc_mpct(FuriHalI2cBusHandle* handle);