mirror of
https://github.com/meshtastic/firmware.git
synced 2025-02-01 10:19:59 +00:00
7c9d1b0abf
* Add battery level with lookup table now uses a lookup table to better calculate battery level of different cells * LifePo4 and PB battery table - added voltage filter removed delay from adc reading, added a software filter to smooth out voltage readings. In those applications battery would last hours to days, no sudden change should be expected so a less frequent voltage reading or a more aggressive filtering could be done. Note: to speed up convergence i initiliazied the last value to the minimum voltage, there are other and better ways to init the filter. Added LiFePO4 and PB open circuit volta battery tables, * Fixed ADC_CTRL , Checks for valid ADC readings line 230/386 For heltec v3 and heltec tracker a different approach was used with the ADC_CTRL pin, now is more uniform using the same code for the 3 boards. line 236 Check if the raw reading we are getting is Valid or not, count only the valid readings. This could lead to a division by 0 (improbable) so that's why at line 258 there is a check for that. * updated OCV values updated value to not OCV but to very low current, almost the same anyway * Added Alkaline/Nimh voltage curve Added Alkaline/Nimh voltage curve for AA/AAA and similar cells * updates variants for new capacity measurement * trunk reformatting * trunk fmt * Add LTO chemistry --------- Co-authored-by: Ben Meadors <benmmeadors@gmail.com> Co-authored-by: code8buster <20384924+code8buster@users.noreply.github.com>
37 lines
1.4 KiB
C
37 lines
1.4 KiB
C
// Pin planning should refer to this document
|
|
// https://resource.heltec.cn/download/WiFi_LoRa_32/WIFI_LoRa_32_V2.pdf
|
|
|
|
// the default ESP32 Pin of 15 is the Oled SCL, 37 is battery pin.
|
|
// Tested on Neo6m module.
|
|
#undef GPS_RX_PIN
|
|
#undef GPS_TX_PIN
|
|
#define GPS_RX_PIN 36
|
|
#define GPS_TX_PIN 33
|
|
|
|
#define PIN_GPS_EN 37 // GPS power enable pin
|
|
|
|
#ifndef USE_JTAG // gpio15 is TDO for JTAG, so no I2C on this board while doing jtag
|
|
#define I2C_SDA 4 // I2C pins for this board
|
|
#define I2C_SCL 15
|
|
#endif
|
|
|
|
#define RESET_OLED 16 // If defined, this pin will be used to reset the display controller
|
|
|
|
#define VEXT_ENABLE 21 // active low, powers the oled display and the lora antenna boost
|
|
#define LED_PIN 25 // If defined we will blink this LED
|
|
#define BUTTON_PIN 0 // If defined, this will be used for user button presses
|
|
|
|
#define USE_RF95
|
|
#define LORA_DIO0 26 // a No connect on the SX1262 module
|
|
#ifndef USE_JTAG
|
|
#define LORA_RESET 14
|
|
#endif
|
|
#define LORA_DIO1 35 // https://www.thethingsnetwork.org/forum/t/big-esp32-sx127x-topic-part-3/18436
|
|
#define LORA_DIO2 34 // Not really used
|
|
|
|
#define ADC_MULTIPLIER 3.2 // 220k + 100k (320k/100k=3.2)
|
|
// #define ADC_WIDTH ADC_WIDTH_BIT_10
|
|
|
|
#define BATTERY_PIN 37 // A battery voltage measurement pin, voltage divider connected here to measure battery voltage
|
|
#define ADC_CHANNEL ADC1_GPIO37_CHANNEL
|
|
#define EXT_NOTIFY_OUT 13 // Default pin to use for Ext Notify Module.
|