From eb758d49d342e8f2a5219214e3a74c6fb32f17b8 Mon Sep 17 00:00:00 2001 From: gemu2015 Date: Thu, 7 May 2020 16:16:46 +0200 Subject: [PATCH 1/2] scripter tasks --- tasmota/xdrv_10_scripter.ino | 57 ++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/tasmota/xdrv_10_scripter.ino b/tasmota/xdrv_10_scripter.ino index d76954715..38c8f158f 100755 --- a/tasmota/xdrv_10_scripter.ino +++ b/tasmota/xdrv_10_scripter.ino @@ -1186,6 +1186,22 @@ chknext: fvar=xPortGetCoreID(); goto exit; } +#ifdef USE_SCRIPT_TASK + if (!strncmp(vname,"ct(",3)) { + lp+=3; + lp=GetNumericResult(lp,OPER_EQU,&fvar,0); + while (*lp==' ') lp++; + float fvar1; + lp=GetNumericResult(lp,OPER_EQU,&fvar1,0); + while (*lp==' ') lp++; + float fvar2; + lp=GetNumericResult(lp,OPER_EQU,&fvar2,0); + lp++; + fvar=scripter_create_task(fvar,fvar1,fvar2); + len=0; + goto exit; + } +#endif #endif break; case 'd': @@ -5099,6 +5115,47 @@ bool RulesProcessEvent(char *json_event) { if (bitRead(Settings.rule_enabled, 0)) Run_Scripter(">E",2,json_event); } +#ifdef ESP32 +#ifdef USE_SCRIPT_TASK +uint16_t task_timer1; +uint16_t task_timer2; + +void script_task1(void *arg) { + while (1) { + delay(task_timer1); + Run_Scripter(">t1",3,0); + } +} + +void script_task2(void *arg) { + while (1) { + delay(task_timer2); + Run_Scripter(">t2",3,0); + } +} +#ifndef STASK_STACK +#define STASK_STACK 4096 +#endif + +#ifndef STASK_PRIO +#define STASK_PRIO 5 +#endif + +uint32_t scripter_create_task(uint32_t num, uint32_t time, uint32_t core) { + //return 0; + BaseType_t res=0; + if (core>1) {core = 1;} + if (num == 1) { + res = xTaskCreatePinnedToCore(script_task1, "T 1", STASK_STACK, NULL, STASK_PRIO, NULL, core); + task_timer1=time; + } else { + res = xTaskCreatePinnedToCore(script_task2, "T 2", STASK_STACK, NULL, STASK_PRIO, NULL, core); + task_timer2=time; + } + return res; +} +#endif // USE_SCRIPT_TASK +#endif // ESP32 /*********************************************************************************************\ * Interface \*********************************************************************************************/ From 72b49a5f2d03a3dcfecc11c7f993cd2dbb1f5c71 Mon Sep 17 00:00:00 2001 From: gemu2015 Date: Thu, 7 May 2020 16:23:05 +0200 Subject: [PATCH 2/2] Update platformio.ini --- platformio.ini | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/platformio.ini b/platformio.ini index 23ebbaa12..afa634fde 100755 --- a/platformio.ini +++ b/platformio.ini @@ -17,10 +17,10 @@ extra_configs = platformio_tasmota_env.ini platformio_override.ini ; *** Build/upload environment -default_envs = +default_envs = ; *** Uncomment by deleting ";" in the line(s) below to select version(s) ; tasmota -; tasmota-ircustom +; tasmota-ircustom ; tasmota-minimal ; tasmota-lite ; tasmota-knx @@ -66,8 +66,8 @@ platform_packages = ${core_active.platform_packages} build_flags = ${core_active.build_flags} ; ********************************************************************* -; *** Use custom settings from file user_config_override.h - -DUSE_CONFIG_OVERRIDE +; *** Use custom settings from file user_config_override.h +; -DUSE_CONFIG_OVERRIDE ; ********************************************************************* ; *** Fix espressif8266@1.7.0 induced undesired all warnings