* Clean up SimRadio and don't let it use PKC
* Add collision emulation for SimRadio
* Add stats from SimRadio to LocalStats
* Make emulating collisions optional
* Cleanup i2c scan logs and macro to save some bytes and remain consistent
* Functions are better than macros
* Exclude i2c scan for STM32
* Useless log
https://github.com/meshtastic/firmware/pull/5247 introduced new
protobufs, particularly the excluded_modules feature.
Immediately afterward, cppcheck started sounding klaxons about
an unitialized variable. This patch simply sets excluded_modules
to none as a temporary measure while the feature from protobuf
is integrated into code.
Implements an input driver utilising the MPR121 Touch IC and is compatible with common MPR121 keypad PCB's.
- Implements a "candybar" phone style 12-key keypad
- multiple taps to rotate through the character set
- longpress for navigation keys
- keymap to allow arbitrary routing of MPR121 pin to button configuration
- extendable to other key functions
- Integrates with the existing kbI2cBase implementation
- Works with CannedMessageModule Freetext mode
- Can be used with common MPR121 boards, such as https://www.amazon.com/MPR121-Capacitive-Keyboard-Buttons-Sensitive/dp/B083R89CHB/ref=sr_1_6
- Of use for PCB based radios, where some form of low surface area low component freetext input is required, but also without consuming too many IO pins.
- Tested on a T3S3 connected to Wire1 (Second) interface.
- Demonstration of functionality: https://youtu.be/UI6QP6nGvhY
remove newline from logging statements in code. The LOG_* functions will now magically add it at the end.
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
* preliminary Othernet Dreamcatcher 2206 Support
Need to adapt to 2301 final version
* second target for latest revision
* preliminary Othernet Dreamcatcher 2206 Support
Need to adapt to 2301 final version
* second target for latest revision
* preliminary Othernet Dreamcatcher 2206 Support
Need to adapt to 2301 final version
* second target for latest revision
* address comments
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
Co-authored-by: Tom Fifield <tom@tomfifield.net>
* Add stub health telemetry module
* Add detection for MAX30102 Health Sensor
It lives on I2C bus at 0x57, which conflicts with an existing
sensor. Add code to check the PARTID register for its response 0x15
per spec.
* Add detection for MLX90614
An IR Temperature sensor suitable for livestock monitoring.
* Add libraries for MLX90614 and MAX30102 sensors
* Fix Trunk
* Add support for MLX90614 IR Temperature Sensor
* Add support for MAX30102 (Temperature)
* Make it build - our first HealthTelemetry on the mesh.
If a MAX30102 is connected, its temperature will be sent to the
mesh as HealthTelemetry.
* Add spo2 and heart rate calculations to MAX30102
* Switch MLX90614 to Adafruit library
Sparkfun was having fun with SDA/SCL variables which we can avoid
by switching to this highly similar library.
* Enable HealthTelemetry if MLX90614 detected
* Change MLX90614 emissivity for human skin.
* Add health screen!
* Remove autogenerated file from branch
* Preparing for review
* Fix MeshService master sync from before.
* Prepare for review
* For the americans
* Fix native build
* Fix for devices with no screen
* Remove extra log causing issues
---------
Co-authored-by: Tom Fifield <tom@tomfifield.net>
* Refactor and consolidate windowing logic
* Trunk
* Fixes
* More
* Fix braces and remove unused now variables.
There was a brace in src/mesh/RadioLibInterface.cpp that was breaking
compile on some architectures.
Additionally, there were some brace errors in
src/modules/Telemetry/AirQualityTelemetry.cpp
src/modules/Telemetry/EnvironmentTelemetry.cpp
src/mesh/wifi/WiFiAPClient.cpp
Move throttle include in WifiAPClient.cpp to top.
Add Default.h to sleep.cpp
rest of files just remove unused now variables.
* Remove a couple more meows
---------
Co-authored-by: Tom Fifield <tom@tomfifield.net>
* PMSA0031 sensors require ~3secs before coming up on I2C
As reported by @MALAONE1 and debugged by @shodan8192 , PMSA0031s
on a RAK4631 take 3 seconds before they can become detectable on I2c.
Add a delay(4000) before I2C scan if the air quality sensor pin
is defined.
Fixes https://github.com/meshtastic/firmware/issues/3690
* Remove 4 second wait and rescan during air quality init for the sensor
* works without but this triggers my OCD
---------
Co-authored-by: Thomas Göttgens <tgoettgens@gmail.com>
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
QMC5883L and HMC5883L are 3-axis compasses which are often confused.
As reported by @Africmod, we had the wrong I2C address for the QMC5883L.
This patch fixes the address and adds its HMC5883L so we keep info
about both.
Fixes https://github.com/meshtastic/firmware/issues/4144
* tryfix #4384 - don't assume we want that functionality if the Accelerometer was found. This is only for T-Watch
* Add config.display.wake_on_tap_or_motion default to RAK
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>