TODO: Add description
If available in Hex, the package can be installed
by adding pi_juice
to your list of dependencies in mix.exs
:
def deps do
[
{:pi_juice, "~> 0.1.0"}
]
end
This library organizes the features a bit differently than the original library.
The following tables show the structure of this library, the mapping to the original library
and the implementation status of each function.
Function |
Real implementation |
Mock implementation |
Mock Simulated |
Original library |
get_status |
❌ |
❌ |
❌ |
status.GetStatus |
get_fault_status |
❌ |
❌ |
❌ |
status.GetFaultStatus |
reset_fault_flags |
❌ |
❌ |
❌ |
status.ResetFaultFlags |
Function |
Real implementation |
Mock implementation |
Mock Simulated |
Original library |
get_charge_level |
✅ |
✅ |
❌ |
status.GetChargeLevel |
get_temperature |
❌ |
❌ |
❌ |
status.GetBatteryTemperature |
get_voltage |
❌ |
❌ |
❌ |
status.GetBatteryVoltage |
get_current |
❌ |
❌ |
❌ |
status.GetBatteryCurrent |
get_charging_config |
❌ |
❌ |
❌ |
config.GetChargingConfig |
set_charging_config |
❌ |
❌ |
❌ |
config.SetChargingConfig |
profiles |
❌ |
❌ |
❌ |
config.SelectBatteryProfiles |
get_profile |
❌ |
❌ |
❌ |
config.GetBatteryProfile |
set_profile |
❌ |
❌ |
❌ |
config.SetBatteryProfile |
set_custom_profile |
❌ |
❌ |
❌ |
config.SetCustomBatteryProfile |
get_profile_status |
❌ |
❌ |
❌ |
config.GetBatteryProfileStatus |
get_ext_profile |
❌ |
❌ |
❌ |
config.GetBatteryExtProfile |
set_custom_ext_profile |
❌ |
❌ |
❌ |
config.SetCustomBatteryExtProfile |
get_temp_sense_config |
❌ |
❌ |
❌ |
config.GetBatteryTempSenseConfig |
set_temp_sense_config |
❌ |
❌ |
❌ |
config.SetBatteryTempSenseConfig |
get_rsoc_estimation_config |
❌ |
❌ |
❌ |
config.GetRsocEstimationConfig |
set_rsoc_estimation_config |
❌ |
❌ |
❌ |
config.SetRsocEstimationConfig |
Function |
Real implementation |
Mock implementation |
Mock Simulated |
Original library |
get_power_off |
❌ |
❌ |
❌ |
power.GetPowerOff |
set_power_off |
❌ |
❌ |
❌ |
power.SetPowerOff |
get_wakeup_on_charge |
❌ |
❌ |
❌ |
power.GetWakeUpOnCharge |
set_wakeup_on_charge |
❌ |
❌ |
❌ |
power.SetWakeUpOnCharge |
get_watchdog |
❌ |
❌ |
❌ |
power.GetWatchdog |
set_watchdog |
❌ |
❌ |
❌ |
power.SetWatchdog |
get_system_power_switch |
❌ |
❌ |
❌ |
power.GetSystemPowerSwitch |
set_system_power_switch |
❌ |
❌ |
❌ |
power.SetSystemPowerSwitch |
get_input_config |
❌ |
❌ |
❌ |
config.GetPowerInputsConfig |
set_input_config |
❌ |
❌ |
❌ |
config.SetPowerInputsConfig |
get_regulator_mode |
❌ |
❌ |
❌ |
config.GetPowerRegulatorMode |
set_regulator_mode |
❌ |
❌ |
❌ |
config.SetPowerRegulatorMode |
Function |
Real implementation |
Mock implementation |
Mock Simulated |
Original library |
get_events |
❌ |
❌ |
❌ |
status.GetButtonEvents |
accept_event |
❌ |
❌ |
❌ |
status.AcceptButtonEvent |
get_config |
❌ |
❌ |
❌ |
config.GetButtonConfiguration |
set_config |
❌ |
❌ |
❌ |
config.SetButtonConfiguration |
Function |
Real implementation |
Mock implementation |
Mock Simulated |
Original library |
get_state |
❌ |
❌ |
❌ |
status.GetLedState |
set_state |
❌ |
❌ |
❌ |
status.SetLedState |
get_blink |
❌ |
❌ |
❌ |
status.GetLedBlink |
set_blink |
❌ |
❌ |
❌ |
status.SetLedBlink |
get_config |
❌ |
❌ |
❌ |
config.GetLedConfiguration |
set_config |
❌ |
❌ |
❌ |
config.SetLedConfiguration |
Function |
Real implementation |
Mock implementation |
Mock Simulated |
Original library |
get_control_status |
❌ |
❌ |
❌ |
rtc.GetControlStatus |
clear_alarm_flag |
❌ |
❌ |
❌ |
rtc.ClearAlarmFlag |
set_wakeup_enabled |
❌ |
❌ |
❌ |
rtc.SetWakeupEnabled |
get_time |
❌ |
❌ |
❌ |
rtc.GetTime |
set_time |
❌ |
❌ |
❌ |
rtc.SetTime |
get_alarm |
❌ |
❌ |
❌ |
rtc.GetAlarm |
set_alarm |
❌ |
❌ |
❌ |
rtc.SetAlarm |
Function |
Real implementation |
Mock implementation |
Mock Simulated |
Original library |
get_voltage |
❌ |
❌ |
❌ |
status.GetIoVoltage |
get_current |
❌ |
❌ |
❌ |
status.GetIoCurrent |
get_digital_input |
❌ |
❌ |
❌ |
status.GetIoDigitalInput |
get_digital_output |
❌ |
❌ |
❌ |
status.GetIoDigitalOutput |
set_digital_output |
❌ |
❌ |
❌ |
status.SetIoDigitalOutput |
get_analog_input |
❌ |
❌ |
❌ |
status.GetIoAnalogInput |
get_pwm |
❌ |
❌ |
❌ |
status.GetIoPWM |
set_pwm |
❌ |
❌ |
❌ |
status.SetIoPWM |
get_config |
❌ |
❌ |
❌ |
config.GetIoConfiguration |
set_config |
❌ |
❌ |
❌ |
config.SetIoConfiguration |
Function |
Real implementation |
Mock implementation |
Mock Simulated |
Original library |
get_version |
❌ |
❌ |
❌ |
config.GetFirmwareVersion |
Function |
Real implementation |
Mock implementation |
Mock Simulated |
Original library |
get_address |
❌ |
❌ |
❌ |
config.GetAddress |
set_address |
❌ |
❌ |
❌ |
config.SetAddress |
get_run_pin_config |
❌ |
❌ |
❌ |
config.GetRunPinConfig |
set_run_pin_config |
❌ |
❌ |
❌ |
config.SetRunPinConfig |
get_id_eeprom_write_protect |
❌ |
❌ |
❌ |
config.GetIdEepromWriteProtect |
set_id_eeprom_write_protect |
❌ |
❌ |
❌ |
config.SetIdEepromWriteProtect |
get_id_eeprom_address |
❌ |
❌ |
❌ |
config.GetIdEepromAddress |
set_id_eeprom_address |
❌ |
❌ |
❌ |
config.SetIdEepromAddress |
set_default_config |
❌ |
❌ |
❌ |
config.SetDefaultConfiguration |
run_test_calibration |
❌ |
❌ |
❌ |
config.RunTestCalibration |
Documentation can be generated with ExDoc
and published on HexDocs. Once published, the docs can
be found at https://hexdocs.pm/pi_juice.