menu entry to run internal alignment if supported by hardware version
Some checks are pending
Build / PC_Application_Ubuntu (push) Waiting to run
Build / PC_Application_RPi5 (push) Waiting to run
Build / PC_Application_Windows (push) Waiting to run
Build / PC_Application_OSX (push) Waiting to run
Build / PC_Application_OSX_13 (push) Waiting to run
Build / Embedded_Firmware (push) Waiting to run
HIL_Tests / Get_Repository (push) Waiting to run
HIL_Tests / PC_Application_RPi5 (push) Blocked by required conditions
HIL_Tests / Embedded_Firmware (push) Blocked by required conditions
HIL_Tests / HIL (push) Blocked by required conditions
Unit_Tests / Tests (push) Waiting to run

This commit is contained in:
Jan Käberich 2025-10-23 12:57:49 +02:00
parent ed699cfd6a
commit 6e2079fcfb
2 changed files with 23 additions and 2 deletions

View file

@ -206,6 +206,23 @@ LibreVNADriver::LibreVNADriver()
}); });
specificActions.push_back(freqcal); specificActions.push_back(freqcal);
auto internalAlignment = new QAction("Run Internal Alignment");
connect(internalAlignment, &QAction::triggered, this, [=](){
emit acquireControl();
Protocol::PacketInfo p;
p.type = Protocol::PacketType::PerformAction;
p.performAction.action = Protocol::Action::InternalAlignment;
SendPacket(p, [=](TransmissionResult res){
if(res == TransmissionResult::Ack) {
InformationBox::ShowMessage("Success", "Internal alignment completed");
} else {
InformationBox::ShowError("Error", "Running internal alignment failed");
}
emit releaseControl();
}, 5000);
});
specificActions.push_back(internalAlignment);
auto sep2 = new QAction(); auto sep2 = new QAction();
sep2->setSeparator(true); sep2->setSeparator(true);
specificActions.push_back(sep2); specificActions.push_back(sep2);
@ -220,7 +237,7 @@ LibreVNADriver::LibreVNADriver()
// set available actions for each hardware version // set available actions for each hardware version
availableActions[0x01] = {manual, config, update, sep, srccal, recvcal, freqcal, sep2, log}; availableActions[0x01] = {manual, config, update, sep, srccal, recvcal, freqcal, sep2, log};
availableActions[0xD0] = {manual, update, sep, srccal, recvcal, freqcal, sep2, log}; availableActions[0xD0] = {manual, update, sep, srccal, recvcal, freqcal, sep2, log};
availableActions[0xE0] = {manual, update, sep, srccal, recvcal, freqcal, sep2, log}; availableActions[0xE0] = {manual, update, sep, srccal, recvcal, freqcal, internalAlignment, sep2, log};
availableActions[0xFD] = {manual, update, sep, srccal, recvcal, freqcal, sep2, log}; availableActions[0xFD] = {manual, update, sep, srccal, recvcal, freqcal, sep2, log};
availableActions[0xFE] = {manual, config, update, sep, srccal, recvcal, freqcal, sep2, log}; availableActions[0xFE] = {manual, config, update, sep, srccal, recvcal, freqcal, sep2, log};
availableActions[0xFF] = {manual, config, update, sep, srccal, recvcal, freqcal, sep2, log}; availableActions[0xFF] = {manual, config, update, sep, srccal, recvcal, freqcal, sep2, log};

View file

@ -544,8 +544,12 @@ using DeviceConfig = struct _deviceconfig {
}; };
}; };
enum class Action : uint16_t {
InternalAlignment = 0x0000,
};
using PerformAction = struct _performaction { using PerformAction = struct _performaction {
uint16_t action; Action action;
uint8_t additional_information[128]; uint8_t additional_information[128];
}; };