Fix override channel parameter
This commit is contained in:
@@ -748,7 +748,7 @@ bool w_customFn(void* user, uint8_t* data, uint32_t bitoffs,
|
||||
str = yaml_unsigned2str(CFN_CH_INDEX(cfn)); // CH index
|
||||
if (!wf(opaque, str, strlen(str))) return false;
|
||||
if (!wf(opaque, ",", 1)) return false;
|
||||
str = yaml_unsigned2str(CFN_PARAM(cfn)); // value
|
||||
str = yaml_signed2str(CFN_PARAM(cfn)); // value
|
||||
if (!wf(opaque, str, strlen(str))) return false;
|
||||
break;
|
||||
|
||||
|
||||
@@ -1051,6 +1051,7 @@ static void r_customFn(void* user, uint8_t* data, uint32_t bitoffs,
|
||||
CFN_CH_INDEX(cfn) = yaml_str2uint_ref(val, val_len);
|
||||
// ","
|
||||
if (!val_len || val[0] != ',') return;
|
||||
val++; val_len--;
|
||||
// value
|
||||
CFN_PARAM(cfn) = yaml_str2int_ref(val, val_len);
|
||||
}
|
||||
@@ -1235,7 +1236,7 @@ static bool w_customFn(void* user, uint8_t* data, uint32_t bitoffs,
|
||||
str = yaml_unsigned2str(CFN_CH_INDEX(cfn)); // CH index
|
||||
if (!wf(opaque, str, strlen(str))) return false;
|
||||
if (!wf(opaque, ",", 1)) return false;
|
||||
str = yaml_unsigned2str(CFN_PARAM(cfn)); // value
|
||||
str = yaml_signed2str(CFN_PARAM(cfn)); // value
|
||||
if (!wf(opaque, str, strlen(str))) return false;
|
||||
break;
|
||||
|
||||
|
||||
@@ -442,6 +442,10 @@ TEST(Conversions, ConversionTX16SFrom25)
|
||||
EXPECT_EQ(MODULE_SUBTYPE_PXX1_ACCST_LR12, g_model.moduleData[1].subType);
|
||||
EXPECT_EQ(4, g_model.moduleData[1].channelsCount); // 4 + 8 = 12
|
||||
|
||||
EXPECT_EQ(-SWSRC_SE0, g_model.customFn[0].swtch);
|
||||
EXPECT_EQ(FUNC_OVERRIDE_CHANNEL, g_model.customFn[0].func);
|
||||
EXPECT_EQ(-100, CFN_PARAM(&(g_model.customFn[0])));
|
||||
|
||||
const auto& top_widget = g_model.topbarData.zones[3];
|
||||
EXPECT_STRNEQ("Value", top_widget.widgetName);
|
||||
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user