Gabriele Russo
7c9d1b0abf
Battery level with proportional filter and lookup table ( #3216 )
...
* 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>
2024-02-16 06:09:57 -06:00
todd-herbert
0b466fdca9
fix: Wireless Paper (v1.0 & v1.1) not showing battery percentage ( #3208 )
...
* fix: Wireless Paper (v1.0 & v1.1) not showing battery percentage
Addresses https://github.com/meshtastic/firmware/issues/3131
* refactor: count only valid samples
Responds to https://github.com/meshtastic/firmware/pull/3208#discussion_r1485661096
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2024-02-13 10:20:48 -06:00
Gabrielerusso
124be247c7
Fixed ESP32 ADC resolution bug introduced by #3184
...
Fixed ESP32 ADC resolution bug introduced by #3184 as esp32 analog resolution is already set some line of code before to 12 bit default.
For our usage wouldn't be faster to use 10 bit? .
2024-02-12 20:14:50 +01:00
Ben Meadors
a3755dfce5
Trunk fmt
2024-02-08 14:56:46 -06:00
code8buster
ca5795d3e7
Fix init resolution for all architectures
2024-02-08 20:46:22 +00:00
code8buster
d1ea589757
Allow NRF52 ADC overrides; begin simplifying analog battery logic ( #3134 )
...
* Isolate esp32 adc logic gymnastics, try simplifying getBattVoltage
* Set sense resolution for pico platforms
* try silencing cppcheck when variant has no battery pin
* ADC channel for esp-idf calibration
* Missed an rp2040 device
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2024-01-29 06:14:21 -06:00
Ben Meadors
4720b2874f
Cpp-check warnings cleanup ( #3014 )
...
* cpp-check warnings cleanup
* Supressions and more fixes
2023-12-14 07:35:46 -06:00
S5NC
4c69d06ac0
Update Power.cpp ( #2979 )
2023-12-02 06:30:00 -06:00
HookdomPonix
cbb8eb65ba
Add USB detection to RAK4631 based boards. ( #2956 )
...
* Add support for the rak10701 board, no touch
* Moved tftblack fillin and changed teh src flags
* Added rak10701 to platformio.ini
* Add USB detection to RAK4631 units.
* Eliminate spurious symbol in comment field.
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2023-11-22 10:30:55 -06:00
Ric In New Mexico
9d4af1146e
INA3221 bugfixes & refinement ( #2944 )
...
Reorganized and refactored some INA3221 code
Added comments
Added missing shunt resistor value (100mΩ)
Added INA3221 Channel 1 to getINAVoltage() for device battery monitoring
modified: src/Power.cpp
modified: src/modules/Telemetry/PowerTelemetry.cpp
modified: src/modules/Telemetry/Sensor/INA3221Sensor.cpp
modified: src/modules/Telemetry/Sensor/INA3221Sensor.h
modified: src/power.h
2023-11-17 06:46:59 -06:00
Manuel
142d56c663
allow sensors connected to second I2C port ( #2891 )
2023-10-14 19:33:45 -05:00
Thomas Göttgens
fc06754e1f
Possibly fix #2704 "Heltec Wireless Tracker screen doesn't display anything" ( #2749 )
...
* fix #2704
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
Co-authored-by: Jonathan Bennett <jbennett@incomsystems.biz>
2023-10-04 22:24:25 -05:00
Ben Meadors
1552aa0081
Tracker role wakeup and sleep cycle when power.is_power_saving true ( #2846 )
...
* WIP
* Sleepy sleepy low power tracker
* Sleepy tracker clear
* NRF52 PoC
* Simplify NRF52 "sleep"
* Trackers aren't polite
* Remove unnecessary include
* Removed accidental commit
* Fixed not-so-sleepy T-Beam due to button gpio mask precendence
* Added sleepOnNextExecution for allowing fulfillment of pending messages before shutting down
* Cleanup
* Don't wantResponse for trackers
* Heltec wireless tracker doesn't like the button interrupt (maybe all s3 because user button press doubles as bootloader mode trigger?)
2023-09-30 21:09:17 -05:00
Jonathan Bennett
4767bd5497
Rename utils.h to avoid collision with library. ( #2730 )
2023-08-17 20:22:34 -05:00
Jm Casler
794948d7e4
fixing trunk problems
2023-08-03 10:05:38 +02:00
Jm Casler
e9cbe54eca
add more documentaiton
2023-08-03 10:05:38 +02:00
Ben Meadors
0739bc0cea
T-Watch S3 Support ( #2632 )
...
* T-Watch WIP
* Updates
* Temp
* Update screen spi bus and and backlight en
* Peripherals progress
* Fixes
* Fixes
* Updates
* DRV scaffolding
* Fixed touch-screen driver selection. WIP on DRV haptic feedback
* DRV2605 pmu channel
* Trunk
* Fixes and defaults
* Dropped an s
* Move PMU and turn off screen that way
* Add t-deck and t-watch-s3 to CI and cleanup
* More cleanup
2023-07-22 09:26:54 -05:00
luzpaz
003047baaf
Fix various typos ( #2607 )
...
* Fix various typos
Found via `codespell -q 3 -L acount,clen,dout`
* Trunk reformatting
---------
Co-authored-by: code8buster <communismisgreat@national.shitposting.agency>
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2023-07-14 16:25:20 -05:00
Ben Meadors
cd787232ca
Use INA for device battery level ( #2536 )
...
* WIP
* Continued wip
* We got em
* Voltage sensor base class
* INA voltage
* Log it
* Stacie's mom has got it going on
* Move declaration up
* Last one
* Sneaky little bugger
* Macro guard to avoid calling methods
2023-06-02 06:32:34 -05:00
code8buster
99a31c1fad
Make sure the mosfet gate for adc measuring circuit is low ( #2530 )
...
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2023-05-30 06:15:19 -05:00
Thomas Göttgens
fbcd6743fd
trunk fmt
2023-05-27 10:29:01 +02:00
lewishe
1b35cc018f
Fix t-beam-s3-core display not working
2023-05-27 10:29:01 +02:00
code8buster
7475c8647c
2.5dB could be a more appropriate attenuation for heltec ADCs ( #2511 )
...
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2023-05-26 06:16:40 -05:00
Thomas Göttgens
59b1adf12f
Move to our own logging system ( #2513 )
2023-05-24 10:29:50 -05:00
code8buster
a9fed83d9a
Make pull request targets happy
2023-05-16 21:46:55 +02:00
code8buster
c0979e29ff
Fix a few platformio envs, maybe make cppcheck happy
2023-05-16 21:46:55 +02:00
code8buster
9878ff3836
Tryfix datatype errors
2023-05-16 21:46:55 +02:00
code8buster
3219ad33ef
Add ADC channels to esp variants, plug code back in to make sure other archs work
2023-05-16 21:46:55 +02:00
code8buster
6113a1fb70
Tryfix heltec v2 adc issues being on SAR2
2023-05-16 21:46:55 +02:00
code8buster
d11bcda292
Implementing a calibrated ESP32 ADC reading
2023-05-16 21:46:55 +02:00
Manuel Verch
6e26f95df9
Make trunk happy again
2023-04-22 09:08:55 +02:00
Manuel Verch
5dfb5172c2
try-fix: router goes sporadically into DS
2023-04-22 09:08:55 +02:00
Thomas Göttgens
87c59d7d61
fmt
2023-04-18 14:08:06 +02:00
Thomas Göttgens
584615bb4b
fix topic construction for mqtt debug
2023-04-18 13:37:50 +02:00
Thomas Göttgens
a13775bd70
Merge branch 'master' into 2264-feature-check-for-low-heap-before-adding-to-nodedb-was-reboot-loop-heap-too-low
2023-04-13 23:50:21 +02:00
Thomas Göttgens
b43a5bc4f8
Fix missing msh default topic.
2023-04-13 23:17:05 +02:00
Thomas Göttgens
a284439d7e
Merge branch 'master' into 2264-feature-check-for-low-heap-before-adding-to-nodedb-was-reboot-loop-heap-too-low
2023-04-12 16:27:36 +02:00
Thomas Göttgens
29c13b5c30
resolve #2364
...
- fix wrong debug print
- change shutdown logic for t-beam if PMU is detected
- wait for 10 seconds instead of 5 for shutdown and resurrect screen brightness adjust for @karamo
2023-04-11 14:37:08 +02:00
Ben Meadors
f8db02c622
Merge branch 'master' into 2264-feature-check-for-low-heap-before-adding-to-nodedb-was-reboot-loop-heap-too-low
2023-04-04 07:22:40 -05:00
Thomas Göttgens
1398611276
trunk fmt
2023-04-02 11:35:25 +02:00
Vladislav Osmanov
fbc3b2beee
missing EXT_PWR_DETECT
pinMode definition
2023-04-02 11:35:25 +02:00
Vladislav Osmanov
6bf538e26f
EXT_PWR_DETECT
pin to detect external power source for boards without the power management chip
2023-04-02 11:35:25 +02:00
Thomas Göttgens
6e685b0a54
Merge branch 'master' into 2264-feature-check-for-low-heap-before-adding-to-nodedb-was-reboot-loop-heap-too-low
2023-03-27 15:31:32 +02:00
lewishe
eda00b7b9c
Change to Variation Macro Definition
2023-03-27 11:27:57 +02:00
Thomas Göttgens
1898fe850e
trunk format
2023-03-27 11:27:57 +02:00
lewishe
15dbe5da97
Added t-beam v1.2 support
2023-03-27 11:27:57 +02:00
Thomas Göttgens
8db7316ae1
Merge branch 'master' into 2264-feature-check-for-low-heap-before-adding-to-nodedb-was-reboot-loop-heap-too-low
2023-03-12 20:22:46 +01:00
Thomas Göttgens
0d001423c8
woops
2023-03-12 20:20:55 +01:00
Thomas Göttgens
a83d5ada86
- implement shutdown (deep sleep forever) on ESP32
...
- Clean up shutdown and delayed shutdown code conditionals.
- clean up inputbroker includes
2023-03-12 20:20:55 +01:00
Thomas Göttgens
4967a16abe
- Abstract the memory stats into its own class.
...
- Fix a bug with debug mqtt
- nrf52 needs more love, there's a strange error while linking. Help appreciated
2023-02-17 12:31:51 +01:00
Thomas Göttgens
d97a09ba1f
add DEBUG_HEAP_MQTT flag to send stats info to mqtt. Used to graph these values over time. Turned off for regular builds
2023-02-04 14:56:04 +01:00
Thomas Göttgens
51b2c431d9
trunk roundhouse kick
2023-01-21 21:23:24 +01:00
Thomas Göttgens
8a9af37d82
Merge branch 'develop' into nice-threads
2022-12-30 20:18:19 +01:00
Ben Meadors
f1cdfd163d
Replaced all of the logging with proper log levels
2022-12-30 10:27:07 -06:00
Thomas Göttgens
8364c2b147
more verbose thread debug
2022-12-30 17:03:48 +01:00
Ben Meadors
0b5cae5393
Log levels refactoring
2022-12-29 20:41:37 -06:00
Thomas Göttgens
d566457f0c
Merge remote-tracking branch 'remotes/origin/master' into develop
2022-12-18 14:07:20 +01:00
Thomas Göttgens
bbaeeb7ce9
fixing portduino is getting old ...
2022-12-16 20:46:43 +01:00
Thomas Göttgens
270746e303
Heap Debug: only show if delta occurs
2022-12-16 20:25:51 +01:00
Dmitry Galenko
aa19718ba4
Change condition for low-voltage killswitch
2022-12-14 17:26:55 +01:00
Dmitry Galenko
d1cc503ca8
Disable shutdown for non ESP32 boards
2022-12-14 14:36:15 +01:00
Thomas Göttgens
d3b3a4c148
fix build error
2022-12-14 10:29:45 +01:00
Dmitry Galenko
46f1cee2a8
Fix missed braces and etc
2022-12-14 10:21:11 +01:00
Dmitry Galenko
92fd5511ec
Disable nRF sleep on discharge
2022-12-14 09:36:25 +01:00
Thomas Göttgens
06d34daeab
Merge branch 'master' into power-fsm-experiment
2022-12-08 10:18:01 +01:00
Thomas Göttgens
a00187b97f
manual master merge
2022-12-06 16:56:38 +01:00
lewishe
63d7338311
fix tbeams3-core PMU charging cut-off voltage
2022-12-06 11:01:14 +08:00
Thomas Göttgens
2a84d39e40
Always do battery resampling if we use the ADC. Improves reading a lot.
2022-12-05 16:40:23 +01:00
Thomas Göttgens
eb4f682ad1
debug print thread count. max_threads is 32
2022-12-02 12:20:21 +01:00
Thomas Göttgens
72e17b558c
add temp code for heap debugging. Disable -DDEBUG_HEAP for release builds.
...
DEBUG_MSG output only for now.
2022-11-30 09:52:28 +01:00
Ben Meadors
afafb3ba32
Fixing a number of T-Beam poweroff display issues ( #1876 )
2022-10-30 20:40:30 -05:00
timo
6146b773cf
Better #define guard for PIN_EINK_EN
2022-10-27 17:59:53 -07:00
Tim O'Brien
154b7d256c
Powers off eink backlights before shutdown
...
- t-echo boards in particular need this
- follows the existing defines structure
2022-10-27 11:03:27 -07:00
lewis he
004f6fa4d6
Add t-beam-s3-core onboard device support. ( #1764 )
...
* Change t-beam-s3-core pins definitions
* Add t-beam-s3-core power initialization to properly initialize the I2C device
* Add 6-axis and 3-axis sensor detection
2022-10-07 06:57:55 -05:00
Neil Hao
ab4b3a50ee
'battery_gauge_fix' ( #1731 )
2022-09-28 15:53:26 -05:00
lewis he
9481461145
Add GNSS model recognition functio ( #1696 )
...
* Add GNSS model recognition function
* Fix GNSS initialization failure
* GPS.cpp difference between runOnce and ESP32S3 and ESP32 versions
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2022-09-15 13:43:04 -05:00
Thomas Göttgens
ff88900982
wrong name for constant in merge
2022-09-09 21:49:54 +02:00
Thomas Göttgens
7f293bfda3
Merge branch 'master' into master
2022-09-09 21:39:29 +02:00
Thomas Göttgens
f7b12f0695
Adapt to new protobufs - TODO: factory_reset rewire
2022-09-09 12:51:41 +02:00
lewishe
7d0e16d1b6
Add some explanations about PMU and prevent null pointer judgment
2022-09-08 10:45:12 +08:00
lewishe
35c77ef99c
Simplify HAS_PMU macro definition
2022-09-08 10:36:53 +08:00
lewishe
9244d03cf9
Rename axp192_found to pmu_found to avoid confusion
2022-09-08 10:32:12 +08:00
lewishe
5621719eef
Add tbeam esp32s3 version support, replace AXP202X_Library with XPowersLIb
2022-09-06 15:58:33 +08:00
neil
90d3cc2ff8
'Station-g1-patch1'
2022-08-10 19:26:43 +08:00
Thomas Göttgens
6382f67b89
Replace TBEAM_V10 macro guards with more appropriate HAS_AXP192. Also eliminates symbol redefinition of AXP192_SLAVE_ADDRESS
2022-08-08 16:13:38 +02:00
majbthrd
ade32b1827
lay groundwork for a possible future architecture ( #1571 )
...
* lay groundwork for a possible future architecture
* switch from feature opt-out to feature opt-in
* lay groundwork for a possible future architecture
* switch from feature opt-out to feature opt-in
* fix USE_RTC in variant.h for rak4631_epaper and t-echo
* ensure Screen.h is not included without configuration.h
Co-authored-by: Peter Lawrence <12226419+majbthrd@users.noreply.github.com>
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2022-07-31 07:11:47 -05:00
neilhao
f0518bc99a
'BATTERY_SENSE_SAMPLES' ( #1577 )
2022-07-30 07:12:28 -05:00
Thomas Göttgens
c831242f25
fix nrf build
2022-06-06 19:14:30 +02:00
Thomas Göttgens
ebf132ad21
Bug-1493
2022-06-06 18:48:22 +02:00
Thomas Göttgens
5e8d49d24b
missed one
2022-05-21 22:51:34 +02:00
Thomas Göttgens
53e9f4df46
Segemented config works for me (TM)
...
Small GPS Fix that cropped up while testing included.
2022-05-21 22:38:33 +02:00
Sacha Weatherstone
0ec6771cf7
Fix build when BATTERY_PIN is set
2022-05-07 20:47:52 +10:00
Sacha Weatherstone
6b0ce6b729
Finish config transition
2022-05-07 20:31:21 +10:00
Ben Meadors
cf64da21fb
Move adc multiplier code into battery pin region to surpress warning
2022-05-01 14:21:30 -05:00
Ben Meadors
c867af8522
Adjusted adc_multiplier for heltec2.1 and added adc_mulitplier_override ( #1183 )
2022-02-09 13:37:48 -06:00
Mike Kinney
7c362af3de
more warning fixes
2022-01-24 18:39:17 +00:00
Mike Kinney
caaa235c5d
more cppcheck warnings fixes
2022-01-24 17:24:40 +00:00
Mike Kinney
b3210f6c2c
fix some cppcheck warnings
2022-01-24 07:00:14 +00:00
claes
28e851c3fd
Low battery level counter for NRF52
...
Added a counter that counts low battery level detections.
If there are 4 in a row we go to deep sleep.
The battery sense on the RAK4631 seems to be a bit unstable and may
generate 'false' low voltage readings.
My RAK4631 has been running for 7 days now with this fix.
It did 3 days without it.
I still do not have a T-Echo so on that board IT IS NOT TESTED.
(But I hope it will improve things there too)
2021-09-19 16:00:10 +02:00
claes
04c5ac0d7c
Voltage and sleep fix for NRF52
...
Dont let the NRF52 go to SDS Super Deep Sleep
Show bat percentage on NRF52 when above 4210 mV
2021-08-10 09:23:26 +02:00