mirror of
https://github.com/meshcore-dev/MeshCore.git
synced 2026-04-20 22:13:47 +00:00
Add Melexis Contact-less Infrared Sensor - MLX90614 to Heltec V3 Sensor
This commit is contained in:
parent
e4f7b9e37f
commit
9f2a77c92e
3 changed files with 26 additions and 0 deletions
|
|
@ -53,6 +53,12 @@ static Adafruit_INA3221 INA3221;
|
||||||
static Adafruit_INA219 INA219(TELEM_INA219_ADDRESS);
|
static Adafruit_INA219 INA219(TELEM_INA219_ADDRESS);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if ENV_INCLUDE_MLX90614
|
||||||
|
#define TELEM_MLX90614_ADDRESS 0x5A // MLX90614 IR temperature sensor I2C address
|
||||||
|
#include <Adafruit_MLX90614.h>
|
||||||
|
static Adafruit_MLX90614 MLX90614;
|
||||||
|
#endif
|
||||||
|
|
||||||
#if ENV_INCLUDE_GPS && RAK_BOARD
|
#if ENV_INCLUDE_GPS && RAK_BOARD
|
||||||
static uint32_t gpsResetPin = 0;
|
static uint32_t gpsResetPin = 0;
|
||||||
static bool i2cGPSFlag = false;
|
static bool i2cGPSFlag = false;
|
||||||
|
|
@ -153,6 +159,16 @@ bool EnvironmentSensorManager::begin() {
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if ENV_INCLUDE_MLX90614
|
||||||
|
if (MLX90614.begin(TELEM_MLX90614_ADDRESS, TELEM_WIRE)) {
|
||||||
|
MESH_DEBUG_PRINTLN("Found MLX90614 at address: %02X", TELEM_MLX90614_ADDRESS);
|
||||||
|
MLX90614_initialized = true;
|
||||||
|
} else {
|
||||||
|
MLX90614_initialized = false;
|
||||||
|
MESH_DEBUG_PRINTLN("MLX90614 was not found at I2C address %02X", TELEM_MLX90614_ADDRESS);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -233,6 +249,13 @@ bool EnvironmentSensorManager::querySensors(uint8_t requester_permissions, Cayen
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if ENV_INCLUDE_MLX90614
|
||||||
|
if (MLX90614_initialized) {
|
||||||
|
telemetry.addTemperature(TELEM_CHANNEL_SELF, MLX90614.readObjectTempC());
|
||||||
|
telemetry.addTemperature(TELEM_CHANNEL_SELF + 1, MLX90614.readAmbientTempC());
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,7 @@ protected:
|
||||||
bool INA219_initialized = false;
|
bool INA219_initialized = false;
|
||||||
bool SHTC3_initialized = false;
|
bool SHTC3_initialized = false;
|
||||||
bool LPS22HB_initialized = false;
|
bool LPS22HB_initialized = false;
|
||||||
|
bool MLX90614_initialized = false;
|
||||||
|
|
||||||
bool gps_detected = false;
|
bool gps_detected = false;
|
||||||
bool gps_active = false;
|
bool gps_active = false;
|
||||||
|
|
|
||||||
|
|
@ -157,6 +157,7 @@ build_flags =
|
||||||
-D ADMIN_PASSWORD='"password"'
|
-D ADMIN_PASSWORD='"password"'
|
||||||
-D ENV_PIN_SDA=33
|
-D ENV_PIN_SDA=33
|
||||||
-D ENV_PIN_SCL=34
|
-D ENV_PIN_SCL=34
|
||||||
|
-D ENV_INCLUDE_MLX90614=1
|
||||||
-D DISPLAY_CLASS=SSD1306Display
|
-D DISPLAY_CLASS=SSD1306Display
|
||||||
; -D MESH_PACKET_LOGGING=1
|
; -D MESH_PACKET_LOGGING=1
|
||||||
; -D MESH_DEBUG=1
|
; -D MESH_DEBUG=1
|
||||||
|
|
@ -166,6 +167,7 @@ build_src_filter = ${Heltec_lora32_v3.build_src_filter}
|
||||||
lib_deps =
|
lib_deps =
|
||||||
${Heltec_lora32_v3.lib_deps}
|
${Heltec_lora32_v3.lib_deps}
|
||||||
${esp32_ota.lib_deps}
|
${esp32_ota.lib_deps}
|
||||||
|
adafruit/Adafruit MLX90614 Library @ ^2.1.5
|
||||||
|
|
||||||
[env:Heltec_WSL3_repeater]
|
[env:Heltec_WSL3_repeater]
|
||||||
extends = Heltec_lora32_v3
|
extends = Heltec_lora32_v3
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue