mirror of
https://github.com/liberatedsystems/RNode_Firmware_CE.git
synced 2025-02-24 00:40:07 -05:00
Added battery support to Heltec T114
This commit is contained in:
parent
7a505f73e3
commit
8cf6e9cb40
2
Boards.h
2
Boards.h
@ -638,7 +638,7 @@
|
|||||||
#define HAS_BLUETOOTH false
|
#define HAS_BLUETOOTH false
|
||||||
#define HAS_BLE true
|
#define HAS_BLE true
|
||||||
#define HAS_CONSOLE false
|
#define HAS_CONSOLE false
|
||||||
#define HAS_PMU false
|
#define HAS_PMU true
|
||||||
#define HAS_NP true
|
#define HAS_NP true
|
||||||
#define HAS_SD false
|
#define HAS_SD false
|
||||||
#define HAS_TCXO true
|
#define HAS_TCXO true
|
||||||
|
25
Power.h
25
Power.h
@ -111,6 +111,23 @@
|
|||||||
bool bat_voltage_dropping = false;
|
bool bat_voltage_dropping = false;
|
||||||
float bat_delay_v = 0;
|
float bat_delay_v = 0;
|
||||||
float bat_state_change_v = 0;
|
float bat_state_change_v = 0;
|
||||||
|
#elif BOARD_MODEL == BOARD_HELTEC_T114
|
||||||
|
#define BAT_V_MIN 3.15
|
||||||
|
#define BAT_V_MAX 4.165
|
||||||
|
#define BAT_V_CHG 4.48
|
||||||
|
#define BAT_V_FLOAT 4.33
|
||||||
|
#define BAT_SAMPLES 7
|
||||||
|
const uint8_t pin_vbat = 4;
|
||||||
|
const uint8_t pin_ctrl = 6;
|
||||||
|
float bat_p_samples[BAT_SAMPLES];
|
||||||
|
float bat_v_samples[BAT_SAMPLES];
|
||||||
|
uint8_t bat_samples_count = 0;
|
||||||
|
int bat_discharging_samples = 0;
|
||||||
|
int bat_charging_samples = 0;
|
||||||
|
int bat_charged_samples = 0;
|
||||||
|
bool bat_voltage_dropping = false;
|
||||||
|
float bat_delay_v = 0;
|
||||||
|
float bat_state_change_v = 0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
uint32_t last_pmu_update = 0;
|
uint32_t last_pmu_update = 0;
|
||||||
@ -121,7 +138,7 @@ uint8_t pmu_rc = 0;
|
|||||||
void kiss_indicate_battery();
|
void kiss_indicate_battery();
|
||||||
|
|
||||||
void measure_battery() {
|
void measure_battery() {
|
||||||
#if BOARD_MODEL == BOARD_RNODE_NG_21 || BOARD_MODEL == BOARD_LORA32_V2_1 || BOARD_MODEL == BOARD_HELTEC32_V3 || BOARD_MODEL == BOARD_TDECK || BOARD_MODEL == BOARD_RNODE_NG_22
|
#if BOARD_MODEL == BOARD_RNODE_NG_21 || BOARD_MODEL == BOARD_LORA32_V2_1 || BOARD_MODEL == BOARD_HELTEC32_V3 || BOARD_MODEL == BOARD_TDECK || BOARD_MODEL == BOARD_RNODE_NG_22 || BOARD_MODEL == BOARD_HELTEC_T114
|
||||||
battery_installed = true;
|
battery_installed = true;
|
||||||
battery_indeterminate = true;
|
battery_indeterminate = true;
|
||||||
|
|
||||||
@ -129,6 +146,8 @@ void measure_battery() {
|
|||||||
float battery_measurement = (float)(analogRead(pin_vbat)) * 0.0041;
|
float battery_measurement = (float)(analogRead(pin_vbat)) * 0.0041;
|
||||||
#elif BOARD_MODEL == BOARD_RNODE_NG_22
|
#elif BOARD_MODEL == BOARD_RNODE_NG_22
|
||||||
float battery_measurement = (float)(analogRead(pin_vbat)) / 4095.0*6.7828;
|
float battery_measurement = (float)(analogRead(pin_vbat)) / 4095.0*6.7828;
|
||||||
|
#elif BOARD_MODEL == BOARD_HELTEC_T114
|
||||||
|
float battery_measurement = (float)(analogRead(pin_vbat)) * 0.017165;
|
||||||
#else
|
#else
|
||||||
float battery_measurement = (float)(analogRead(pin_vbat)) / 4095.0*7.26;
|
float battery_measurement = (float)(analogRead(pin_vbat)) / 4095.0*7.26;
|
||||||
#endif
|
#endif
|
||||||
@ -313,6 +332,10 @@ bool init_pmu() {
|
|||||||
pinMode(pin_ctrl,OUTPUT);
|
pinMode(pin_ctrl,OUTPUT);
|
||||||
digitalWrite(pin_ctrl, LOW);
|
digitalWrite(pin_ctrl, LOW);
|
||||||
return true;
|
return true;
|
||||||
|
#elif BOARD_MODEL == BOARD_HELTEC_T114
|
||||||
|
pinMode(pin_ctrl,OUTPUT);
|
||||||
|
digitalWrite(pin_ctrl, HIGH);
|
||||||
|
return true;
|
||||||
#elif BOARD_MODEL == BOARD_TBEAM
|
#elif BOARD_MODEL == BOARD_TBEAM
|
||||||
Wire.begin(I2C_SDA, I2C_SCL);
|
Wire.begin(I2C_SDA, I2C_SCL);
|
||||||
|
|
||||||
|
@ -889,7 +889,7 @@ void kiss_indicate_channel_stats() {
|
|||||||
uint16_t cll = (uint16_t)(longterm_channel_util*100*100);
|
uint16_t cll = (uint16_t)(longterm_channel_util*100*100);
|
||||||
uint8_t crs = (uint8_t)(current_rssi+rssi_offset);
|
uint8_t crs = (uint8_t)(current_rssi+rssi_offset);
|
||||||
uint8_t nfl = (uint8_t)(noise_floor+rssi_offset);
|
uint8_t nfl = (uint8_t)(noise_floor+rssi_offset);
|
||||||
uint8_t ntf = 0xFF; if (interference_detected) { (uint8_t)(current_rssi+rssi_offset); }
|
uint8_t ntf = 0xFF; if (interference_detected) { ntf = (uint8_t)(current_rssi+rssi_offset); }
|
||||||
serial_write(FEND);
|
serial_write(FEND);
|
||||||
serial_write(CMD_STAT_CHTM);
|
serial_write(CMD_STAT_CHTM);
|
||||||
escaped_serial_write(ats>>8);
|
escaped_serial_write(ats>>8);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user