diff --git a/sdrbase/webapi/webapirequestmapper.cpp b/sdrbase/webapi/webapirequestmapper.cpp index 4166b3560..3440c9bc1 100644 --- a/sdrbase/webapi/webapirequestmapper.cpp +++ b/sdrbase/webapi/webapirequestmapper.cpp @@ -4855,6 +4855,11 @@ bool WebAPIRequestMapper::getChannelActions( channelActions->setIeee802154ModActions(new SWGSDRangel::SWGIEEE_802_15_4_ModActions()); channelActions->getIeee802154ModActions()->fromJsonObject(actionsJsonObject); } + else if (channelActionsKey == "MeshcoreModActions") + { + channelActions->setMeshcoreModActions(new SWGSDRangel::SWGMeshcoreModActions()); + channelActions->getMeshcoreModActions()->fromJsonObject(actionsJsonObject); + } else if (channelActionsKey == "RadioAstronomyActions") { channelActions->setRadioAstronomyActions(new SWGSDRangel::SWGRadioAstronomyActions()); diff --git a/sdrbase/webapi/webapiutils.cpp b/sdrbase/webapi/webapiutils.cpp index 60b077502..cf450fe00 100644 --- a/sdrbase/webapi/webapiutils.cpp +++ b/sdrbase/webapi/webapiutils.cpp @@ -39,6 +39,8 @@ const QMap WebAPIUtils::m_channelURIToSettingsKey = { {"sdrangel.channel.chirpchatdemod", "ChirpChatDemodSettings"}, {"sdrangel.channel.meshtasticdemod", "ChirpChatDemodSettings"}, // alias: Meshtastic uses ChirpChatDemodSettings schema {"sdrangel.channel.modchirpchat", "ChirpChatModSettings"}, + {"sdrangel.channel.meshcoredemod", "MeshcoreDemodSettings"}, + {"sdrangel.channeltx.modmeshcore", "MeshcoreModSettings"}, {"sdrangel.channel.demodatv", "ATVDemodSettings"}, {"sdrangel.channel.demoddatv", "DATVDemodSettings"}, {"sdrangel.channel.dabdemod", "DABDemodSettings"}, @@ -165,6 +167,8 @@ const QMap WebAPIUtils::m_channelTypeToSettingsKey = { {"ChirpChatDemod", "ChirpChatDemodSettings"}, {"MeshtasticDemod", "ChirpChatDemodSettings"}, // alias: Meshtastic uses ChirpChatDemodSettings schema {"ChirpChatMod", "ChirpChatModSettings"}, + {"MeshcoreDemod", "MeshcoreDemodSettings"}, + {"MeshcoreMod", "MeshcoreModSettings"}, {"ChannelPower", "ChannelPowerSettings"}, {"DATVDemod", "DATVDemodSettings"}, {"DATVMod", "DATVModSettings"}, diff --git a/swagger/sdrangel/api/swagger/include/ChannelActions.yaml b/swagger/sdrangel/api/swagger/include/ChannelActions.yaml index 4523c2522..906a8da7c 100644 --- a/swagger/sdrangel/api/swagger/include/ChannelActions.yaml +++ b/swagger/sdrangel/api/swagger/include/ChannelActions.yaml @@ -29,6 +29,8 @@ ChannelActions: $ref: "http://swgserver:8081/api/swagger/include/FreqScanner.yaml#/FreqScannerActions" IEEE_802_15_4_ModActions: $ref: "http://swgserver:8081/api/swagger/include/IEEE_802_15_4_Mod.yaml#/IEEE_802_15_4_ModActions" + MeshcoreModActions: + $ref: "http://swgserver:8081/api/swagger/include/MeshcoreMod.yaml#/MeshcoreModActions" PacketModActions: $ref: "http://swgserver:8081/api/swagger/include/PacketMod.yaml#/PacketModActions" PSK31ModActions: diff --git a/swagger/sdrangel/api/swagger/include/MeshcoreMod.yaml b/swagger/sdrangel/api/swagger/include/MeshcoreMod.yaml index 3874f29a5..f3dfc08c0 100644 --- a/swagger/sdrangel/api/swagger/include/MeshcoreMod.yaml +++ b/swagger/sdrangel/api/swagger/include/MeshcoreMod.yaml @@ -126,3 +126,13 @@ MeshcoreModReport: Boolean - modulator is active (playing) including idle time * 0 - Modulator not active * 1 - Modulator active + +MeshcoreModActions: + description: MeshcoreMod + properties: + sendNow: + type: integer + description: > + Send packet immediately + * 0 - Do nothing + * 1 - Send packet diff --git a/swagger/sdrangel/code/qt5/client/SWGModelFactory.h b/swagger/sdrangel/code/qt5/client/SWGModelFactory.h index aef3c10f2..605a23be8 100644 --- a/swagger/sdrangel/code/qt5/client/SWGModelFactory.h +++ b/swagger/sdrangel/code/qt5/client/SWGModelFactory.h @@ -234,6 +234,7 @@ #include "SWGMeshtasticModSettings.h" #include "SWGMeshcoreDemodReport.h" #include "SWGMeshcoreDemodSettings.h" +#include "SWGMeshcoreModActions.h" #include "SWGMeshcoreModReport.h" #include "SWGMeshcoreModSettings.h" #include "SWGMetisMISOSettings.h" @@ -1516,6 +1517,11 @@ namespace SWGSDRangel { obj->init(); return obj; } + if(QString("SWGMeshcoreModActions").compare(type) == 0) { + SWGMeshcoreModActions *obj = new SWGMeshcoreModActions(); + obj->init(); + return obj; + } if(QString("SWGMetisMISOSettings").compare(type) == 0) { SWGMetisMISOSettings *obj = new SWGMetisMISOSettings(); obj->init();