Skip to content

Commit dda11c8

Browse files
committed
Remove DMX node personality and update store
Remove the obsolete 'personality' field from the ConfigurationStore DmxNode (replaced with reserved[2]) and drop the corresponding JSON key/handler. Rename/standardize the inline store variable from store_dmxnode_ to store_dmxnode and update all references across dmxnode JSON parsing, serialization and setters. Also remove emission of the personality field from the JSON serializer. Minor IDE language settings hash updated.
1 parent 80f9f45 commit dda11c8

6 files changed

Lines changed: 35 additions & 53 deletions

File tree

lib-configstore/include/configurationstore.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -167,8 +167,7 @@ struct Flags
167167
struct DmxNode
168168
{
169169
uint32_t flags;
170-
uint8_t personality;
171-
uint8_t reserved;
170+
uint8_t reserved[2];
172171
uint16_t universe[dmxnode::kParamPorts];
173172
uint16_t direction;
174173
uint16_t merge_mode;

lib-dmxnode/.settings/language.settings.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
66
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
77
<provider copy-of="extension" id="org.eclipse.cdt.managedbuilder.core.GCCBuildCommandParser"/>
8-
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="1418284478495118478" id="org.eclipse.embedcdt.managedbuild.cross.arm.core.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT Arm Cross GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} ${cross_toolchain_flags} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
8+
<provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuiltinSpecsDetector" console="false" env-hash="1124212694268444622" id="org.eclipse.embedcdt.managedbuild.cross.arm.core.GCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT Arm Cross GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} ${cross_toolchain_flags} -E -P -v -dD &quot;${INPUTS}&quot;" prefer-non-shared="true">
99
<language-scope id="org.eclipse.cdt.core.gcc"/>
1010
<language-scope id="org.eclipse.cdt.core.g++"/>
1111
</provider>

lib-dmxnode/include/json/dmxnodeparams.h

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,9 @@ class DmxNodeParams : public JsonParamsBase<DmxNodeParams>
4040

4141
private:
4242
static_assert(static_cast<uint32_t>(dmxnode::OutputStyle::kDelta) == 0);
43-
dmxnode::OutputStyle GetOutputStyleSet(uint8_t mask) const { return (store_dmxnode_.output_style & mask) == mask ? dmxnode::OutputStyle::kConstant : dmxnode::OutputStyle::kDelta; }
43+
dmxnode::OutputStyle GetOutputStyleSet(uint8_t mask) const { return (store_dmxnode.output_style & mask) == mask ? dmxnode::OutputStyle::kConstant : dmxnode::OutputStyle::kDelta; }
4444

4545
private:
46-
static void SetPersonality(const char* val, uint32_t len);
4746
static void SetNodeName(const char* val, uint32_t len);
4847
static void SetFailsafe(const char* val, uint32_t len);
4948
static void SetDisableMergeTimeout(const char* val, uint32_t len);
@@ -53,8 +52,7 @@ class DmxNodeParams : public JsonParamsBase<DmxNodeParams>
5352
static void SetMergeModePort(const char* key, uint32_t key_len, const char* val, uint32_t val_len);
5453
static void SetOutputStylePort(const char* key, uint32_t key_len, const char* val, uint32_t val_len);
5554

56-
static constexpr json::Key kDmxNodeKeys[] = {
57-
MakeKey(SetPersonality, DmxNodeParamsConst::kPersonality),
55+
static constexpr json::Key kDmxNodeKeys[] = {
5856
MakeKey(SetNodeName, DmxNodeParamsConst::kNodeName),
5957
MakeKey(SetFailsafe, DmxNodeParamsConst::kFailsafe),
6058
MakeKey(SetDisableMergeTimeout, DmxNodeParamsConst::kDisableMergeTimeout),
@@ -86,7 +84,7 @@ class DmxNodeParams : public JsonParamsBase<DmxNodeParams>
8684
#endif
8785
};
8886

89-
inline static common::store::DmxNode store_dmxnode_;
87+
inline static common::store::DmxNode store_dmxnode;
9088

9189
friend class JsonParamsBase<DmxNodeParams>;
9290
};

lib-dmxnode/include/json/dmxnodeparamsconst.h

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,6 @@ struct DmxNodeParamsConst
2525
{
2626
static constexpr char kFileName[] = "dmxnode.json";
2727

28-
static constexpr json::SimpleKey kPersonality {
29-
"personality",
30-
11,
31-
Fnv1a32("personality", 11)
32-
};
33-
3428
static constexpr json::SimpleKey kNodeName {
3529
"node_name",
3630
9,

lib-dmxnode/src/json/dmxnodeparams.cpp

Lines changed: 30 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -48,35 +48,30 @@ namespace json
4848
{
4949
DmxNodeParams::DmxNodeParams()
5050
{
51-
ConfigStore::Instance().Copy(&store_dmxnode_, &ConfigurationStore::dmx_node);
52-
}
53-
54-
void DmxNodeParams::SetPersonality(const char* val, [[maybe_unused]] uint32_t len)
55-
{
56-
store_dmxnode_.personality = common::ToValue(dmxnode::GetPersonality(val));
51+
ConfigStore::Instance().Copy(&store_dmxnode, &ConfigurationStore::dmx_node);
5752
}
5853

5954
void DmxNodeParams::SetNodeName(const char* val, uint32_t len)
6055
{
6156
len = len > (common::store::dmxnode::kNodeNameLength - 1) ? common::store::dmxnode::kNodeNameLength - 1 : len;
62-
memcpy(reinterpret_cast<char*>(store_dmxnode_.node_name), val, len);
57+
memcpy(reinterpret_cast<char*>(store_dmxnode.node_name), val, len);
6358

6459
for (uint32_t i = len; i < common::store::dmxnode::kNodeNameLength - 1; i++)
6560
{
66-
store_dmxnode_.node_name[i] = '\0';
61+
store_dmxnode.node_name[i] = '\0';
6762
}
6863
}
6964

7065
void DmxNodeParams::SetFailsafe(const char* val, [[maybe_unused]] uint32_t len)
7166
{
72-
store_dmxnode_.fail_safe = common::ToValue(dmxnode::GetFailsafe(val));
67+
store_dmxnode.fail_safe = common::ToValue(dmxnode::GetFailsafe(val));
7368
}
7469

7570
void DmxNodeParams::SetDisableMergeTimeout(const char* val, [[maybe_unused]] uint32_t len)
7671
{
7772
if (len != 1) return;
7873

79-
store_dmxnode_.flags = common::SetFlagValue(store_dmxnode_.flags, Flags::Flag::kDisableMergeTimeout, val[0] != '0');
74+
store_dmxnode.flags = common::SetFlagValue(store_dmxnode.flags, Flags::Flag::kDisableMergeTimeout, val[0] != '0');
8075
}
8176

8277
void DmxNodeParams::SetLabelPort(const char* key, uint32_t key_len, const char* val, uint32_t val_len)
@@ -85,11 +80,11 @@ void DmxNodeParams::SetLabelPort(const char* key, uint32_t key_len, const char*
8580
const auto kIndex = static_cast<uint8_t>(kSuffix - 'a');
8681

8782
val_len = val_len > (common::store::dmxnode::kPortNameLength - 1) ? common::store::dmxnode::kPortNameLength - 1 : val_len;
88-
memcpy(reinterpret_cast<char*>(store_dmxnode_.port_name[kIndex]), val, val_len);
83+
memcpy(reinterpret_cast<char*>(store_dmxnode.port_name[kIndex]), val, val_len);
8984

9085
for (uint32_t i = val_len; i < common::store::dmxnode::kPortNameLength - 1; i++)
9186
{
92-
store_dmxnode_.port_name[kIndex][i] = '\0';
87+
store_dmxnode.port_name[kIndex][i] = '\0';
9388
}
9489
}
9590

@@ -99,27 +94,27 @@ void DmxNodeParams::SetUniversePort(const char* key, uint32_t key_len, const cha
9994
const auto kIndex = static_cast<uint8_t>(kSuffix - 'a');
10095

10196
auto v = ParseValue<uint16_t>(val, val_len);
102-
store_dmxnode_.universe[kIndex] = v;
97+
store_dmxnode.universe[kIndex] = v;
10398
}
10499

105100
void DmxNodeParams::SetDirectionPort(const char* key, uint32_t key_len, const char* val, [[maybe_unused]] uint32_t val_len)
106101
{
107102
const char kSuffix = key[key_len - 1];
108103
const auto kIndex = static_cast<uint8_t>(kSuffix - 'a');
109104

110-
auto direction = store_dmxnode_.direction;
105+
auto direction = store_dmxnode.direction;
111106
common::PortSet<dmxnode::PortDirection>(kIndex, dmxnode::GetPortDirection(val), direction);
112-
store_dmxnode_.direction = direction;
107+
store_dmxnode.direction = direction;
113108
}
114109

115110
void DmxNodeParams::SetMergeModePort(const char* key, uint32_t key_len, const char* val, [[maybe_unused]] uint32_t val_len)
116111
{
117112
const char kSuffix = key[key_len - 1];
118113
const auto kIndex = static_cast<uint8_t>(kSuffix - 'a');
119114

120-
auto merge_mode = store_dmxnode_.merge_mode;
115+
auto merge_mode = store_dmxnode.merge_mode;
121116
common::PortSet<dmxnode::MergeMode>(kIndex, dmxnode::GetMergeMode(val), merge_mode);
122-
store_dmxnode_.merge_mode = merge_mode;
117+
store_dmxnode.merge_mode = merge_mode;
123118
}
124119

125120
void DmxNodeParams::SetOutputStylePort(const char* key, uint32_t key_len, const char* val, [[maybe_unused]] uint32_t val_len)
@@ -130,18 +125,18 @@ void DmxNodeParams::SetOutputStylePort(const char* key, uint32_t key_len, const
130125

131126
if (kOutputStyle != dmxnode::OutputStyle::kDelta)
132127
{
133-
store_dmxnode_.output_style |= static_cast<uint8_t>(1U << kIndex);
128+
store_dmxnode.output_style |= static_cast<uint8_t>(1U << kIndex);
134129
}
135130
else
136131
{
137-
store_dmxnode_.output_style &= static_cast<uint8_t>(~(1U << kIndex));
132+
store_dmxnode.output_style &= static_cast<uint8_t>(~(1U << kIndex));
138133
}
139134
}
140135

141136
void DmxNodeParams::Store(const char* buffer, uint32_t buffer_size)
142137
{
143138
ParseJsonWithTable(buffer, buffer_size, kDmxNodeKeys);
144-
ConfigStore::Instance().Store(&store_dmxnode_, &ConfigurationStore::dmx_node);
139+
ConfigStore::Instance().Store(&store_dmxnode, &ConfigurationStore::dmx_node);
145140
}
146141

147142
void DmxNodeParams::Set()
@@ -151,9 +146,9 @@ void DmxNodeParams::Set()
151146
auto* dmx_node = DmxNodeNodeType::Get();
152147
assert(dmx_node != nullptr);
153148

154-
dmx_node->SetLongName(reinterpret_cast<char*>(store_dmxnode_.node_name));
155-
dmx_node->SetFailSafe(static_cast<dmxnode::FailSafe>(store_dmxnode_.fail_safe));
156-
dmx_node->SetDisableMergeTimeout(common::IsFlagSet(store_dmxnode_.flags, Flags::Flag::kDisableMergeTimeout));
149+
dmx_node->SetLongName(reinterpret_cast<char*>(store_dmxnode.node_name));
150+
dmx_node->SetFailSafe(static_cast<dmxnode::FailSafe>(store_dmxnode.fail_safe));
151+
dmx_node->SetDisableMergeTimeout(common::IsFlagSet(store_dmxnode.flags, Flags::Flag::kDisableMergeTimeout));
157152

158153
if constexpr (dmxnode::kConfigPortCount != 0)
159154
{
@@ -166,11 +161,11 @@ void DmxNodeParams::Set()
166161
break;
167162
}
168163

169-
dmx_node->SetShortName(kPortIndex, reinterpret_cast<char*>(store_dmxnode_.port_name[config_port_index]));
170-
dmx_node->SetUniverse(kPortIndex, store_dmxnode_.universe[config_port_index]);
171-
const auto kPortDirection = common::PortGet<dmxnode::PortDirection>(config_port_index, store_dmxnode_.direction);
164+
dmx_node->SetShortName(kPortIndex, reinterpret_cast<char*>(store_dmxnode.port_name[config_port_index]));
165+
dmx_node->SetUniverse(kPortIndex, store_dmxnode.universe[config_port_index]);
166+
const auto kPortDirection = common::PortGet<dmxnode::PortDirection>(config_port_index, store_dmxnode.direction);
172167
dmx_node->SetDirection(kPortIndex, kPortDirection);
173-
const auto kPortMergeMode = common::PortGet<dmxnode::MergeMode>(config_port_index, store_dmxnode_.merge_mode);
168+
const auto kPortMergeMode = common::PortGet<dmxnode::MergeMode>(config_port_index, store_dmxnode.merge_mode);
174169
dmx_node->SetMergeMode(kPortIndex, kPortMergeMode);
175170
#if defined(OUTPUT_HAVE_STYLESWITCH)
176171
const auto kOutputStyle = GetOutputStyleSet(1U << config_port_index);
@@ -188,23 +183,20 @@ void DmxNodeParams::Set()
188183
void DmxNodeParams::Dump()
189184
{
190185
printf("%s::%s \'%s\':\n", __FILE__, __FUNCTION__, json::DmxNodeParamsConst::kFileName);
191-
192-
printf(" %s=%s [%u]\n", json::DmxNodeParamsConst::kPersonality.name, dmxnode::GetPersonality(static_cast<dmxnode::Personality>(store_dmxnode_.personality)),
193-
store_dmxnode_.personality);
194-
printf(" %s=%s\n", json::DmxNodeParamsConst::kNodeName.name, store_dmxnode_.node_name);
195-
printf(" %s=%s [%u]\n", json::DmxNodeParamsConst::kFailsafe.name, dmxnode::GetFailsafe(static_cast<dmxnode::FailSafe>(store_dmxnode_.fail_safe)),
196-
store_dmxnode_.fail_safe);
197-
printf(" %s=%u\n", json::DmxNodeParamsConst::kDisableMergeTimeout.name, common::IsFlagSet(store_dmxnode_.flags, Flags::Flag::kDisableMergeTimeout));
186+
printf(" %s=%s\n", json::DmxNodeParamsConst::kNodeName.name, store_dmxnode.node_name);
187+
printf(" %s=%s [%u]\n", json::DmxNodeParamsConst::kFailsafe.name, dmxnode::GetFailsafe(static_cast<dmxnode::FailSafe>(store_dmxnode.fail_safe)),
188+
store_dmxnode.fail_safe);
189+
printf(" %s=%u\n", json::DmxNodeParamsConst::kDisableMergeTimeout.name, common::IsFlagSet(store_dmxnode.flags, Flags::Flag::kDisableMergeTimeout));
198190

199191
if constexpr (dmxnode::kConfigPortCount != 0)
200192
{
201193
for (uint32_t port_index = 0; port_index < dmxnode::kConfigPortCount; port_index++)
202194
{
203-
printf(" %s=%s\n", json::DmxNodeParamsConst::kLabelPort[port_index].name, reinterpret_cast<char*>(store_dmxnode_.port_name[port_index]));
204-
printf(" %s=%u\n", json::DmxNodeParamsConst::kUniversePort[port_index].name, store_dmxnode_.universe[port_index]);
205-
const auto kPortDirection = common::PortGet<dmxnode::PortDirection>(port_index, store_dmxnode_.direction);
195+
printf(" %s=%s\n", json::DmxNodeParamsConst::kLabelPort[port_index].name, reinterpret_cast<char*>(store_dmxnode.port_name[port_index]));
196+
printf(" %s=%u\n", json::DmxNodeParamsConst::kUniversePort[port_index].name, store_dmxnode.universe[port_index]);
197+
const auto kPortDirection = common::PortGet<dmxnode::PortDirection>(port_index, store_dmxnode.direction);
206198
printf(" %s=%s\n", json::DmxNodeParamsConst::kDirectionPort[port_index].name, dmxnode::GetPortDirection(kPortDirection));
207-
const auto kPortMergeMode = common::PortGet<dmxnode::MergeMode>(port_index, store_dmxnode_.merge_mode);
199+
const auto kPortMergeMode = common::PortGet<dmxnode::MergeMode>(port_index, store_dmxnode.merge_mode);
208200
printf(" %s=%s\n", json::DmxNodeParamsConst::kMergeModePort[port_index].name, dmxnode::GetMergeMode(kPortMergeMode));
209201
const auto kOutputStyle = GetOutputStyleSet(1U << port_index);
210202
printf(" %s=%s\n", DmxNodeParamsConst::kOutputStylePort[port_index].name, dmxnode::GetOutputStyle(kOutputStyle));

lib-dmxnode/src/json/json_config_dmxnode.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ uint32_t GetDmxNode(char* buffer, uint32_t length)
3838
assert(dmx_node != nullptr);
3939

4040
return json::helpers::Serialize(buffer, length, [&](JsonDoc& doc) {
41-
doc[json::DmxNodeParamsConst::kPersonality.name] = "node";
4241
doc[json::DmxNodeParamsConst::kNodeName.name] = dmx_node->GetLongName();
4342
doc[json::DmxNodeParamsConst::kFailsafe.name] = dmxnode::GetFailsafe(dmx_node->GetFailSafe());
4443
doc[json::DmxNodeParamsConst::kDisableMergeTimeout.name] = dmx_node->GetDisableMergeTimeout() ? 1 : 0;

0 commit comments

Comments
 (0)