mirror of https://github.com/arendst/Tasmota.git
Bump version to 6.6.0.5
* Add command WebSensor<sensor number> 0/1 to control display of sensor data in web GUI (#6085) * Change some table locations from RAM to Flash
This commit is contained in:
parent
0e4d4a889a
commit
9746489380
|
@ -1,4 +1,8 @@
|
||||||
/*********************************************************************************************\
|
/*********************************************************************************************\
|
||||||
|
* 6.6.0.5 20190816
|
||||||
|
* Add command WebSensor<sensor number> 0/1 to control display of sensor data in web GUI (#6085)
|
||||||
|
* Change some table locations from RAM to Flash
|
||||||
|
*
|
||||||
* 6.6.0.4 20190806
|
* 6.6.0.4 20190806
|
||||||
* Add support for CHIRP soil moisture sensor by Christian Baars
|
* Add support for CHIRP soil moisture sensor by Christian Baars
|
||||||
* Add debug compile features using defines DEBUG_TASMOTA_CORE, DEBUG_TASMOTA_DRIVER and DEBUG_TASMOTA_SENSOR.
|
* Add debug compile features using defines DEBUG_TASMOTA_CORE, DEBUG_TASMOTA_DRIVER and DEBUG_TASMOTA_SENSOR.
|
||||||
|
|
|
@ -344,7 +344,7 @@ struct SYSCFG {
|
||||||
uint32_t adc_param2; // 798
|
uint32_t adc_param2; // 798
|
||||||
int adc_param3; // 79C
|
int adc_param3; // 79C
|
||||||
uint32_t monitors; // 7A0
|
uint32_t monitors; // 7A0
|
||||||
uint32_t sensors[3]; // 7A4
|
uint32_t sensors[3]; // 7A4 Normal WebSensor, Debug SetSensor
|
||||||
uint32_t displays; // 7B0
|
uint32_t displays; // 7B0
|
||||||
uint32_t energy_kWhtotal_time; // 7B4
|
uint32_t energy_kWhtotal_time; // 7B4
|
||||||
unsigned long weight_item; // 7B8 Weight of one item in gram * 10
|
unsigned long weight_item; // 7B8 Weight of one item in gram * 10
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
* Performance ROM (PROGMEM) vs RAM (RODATA)
|
* Performance ROM (PROGMEM) vs RAM (RODATA)
|
||||||
\*********************************************************************************************/
|
\*********************************************************************************************/
|
||||||
|
|
||||||
//#define XFUNC_PTR_IN_ROM // Enable for keeping tables in ROM (PROGMEM) which seem to have access issues on some flash types
|
#define XFUNC_PTR_IN_ROM // Enable for keeping tables in ROM (PROGMEM) which seem to have access issues on some flash types
|
||||||
|
|
||||||
/*********************************************************************************************\
|
/*********************************************************************************************\
|
||||||
* Default sensor states
|
* Default sensor states
|
||||||
|
|
|
@ -20,6 +20,6 @@
|
||||||
#ifndef _SONOFF_VERSION_H_
|
#ifndef _SONOFF_VERSION_H_
|
||||||
#define _SONOFF_VERSION_H_
|
#define _SONOFF_VERSION_H_
|
||||||
|
|
||||||
const uint32_t VERSION = 0x06060004;
|
const uint32_t VERSION = 0x06060005;
|
||||||
|
|
||||||
#endif // _SONOFF_VERSION_H_
|
#endif // _SONOFF_VERSION_H_
|
||||||
|
|
|
@ -30,7 +30,7 @@ const char kTasmotaCommands[] PROGMEM = "|" // No prefix
|
||||||
#ifdef USE_I2C
|
#ifdef USE_I2C
|
||||||
D_CMND_I2CSCAN "|"
|
D_CMND_I2CSCAN "|"
|
||||||
#endif
|
#endif
|
||||||
D_CMND_SENSOR "|" D_CMND_DRIVER;
|
D_CMND_SENSOR "|" D_CMND_DRIVER "|WebSensor";
|
||||||
|
|
||||||
void (* const TasmotaCommand[])(void) PROGMEM = {
|
void (* const TasmotaCommand[])(void) PROGMEM = {
|
||||||
&CmndBacklog, &CmndDelay, &CmndPower, &CmndStatus, &CmndState, &CmndSleep, &CmndUpgrade, &CmndUpgrade, &CmndOtaUrl,
|
&CmndBacklog, &CmndDelay, &CmndPower, &CmndStatus, &CmndState, &CmndSleep, &CmndUpgrade, &CmndUpgrade, &CmndOtaUrl,
|
||||||
|
@ -45,7 +45,7 @@ void (* const TasmotaCommand[])(void) PROGMEM = {
|
||||||
#ifdef USE_I2C
|
#ifdef USE_I2C
|
||||||
&CmndI2cScan,
|
&CmndI2cScan,
|
||||||
#endif
|
#endif
|
||||||
&CmndSensor, &CmndDriver };
|
&CmndSensor, &CmndDriver, &CmndWebSensor };
|
||||||
|
|
||||||
/********************************************************************************************/
|
/********************************************************************************************/
|
||||||
|
|
||||||
|
@ -662,6 +662,16 @@ void CmndSetoption(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CmndWebSensor(void)
|
||||||
|
{
|
||||||
|
if (XdrvMailbox.index < MAX_XSNS_DRIVERS) {
|
||||||
|
if (XdrvMailbox.payload >= 0) {
|
||||||
|
bitWrite(Settings.sensors[XdrvMailbox.index / 32], XdrvMailbox.index % 32, XdrvMailbox.payload &1);
|
||||||
|
}
|
||||||
|
ResponseCmndIdxChar(GetStateText(bitRead(Settings.sensors[XdrvMailbox.index / 32], XdrvMailbox.index % 32)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void CmndTemperatureResolution(void)
|
void CmndTemperatureResolution(void)
|
||||||
{
|
{
|
||||||
if ((XdrvMailbox.payload >= 0) && (XdrvMailbox.payload <= 3)) {
|
if ((XdrvMailbox.payload >= 0) && (XdrvMailbox.payload <= 3)) {
|
||||||
|
|
|
@ -422,6 +422,410 @@ bool (* const xsns_func_ptr[])(uint8_t) = { // Sensor Function Pointers for sim
|
||||||
|
|
||||||
const uint8_t xsns_present = sizeof(xsns_func_ptr) / sizeof(xsns_func_ptr[0]); // Number of External Sensors found
|
const uint8_t xsns_present = sizeof(xsns_func_ptr) / sizeof(xsns_func_ptr[0]); // Number of External Sensors found
|
||||||
|
|
||||||
|
/*********************************************************************************************\
|
||||||
|
* Xsns available list
|
||||||
|
\*********************************************************************************************/
|
||||||
|
|
||||||
|
#ifdef XFUNC_PTR_IN_ROM
|
||||||
|
const uint8_t kXsnsList[] PROGMEM = {
|
||||||
|
#else
|
||||||
|
const uint8_t kXsnsList[] = {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_01
|
||||||
|
XSNS_01,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_02
|
||||||
|
XSNS_02,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_03
|
||||||
|
XSNS_03,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_04
|
||||||
|
XSNS_04,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_05
|
||||||
|
XSNS_05,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_06
|
||||||
|
XSNS_06,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_07
|
||||||
|
XSNS_07,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_08
|
||||||
|
XSNS_08,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_09
|
||||||
|
XSNS_09,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_10
|
||||||
|
XSNS_10,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_11
|
||||||
|
XSNS_11,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_12
|
||||||
|
XSNS_12,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_13
|
||||||
|
XSNS_13,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_14
|
||||||
|
XSNS_14,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_15
|
||||||
|
XSNS_15,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_16
|
||||||
|
XSNS_16,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_17
|
||||||
|
XSNS_17,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_18
|
||||||
|
XSNS_18,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_19
|
||||||
|
XSNS_19,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_20
|
||||||
|
XSNS_20,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_21
|
||||||
|
XSNS_21,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_22
|
||||||
|
XSNS_22,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_23
|
||||||
|
XSNS_23,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_24
|
||||||
|
XSNS_24,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_25
|
||||||
|
XSNS_25,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_26
|
||||||
|
XSNS_26,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_27
|
||||||
|
XSNS_27,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_28
|
||||||
|
XSNS_28,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_29
|
||||||
|
XSNS_29,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_30
|
||||||
|
XSNS_30,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_31
|
||||||
|
XSNS_31,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_32
|
||||||
|
XSNS_32,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_33
|
||||||
|
XSNS_33,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_34
|
||||||
|
XSNS_34,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_35
|
||||||
|
XSNS_35,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_36
|
||||||
|
XSNS_36,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_37
|
||||||
|
XSNS_37,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_38
|
||||||
|
XSNS_38,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_39
|
||||||
|
XSNS_39,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_40
|
||||||
|
XSNS_40,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_41
|
||||||
|
XSNS_41,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_42
|
||||||
|
XSNS_42,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_43
|
||||||
|
XSNS_43,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_44
|
||||||
|
XSNS_44,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_45
|
||||||
|
XSNS_45,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_46
|
||||||
|
XSNS_46,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_47
|
||||||
|
XSNS_47,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_48
|
||||||
|
XSNS_48,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_49
|
||||||
|
XSNS_49,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_50
|
||||||
|
XSNS_50,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_51
|
||||||
|
XSNS_51,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_52
|
||||||
|
XSNS_52,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_53
|
||||||
|
XSNS_53,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_54
|
||||||
|
XSNS_54,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_55
|
||||||
|
XSNS_55,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_56
|
||||||
|
XSNS_56,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_57
|
||||||
|
XSNS_57,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_58
|
||||||
|
XSNS_58,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_59
|
||||||
|
XSNS_59,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_60
|
||||||
|
XSNS_60,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_61
|
||||||
|
XSNS_61,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_62
|
||||||
|
XSNS_62,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_63
|
||||||
|
XSNS_63,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_64
|
||||||
|
XSNS_64,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_65
|
||||||
|
XSNS_65,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_66
|
||||||
|
XSNS_66,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_67
|
||||||
|
XSNS_67,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_68
|
||||||
|
XSNS_68,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_69
|
||||||
|
XSNS_69,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_70
|
||||||
|
XSNS_70,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_71
|
||||||
|
XSNS_71,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_72
|
||||||
|
XSNS_72,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_73
|
||||||
|
XSNS_73,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_74
|
||||||
|
XSNS_74,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_75
|
||||||
|
XSNS_75,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_76
|
||||||
|
XSNS_76,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_77
|
||||||
|
XSNS_77,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_78
|
||||||
|
XSNS_78,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_79
|
||||||
|
XSNS_79,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_80
|
||||||
|
XSNS_80,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_81
|
||||||
|
XSNS_81,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_82
|
||||||
|
XSNS_82,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_83
|
||||||
|
XSNS_83,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_84
|
||||||
|
XSNS_84,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_85
|
||||||
|
XSNS_85,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_86
|
||||||
|
XSNS_86,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_87
|
||||||
|
XSNS_87,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_88
|
||||||
|
XSNS_88,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_89
|
||||||
|
XSNS_89,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_90
|
||||||
|
XSNS_90,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_91
|
||||||
|
XSNS_91,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_92
|
||||||
|
XSNS_92,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_93
|
||||||
|
XSNS_93,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_94
|
||||||
|
XSNS_94,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XSNS_95
|
||||||
|
XSNS_95
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
|
||||||
|
bool XsnsEnabled(uint32_t sns_index)
|
||||||
|
{
|
||||||
|
if (sns_index < sizeof(kXsnsList)) {
|
||||||
|
#ifdef XFUNC_PTR_IN_ROM
|
||||||
|
uint32_t index = pgm_read_byte(kXsnsList + sns_index);
|
||||||
|
#else
|
||||||
|
uint32_t index = kXsnsList[sns_index];
|
||||||
|
#endif
|
||||||
|
return bitRead(Settings.sensors[index / 32], index % 32);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
/*********************************************************************************************\
|
/*********************************************************************************************\
|
||||||
* Function call to all xsns
|
* Function call to all xsns
|
||||||
\*********************************************************************************************/
|
\*********************************************************************************************/
|
||||||
|
@ -453,6 +857,8 @@ bool XsnsCall(uint8_t Function)
|
||||||
if (XsnsEnabled(x)) {
|
if (XsnsEnabled(x)) {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
if ((FUNC_WEB_SENSOR == Function) && !XsnsEnabled(x)) { continue; } // Skip web info for disabled sensors
|
||||||
|
|
||||||
#ifdef PROFILE_XSNS_SENSOR_EVERY_SECOND
|
#ifdef PROFILE_XSNS_SENSOR_EVERY_SECOND
|
||||||
uint32_t profile_start_millis = millis();
|
uint32_t profile_start_millis = millis();
|
||||||
#endif // PROFILE_XSNS_SENSOR_EVERY_SECOND
|
#endif // PROFILE_XSNS_SENSOR_EVERY_SECOND
|
||||||
|
|
|
@ -24,256 +24,6 @@
|
||||||
* Needs to be the last alphabetical file due to DEFINE compile order
|
* Needs to be the last alphabetical file due to DEFINE compile order
|
||||||
\*********************************************************************************************/
|
\*********************************************************************************************/
|
||||||
|
|
||||||
/*********************************************************************************************\
|
|
||||||
* Xsns available list
|
|
||||||
\*********************************************************************************************/
|
|
||||||
|
|
||||||
#ifdef XFUNC_PTR_IN_ROM
|
|
||||||
const uint8_t kXsnsList[] PROGMEM = {
|
|
||||||
#else
|
|
||||||
const uint8_t kXsnsList[] = {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef XSNS_01
|
|
||||||
XSNS_01,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef XSNS_02
|
|
||||||
XSNS_02,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef XSNS_03
|
|
||||||
XSNS_03,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef XSNS_04
|
|
||||||
XSNS_04,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef XSNS_05
|
|
||||||
XSNS_05,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef XSNS_06
|
|
||||||
XSNS_06,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef XSNS_07
|
|
||||||
XSNS_07,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef XSNS_08
|
|
||||||
XSNS_08,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef XSNS_09
|
|
||||||
XSNS_09,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef XSNS_10
|
|
||||||
XSNS_10,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef XSNS_11
|
|
||||||
XSNS_11,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef XSNS_12
|
|
||||||
XSNS_12,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef XSNS_13
|
|
||||||
XSNS_13,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef XSNS_14
|
|
||||||
XSNS_14,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef XSNS_15
|
|
||||||
XSNS_15,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef XSNS_16
|
|
||||||
XSNS_16,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef XSNS_17
|
|
||||||
XSNS_17,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef XSNS_18
|
|
||||||
XSNS_18,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef XSNS_19
|
|
||||||
XSNS_19,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef XSNS_20
|
|
||||||
XSNS_20,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef XSNS_21
|
|
||||||
XSNS_21,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef XSNS_22
|
|
||||||
XSNS_22,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef XSNS_23
|
|
||||||
XSNS_23,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef XSNS_24
|
|
||||||
XSNS_24,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef XSNS_25
|
|
||||||
XSNS_25,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef XSNS_26
|
|
||||||
XSNS_26,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef XSNS_27
|
|
||||||
XSNS_27,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef XSNS_28
|
|
||||||
XSNS_28,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef XSNS_29
|
|
||||||
XSNS_29,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef XSNS_30
|
|
||||||
XSNS_30,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef XSNS_31
|
|
||||||
XSNS_31,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef XSNS_32
|
|
||||||
XSNS_32,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef XSNS_33
|
|
||||||
XSNS_33,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef XSNS_34
|
|
||||||
XSNS_34,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef XSNS_35
|
|
||||||
XSNS_35,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef XSNS_36
|
|
||||||
XSNS_36,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef XSNS_37
|
|
||||||
XSNS_37,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef XSNS_38
|
|
||||||
XSNS_38,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef XSNS_39
|
|
||||||
XSNS_39,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef XSNS_40
|
|
||||||
XSNS_40,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef XSNS_41
|
|
||||||
XSNS_41,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef XSNS_42
|
|
||||||
XSNS_42,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef XSNS_43
|
|
||||||
XSNS_43,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef XSNS_44
|
|
||||||
XSNS_44,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef XSNS_45
|
|
||||||
XSNS_45,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef XSNS_46
|
|
||||||
XSNS_46,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef XSNS_47
|
|
||||||
XSNS_47,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef XSNS_48
|
|
||||||
XSNS_48,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef XSNS_49
|
|
||||||
XSNS_49,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef XSNS_50
|
|
||||||
XSNS_50,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// Optional user defined sensors in range 91 - 99
|
|
||||||
|
|
||||||
#ifdef XSNS_91
|
|
||||||
XSNS_91,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef XSNS_92
|
|
||||||
XSNS_92,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef XSNS_93
|
|
||||||
XSNS_93,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef XSNS_94
|
|
||||||
XSNS_94,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef XSNS_95
|
|
||||||
XSNS_95
|
|
||||||
#endif
|
|
||||||
};
|
|
||||||
|
|
||||||
/*********************************************************************************************\
|
|
||||||
* Xsns sensor control
|
|
||||||
\*********************************************************************************************/
|
|
||||||
|
|
||||||
bool XsnsEnabled(uint8_t sns_index)
|
|
||||||
{
|
|
||||||
if (sns_index < sizeof(kXsnsList)) {
|
|
||||||
#ifdef XFUNC_PTR_IN_ROM
|
|
||||||
uint8_t index = pgm_read_byte(kXsnsList + sns_index);
|
|
||||||
#else
|
|
||||||
uint8_t index = kXsnsList[sns_index];
|
|
||||||
#endif
|
|
||||||
return bitRead(Settings.sensors[index / 32], index % 32);
|
|
||||||
}
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool XsnsPresent(uint8_t sns_index)
|
bool XsnsPresent(uint8_t sns_index)
|
||||||
{
|
{
|
||||||
uint8_t index = 0;
|
uint8_t index = 0;
|
||||||
|
|
Loading…
Reference in New Issue