Skip to content

Commit

Permalink
create a variable BatFiltered_calc to report A6, and also RSSI
Browse files Browse the repository at this point in the history
  • Loading branch information
neilh20 authored and neilh20 committed May 18, 2022
1 parent 8b9a6cf commit 5234fc7
Show file tree
Hide file tree
Showing 6 changed files with 161 additions and 56 deletions.
8 changes: 5 additions & 3 deletions a/tu_xx01/src/ms_cfg.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/*****************************************************************************
ms_cfg.h_LT5_Mdbus_wireless - ModularSensors Config - MMW _LT5/Modbus +LTE/WiFi
Status 220410: 0.33.1.aaa
Status 220517: 0.33.1.aaa
Written By: Neil Hancock www.envirodiy.org/members/neilh20/
Development Environment: PlatformIO
Hardware Platform(s): EnviroDIY Mayfly Arduino Datalogger+RS485 Wingboard
Expand Down Expand Up @@ -31,6 +31,7 @@ THIS CODE IS PROVIDED "AS IS" - NO WARRANTY IS GIVEN.
// MAYFLY_BAT_DIGI Digi Modem LTE with onboard battery measurement
// Choices applied to define MAYFLY_BAT_xx 1) Stc3100 2) ExternVolage_ACT 3) Digi Mode 4) MAYFLY_BAT_A6
#define MAYFLY_BAT_A6 4
#define REPORT_FILTERED_BAT_A6_V
//#define MAYFLY_BAT_AA0 2
//FUT #define MAYFLY_BAT_DIGI 3

Expand Down Expand Up @@ -253,8 +254,9 @@ THIS CODE IS PROVIDED "AS IS" - NO WARRANTY IS GIVEN.
#endif // ENVIRODIY_MAYFLY_TEMPERATURE

#if defined UseModem_Module
// This seems to be de-stabilizing Digi S6B
//#define DIGI_RSSI_UUID "DIGI_RSSI_UUID"
// not tested Digi LTE
// tested Digi S6B
#define DIGI_RSSI_UUID "DIGI_RSSI_UUID"
//#define Modem_SignalPercent_UUID "SignalPercent_UUID"
#endif // UseModem_Module

Expand Down
8 changes: 5 additions & 3 deletions a/tu_xx01/src/ms_cfg.h_LT5_Mdbus_wireless
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/*****************************************************************************
ms_cfg.h_LT5_Mdbus_wireless - ModularSensors Config - MMW _LT5/Modbus +LTE/WiFi
Status 220410: 0.33.1.aaa
Status 220517: 0.33.1.aaa
Written By: Neil Hancock www.envirodiy.org/members/neilh20/
Development Environment: PlatformIO
Hardware Platform(s): EnviroDIY Mayfly Arduino Datalogger+RS485 Wingboard
Expand Down Expand Up @@ -31,6 +31,7 @@ THIS CODE IS PROVIDED "AS IS" - NO WARRANTY IS GIVEN.
// MAYFLY_BAT_DIGI Digi Modem LTE with onboard battery measurement
// Choices applied to define MAYFLY_BAT_xx 1) Stc3100 2) ExternVolage_ACT 3) Digi Mode 4) MAYFLY_BAT_A6
#define MAYFLY_BAT_A6 4
#define REPORT_FILTERED_BAT_A6_V
//#define MAYFLY_BAT_AA0 2
//FUT #define MAYFLY_BAT_DIGI 3

Expand Down Expand Up @@ -253,8 +254,9 @@ THIS CODE IS PROVIDED "AS IS" - NO WARRANTY IS GIVEN.
#endif // ENVIRODIY_MAYFLY_TEMPERATURE

#if defined UseModem_Module
// This seems to be de-stabilizing Digi S6B
//#define DIGI_RSSI_UUID "DIGI_RSSI_UUID"
// not tested Digi LTE
// tested Digi S6B
#define DIGI_RSSI_UUID "DIGI_RSSI_UUID"
//#define Modem_SignalPercent_UUID "SignalPercent_UUID"
#endif // UseModem_Module

Expand Down
55 changes: 49 additions & 6 deletions a/tu_xx01/src/tu_xx01.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -228,7 +228,28 @@ const bool useCTSforStatus =
loggerModem* loggerModemPhyInst=NULL ;//was modemPhy
#define loggerModemPhyDigiWifi ((DigiXBeeWifi *) loggerModemPhyInst)
#define loggerModemPhyDigiCell ((DigiXBeeCellularTransparent *) loggerModemPhyInst)
#endif // UseModem_Module

#if defined DIGI_RSSI_UUID
//The loggerModemPhyInst is created at run time
Variable* modemPhyRssi_var = new Modem_RSSI(loggerModemPhyInst);
float modemPhyRssiGetValue(void) { // Can't get value till instatiated
if (NULL==loggerModemPhyInst) return 0;

return modemPhyRssi_var->getValue(true);
}
// Create the calculated RSSI Variable object
Variable* modemPhyRssi_calc =
new Variable(modemPhyRssiGetValue, // function that does the calculation
MODEM_RSSI_RESOLUTION, // resolution
MODEM_RSSI_UNIT_NAME, // var name.
//from http://vocabulary.odm2.org/variablename/
"dBm", // var unit.
//from http://vocabulary.odm2.org/units/
MODEM_RSSI_DEFAULT_CODE, // var code MODEM_RSSI_DEFAULT_CODE
DIGI_RSSI_UUID);
#endif //DIGI_RSSI_UUID

#endif // UseModem_Module

// ==========================================================================
// Create a reference to the serial port for modbus
Expand Down Expand Up @@ -758,6 +779,24 @@ float getBatteryVoltageProc() {
return bat_filtered_v;
}
#define bms_SetBattery() bms.setBatteryV(getBatteryVoltageProc());

#if defined REPORT_FILTERED_BAT_A6_V
float BatFilteredGetValue_V(void) {
return bat_filtered_v;
}
// Create the calculated Battery Filtered V object
Variable* BatFiltered_calc =
new Variable(BatFilteredGetValue_V, // function that does the calculation
PROCESSOR_BATTERY_RESOLUTION, // resolution
PROCESSOR_BATTERY_VAR_NAME, // var name.
//from http://vocabulary.odm2.org/variablename/
PROCESSOR_BATTERY_UNIT_NAME, // var unit.
// from http://vocabulary.odm2.org/units/
PROCESSOR_BATTERY_DEFAULT_CODE, // var code
ProcessorStats_Batt_UUID);

#endif //REPORT_FILTERED_BAT_A6_V

#endif //MAYFLY_BAT_A6
#else
#warning MAYFLY_BAT_CHOICE not defined
Expand Down Expand Up @@ -879,9 +918,12 @@ Variable* variableList[] = {
pLionBatExt_var,
#endif
#if defined MAYFLY_BAT_A6
//FUT return the filtered vbat_low
#if defined REPORT_FILTERED_BAT_A6_V
BatFiltered_calc,
#else
new ProcessorStats_Battery(&mcuBoardPhy, ProcessorStats_Batt_UUID),
#endif // MAYFLY_BAT_A6
#endif // REPORT_FILTERED_BAT_A6_V
#endif // MAYFLY_BAT_A6
#if defined AnalogProcEC_ACT
// Do Analog processing measurements.
new AnalogElecConductivityM_EC(&analogEC_phy, EC1_UUID),
Expand Down Expand Up @@ -943,9 +985,10 @@ Variable* variableList[] = {
#if defined MaximDS3231_TEMPF_UUID
ds3231TempFcalc,
#endif // MaximDS3231_TempF_UUID
#if 0 //modemPhy not setup, belay defined DIGI_RSSI_UUID
new Modem_RSSI(&modemPhy, DIGI_RSSI_UUID),
// new Modem_RSSI(&modemPhy, "12345678-abcd-1234-ef00-1234567890ab"),
#if defined DIGI_RSSI_UUID
//loggerModemPhyInst not setup
//new Modem_RSSI(&loggerModemPhyInst, DIGI_RSSI_UUID),
modemPhyRssi_calc,
#endif // DIGI_RSSI_UUID


Expand Down
83 changes: 48 additions & 35 deletions examples/tu_xx01/src/ms_cfg.h
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
/*****************************************************************************
ms_cfg.h_EC - ModularSensors Configuration - tgt relative _EC
Status: 220219: updated to use comms but not tested
ms_cfg.h_LT5_Mdbus_wireless - ModularSensors Config - MMW _LT5/Modbus +LTE/WiFi
Status 220517: 0.33.1.aaa
Written By: Neil Hancock www.envirodiy.org/members/neilh20/
Development Environment: PlatformIO
Hardware Platform(s): EnviroDIY Mayfly Arduino Datalogger+RS485 Wingboard
Expand All @@ -23,25 +22,27 @@ THIS CODE IS PROVIDED "AS IS" - NO WARRANTY IS GIVEN.
//**************************************************************************
// This configuration is for a standard Mayfly0.5b
// Sensors Used - two std to begin then
#define AnalogProcEC_ACT 1
//#define AnalogProcEC_ACT 1
// Power Availability monitoring decisions use LiIon Voltge,
// Battery Voltage measurements can be derived from a number of sources
// MAYFLY_BAT_A6 - standard measures Solar Charging or LiIon battry V which ever is greated
// MAYFLY_BAT_AA0 - ExternalVolt/ADS1115 requires external R - ECO4
// MAYFLY_BAT_STC3100 sensor IC on RS485 WINGBOARD_KNH002
// MAYFLY_BAT_DIGI Digi Modem LTE with onboard battery measurement
// Choices applied to define MAYFLY_BAT_xx 1) Stc3100 2) ExternVolage_ACT 3) Digi Mode 4) MAYFLY_BAT_A6

#define MAYFLY_BAT_A6 4
#define REPORT_FILTERED_BAT_A6_V
//#define MAYFLY_BAT_AA0 2
//FUT #define MAYFLY_BAT_DIGI 3


//#define ENVIRODIY_MAYFLY_TEMPERATURE 1
//#define Decagon_CTD_UUID 1
//For Insitu_Troll specify one or none
//#define Insitu_TrollSdi12_UUID 1
#define Insitu_TrollModbus_UUID 1

//#define WINGBOARD_KNH002 1
#define WINGBOARD_KNH002 1
#if defined WINGBOARD_KNH002
//This supports RS485 1.9W and STC3100
//#define USE_STC3100_DD 1
Expand All @@ -51,7 +52,7 @@ THIS CODE IS PROVIDED "AS IS" - NO WARRANTY IS GIVEN.
// KellerAcculevel units can be 1 (meter) 2 (feet)
//#define KellerAcculevel_DepthUnits 2

#define KellerNanolevel_ACT 1
//#define KellerNanolevel_ACT 1
#endif //WINGBOARD_KNH002

//Select one of following MAYFLY_BAT_xx as the source for BatterManagement Analysis
Expand All @@ -60,22 +61,22 @@ THIS CODE IS PROVIDED "AS IS" - NO WARRANTY IS GIVEN.
//#define MAYFLY_BAT_CHOICE MAYFLY_BAT_STC3100
// FUT #define MAYFLY_BAT_CHOICE MAYFLY_BAT_DIGI

//Only define 1 below . SENSIRION_SHT4X is on Mayfly 1.x
#define SENSIRION_SHT4X_UUID
//#define ASONG_AM23XX_UUID 1

// sensors with low power useage -
#define BM_PWR_SENSOR_CONFIG_BUILD_SPECIFIC BM_PWR_MEDIUM_REQ
// with Modem use above ^^ else use below \|/
//#define BM_PWR_SENSOR_CONFIG_BUILD_SPECIFIC BM_PWR_LOW_REQ

//Two heavy sensors with power useage
#define BM_PWR_SENSOR_CONFIG_BUILD_SPECIFIC BM_PWR_LOW_REQ

// Mayfly configuration
// Carrier board for Digi XBEE LTE CAT-M1 and jumper from battery
// Digi WiFi S6 plugged in directly
// For debug: C4 removed, strap for AA2/Vbat AA3/SolarV,
//Assume Mayfly, and version determined on boot See mcuBoardVersion_
//#define MFName_DEF "Mayfly"
//#define HwName_DEF MFName_DEF
#define CONFIGURATION_DESCRIPTION_STR "Electrical Conductivity MMW Digi WiFi S6/LTE XB3-C-A2"
//#define MFVersion_DEF "v0.5b"
#define MFName_DEF "Mayfly"
#define HwVersion_DEF MFVersion_DEF
#define HwName_DEF MFName_DEF
#define CONFIGURATION_DESCRIPTION_STR "LT500/Modbus Digi WiFi S6/LTE XB3-C-A2 MMW"

#define USE_MS_SD_INI 1
#define USE_PS_EEPROM 1
Expand Down Expand Up @@ -169,12 +170,29 @@ THIS CODE IS PROVIDED "AS IS" - NO WARRANTY IS GIVEN.
#endif // Decagon_CTD_UUID


#ifdef Insitu_TrollSdi12_UUID
#if defined Insitu_TrollSdi12_UUID || defined Insitu_TrollModbus_UUID
// Mayfly definitions
#define ITROLL_DEPTH_UUID "ITROLL_DEPTH_UUID"
#define ITROLL_TEMP_UUID "ITROLL_TEMP_UUID"
#ifdef Insitu_TrollModbus_UUID
#define InsituLTrs485_ACT 1
#ifdef InsituLTrs485_ACT
#define CONFIG_SENSOR_RS485_PHY 1
#define InsituLTrs485_Depth_UUID "ITROLL_DEPTH_UUID"
#define InsituLTrs485_Temp_UUID "ITROLL_TEMP_UUID"
#define InsituLTrs485ModbusAddress_DEF 0x01
// Setup for LT500 is 19200 1Start 8Data, 1Parity Even 1Stop
//#define MODBUS_BAUD_RATE 9600
#define MODBUS_BAUD_RATE 19200
//Default for AltsoftSerial is SERIAL_8N1
//#define MODBUS_SERIAL_CONFIG SERIAL_8N1
#define MODBUS_SERIAL_CONFIG SERIAL_8E1
#endif // InsituLTrs485_ACT
#elif defined Insitu_TrollSdi12_UUID
#define ITROLLS_DEPTH_UUID "ITROLL_DEPTH_UUID"
#define ITROLLS_TEMP_UUID "ITROLL_TEMP_UUID"
//#define ITROLL_PRESSURE_UUID "ITROLL_PRESSURE_UUID"
#endif // Insitu_Troll_UUID
#endif // Insitu_TrollSdi12_UUID
#endif // Insitu_Trollxxx



#ifdef KellerAcculevel_ACT
Expand All @@ -191,16 +209,6 @@ THIS CODE IS PROVIDED "AS IS" - NO WARRANTY IS GIVEN.
#define KellerNanolevelModbusAddress_DEF 0x01
#endif // KellerNanolevel_ACT

//#define InsituLTrs485_ACT 1 -not working
#ifdef InsituLTrs485_ACT
#define CONFIG_SENSOR_RS485_PHY 1
#define InsituLTrs485_Height_UUID "KellerNanolevel_Height_UUID"
#define InsituLTrs485_Temp_UUID "KellerNanolevel_Temp_UUID"
#define InsituLTrs485ModbusAddress_DEF 0x01
// Default is 19200 lets hope serial works with it.
#define MODBUS_BAUD_RATE 19200
#endif // InsituLTrs485_ACT

#ifdef CONFIG_SENSOR_RS485_PHY
// Mayfly definitions
#define CONFIG_HW_RS485PHY_TX_PIN 5 // Mayfly OCRA1 map AltSoftSerial Tx pin
Expand Down Expand Up @@ -229,7 +237,11 @@ THIS CODE IS PROVIDED "AS IS" - NO WARRANTY IS GIVEN.
#define INA219M_VOLT_UUID "INA219_VOLT_UUID"
#endif // INA219_PHY_ACT

#if defined ASONG_AM23XX_UUID
#if defined SENSIRION_SHT4X_UUID
#define SENSIRION_SHT4X_Air_Temperature_UUID "Air_Temperature_UUID"
//#define SENSIRION_SHT4X_Air_TemperatureF_UUID "Air_TemperatureF_UUID"
#define SENSIRION_SHT4X_Air_Humidity_UUID "Air_Humidity_UUID"
#elif defined ASONG_AM23XX_UUID
#define ASONG_AM23_Air_Temperature_UUID "Air_Temperature_UUID"
#define ASONG_AM23_Air_TemperatureF_UUID "Air_TemperatureF_UUID"
#define ASONG_AM23_Air_Humidity_UUID "Air_Humidity_UUID"
Expand All @@ -242,8 +254,9 @@ THIS CODE IS PROVIDED "AS IS" - NO WARRANTY IS GIVEN.
#endif // ENVIRODIY_MAYFLY_TEMPERATURE

#if defined UseModem_Module
// This seems to be de-stabilizing Digi S6B
//#define DIGI_RSSI_UUID "DIGI_RSSI_UUID"
// not tested Digi LTE
// tested Digi S6B
#define DIGI_RSSI_UUID "DIGI_RSSI_UUID"
//#define Modem_SignalPercent_UUID "SignalPercent_UUID"
#endif // UseModem_Module

Expand All @@ -257,8 +270,8 @@ THIS CODE IS PROVIDED "AS IS" - NO WARRANTY IS GIVEN.

#if defined MAYFLY_BAT_STC3100
#define STC3100_Volt_UUID "STC3100Volt_UUID"
#define STC3100_USED1_mAhr_UUID "STC3100used1_mAhr_UUID"
#define STC3100_AVLBL_mAhr_UUID "STC3100avlbl_mAhr_UUID"
//#define STC3100_USED1_mAhr_UUID "STC3100used1_mAhr_UUID"
//#define STC3100_AVLBL_mAhr_UUID "STC3100avlbl_mAhr_UUID"
#endif // MAYFLY_BAT_STC3100

#ifdef MAYFLY_BAT_AA0
Expand Down
8 changes: 5 additions & 3 deletions examples/tu_xx01/src/ms_cfg.h_LT5_Mdbus_wireless
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/*****************************************************************************
ms_cfg.h_LT5_Mdbus_wireless - ModularSensors Config - MMW _LT5/Modbus +LTE/WiFi
Status 220410: 0.33.1.aaa
Status 220517: 0.33.1.aaa
Written By: Neil Hancock www.envirodiy.org/members/neilh20/
Development Environment: PlatformIO
Hardware Platform(s): EnviroDIY Mayfly Arduino Datalogger+RS485 Wingboard
Expand Down Expand Up @@ -31,6 +31,7 @@ THIS CODE IS PROVIDED "AS IS" - NO WARRANTY IS GIVEN.
// MAYFLY_BAT_DIGI Digi Modem LTE with onboard battery measurement
// Choices applied to define MAYFLY_BAT_xx 1) Stc3100 2) ExternVolage_ACT 3) Digi Mode 4) MAYFLY_BAT_A6
#define MAYFLY_BAT_A6 4
#define REPORT_FILTERED_BAT_A6_V
//#define MAYFLY_BAT_AA0 2
//FUT #define MAYFLY_BAT_DIGI 3

Expand Down Expand Up @@ -253,8 +254,9 @@ THIS CODE IS PROVIDED "AS IS" - NO WARRANTY IS GIVEN.
#endif // ENVIRODIY_MAYFLY_TEMPERATURE

#if defined UseModem_Module
// This seems to be de-stabilizing Digi S6B
//#define DIGI_RSSI_UUID "DIGI_RSSI_UUID"
// not tested Digi LTE
// tested Digi S6B
#define DIGI_RSSI_UUID "DIGI_RSSI_UUID"
//#define Modem_SignalPercent_UUID "SignalPercent_UUID"
#endif // UseModem_Module

Expand Down
Loading

0 comments on commit 5234fc7

Please sign in to comment.