Consistently mark frame owners

This commit is contained in:
Allen Hill
2026-07-06 20:31:22 -07:00
parent 0664c1e7bd
commit 103b595abb
2 changed files with 6 additions and 2 deletions
+1
View File
@@ -339,6 +339,7 @@ bool CDChanger::pending() { return cdtimer_pending(); }
void CDChanger::resolvepending() { cdtimer_clear(); } void CDChanger::resolvepending() { cdtimer_clear(); }
void CDChanger::emit(Frame *out, uint16_t peripheral) { void CDChanger::emit(Frame *out, uint16_t peripheral) {
out->owning_device = id; // so react() routes r_StateReport back here
out->peripheral_addr = peripheral; out->peripheral_addr = peripheral;
generateStatus(out, false, Device::STATUS); generateStatus(out, false, Device::STATUS);
out->reaction = r_StateReport; out->reaction = r_StateReport;
+5 -2
View File
@@ -103,8 +103,11 @@ public:
case PACK3(COMMUNICATION_V2, COMM_CTRL, case PACK3(COMMUNICATION_V2, COMM_CTRL,
to_underlying(Advertise_Function)): to_underlying(Advertise_Function)):
((Devs::id == static_cast<Device>(b3) ((Devs::id == static_cast<Device>(b3)
? std::get<Devs>(devices_).enable(out), ? [&] {
0 : 0), out->owning_device = Devs::id;
std::get<Devs>(devices_).enable(out);
}()
: void()),
...); ...);
break; break;
case PACK3(COMMUNICATION_V1, COMM_CTRL, to_underlying(Ping_Req)): case PACK3(COMMUNICATION_V1, COMM_CTRL, to_underlying(Ping_Req)):