diff --git a/src/driver/drv_tuyaMCU.c b/src/driver/drv_tuyaMCU.c index 29d96697b..eb7de6880 100644 --- a/src/driver/drv_tuyaMCU.c +++ b/src/driver/drv_tuyaMCU.c @@ -573,6 +573,10 @@ void TuyaMCU_SendHexString(uint8_t id, char data[]) { } void TuyaMCU_SendString(uint8_t id, char data[]) { + if (g_tuyaMCUpayloadBuffer == 0) { + // TuyaMCU not ran + return; + } uint16_t len = strlen(data); uint16_t payload_len = 4 + len; g_tuyaMCUpayloadBuffer[0] = id; diff --git a/src/driver/drv_tuyaMCUPixLED.c b/src/driver/drv_tuyaMCUPixLED.c index a065e9e17..4dd78d41d 100644 --- a/src/driver/drv_tuyaMCUPixLED.c +++ b/src/driver/drv_tuyaMCUPixLED.c @@ -15,10 +15,14 @@ int g_numLEDs = 0; byte *g_ledStates; int g_id_states = 104; +void TuyaMCU_SendString(uint8_t id, char data[]); + // startDriver tmPixLED void TuyaMCU_PixelLED_Init() { g_numLEDs = Tokenizer_GetArgIntegerDefault(1, 12); - g_ledStates = (byte*)malloc(g_numLEDs); + g_id_states = Tokenizer_GetArgIntegerDefault(2, 104); + g_ledStates = (byte*)malloc(g_numLEDs); + memset(g_ledStates, 0, g_numLEDs); } void TuyaMCU_PixelLED_SetOnOff() { char tmp[32];