mirror of
https://github.com/openshwprojects/OpenBK7231T_App.git
synced 2026-02-05 03:35:32 +00:00
float change callback temp fix
This commit is contained in:
@ -1376,6 +1376,7 @@ void CHANNEL_ClearAllChannels() {
|
||||
|
||||
void CHANNEL_Set_FloatPWM(int ch, float fVal, int iFlags) {
|
||||
int i;
|
||||
float prevValue = g_channelValuesFloats[ch];
|
||||
|
||||
g_channelValues[ch] = (int)fVal;
|
||||
g_channelValuesFloats[ch] = fVal;
|
||||
@ -1390,6 +1391,9 @@ void CHANNEL_Set_FloatPWM(int ch, float fVal, int iFlags) {
|
||||
}
|
||||
}
|
||||
}
|
||||
// TODO: support float
|
||||
EventHandlers_FireEvent(CMD_EVENT_CHANNEL_ONCHANGE, ch);
|
||||
EventHandlers_ProcessVariableChange_Integer(CMD_EVENT_CHANGE_CHANNEL0 + ch, prevValue, fVal);
|
||||
}
|
||||
void CHANNEL_SetSmart(int ch, float fVal, int iFlags) {
|
||||
if (ch < 0 || ch >= CHANNEL_MAX)
|
||||
|
||||
@ -106,24 +106,21 @@ void Test_ChangeHandlers2() {
|
||||
SIM_ClearOBK(0);
|
||||
SIM_ClearAndPrepareForMQTTTesting("handlerTester", "bekens");
|
||||
|
||||
CMD_ExecuteCommand("setChannel 20 0", 0);
|
||||
CMD_ExecuteCommand("setChannel 1 0", 0);
|
||||
CMD_ExecuteCommand("setChannelFloat 20 0", 0); CMD_ExecuteCommand("setChannel 1 0", 0);
|
||||
CMD_ExecuteCommand("addChangeHandler Channel20 != 0 addChannel 1 1", 0);
|
||||
SELFTEST_ASSERT_CHANNEL(20, 0); SELFTEST_ASSERT_CHANNEL(1, 0);
|
||||
// change handler will fire
|
||||
CMD_ExecuteCommand("setChannel 20 3", 0);
|
||||
// change handler will fire-> added 1 to channel 1, now 1
|
||||
CMD_ExecuteCommand("setChannelFloat 20 3", 0);
|
||||
SELFTEST_ASSERT_CHANNEL(20, 3); SELFTEST_ASSERT_CHANNEL(1, 1);
|
||||
// change handler will not fire
|
||||
CMD_ExecuteCommand("setChannel 20 4", 0);
|
||||
CMD_ExecuteCommand("setChannelFloat 20 4", 0);
|
||||
SELFTEST_ASSERT_CHANNEL(20, 4); SELFTEST_ASSERT_CHANNEL(1, 1);
|
||||
// change handler will not fire
|
||||
CMD_ExecuteCommand("setChannel 20 0", 0);
|
||||
CMD_ExecuteCommand("setChannelFloat 20 0", 0);
|
||||
SELFTEST_ASSERT_CHANNEL(20, 0); SELFTEST_ASSERT_CHANNEL(1, 1);
|
||||
// change handler will fire
|
||||
CMD_ExecuteCommand("setChannel 20 5", 0);
|
||||
SELFTEST_ASSERT_CHANNEL(20, 5); SELFTEST_ASSERT_CHANNEL(1, 2);
|
||||
|
||||
|
||||
// change handler will fire -> added 1 to channel 1, now 2
|
||||
CMD_ExecuteCommand("setChannelFloat 20 5", 0);
|
||||
SELFTEST_ASSERT_CHANNEL(20, 5); SELFTEST_ASSERT_CHANNEL(1, 2);
|
||||
}
|
||||
|
||||
void Test_ChangeHandlers_EnsureThatChannelVariableIsExpandedAtHandlerRunTime() {
|
||||
|
||||
Reference in New Issue
Block a user