mirror of
https://github.com/openshwprojects/OpenBK7231T_App.git
synced 2025-10-29 19:43:22 +00:00
prepare for I2C LED channels skip
This commit is contained in:
parent
e85b9a67be
commit
78ce33f01f
@ -120,11 +120,11 @@ commandResult_t CMD_LEDDriver_Map(const void *context, const char *cmd, const ch
|
||||
return CMD_RES_NOT_ENOUGH_ARGUMENTS;
|
||||
}
|
||||
|
||||
r = Tokenizer_GetArgIntegerRange(0, 0, 4);
|
||||
g = Tokenizer_GetArgIntegerRange(1, 0, 4);
|
||||
b = Tokenizer_GetArgIntegerRange(2, 0, 4);
|
||||
c = Tokenizer_GetArgIntegerRange(3, 0, 4);
|
||||
w = Tokenizer_GetArgIntegerRange(4, 0, 4);
|
||||
r = Tokenizer_GetArgIntegerRange(0, -1, 4);
|
||||
g = Tokenizer_GetArgIntegerRange(1, -1, 4);
|
||||
b = Tokenizer_GetArgIntegerRange(2, -1, 4);
|
||||
c = Tokenizer_GetArgIntegerRange(3, -1, 4);
|
||||
w = Tokenizer_GetArgIntegerRange(4, -1, 4);
|
||||
|
||||
CFG_SetLEDRemap(r, g, b, c, w);
|
||||
|
||||
|
||||
@ -216,6 +216,16 @@ void CFG_SetDefaultLEDRemap(int r, int g, int b, int c, int w) {
|
||||
CFG_SetLEDRemap(r, g, b, c, w);
|
||||
}
|
||||
}
|
||||
int CFG_CountLEDRemapChannels() {
|
||||
int r = 0;
|
||||
for (int i = 0; i < 5; i++) {
|
||||
int ch = g_cfg.ledRemap.ar[i];
|
||||
if (ch != 0xff) {
|
||||
r++;
|
||||
}
|
||||
}
|
||||
return r;
|
||||
}
|
||||
const char *CFG_GetWebappRoot(){
|
||||
return g_cfg.webappRoot;
|
||||
}
|
||||
|
||||
@ -39,6 +39,7 @@ void CFG_SetMQTTPass(const char *s);
|
||||
const char *CFG_GetWebappRoot();
|
||||
void CFG_SetLEDRemap(int r, int g, int b, int c, int w);
|
||||
void CFG_SetDefaultLEDRemap(int r, int g, int b, int c, int w);
|
||||
int CFG_CountLEDRemapChannels();
|
||||
int CFG_SetWebappRoot(const char *s);
|
||||
void CFG_InitAndLoad();
|
||||
//void CFG_ApplyStartChannelValues();
|
||||
|
||||
@ -546,6 +546,52 @@ void Test_LEDDriver_RGBCW() {
|
||||
SELFTEST_ASSERT_CHANNEL(4, 0);
|
||||
SELFTEST_ASSERT_CHANNEL(5, 0);
|
||||
}
|
||||
void Test_LEDDriver_BP5758_RGBCW() {
|
||||
// reset whole device
|
||||
SIM_ClearOBK(0);
|
||||
|
||||
Test_FakeHTTPClientPacket_GET("index");
|
||||
SELFTEST_ASSERT_HTML_REPLY_NOT_CONTAINS("LED RGB Color");
|
||||
SELFTEST_ASSERT_HTML_REPLY_NOT_CONTAINS("LED Temperature Slider");
|
||||
|
||||
CMD_ExecuteCommand("StartDriver BP5758D", 0);
|
||||
CMD_ExecuteCommand("led_dimmer 100", 0);
|
||||
CMD_ExecuteCommand("led_temperature 500", 0);
|
||||
|
||||
Test_FakeHTTPClientPacket_GET("index");
|
||||
SELFTEST_ASSERT_HTML_REPLY_CONTAINS("LED RGB Color");
|
||||
SELFTEST_ASSERT_HTML_REPLY_CONTAINS("LED Temperature Slider");
|
||||
|
||||
// Try force flag
|
||||
CFG_SetFlag(OBK_FLAG_LED_FORCE_MODE_RGB, 1);
|
||||
Test_FakeHTTPClientPacket_GET("index");
|
||||
SELFTEST_ASSERT_HTML_REPLY_CONTAINS("LED RGB Color");
|
||||
SELFTEST_ASSERT_HTML_REPLY_NOT_CONTAINS("LED Temperature Slider");
|
||||
|
||||
// Clear force flag
|
||||
CFG_SetFlag(OBK_FLAG_LED_FORCE_MODE_RGB, 0);
|
||||
Test_FakeHTTPClientPacket_GET("index");
|
||||
SELFTEST_ASSERT_HTML_REPLY_CONTAINS("LED RGB Color");
|
||||
SELFTEST_ASSERT_HTML_REPLY_CONTAINS("LED Temperature Slider");
|
||||
|
||||
CMD_ExecuteCommand("LED_Map 0 3 4 1 2", 0);
|
||||
SELFTEST_ASSERT(g_cfg.ledRemap.ar[0] == 0);
|
||||
SELFTEST_ASSERT(g_cfg.ledRemap.ar[1] == 3);
|
||||
SELFTEST_ASSERT(g_cfg.ledRemap.ar[2] == 4);
|
||||
SELFTEST_ASSERT(g_cfg.ledRemap.ar[3] == 1);
|
||||
SELFTEST_ASSERT(g_cfg.ledRemap.ar[4] == 2);
|
||||
|
||||
CMD_ExecuteCommand("LED_Map -1 -1 -1 1 2", 0);
|
||||
SELFTEST_ASSERT(g_cfg.ledRemap.ar[0] == 0xff);
|
||||
SELFTEST_ASSERT(g_cfg.ledRemap.ar[1] == 0xff);
|
||||
SELFTEST_ASSERT(g_cfg.ledRemap.ar[2] == 0xff);
|
||||
SELFTEST_ASSERT(g_cfg.ledRemap.ar[3] == 1);
|
||||
SELFTEST_ASSERT(g_cfg.ledRemap.ar[4] == 2);
|
||||
|
||||
Test_FakeHTTPClientPacket_GET("index");
|
||||
//SELFTEST_ASSERT_HTML_REPLY_NOT_CONTAINS("LED RGB Color");
|
||||
SELFTEST_ASSERT_HTML_REPLY_CONTAINS("LED Temperature Slider");
|
||||
}
|
||||
void Test_LEDDriver_RGB(int firstChannel) {
|
||||
// reset whole device
|
||||
SIM_ClearOBK(0);
|
||||
@ -690,6 +736,7 @@ void Test_LEDDriver() {
|
||||
Test_LEDDriver_RGB(1);
|
||||
Test_LEDDriver_RGBCW();
|
||||
Test_LEDDriver_Palette();
|
||||
Test_LEDDriver_BP5758_RGBCW();
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@ -49,6 +49,7 @@ void SelfTest_Failed(const char *file, const char *function, int line, const cha
|
||||
#define SELFTEST_ASSERT_INTEGER(current,expected) SELFTEST_ASSERT((expected==current));
|
||||
#define SELFTEST_ASSERT_HTML_REPLY(expected) SELFTEST_ASSERT((strcmp(Test_GetLastHTMLReply(),expected) == 0));
|
||||
#define SELFTEST_ASSERT_HTML_REPLY_CONTAINS(expected) SELFTEST_ASSERT((strstr(Test_GetLastHTMLReply(),expected)));
|
||||
#define SELFTEST_ASSERT_HTML_REPLY_NOT_CONTAINS(expected) SELFTEST_ASSERT(!(strstr(Test_GetLastHTMLReply(),expected)));
|
||||
#define SELFTEST_ASSERT_HAD_MQTT_PUBLISH_STR(topic, value, bRetain) SELFTEST_ASSERT(SIM_CheckMQTTHistoryForString(topic,value,bRetain));
|
||||
#define SELFTEST_ASSERT_HAD_MQTT_PUBLISH_FLOAT(topic, value, bRetain) SELFTEST_ASSERT(SIM_CheckMQTTHistoryForFloat(topic,value,bRetain));
|
||||
#define SELFTEST_ASSERT_FLAG(flag, value) SELFTEST_ASSERT(CFG_HasFlag(flag)==value);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user