mirror of
https://github.com/arendst/Tasmota.git
synced 2025-07-23 02:36:35 +00:00
Refactor I2C driver detection phase 8
This commit is contained in:
parent
9c9d177ad5
commit
7d1794ee5b
@ -71,8 +71,6 @@ uint16_t read_irtmp(uint8_t flag)
|
||||
|
||||
void MLX90614_Every_Second(void)
|
||||
{
|
||||
if (!mlx_ready) { return; }
|
||||
|
||||
uint16_t uval = read_irtmp(1);
|
||||
if (uval & 0x8000) {
|
||||
obj_temp = -999;
|
||||
@ -95,8 +93,6 @@ void MLX90614_Every_Second(void)
|
||||
|
||||
void MLX90614_Show(uint8_t json)
|
||||
{
|
||||
if (!mlx_ready) { return; }
|
||||
|
||||
char obj_tstr[16];
|
||||
dtostrfd(obj_temp, Settings.flag2.temperature_resolution, obj_tstr);
|
||||
char amb_tstr[16];
|
||||
@ -121,21 +117,23 @@ bool Xsns46(byte function)
|
||||
|
||||
bool result = false;
|
||||
|
||||
switch (function) {
|
||||
case FUNC_EVERY_SECOND:
|
||||
MLX90614_Every_Second();
|
||||
break;
|
||||
case FUNC_JSON_APPEND:
|
||||
MLX90614_Show(1);
|
||||
break;
|
||||
if (FUNC_INIT == function) {
|
||||
MLX90614_Init();
|
||||
}
|
||||
else if (mlx_ready) {
|
||||
switch (function) {
|
||||
case FUNC_EVERY_SECOND:
|
||||
MLX90614_Every_Second();
|
||||
break;
|
||||
case FUNC_JSON_APPEND:
|
||||
MLX90614_Show(1);
|
||||
break;
|
||||
#ifdef USE_WEBSERVER
|
||||
case FUNC_WEB_SENSOR:
|
||||
MLX90614_Show(0);
|
||||
break;
|
||||
case FUNC_WEB_SENSOR:
|
||||
MLX90614_Show(0);
|
||||
break;
|
||||
#endif // USE_WEBSERVER
|
||||
case FUNC_INIT:
|
||||
MLX90614_Init();
|
||||
break;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
@ -309,7 +309,6 @@ void PAJ7620ReadGesture(void)
|
||||
|
||||
void PAJ7620Detect(void)
|
||||
{
|
||||
PAJ7620_next_job = 255; // do not loop
|
||||
if (I2cActive(PAJ7620_ADDR)) { return; }
|
||||
|
||||
PAJ7620SelectBank(0);
|
||||
@ -351,13 +350,8 @@ void PAJ7620Init(void)
|
||||
|
||||
void PAJ7620Loop(void)
|
||||
{
|
||||
if (255 == PAJ7620_next_job) { return; }
|
||||
|
||||
if (0 == PAJ7620_timeout_counter) {
|
||||
switch (PAJ7620_next_job) {
|
||||
case 0:
|
||||
PAJ7620Detect();
|
||||
break;
|
||||
case 1:
|
||||
PAJ7620Init();
|
||||
break;
|
||||
@ -376,8 +370,6 @@ void PAJ7620Loop(void)
|
||||
|
||||
void PAJ7620Show(bool json)
|
||||
{
|
||||
if (255 == PAJ7620_next_job) { return; }
|
||||
|
||||
if (json) {
|
||||
if (PAJ7620_currentGestureName[0] != '\0' ) {
|
||||
ResponseAppend_P(PSTR(",\"%s\":{\"%s\":%u}"), PAJ7620_name, PAJ7620_currentGestureName, PAJ7620_gesture.same);
|
||||
@ -436,18 +428,23 @@ bool Xsns50(uint8_t function)
|
||||
|
||||
bool result = false;
|
||||
|
||||
switch (function) {
|
||||
case FUNC_COMMAND_SENSOR:
|
||||
if (XSNS_50 == XdrvMailbox.index){
|
||||
result = PAJ7620CommandSensor();
|
||||
}
|
||||
break;
|
||||
case FUNC_EVERY_100_MSECOND:
|
||||
PAJ7620Loop();
|
||||
break;
|
||||
case FUNC_JSON_APPEND:
|
||||
PAJ7620Show(1);
|
||||
break;
|
||||
if (FUNC_INIT == function) {
|
||||
PAJ7620Detect();
|
||||
}
|
||||
else if (PAJ7620_next_job) {
|
||||
switch (function) {
|
||||
case FUNC_COMMAND_SENSOR:
|
||||
if (XSNS_50 == XdrvMailbox.index){
|
||||
result = PAJ7620CommandSensor();
|
||||
}
|
||||
break;
|
||||
case FUNC_EVERY_100_MSECOND:
|
||||
PAJ7620Loop();
|
||||
break;
|
||||
case FUNC_JSON_APPEND:
|
||||
PAJ7620Show(1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user