2.7 KiB
2.7 KiB
Next Steps
Priority
- Investigate Protocol 2 stop handling.
- Complete Protocol 2 Alex support for boards with
Alex1. - Continue UI cleanup for Protocol 2 specific hardware presentation.
Immediate Issues To Debug
Protocol 2 stop crash
- Re-test why the application crashes when the user presses
Stopwhile working with a Protocol 2 device. - Re-verify why the Protocol 2 stop command may still not be correctly sent to the transceiver.
- Check the shutdown path across:
src/DataEngine/cusdr_dataEngine.cppsrc/DataEngine/cusdr_dataIO.cppsrc/DataEngine/cusdr_protocol2_io.cpp
- Already fixed one likely cause in
src/DataEngine/cusdr_protocol2_io.cpp:- duplicate
P2 stopsend, - stop without
m_running, - timer/socket signal disconnect before deletion.
- duplicate
- Already fixed a second class of issues in
src/DataEngine/cusdr_dataEngine.cpp:DataIOcontrol calls now go throughQMetaObject::invokeMethod(..., Qt::BlockingQueuedConnection),- so start/stop/init execute in the
DataIOthread instead of the caller thread.
- Already fixed a concrete
Protocol 2destructor bug insrc/DataEngine/cusdr_dataIO.cpp:m_dataIOSocketOn == truewithm_dataIOSocket == 0could dereference a null pointer during shutdown.
- Already moved
CSoundOutdeletion out ofDataIO::stop()and into the destructor to reduce timer/thread teardown issues. - Pay special attention to:
- socket lifetime,
- timer lifetime,
QObjectownership and deletion thread,- repeated stop calls,
networkDeviceStartStop(0),Protocol2DataPath::stop(),sendHighPriorityPacket(false),- whether the command socket is still valid when stop is triggered,
- whether
DataIO/Protocol2DataPathshould be destroyed viadeleteLater()in their own thread instead of direct delete fromDataEngine, - whether the target
P2board expects additional shutdown packets or repeatedrun = 0frames.
Protocol 2 Functional Work
- Implement proper
Alex1/BPF2/RX2handling for boards that support a second Alex register:- Orion MkII
- SATURN / ANAN-G2
- Use Appendix D from
doc/openHPSDR Ethernet Protocol v4.3.docxto map the second Alex register bits correctly. - Consider extending Protocol 2 capability handling beyond board defaults where discovery returns more precise information.
- Consider support for XML/full hardware description discovery replies for board
254/255.
UI Work
- Review UI areas that still assume
Metis/Hermessemantics internally. - Make Protocol 2 model/capability presentation more explicit where useful:
- selected model,
- protocol version,
- ADC/DDC count,
- Alex availability.
Reference
- Detailed log of completed work:
WORKLOG_PROTOCOL2_2026-04-13.md