| 12345678910111213141516171819202122232425262728293031323334 |
- #ifndef I2C_PI_TARGET_H
- #define I2C_PI_TARGET_H
- #include <stdbool.h>
- #include <stdint.h>
- #include "src/battery_data/battery.h"
- // I2C command codes
- #define CMD_GET_BATTERY_STATUS 0x01 // Request battery state
- #define CMD_GET_BATTERY_DATA 0x02 // Request battery data
- #define CMD_SET_BATTERY_LIMIT 0x03 // SET min/max voltage, cutoff current limits
- typedef struct __attribute__((packed)){
- uint16_t voltage;
- int16_t current;
- uint16_t temperature;
- uint8_t cycle_number;
- BatteryChargingState cycle_state;
- } BatteryData;
- typedef struct __attribute__((packed)){
- uint16_t min_voltage;
- uint16_t max_voltage;
- uint8_t cut_off_current;
- uint16_t capacitance;
- uint8_t charge_fraction;
- //uint8_t previous_cycle_number;
- } BatteryLimitMsg;
- void dynamic_gpio_addressing();
- void pi_i2c_mcu();
- #endif
|