1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2024-12-23 10:05:46 -05:00

ChirpChat modulator: REST API files

This commit is contained in:
f4exb 2020-11-09 18:15:52 +01:00
parent c5d0a582f4
commit 4d986fd1a0
19 changed files with 2292 additions and 2 deletions

View File

@ -18,6 +18,7 @@
<file>webapi/doc/swagger/include/ChannelSettings.yaml</file> <file>webapi/doc/swagger/include/ChannelSettings.yaml</file>
<file>webapi/doc/swagger/include/ChannelReport.yaml</file> <file>webapi/doc/swagger/include/ChannelReport.yaml</file>
<file>webapi/doc/swagger/include/ChirpChatDemod.yaml</file> <file>webapi/doc/swagger/include/ChirpChatDemod.yaml</file>
<file>webapi/doc/swagger/include/ChirpChatMod.yaml</file>
<file>webapi/doc/swagger/include/Command.yaml</file> <file>webapi/doc/swagger/include/Command.yaml</file>
<file>webapi/doc/swagger/include/CWKeyer.yaml</file> <file>webapi/doc/swagger/include/CWKeyer.yaml</file>
<file>webapi/doc/swagger/include/DATVDemod.yaml</file> <file>webapi/doc/swagger/include/DATVDemod.yaml</file>

View File

@ -2347,6 +2347,9 @@ margin-bottom: 20px;
"ChirpChatDemodReport" : { "ChirpChatDemodReport" : {
"$ref" : "#/definitions/ChirpChatDemodReport" "$ref" : "#/definitions/ChirpChatDemodReport"
}, },
"ChirpChatModReport" : {
"$ref" : "#/definitions/ChirpChatModReport"
},
"DSDDemodReport" : { "DSDDemodReport" : {
"$ref" : "#/definitions/DSDDemodReport" "$ref" : "#/definitions/DSDDemodReport"
}, },
@ -2445,6 +2448,9 @@ margin-bottom: 20px;
"ChirpChatDemodSettings" : { "ChirpChatDemodSettings" : {
"$ref" : "#/definitions/ChirpChatDemodSettings" "$ref" : "#/definitions/ChirpChatDemodSettings"
}, },
"ChirpChatModSettings" : {
"$ref" : "#/definitions/ChirpChatModSettings"
},
"DATVDemodSettings" : { "DATVDemodSettings" : {
"$ref" : "#/definitions/DATVDemodSettings" "$ref" : "#/definitions/DATVDemodSettings"
}, },
@ -2712,6 +2718,179 @@ margin-bottom: 20px;
} }
}, },
"description" : "ChirpChatDemod" "description" : "ChirpChatDemod"
};
defs.ChirpChatModReport = {
"properties" : {
"channelPowerDB" : {
"type" : "number",
"format" : "float",
"description" : "power transmitted in channel (dB)"
},
"channelSampleRate" : {
"type" : "integer"
},
"symbolTimeMs" : {
"type" : "number",
"format" : "float",
"description" : "symbol duration (ms)"
},
"payloadTimeMs" : {
"type" : "number",
"format" : "float",
"description" : "payload duration (ms)"
},
"totalTimeMs" : {
"type" : "number",
"format" : "float",
"description" : "total message duration inc. preamble and SFD (ms)"
}
},
"description" : "ChirpChatMod"
};
defs.ChirpChatModSettings = {
"properties" : {
"inputFrequencyOffset" : {
"type" : "integer",
"format" : "int64"
},
"bandwidthIndex" : {
"type" : "integer",
"description" : "standard bandwidths index:\n * 0 - 375 Hz (384000 / 1024)\n * 1 - 750 Hz (384000 / 512)\n * 2 - 1500 Hz (384000 / 256)\n * 3 - 2604 Hz (333333 / 128)\n * 4 - 3125 Hz (400000 / 128)\n * 5 - 3906 Hz (500000 / 128)\n * 6 - 5208 Hz (333333 / 64)\n * 7 - 6250 Hz (400000 / 64)\n * 8 - 7813 Hz (500000 / 64)\n * 9 - 10417 Hz (333333 / 32)\n * 10 - 12500 Hz (400000 / 32)\n * 11 - 15625 Hz (500000 / 32)\n * 12 - 20833 Hz (333333 / 16)\n * 13 - 25000 Hz (400000 / 16)\n * 14 - 31250 Hz (500000 / 16)\n * 15 - 41667 Hz (333333 / 8)\n * 16 - 50000 Hz (400000 / 8)\n * 17 - 62500 Hz (500000 / 8)\n * 18 - 83333 Hz (333333 / 4)\n * 19 - 100000 Hz (400000 / 4)\n * 20 - 125000 Hz (500000 / 4)\n * 21 - 166667 Hz (333333 / 2)\n * 22 - 200000 Hz (400000 / 2)\n * 23 - 250000 Hz (500000 / 2)\n * 24 - 333333 Hz (333333 / 1)\n * 25 - 400000 Hz (400000 / 1)\n * 26 - 500000 Hz (500000 / 1)\n"
},
"spreadFactor" : {
"type" : "integer"
},
"deBits" : {
"type" : "integer",
"description" : "Low data rate optmize (DE) bits i.e. nb of FFT bins per effective symbol"
},
"preambleChirps" : {
"type" : "integer",
"description" : "Number of preamble chirps"
},
"quietMillis" : {
"type" : "integer",
"description" : "Number of milliseconds to pause between transmissions"
},
"syncWord" : {
"type" : "integer",
"description" : "2 byte (0..65535) synchronization syncWord"
},
"channelMute" : {
"type" : "integer",
"description" : "boolean"
},
"codingScheme" : {
"type" : "integer",
"description" : "message encoding scheme (ChirpChatModSettings::CodingScheme):\n * 0 - LoRa\n * 1 - Plain ASCII (7 bit)\n * 2 - Teletype (5 bit Baudot) a.k.a TTY\n"
},
"nbParityBits" : {
"type" : "integer",
"description" : "Hamming FEC parity bits (LoRa)"
},
"hasCRC" : {
"type" : "integer",
"description" : "Payload has CRC (LoRa)"
},
"hasHeader" : {
"type" : "integer",
"description" : "Header present before actual payload (LoRa)"
},
"myCall" : {
"type" : "string",
"description" : "own callsign placeholder (QSO mode)"
},
"urCall" : {
"type" : "string",
"description" : "other party callsign placeholder (QSO mode)"
},
"myLoc" : {
"type" : "string",
"description" : "own QRA locator (QSO mode)"
},
"myRpt" : {
"type" : "string",
"description" : "report sent to other party (QSO mode)"
},
"messageType" : {
"type" : "integer",
"description" : "type of message to send (ChirpChatModSettings::MessageType):\n * 0 - No message i.e no output. Use this as a transition to resend the same message.\n * 1 - Beacon. Sends message specified in beaconMessage\n * 2 - CQ call. Sends message specified in cqMessage\n * 3 - Reply to CQ call. Sends message specified in replyMessage\n * 4 - Report to callee. Sends message specified in reportMessage\n * 5 - Report to caller. Sends message specified in replyReportMessage\n * 6 - RRR to callee. Sends message specified in rrrMessage\n * 7 - 73 to caller. Sends message specified in message73\n * 8 - Random message with callsigns. Sends message specified in qsoTextMessage\n * 9 - Plain text. Sends message specified in textMessage\n * 10 - Binary payload. Sends bytes specified in bytesMessage\n"
},
"beaconMessage" : {
"type" : "string",
"description" : "text message to be sent (repeatedly) as a beaconMessage"
},
"cqMessage" : {
"type" : "string",
"description" : "general call message (QSO mode)"
},
"replyMessage" : {
"type" : "string",
"description" : "reply to caller message (QSO mode)"
},
"reportMessage" : {
"type" : "string",
"description" : "report to callee message (QSO mode)"
},
"replyReportMessage" : {
"type" : "string",
"description" : "report back to caller message (QSO mode)"
},
"rrrMessage" : {
"type" : "string",
"description" : "caller RRR message (QSO mode)"
},
"message73" : {
"type" : "string",
"description" : "73 message back to caller to close QSO (QSO mode)"
},
"qsoTextMessage" : {
"type" : "string",
"description" : "QSO random message exchange (QSO mode)"
},
"textMessage" : {
"type" : "string",
"description" : "freeform text message"
},
"bytesMessage" : {
"type" : "array",
"description" : "message to send as an array of hex string represented bytes (00..FF)",
"items" : {
"type" : "string"
}
},
"messageRepeat" : {
"type" : "integer",
"description" : "number of repetitions of the same message (0 for infinite)"
},
"rgbColor" : {
"type" : "integer"
},
"title" : {
"type" : "string"
},
"streamIndex" : {
"type" : "integer",
"description" : "MIMO channel. Not relevant when connected to SI (single Rx)."
},
"useReverseAPI" : {
"type" : "integer",
"description" : "Synchronize with reverse API (1 for yes, 0 for no)"
},
"reverseAPIAddress" : {
"type" : "string"
},
"reverseAPIPort" : {
"type" : "integer"
},
"reverseAPIDeviceIndex" : {
"type" : "integer"
},
"reverseAPIChannelIndex" : {
"type" : "integer"
}
},
"description" : "ChirpChatMod"
}; };
defs.Command = { defs.Command = {
"properties" : { "properties" : {
@ -40405,7 +40584,7 @@ except ApiException as e:
</div> </div>
<div id="generator"> <div id="generator">
<div class="content"> <div class="content">
Generated 2020-11-09T11:07:00.865+01:00 Generated 2020-11-09T17:45:17.371+01:00
</div> </div>
</div> </div>
</div> </div>

View File

@ -23,6 +23,8 @@ ChannelReport:
$ref: "/doc/swagger/include/BFMDemod.yaml#/BFMDemodReport" $ref: "/doc/swagger/include/BFMDemod.yaml#/BFMDemodReport"
ChirpChatDemodReport: ChirpChatDemodReport:
$ref: "/doc/swagger/include/ChirpChatDemod.yaml#/ChirpChatDemodReport" $ref: "/doc/swagger/include/ChirpChatDemod.yaml#/ChirpChatDemodReport"
ChirpChatModReport:
$ref: "/doc/swagger/include/ChirpChatMod.yaml#/ChirpChatModReport"
DSDDemodReport: DSDDemodReport:
$ref: "/doc/swagger/include/DSDDemod.yaml#/DSDDemodReport" $ref: "/doc/swagger/include/DSDDemod.yaml#/DSDDemodReport"
IEEE_802_15_4_ModReport: IEEE_802_15_4_ModReport:

View File

@ -33,6 +33,8 @@ ChannelSettings:
$ref: "/doc/swagger/include/ChannelAnalyzer.yaml#/ChannelAnalyzerSettings" $ref: "/doc/swagger/include/ChannelAnalyzer.yaml#/ChannelAnalyzerSettings"
ChirpChatDemodSettings: ChirpChatDemodSettings:
$ref: "/doc/swagger/include/ChirpChatDemod.yaml#/ChirpChatDemodSettings" $ref: "/doc/swagger/include/ChirpChatDemod.yaml#/ChirpChatDemodSettings"
ChirpChatModSettings:
$ref: "/doc/swagger/include/ChirpChatMod.yaml#/ChirpChatModSettings"
DATVDemodSettings: DATVDemodSettings:
$ref: "/doc/swagger/include/DATVDemod.yaml#/DATVDemodSettings" $ref: "/doc/swagger/include/DATVDemod.yaml#/DATVDemodSettings"
DSDDemodSettings: DSDDemodSettings:

View File

@ -0,0 +1,172 @@
ChirpChatModSettings:
description: ChirpChatMod
properties:
inputFrequencyOffset:
type: integer
format: int64
bandwidthIndex:
type: integer
description: >
standard bandwidths index:
* 0 - 375 Hz (384000 / 1024)
* 1 - 750 Hz (384000 / 512)
* 2 - 1500 Hz (384000 / 256)
* 3 - 2604 Hz (333333 / 128)
* 4 - 3125 Hz (400000 / 128)
* 5 - 3906 Hz (500000 / 128)
* 6 - 5208 Hz (333333 / 64)
* 7 - 6250 Hz (400000 / 64)
* 8 - 7813 Hz (500000 / 64)
* 9 - 10417 Hz (333333 / 32)
* 10 - 12500 Hz (400000 / 32)
* 11 - 15625 Hz (500000 / 32)
* 12 - 20833 Hz (333333 / 16)
* 13 - 25000 Hz (400000 / 16)
* 14 - 31250 Hz (500000 / 16)
* 15 - 41667 Hz (333333 / 8)
* 16 - 50000 Hz (400000 / 8)
* 17 - 62500 Hz (500000 / 8)
* 18 - 83333 Hz (333333 / 4)
* 19 - 100000 Hz (400000 / 4)
* 20 - 125000 Hz (500000 / 4)
* 21 - 166667 Hz (333333 / 2)
* 22 - 200000 Hz (400000 / 2)
* 23 - 250000 Hz (500000 / 2)
* 24 - 333333 Hz (333333 / 1)
* 25 - 400000 Hz (400000 / 1)
* 26 - 500000 Hz (500000 / 1)
spreadFactor:
type: integer
deBits:
description: Low data rate optmize (DE) bits i.e. nb of FFT bins per effective symbol
type: integer
preambleChirps:
description: Number of preamble chirps
type: integer
quietMillis:
description: Number of milliseconds to pause between transmissions
type: integer
syncWord:
description: 2 byte (0..65535) synchronization syncWord
type: integer
channelMute:
description: boolean
type: integer
codingScheme:
type: integer
description: >
message encoding scheme (ChirpChatModSettings::CodingScheme):
* 0 - LoRa
* 1 - Plain ASCII (7 bit)
* 2 - Teletype (5 bit Baudot) a.k.a TTY
nbParityBits:
description: Hamming FEC parity bits (LoRa)
type: integer
hasCRC:
description: Payload has CRC (LoRa)
type: integer
hasHeader:
description: Header present before actual payload (LoRa)
type: integer
myCall:
description: own callsign placeholder (QSO mode)
type: string
urCall:
description: other party callsign placeholder (QSO mode)
type: string
myLoc:
description: own QRA locator (QSO mode)
type: string
myRpt:
description: report sent to other party (QSO mode)
type: string
messageType:
type: integer
description: >
type of message to send (ChirpChatModSettings::MessageType):
* 0 - No message i.e no output. Use this as a transition to resend the same message.
* 1 - Beacon. Sends message specified in beaconMessage
* 2 - CQ call. Sends message specified in cqMessage
* 3 - Reply to CQ call. Sends message specified in replyMessage
* 4 - Report to callee. Sends message specified in reportMessage
* 5 - Report to caller. Sends message specified in replyReportMessage
* 6 - RRR to callee. Sends message specified in rrrMessage
* 7 - 73 to caller. Sends message specified in message73
* 8 - Random message with callsigns. Sends message specified in qsoTextMessage
* 9 - Plain text. Sends message specified in textMessage
* 10 - Binary payload. Sends bytes specified in bytesMessage
beaconMessage:
description: text message to be sent (repeatedly) as a beaconMessage
type: string
cqMessage:
description: general call message (QSO mode)
type: string
replyMessage:
description: reply to caller message (QSO mode)
type: string
reportMessage:
description: report to callee message (QSO mode)
type: string
replyReportMessage:
description: report back to caller message (QSO mode)
type: string
rrrMessage:
description: caller RRR message (QSO mode)
type: string
message73:
description: 73 message back to caller to close QSO (QSO mode)
type: string
qsoTextMessage:
description: QSO random message exchange (QSO mode)
type: string
textMessage:
description: freeform text message
type: string
bytesMessage:
description: message to send as an array of hex string represented bytes (00..FF)
type: array
items:
type: string
messageRepeat:
description: number of repetitions of the same message (0 for infinite)
type: integer
rgbColor:
type: integer
title:
type: string
streamIndex:
description: MIMO channel. Not relevant when connected to SI (single Rx).
type: integer
useReverseAPI:
description: Synchronize with reverse API (1 for yes, 0 for no)
type: integer
reverseAPIAddress:
type: string
reverseAPIPort:
type: integer
reverseAPIDeviceIndex:
type: integer
reverseAPIChannelIndex:
type: integer
ChirpChatModReport:
description: ChirpChatMod
properties:
channelPowerDB:
description: power transmitted in channel (dB)
type: number
format: float
channelSampleRate:
type: integer
symbolTimeMs:
description: symbol duration (ms)
type: number
format: float
payloadTimeMs:
description: payload duration (ms)
type: number
format: float
totalTimeMs:
description: total message duration inc. preamble and SFD (ms)
type: number
format: float

View File

@ -3564,6 +3564,12 @@ bool WebAPIRequestMapper::getChannelSettings(
channelSettings->setChirpChatDemodSettings(new SWGSDRangel::SWGChirpChatDemodSettings()); channelSettings->setChirpChatDemodSettings(new SWGSDRangel::SWGChirpChatDemodSettings());
channelSettings->getChirpChatDemodSettings()->fromJsonObject(settingsJsonObject); channelSettings->getChirpChatDemodSettings()->fromJsonObject(settingsJsonObject);
} }
else if (channelSettingsKey == "ChirpChatModSettings")
{
channelSettings->setChirpChatModSettings(new SWGSDRangel::SWGChirpChatModSettings());
channelSettings->getChirpChatModSettings()->init(); // contains a list of strings
channelSettings->getChirpChatModSettings()->fromJsonObject(settingsJsonObject);
}
else if (channelSettingsKey == "DATVDemodSettings") else if (channelSettingsKey == "DATVDemodSettings")
{ {
channelSettings->setDatvDemodSettings(new SWGSDRangel::SWGDATVDemodSettings()); channelSettings->setDatvDemodSettings(new SWGSDRangel::SWGDATVDemodSettings());

View File

@ -23,6 +23,8 @@ ChannelReport:
$ref: "http://swgserver:8081/api/swagger/include/BFMDemod.yaml#/BFMDemodReport" $ref: "http://swgserver:8081/api/swagger/include/BFMDemod.yaml#/BFMDemodReport"
ChirpChatDemodReport: ChirpChatDemodReport:
$ref: "http://swgserver:8081/api/swagger/include/ChirpChatDemod.yaml#/ChirpChatDemodReport" $ref: "http://swgserver:8081/api/swagger/include/ChirpChatDemod.yaml#/ChirpChatDemodReport"
ChirpChatModReport:
$ref: "http://swgserver:8081/api/swagger/include/ChirpChatMod.yaml#/ChirpChatModReport"
DSDDemodReport: DSDDemodReport:
$ref: "http://swgserver:8081/api/swagger/include/DSDDemod.yaml#/DSDDemodReport" $ref: "http://swgserver:8081/api/swagger/include/DSDDemod.yaml#/DSDDemodReport"
IEEE_802_15_4_ModReport: IEEE_802_15_4_ModReport:

View File

@ -33,6 +33,8 @@ ChannelSettings:
$ref: "http://swgserver:8081/api/swagger/include/ChannelAnalyzer.yaml#/ChannelAnalyzerSettings" $ref: "http://swgserver:8081/api/swagger/include/ChannelAnalyzer.yaml#/ChannelAnalyzerSettings"
ChirpChatDemodSettings: ChirpChatDemodSettings:
$ref: "http://swgserver:8081/api/swagger/include/ChirpChatDemod.yaml#/ChirpChatDemodSettings" $ref: "http://swgserver:8081/api/swagger/include/ChirpChatDemod.yaml#/ChirpChatDemodSettings"
ChirpChatModSettings:
$ref: "http://swgserver:8081/api/swagger/include/ChirpChatMod.yaml#/ChirpChatModSettings"
DATVDemodSettings: DATVDemodSettings:
$ref: "http://swgserver:8081/api/swagger/include/DATVDemod.yaml#/DATVDemodSettings" $ref: "http://swgserver:8081/api/swagger/include/DATVDemod.yaml#/DATVDemodSettings"
DSDDemodSettings: DSDDemodSettings:

View File

@ -0,0 +1,172 @@
ChirpChatModSettings:
description: ChirpChatMod
properties:
inputFrequencyOffset:
type: integer
format: int64
bandwidthIndex:
type: integer
description: >
standard bandwidths index:
* 0 - 375 Hz (384000 / 1024)
* 1 - 750 Hz (384000 / 512)
* 2 - 1500 Hz (384000 / 256)
* 3 - 2604 Hz (333333 / 128)
* 4 - 3125 Hz (400000 / 128)
* 5 - 3906 Hz (500000 / 128)
* 6 - 5208 Hz (333333 / 64)
* 7 - 6250 Hz (400000 / 64)
* 8 - 7813 Hz (500000 / 64)
* 9 - 10417 Hz (333333 / 32)
* 10 - 12500 Hz (400000 / 32)
* 11 - 15625 Hz (500000 / 32)
* 12 - 20833 Hz (333333 / 16)
* 13 - 25000 Hz (400000 / 16)
* 14 - 31250 Hz (500000 / 16)
* 15 - 41667 Hz (333333 / 8)
* 16 - 50000 Hz (400000 / 8)
* 17 - 62500 Hz (500000 / 8)
* 18 - 83333 Hz (333333 / 4)
* 19 - 100000 Hz (400000 / 4)
* 20 - 125000 Hz (500000 / 4)
* 21 - 166667 Hz (333333 / 2)
* 22 - 200000 Hz (400000 / 2)
* 23 - 250000 Hz (500000 / 2)
* 24 - 333333 Hz (333333 / 1)
* 25 - 400000 Hz (400000 / 1)
* 26 - 500000 Hz (500000 / 1)
spreadFactor:
type: integer
deBits:
description: Low data rate optmize (DE) bits i.e. nb of FFT bins per effective symbol
type: integer
preambleChirps:
description: Number of preamble chirps
type: integer
quietMillis:
description: Number of milliseconds to pause between transmissions
type: integer
syncWord:
description: 2 byte (0..65535) synchronization syncWord
type: integer
channelMute:
description: boolean
type: integer
codingScheme:
type: integer
description: >
message encoding scheme (ChirpChatModSettings::CodingScheme):
* 0 - LoRa
* 1 - Plain ASCII (7 bit)
* 2 - Teletype (5 bit Baudot) a.k.a TTY
nbParityBits:
description: Hamming FEC parity bits (LoRa)
type: integer
hasCRC:
description: Payload has CRC (LoRa)
type: integer
hasHeader:
description: Header present before actual payload (LoRa)
type: integer
myCall:
description: own callsign placeholder (QSO mode)
type: string
urCall:
description: other party callsign placeholder (QSO mode)
type: string
myLoc:
description: own QRA locator (QSO mode)
type: string
myRpt:
description: report sent to other party (QSO mode)
type: string
messageType:
type: integer
description: >
type of message to send (ChirpChatModSettings::MessageType):
* 0 - No message i.e no output. Use this as a transition to resend the same message.
* 1 - Beacon. Sends message specified in beaconMessage
* 2 - CQ call. Sends message specified in cqMessage
* 3 - Reply to CQ call. Sends message specified in replyMessage
* 4 - Report to callee. Sends message specified in reportMessage
* 5 - Report to caller. Sends message specified in replyReportMessage
* 6 - RRR to callee. Sends message specified in rrrMessage
* 7 - 73 to caller. Sends message specified in message73
* 8 - Random message with callsigns. Sends message specified in qsoTextMessage
* 9 - Plain text. Sends message specified in textMessage
* 10 - Binary payload. Sends bytes specified in bytesMessage
beaconMessage:
description: text message to be sent (repeatedly) as a beaconMessage
type: string
cqMessage:
description: general call message (QSO mode)
type: string
replyMessage:
description: reply to caller message (QSO mode)
type: string
reportMessage:
description: report to callee message (QSO mode)
type: string
replyReportMessage:
description: report back to caller message (QSO mode)
type: string
rrrMessage:
description: caller RRR message (QSO mode)
type: string
message73:
description: 73 message back to caller to close QSO (QSO mode)
type: string
qsoTextMessage:
description: QSO random message exchange (QSO mode)
type: string
textMessage:
description: freeform text message
type: string
bytesMessage:
description: message to send as an array of hex string represented bytes (00..FF)
type: array
items:
type: string
messageRepeat:
description: number of repetitions of the same message (0 for infinite)
type: integer
rgbColor:
type: integer
title:
type: string
streamIndex:
description: MIMO channel. Not relevant when connected to SI (single Rx).
type: integer
useReverseAPI:
description: Synchronize with reverse API (1 for yes, 0 for no)
type: integer
reverseAPIAddress:
type: string
reverseAPIPort:
type: integer
reverseAPIDeviceIndex:
type: integer
reverseAPIChannelIndex:
type: integer
ChirpChatModReport:
description: ChirpChatMod
properties:
channelPowerDB:
description: power transmitted in channel (dB)
type: number
format: float
channelSampleRate:
type: integer
symbolTimeMs:
description: symbol duration (ms)
type: number
format: float
payloadTimeMs:
description: payload duration (ms)
type: number
format: float
totalTimeMs:
description: total message duration inc. preamble and SFD (ms)
type: number
format: float

View File

@ -2347,6 +2347,9 @@ margin-bottom: 20px;
"ChirpChatDemodReport" : { "ChirpChatDemodReport" : {
"$ref" : "#/definitions/ChirpChatDemodReport" "$ref" : "#/definitions/ChirpChatDemodReport"
}, },
"ChirpChatModReport" : {
"$ref" : "#/definitions/ChirpChatModReport"
},
"DSDDemodReport" : { "DSDDemodReport" : {
"$ref" : "#/definitions/DSDDemodReport" "$ref" : "#/definitions/DSDDemodReport"
}, },
@ -2445,6 +2448,9 @@ margin-bottom: 20px;
"ChirpChatDemodSettings" : { "ChirpChatDemodSettings" : {
"$ref" : "#/definitions/ChirpChatDemodSettings" "$ref" : "#/definitions/ChirpChatDemodSettings"
}, },
"ChirpChatModSettings" : {
"$ref" : "#/definitions/ChirpChatModSettings"
},
"DATVDemodSettings" : { "DATVDemodSettings" : {
"$ref" : "#/definitions/DATVDemodSettings" "$ref" : "#/definitions/DATVDemodSettings"
}, },
@ -2712,6 +2718,179 @@ margin-bottom: 20px;
} }
}, },
"description" : "ChirpChatDemod" "description" : "ChirpChatDemod"
};
defs.ChirpChatModReport = {
"properties" : {
"channelPowerDB" : {
"type" : "number",
"format" : "float",
"description" : "power transmitted in channel (dB)"
},
"channelSampleRate" : {
"type" : "integer"
},
"symbolTimeMs" : {
"type" : "number",
"format" : "float",
"description" : "symbol duration (ms)"
},
"payloadTimeMs" : {
"type" : "number",
"format" : "float",
"description" : "payload duration (ms)"
},
"totalTimeMs" : {
"type" : "number",
"format" : "float",
"description" : "total message duration inc. preamble and SFD (ms)"
}
},
"description" : "ChirpChatMod"
};
defs.ChirpChatModSettings = {
"properties" : {
"inputFrequencyOffset" : {
"type" : "integer",
"format" : "int64"
},
"bandwidthIndex" : {
"type" : "integer",
"description" : "standard bandwidths index:\n * 0 - 375 Hz (384000 / 1024)\n * 1 - 750 Hz (384000 / 512)\n * 2 - 1500 Hz (384000 / 256)\n * 3 - 2604 Hz (333333 / 128)\n * 4 - 3125 Hz (400000 / 128)\n * 5 - 3906 Hz (500000 / 128)\n * 6 - 5208 Hz (333333 / 64)\n * 7 - 6250 Hz (400000 / 64)\n * 8 - 7813 Hz (500000 / 64)\n * 9 - 10417 Hz (333333 / 32)\n * 10 - 12500 Hz (400000 / 32)\n * 11 - 15625 Hz (500000 / 32)\n * 12 - 20833 Hz (333333 / 16)\n * 13 - 25000 Hz (400000 / 16)\n * 14 - 31250 Hz (500000 / 16)\n * 15 - 41667 Hz (333333 / 8)\n * 16 - 50000 Hz (400000 / 8)\n * 17 - 62500 Hz (500000 / 8)\n * 18 - 83333 Hz (333333 / 4)\n * 19 - 100000 Hz (400000 / 4)\n * 20 - 125000 Hz (500000 / 4)\n * 21 - 166667 Hz (333333 / 2)\n * 22 - 200000 Hz (400000 / 2)\n * 23 - 250000 Hz (500000 / 2)\n * 24 - 333333 Hz (333333 / 1)\n * 25 - 400000 Hz (400000 / 1)\n * 26 - 500000 Hz (500000 / 1)\n"
},
"spreadFactor" : {
"type" : "integer"
},
"deBits" : {
"type" : "integer",
"description" : "Low data rate optmize (DE) bits i.e. nb of FFT bins per effective symbol"
},
"preambleChirps" : {
"type" : "integer",
"description" : "Number of preamble chirps"
},
"quietMillis" : {
"type" : "integer",
"description" : "Number of milliseconds to pause between transmissions"
},
"syncWord" : {
"type" : "integer",
"description" : "2 byte (0..65535) synchronization syncWord"
},
"channelMute" : {
"type" : "integer",
"description" : "boolean"
},
"codingScheme" : {
"type" : "integer",
"description" : "message encoding scheme (ChirpChatModSettings::CodingScheme):\n * 0 - LoRa\n * 1 - Plain ASCII (7 bit)\n * 2 - Teletype (5 bit Baudot) a.k.a TTY\n"
},
"nbParityBits" : {
"type" : "integer",
"description" : "Hamming FEC parity bits (LoRa)"
},
"hasCRC" : {
"type" : "integer",
"description" : "Payload has CRC (LoRa)"
},
"hasHeader" : {
"type" : "integer",
"description" : "Header present before actual payload (LoRa)"
},
"myCall" : {
"type" : "string",
"description" : "own callsign placeholder (QSO mode)"
},
"urCall" : {
"type" : "string",
"description" : "other party callsign placeholder (QSO mode)"
},
"myLoc" : {
"type" : "string",
"description" : "own QRA locator (QSO mode)"
},
"myRpt" : {
"type" : "string",
"description" : "report sent to other party (QSO mode)"
},
"messageType" : {
"type" : "integer",
"description" : "type of message to send (ChirpChatModSettings::MessageType):\n * 0 - No message i.e no output. Use this as a transition to resend the same message.\n * 1 - Beacon. Sends message specified in beaconMessage\n * 2 - CQ call. Sends message specified in cqMessage\n * 3 - Reply to CQ call. Sends message specified in replyMessage\n * 4 - Report to callee. Sends message specified in reportMessage\n * 5 - Report to caller. Sends message specified in replyReportMessage\n * 6 - RRR to callee. Sends message specified in rrrMessage\n * 7 - 73 to caller. Sends message specified in message73\n * 8 - Random message with callsigns. Sends message specified in qsoTextMessage\n * 9 - Plain text. Sends message specified in textMessage\n * 10 - Binary payload. Sends bytes specified in bytesMessage\n"
},
"beaconMessage" : {
"type" : "string",
"description" : "text message to be sent (repeatedly) as a beaconMessage"
},
"cqMessage" : {
"type" : "string",
"description" : "general call message (QSO mode)"
},
"replyMessage" : {
"type" : "string",
"description" : "reply to caller message (QSO mode)"
},
"reportMessage" : {
"type" : "string",
"description" : "report to callee message (QSO mode)"
},
"replyReportMessage" : {
"type" : "string",
"description" : "report back to caller message (QSO mode)"
},
"rrrMessage" : {
"type" : "string",
"description" : "caller RRR message (QSO mode)"
},
"message73" : {
"type" : "string",
"description" : "73 message back to caller to close QSO (QSO mode)"
},
"qsoTextMessage" : {
"type" : "string",
"description" : "QSO random message exchange (QSO mode)"
},
"textMessage" : {
"type" : "string",
"description" : "freeform text message"
},
"bytesMessage" : {
"type" : "array",
"description" : "message to send as an array of hex string represented bytes (00..FF)",
"items" : {
"type" : "string"
}
},
"messageRepeat" : {
"type" : "integer",
"description" : "number of repetitions of the same message (0 for infinite)"
},
"rgbColor" : {
"type" : "integer"
},
"title" : {
"type" : "string"
},
"streamIndex" : {
"type" : "integer",
"description" : "MIMO channel. Not relevant when connected to SI (single Rx)."
},
"useReverseAPI" : {
"type" : "integer",
"description" : "Synchronize with reverse API (1 for yes, 0 for no)"
},
"reverseAPIAddress" : {
"type" : "string"
},
"reverseAPIPort" : {
"type" : "integer"
},
"reverseAPIDeviceIndex" : {
"type" : "integer"
},
"reverseAPIChannelIndex" : {
"type" : "integer"
}
},
"description" : "ChirpChatMod"
}; };
defs.Command = { defs.Command = {
"properties" : { "properties" : {
@ -40405,7 +40584,7 @@ except ApiException as e:
</div> </div>
<div id="generator"> <div id="generator">
<div class="content"> <div class="content">
Generated 2020-11-09T11:07:00.865+01:00 Generated 2020-11-09T17:45:17.371+01:00
</div> </div>
</div> </div>
</div> </div>

View File

@ -44,6 +44,8 @@ SWGChannelReport::SWGChannelReport() {
m_bfm_demod_report_isSet = false; m_bfm_demod_report_isSet = false;
chirp_chat_demod_report = nullptr; chirp_chat_demod_report = nullptr;
m_chirp_chat_demod_report_isSet = false; m_chirp_chat_demod_report_isSet = false;
chirp_chat_mod_report = nullptr;
m_chirp_chat_mod_report_isSet = false;
dsd_demod_report = nullptr; dsd_demod_report = nullptr;
m_dsd_demod_report_isSet = false; m_dsd_demod_report_isSet = false;
ieee_802_15_4_mod_report = nullptr; ieee_802_15_4_mod_report = nullptr;
@ -102,6 +104,8 @@ SWGChannelReport::init() {
m_bfm_demod_report_isSet = false; m_bfm_demod_report_isSet = false;
chirp_chat_demod_report = new SWGChirpChatDemodReport(); chirp_chat_demod_report = new SWGChirpChatDemodReport();
m_chirp_chat_demod_report_isSet = false; m_chirp_chat_demod_report_isSet = false;
chirp_chat_mod_report = new SWGChirpChatModReport();
m_chirp_chat_mod_report_isSet = false;
dsd_demod_report = new SWGDSDDemodReport(); dsd_demod_report = new SWGDSDDemodReport();
m_dsd_demod_report_isSet = false; m_dsd_demod_report_isSet = false;
ieee_802_15_4_mod_report = new SWGIEEE_802_15_4_ModReport(); ieee_802_15_4_mod_report = new SWGIEEE_802_15_4_ModReport();
@ -162,6 +166,9 @@ SWGChannelReport::cleanup() {
if(chirp_chat_demod_report != nullptr) { if(chirp_chat_demod_report != nullptr) {
delete chirp_chat_demod_report; delete chirp_chat_demod_report;
} }
if(chirp_chat_mod_report != nullptr) {
delete chirp_chat_mod_report;
}
if(dsd_demod_report != nullptr) { if(dsd_demod_report != nullptr) {
delete dsd_demod_report; delete dsd_demod_report;
} }
@ -242,6 +249,8 @@ SWGChannelReport::fromJsonObject(QJsonObject &pJson) {
::SWGSDRangel::setValue(&chirp_chat_demod_report, pJson["ChirpChatDemodReport"], "SWGChirpChatDemodReport", "SWGChirpChatDemodReport"); ::SWGSDRangel::setValue(&chirp_chat_demod_report, pJson["ChirpChatDemodReport"], "SWGChirpChatDemodReport", "SWGChirpChatDemodReport");
::SWGSDRangel::setValue(&chirp_chat_mod_report, pJson["ChirpChatModReport"], "SWGChirpChatModReport", "SWGChirpChatModReport");
::SWGSDRangel::setValue(&dsd_demod_report, pJson["DSDDemodReport"], "SWGDSDDemodReport", "SWGDSDDemodReport"); ::SWGSDRangel::setValue(&dsd_demod_report, pJson["DSDDemodReport"], "SWGDSDDemodReport", "SWGDSDDemodReport");
::SWGSDRangel::setValue(&ieee_802_15_4_mod_report, pJson["IEEE_802_15_4_ModReport"], "SWGIEEE_802_15_4_ModReport", "SWGIEEE_802_15_4_ModReport"); ::SWGSDRangel::setValue(&ieee_802_15_4_mod_report, pJson["IEEE_802_15_4_ModReport"], "SWGIEEE_802_15_4_ModReport", "SWGIEEE_802_15_4_ModReport");
@ -316,6 +325,9 @@ SWGChannelReport::asJsonObject() {
if((chirp_chat_demod_report != nullptr) && (chirp_chat_demod_report->isSet())){ if((chirp_chat_demod_report != nullptr) && (chirp_chat_demod_report->isSet())){
toJsonValue(QString("ChirpChatDemodReport"), chirp_chat_demod_report, obj, QString("SWGChirpChatDemodReport")); toJsonValue(QString("ChirpChatDemodReport"), chirp_chat_demod_report, obj, QString("SWGChirpChatDemodReport"));
} }
if((chirp_chat_mod_report != nullptr) && (chirp_chat_mod_report->isSet())){
toJsonValue(QString("ChirpChatModReport"), chirp_chat_mod_report, obj, QString("SWGChirpChatModReport"));
}
if((dsd_demod_report != nullptr) && (dsd_demod_report->isSet())){ if((dsd_demod_report != nullptr) && (dsd_demod_report->isSet())){
toJsonValue(QString("DSDDemodReport"), dsd_demod_report, obj, QString("SWGDSDDemodReport")); toJsonValue(QString("DSDDemodReport"), dsd_demod_report, obj, QString("SWGDSDDemodReport"));
} }
@ -451,6 +463,16 @@ SWGChannelReport::setChirpChatDemodReport(SWGChirpChatDemodReport* chirp_chat_de
this->m_chirp_chat_demod_report_isSet = true; this->m_chirp_chat_demod_report_isSet = true;
} }
SWGChirpChatModReport*
SWGChannelReport::getChirpChatModReport() {
return chirp_chat_mod_report;
}
void
SWGChannelReport::setChirpChatModReport(SWGChirpChatModReport* chirp_chat_mod_report) {
this->chirp_chat_mod_report = chirp_chat_mod_report;
this->m_chirp_chat_mod_report_isSet = true;
}
SWGDSDDemodReport* SWGDSDDemodReport*
SWGChannelReport::getDsdDemodReport() { SWGChannelReport::getDsdDemodReport() {
return dsd_demod_report; return dsd_demod_report;
@ -650,6 +672,9 @@ SWGChannelReport::isSet(){
if(chirp_chat_demod_report && chirp_chat_demod_report->isSet()){ if(chirp_chat_demod_report && chirp_chat_demod_report->isSet()){
isObjectUpdated = true; break; isObjectUpdated = true; break;
} }
if(chirp_chat_mod_report && chirp_chat_mod_report->isSet()){
isObjectUpdated = true; break;
}
if(dsd_demod_report && dsd_demod_report->isSet()){ if(dsd_demod_report && dsd_demod_report->isSet()){
isObjectUpdated = true; break; isObjectUpdated = true; break;
} }

View File

@ -28,6 +28,7 @@
#include "SWGATVModReport.h" #include "SWGATVModReport.h"
#include "SWGBFMDemodReport.h" #include "SWGBFMDemodReport.h"
#include "SWGChirpChatDemodReport.h" #include "SWGChirpChatDemodReport.h"
#include "SWGChirpChatModReport.h"
#include "SWGDSDDemodReport.h" #include "SWGDSDDemodReport.h"
#include "SWGFileSinkReport.h" #include "SWGFileSinkReport.h"
#include "SWGFileSourceReport.h" #include "SWGFileSourceReport.h"
@ -89,6 +90,9 @@ public:
SWGChirpChatDemodReport* getChirpChatDemodReport(); SWGChirpChatDemodReport* getChirpChatDemodReport();
void setChirpChatDemodReport(SWGChirpChatDemodReport* chirp_chat_demod_report); void setChirpChatDemodReport(SWGChirpChatDemodReport* chirp_chat_demod_report);
SWGChirpChatModReport* getChirpChatModReport();
void setChirpChatModReport(SWGChirpChatModReport* chirp_chat_mod_report);
SWGDSDDemodReport* getDsdDemodReport(); SWGDSDDemodReport* getDsdDemodReport();
void setDsdDemodReport(SWGDSDDemodReport* dsd_demod_report); void setDsdDemodReport(SWGDSDDemodReport* dsd_demod_report);
@ -168,6 +172,9 @@ private:
SWGChirpChatDemodReport* chirp_chat_demod_report; SWGChirpChatDemodReport* chirp_chat_demod_report;
bool m_chirp_chat_demod_report_isSet; bool m_chirp_chat_demod_report_isSet;
SWGChirpChatModReport* chirp_chat_mod_report;
bool m_chirp_chat_mod_report_isSet;
SWGDSDDemodReport* dsd_demod_report; SWGDSDDemodReport* dsd_demod_report;
bool m_dsd_demod_report_isSet; bool m_dsd_demod_report_isSet;

View File

@ -52,6 +52,8 @@ SWGChannelSettings::SWGChannelSettings() {
m_channel_analyzer_settings_isSet = false; m_channel_analyzer_settings_isSet = false;
chirp_chat_demod_settings = nullptr; chirp_chat_demod_settings = nullptr;
m_chirp_chat_demod_settings_isSet = false; m_chirp_chat_demod_settings_isSet = false;
chirp_chat_mod_settings = nullptr;
m_chirp_chat_mod_settings_isSet = false;
datv_demod_settings = nullptr; datv_demod_settings = nullptr;
m_datv_demod_settings_isSet = false; m_datv_demod_settings_isSet = false;
dsd_demod_settings = nullptr; dsd_demod_settings = nullptr;
@ -126,6 +128,8 @@ SWGChannelSettings::init() {
m_channel_analyzer_settings_isSet = false; m_channel_analyzer_settings_isSet = false;
chirp_chat_demod_settings = new SWGChirpChatDemodSettings(); chirp_chat_demod_settings = new SWGChirpChatDemodSettings();
m_chirp_chat_demod_settings_isSet = false; m_chirp_chat_demod_settings_isSet = false;
chirp_chat_mod_settings = new SWGChirpChatModSettings();
m_chirp_chat_mod_settings_isSet = false;
datv_demod_settings = new SWGDATVDemodSettings(); datv_demod_settings = new SWGDATVDemodSettings();
m_datv_demod_settings_isSet = false; m_datv_demod_settings_isSet = false;
dsd_demod_settings = new SWGDSDDemodSettings(); dsd_demod_settings = new SWGDSDDemodSettings();
@ -202,6 +206,9 @@ SWGChannelSettings::cleanup() {
if(chirp_chat_demod_settings != nullptr) { if(chirp_chat_demod_settings != nullptr) {
delete chirp_chat_demod_settings; delete chirp_chat_demod_settings;
} }
if(chirp_chat_mod_settings != nullptr) {
delete chirp_chat_mod_settings;
}
if(datv_demod_settings != nullptr) { if(datv_demod_settings != nullptr) {
delete datv_demod_settings; delete datv_demod_settings;
} }
@ -302,6 +309,8 @@ SWGChannelSettings::fromJsonObject(QJsonObject &pJson) {
::SWGSDRangel::setValue(&chirp_chat_demod_settings, pJson["ChirpChatDemodSettings"], "SWGChirpChatDemodSettings", "SWGChirpChatDemodSettings"); ::SWGSDRangel::setValue(&chirp_chat_demod_settings, pJson["ChirpChatDemodSettings"], "SWGChirpChatDemodSettings", "SWGChirpChatDemodSettings");
::SWGSDRangel::setValue(&chirp_chat_mod_settings, pJson["ChirpChatModSettings"], "SWGChirpChatModSettings", "SWGChirpChatModSettings");
::SWGSDRangel::setValue(&datv_demod_settings, pJson["DATVDemodSettings"], "SWGDATVDemodSettings", "SWGDATVDemodSettings"); ::SWGSDRangel::setValue(&datv_demod_settings, pJson["DATVDemodSettings"], "SWGDATVDemodSettings", "SWGDATVDemodSettings");
::SWGSDRangel::setValue(&dsd_demod_settings, pJson["DSDDemodSettings"], "SWGDSDDemodSettings", "SWGDSDDemodSettings"); ::SWGSDRangel::setValue(&dsd_demod_settings, pJson["DSDDemodSettings"], "SWGDSDDemodSettings", "SWGDSDDemodSettings");
@ -396,6 +405,9 @@ SWGChannelSettings::asJsonObject() {
if((chirp_chat_demod_settings != nullptr) && (chirp_chat_demod_settings->isSet())){ if((chirp_chat_demod_settings != nullptr) && (chirp_chat_demod_settings->isSet())){
toJsonValue(QString("ChirpChatDemodSettings"), chirp_chat_demod_settings, obj, QString("SWGChirpChatDemodSettings")); toJsonValue(QString("ChirpChatDemodSettings"), chirp_chat_demod_settings, obj, QString("SWGChirpChatDemodSettings"));
} }
if((chirp_chat_mod_settings != nullptr) && (chirp_chat_mod_settings->isSet())){
toJsonValue(QString("ChirpChatModSettings"), chirp_chat_mod_settings, obj, QString("SWGChirpChatModSettings"));
}
if((datv_demod_settings != nullptr) && (datv_demod_settings->isSet())){ if((datv_demod_settings != nullptr) && (datv_demod_settings->isSet())){
toJsonValue(QString("DATVDemodSettings"), datv_demod_settings, obj, QString("SWGDATVDemodSettings")); toJsonValue(QString("DATVDemodSettings"), datv_demod_settings, obj, QString("SWGDATVDemodSettings"));
} }
@ -583,6 +595,16 @@ SWGChannelSettings::setChirpChatDemodSettings(SWGChirpChatDemodSettings* chirp_c
this->m_chirp_chat_demod_settings_isSet = true; this->m_chirp_chat_demod_settings_isSet = true;
} }
SWGChirpChatModSettings*
SWGChannelSettings::getChirpChatModSettings() {
return chirp_chat_mod_settings;
}
void
SWGChannelSettings::setChirpChatModSettings(SWGChirpChatModSettings* chirp_chat_mod_settings) {
this->chirp_chat_mod_settings = chirp_chat_mod_settings;
this->m_chirp_chat_mod_settings_isSet = true;
}
SWGDATVDemodSettings* SWGDATVDemodSettings*
SWGChannelSettings::getDatvDemodSettings() { SWGChannelSettings::getDatvDemodSettings() {
return datv_demod_settings; return datv_demod_settings;
@ -834,6 +856,9 @@ SWGChannelSettings::isSet(){
if(chirp_chat_demod_settings && chirp_chat_demod_settings->isSet()){ if(chirp_chat_demod_settings && chirp_chat_demod_settings->isSet()){
isObjectUpdated = true; break; isObjectUpdated = true; break;
} }
if(chirp_chat_mod_settings && chirp_chat_mod_settings->isSet()){
isObjectUpdated = true; break;
}
if(datv_demod_settings && datv_demod_settings->isSet()){ if(datv_demod_settings && datv_demod_settings->isSet()){
isObjectUpdated = true; break; isObjectUpdated = true; break;
} }

View File

@ -30,6 +30,7 @@
#include "SWGBFMDemodSettings.h" #include "SWGBFMDemodSettings.h"
#include "SWGChannelAnalyzerSettings.h" #include "SWGChannelAnalyzerSettings.h"
#include "SWGChirpChatDemodSettings.h" #include "SWGChirpChatDemodSettings.h"
#include "SWGChirpChatModSettings.h"
#include "SWGDATVDemodSettings.h" #include "SWGDATVDemodSettings.h"
#include "SWGDSDDemodSettings.h" #include "SWGDSDDemodSettings.h"
#include "SWGFileSinkSettings.h" #include "SWGFileSinkSettings.h"
@ -107,6 +108,9 @@ public:
SWGChirpChatDemodSettings* getChirpChatDemodSettings(); SWGChirpChatDemodSettings* getChirpChatDemodSettings();
void setChirpChatDemodSettings(SWGChirpChatDemodSettings* chirp_chat_demod_settings); void setChirpChatDemodSettings(SWGChirpChatDemodSettings* chirp_chat_demod_settings);
SWGChirpChatModSettings* getChirpChatModSettings();
void setChirpChatModSettings(SWGChirpChatModSettings* chirp_chat_mod_settings);
SWGDATVDemodSettings* getDatvDemodSettings(); SWGDATVDemodSettings* getDatvDemodSettings();
void setDatvDemodSettings(SWGDATVDemodSettings* datv_demod_settings); void setDatvDemodSettings(SWGDATVDemodSettings* datv_demod_settings);
@ -210,6 +214,9 @@ private:
SWGChirpChatDemodSettings* chirp_chat_demod_settings; SWGChirpChatDemodSettings* chirp_chat_demod_settings;
bool m_chirp_chat_demod_settings_isSet; bool m_chirp_chat_demod_settings_isSet;
SWGChirpChatModSettings* chirp_chat_mod_settings;
bool m_chirp_chat_mod_settings_isSet;
SWGDATVDemodSettings* datv_demod_settings; SWGDATVDemodSettings* datv_demod_settings;
bool m_datv_demod_settings_isSet; bool m_datv_demod_settings_isSet;

View File

@ -0,0 +1,200 @@
/**
* SDRangel
* This is the web REST/JSON API of SDRangel SDR software. SDRangel is an Open Source Qt5/OpenGL 3.0+ (4.3+ in Windows) GUI and server Software Defined Radio and signal analyzer in software. It supports Airspy, BladeRF, HackRF, LimeSDR, PlutoSDR, RTL-SDR, SDRplay RSP1, USRP and FunCube --- Limitations and specifcities: * In SDRangel GUI the first Rx device set cannot be deleted. Conversely the server starts with no device sets and its number of device sets can be reduced to zero by as many calls as necessary to /sdrangel/deviceset with DELETE method. * Preset import and export from/to file is a server only feature. * Device set focus is a GUI only feature. * The following channels are not implemented (status 501 is returned): ATV and DATV demodulators, Channel Analyzer NG, LoRa demodulator * The device settings and report structures contains only the sub-structure corresponding to the device type. The DeviceSettings and DeviceReport structures documented here shows all of them but only one will be or should be present at a time * The channel settings and report structures contains only the sub-structure corresponding to the channel type. The ChannelSettings and ChannelReport structures documented here shows all of them but only one will be or should be present at a time ---
*
* OpenAPI spec version: 4.15.0
* Contact: f4exb06@gmail.com
*
* NOTE: This class is auto generated by the swagger code generator program.
* https://github.com/swagger-api/swagger-codegen.git
* Do not edit the class manually.
*/
#include "SWGChirpChatModReport.h"
#include "SWGHelpers.h"
#include <QJsonDocument>
#include <QJsonArray>
#include <QObject>
#include <QDebug>
namespace SWGSDRangel {
SWGChirpChatModReport::SWGChirpChatModReport(QString* json) {
init();
this->fromJson(*json);
}
SWGChirpChatModReport::SWGChirpChatModReport() {
channel_power_db = 0.0f;
m_channel_power_db_isSet = false;
channel_sample_rate = 0;
m_channel_sample_rate_isSet = false;
symbol_time_ms = 0.0f;
m_symbol_time_ms_isSet = false;
payload_time_ms = 0.0f;
m_payload_time_ms_isSet = false;
total_time_ms = 0.0f;
m_total_time_ms_isSet = false;
}
SWGChirpChatModReport::~SWGChirpChatModReport() {
this->cleanup();
}
void
SWGChirpChatModReport::init() {
channel_power_db = 0.0f;
m_channel_power_db_isSet = false;
channel_sample_rate = 0;
m_channel_sample_rate_isSet = false;
symbol_time_ms = 0.0f;
m_symbol_time_ms_isSet = false;
payload_time_ms = 0.0f;
m_payload_time_ms_isSet = false;
total_time_ms = 0.0f;
m_total_time_ms_isSet = false;
}
void
SWGChirpChatModReport::cleanup() {
}
SWGChirpChatModReport*
SWGChirpChatModReport::fromJson(QString &json) {
QByteArray array (json.toStdString().c_str());
QJsonDocument doc = QJsonDocument::fromJson(array);
QJsonObject jsonObject = doc.object();
this->fromJsonObject(jsonObject);
return this;
}
void
SWGChirpChatModReport::fromJsonObject(QJsonObject &pJson) {
::SWGSDRangel::setValue(&channel_power_db, pJson["channelPowerDB"], "float", "");
::SWGSDRangel::setValue(&channel_sample_rate, pJson["channelSampleRate"], "qint32", "");
::SWGSDRangel::setValue(&symbol_time_ms, pJson["symbolTimeMs"], "float", "");
::SWGSDRangel::setValue(&payload_time_ms, pJson["payloadTimeMs"], "float", "");
::SWGSDRangel::setValue(&total_time_ms, pJson["totalTimeMs"], "float", "");
}
QString
SWGChirpChatModReport::asJson ()
{
QJsonObject* obj = this->asJsonObject();
QJsonDocument doc(*obj);
QByteArray bytes = doc.toJson();
delete obj;
return QString(bytes);
}
QJsonObject*
SWGChirpChatModReport::asJsonObject() {
QJsonObject* obj = new QJsonObject();
if(m_channel_power_db_isSet){
obj->insert("channelPowerDB", QJsonValue(channel_power_db));
}
if(m_channel_sample_rate_isSet){
obj->insert("channelSampleRate", QJsonValue(channel_sample_rate));
}
if(m_symbol_time_ms_isSet){
obj->insert("symbolTimeMs", QJsonValue(symbol_time_ms));
}
if(m_payload_time_ms_isSet){
obj->insert("payloadTimeMs", QJsonValue(payload_time_ms));
}
if(m_total_time_ms_isSet){
obj->insert("totalTimeMs", QJsonValue(total_time_ms));
}
return obj;
}
float
SWGChirpChatModReport::getChannelPowerDb() {
return channel_power_db;
}
void
SWGChirpChatModReport::setChannelPowerDb(float channel_power_db) {
this->channel_power_db = channel_power_db;
this->m_channel_power_db_isSet = true;
}
qint32
SWGChirpChatModReport::getChannelSampleRate() {
return channel_sample_rate;
}
void
SWGChirpChatModReport::setChannelSampleRate(qint32 channel_sample_rate) {
this->channel_sample_rate = channel_sample_rate;
this->m_channel_sample_rate_isSet = true;
}
float
SWGChirpChatModReport::getSymbolTimeMs() {
return symbol_time_ms;
}
void
SWGChirpChatModReport::setSymbolTimeMs(float symbol_time_ms) {
this->symbol_time_ms = symbol_time_ms;
this->m_symbol_time_ms_isSet = true;
}
float
SWGChirpChatModReport::getPayloadTimeMs() {
return payload_time_ms;
}
void
SWGChirpChatModReport::setPayloadTimeMs(float payload_time_ms) {
this->payload_time_ms = payload_time_ms;
this->m_payload_time_ms_isSet = true;
}
float
SWGChirpChatModReport::getTotalTimeMs() {
return total_time_ms;
}
void
SWGChirpChatModReport::setTotalTimeMs(float total_time_ms) {
this->total_time_ms = total_time_ms;
this->m_total_time_ms_isSet = true;
}
bool
SWGChirpChatModReport::isSet(){
bool isObjectUpdated = false;
do{
if(m_channel_power_db_isSet){
isObjectUpdated = true; break;
}
if(m_channel_sample_rate_isSet){
isObjectUpdated = true; break;
}
if(m_symbol_time_ms_isSet){
isObjectUpdated = true; break;
}
if(m_payload_time_ms_isSet){
isObjectUpdated = true; break;
}
if(m_total_time_ms_isSet){
isObjectUpdated = true; break;
}
}while(false);
return isObjectUpdated;
}
}

View File

@ -0,0 +1,82 @@
/**
* SDRangel
* This is the web REST/JSON API of SDRangel SDR software. SDRangel is an Open Source Qt5/OpenGL 3.0+ (4.3+ in Windows) GUI and server Software Defined Radio and signal analyzer in software. It supports Airspy, BladeRF, HackRF, LimeSDR, PlutoSDR, RTL-SDR, SDRplay RSP1, USRP and FunCube --- Limitations and specifcities: * In SDRangel GUI the first Rx device set cannot be deleted. Conversely the server starts with no device sets and its number of device sets can be reduced to zero by as many calls as necessary to /sdrangel/deviceset with DELETE method. * Preset import and export from/to file is a server only feature. * Device set focus is a GUI only feature. * The following channels are not implemented (status 501 is returned): ATV and DATV demodulators, Channel Analyzer NG, LoRa demodulator * The device settings and report structures contains only the sub-structure corresponding to the device type. The DeviceSettings and DeviceReport structures documented here shows all of them but only one will be or should be present at a time * The channel settings and report structures contains only the sub-structure corresponding to the channel type. The ChannelSettings and ChannelReport structures documented here shows all of them but only one will be or should be present at a time ---
*
* OpenAPI spec version: 4.15.0
* Contact: f4exb06@gmail.com
*
* NOTE: This class is auto generated by the swagger code generator program.
* https://github.com/swagger-api/swagger-codegen.git
* Do not edit the class manually.
*/
/*
* SWGChirpChatModReport.h
*
* ChirpChatMod
*/
#ifndef SWGChirpChatModReport_H_
#define SWGChirpChatModReport_H_
#include <QJsonObject>
#include "SWGObject.h"
#include "export.h"
namespace SWGSDRangel {
class SWG_API SWGChirpChatModReport: public SWGObject {
public:
SWGChirpChatModReport();
SWGChirpChatModReport(QString* json);
virtual ~SWGChirpChatModReport();
void init();
void cleanup();
virtual QString asJson () override;
virtual QJsonObject* asJsonObject() override;
virtual void fromJsonObject(QJsonObject &json) override;
virtual SWGChirpChatModReport* fromJson(QString &jsonString) override;
float getChannelPowerDb();
void setChannelPowerDb(float channel_power_db);
qint32 getChannelSampleRate();
void setChannelSampleRate(qint32 channel_sample_rate);
float getSymbolTimeMs();
void setSymbolTimeMs(float symbol_time_ms);
float getPayloadTimeMs();
void setPayloadTimeMs(float payload_time_ms);
float getTotalTimeMs();
void setTotalTimeMs(float total_time_ms);
virtual bool isSet() override;
private:
float channel_power_db;
bool m_channel_power_db_isSet;
qint32 channel_sample_rate;
bool m_channel_sample_rate_isSet;
float symbol_time_ms;
bool m_symbol_time_ms_isSet;
float payload_time_ms;
bool m_payload_time_ms_isSet;
float total_time_ms;
bool m_total_time_ms_isSet;
};
}
#endif /* SWGChirpChatModReport_H_ */

View File

@ -0,0 +1,949 @@
/**
* SDRangel
* This is the web REST/JSON API of SDRangel SDR software. SDRangel is an Open Source Qt5/OpenGL 3.0+ (4.3+ in Windows) GUI and server Software Defined Radio and signal analyzer in software. It supports Airspy, BladeRF, HackRF, LimeSDR, PlutoSDR, RTL-SDR, SDRplay RSP1, USRP and FunCube --- Limitations and specifcities: * In SDRangel GUI the first Rx device set cannot be deleted. Conversely the server starts with no device sets and its number of device sets can be reduced to zero by as many calls as necessary to /sdrangel/deviceset with DELETE method. * Preset import and export from/to file is a server only feature. * Device set focus is a GUI only feature. * The following channels are not implemented (status 501 is returned): ATV and DATV demodulators, Channel Analyzer NG, LoRa demodulator * The device settings and report structures contains only the sub-structure corresponding to the device type. The DeviceSettings and DeviceReport structures documented here shows all of them but only one will be or should be present at a time * The channel settings and report structures contains only the sub-structure corresponding to the channel type. The ChannelSettings and ChannelReport structures documented here shows all of them but only one will be or should be present at a time ---
*
* OpenAPI spec version: 4.15.0
* Contact: f4exb06@gmail.com
*
* NOTE: This class is auto generated by the swagger code generator program.
* https://github.com/swagger-api/swagger-codegen.git
* Do not edit the class manually.
*/
#include "SWGChirpChatModSettings.h"
#include "SWGHelpers.h"
#include <QJsonDocument>
#include <QJsonArray>
#include <QObject>
#include <QDebug>
namespace SWGSDRangel {
SWGChirpChatModSettings::SWGChirpChatModSettings(QString* json) {
init();
this->fromJson(*json);
}
SWGChirpChatModSettings::SWGChirpChatModSettings() {
input_frequency_offset = 0L;
m_input_frequency_offset_isSet = false;
bandwidth_index = 0;
m_bandwidth_index_isSet = false;
spread_factor = 0;
m_spread_factor_isSet = false;
de_bits = 0;
m_de_bits_isSet = false;
preamble_chirps = 0;
m_preamble_chirps_isSet = false;
quiet_millis = 0;
m_quiet_millis_isSet = false;
sync_word = 0;
m_sync_word_isSet = false;
channel_mute = 0;
m_channel_mute_isSet = false;
coding_scheme = 0;
m_coding_scheme_isSet = false;
nb_parity_bits = 0;
m_nb_parity_bits_isSet = false;
has_crc = 0;
m_has_crc_isSet = false;
has_header = 0;
m_has_header_isSet = false;
my_call = nullptr;
m_my_call_isSet = false;
ur_call = nullptr;
m_ur_call_isSet = false;
my_loc = nullptr;
m_my_loc_isSet = false;
my_rpt = nullptr;
m_my_rpt_isSet = false;
message_type = 0;
m_message_type_isSet = false;
beacon_message = nullptr;
m_beacon_message_isSet = false;
cq_message = nullptr;
m_cq_message_isSet = false;
reply_message = nullptr;
m_reply_message_isSet = false;
report_message = nullptr;
m_report_message_isSet = false;
reply_report_message = nullptr;
m_reply_report_message_isSet = false;
rrr_message = nullptr;
m_rrr_message_isSet = false;
message73 = nullptr;
m_message73_isSet = false;
qso_text_message = nullptr;
m_qso_text_message_isSet = false;
text_message = nullptr;
m_text_message_isSet = false;
bytes_message = nullptr;
m_bytes_message_isSet = false;
message_repeat = 0;
m_message_repeat_isSet = false;
rgb_color = 0;
m_rgb_color_isSet = false;
title = nullptr;
m_title_isSet = false;
stream_index = 0;
m_stream_index_isSet = false;
use_reverse_api = 0;
m_use_reverse_api_isSet = false;
reverse_api_address = nullptr;
m_reverse_api_address_isSet = false;
reverse_api_port = 0;
m_reverse_api_port_isSet = false;
reverse_api_device_index = 0;
m_reverse_api_device_index_isSet = false;
reverse_api_channel_index = 0;
m_reverse_api_channel_index_isSet = false;
}
SWGChirpChatModSettings::~SWGChirpChatModSettings() {
this->cleanup();
}
void
SWGChirpChatModSettings::init() {
input_frequency_offset = 0L;
m_input_frequency_offset_isSet = false;
bandwidth_index = 0;
m_bandwidth_index_isSet = false;
spread_factor = 0;
m_spread_factor_isSet = false;
de_bits = 0;
m_de_bits_isSet = false;
preamble_chirps = 0;
m_preamble_chirps_isSet = false;
quiet_millis = 0;
m_quiet_millis_isSet = false;
sync_word = 0;
m_sync_word_isSet = false;
channel_mute = 0;
m_channel_mute_isSet = false;
coding_scheme = 0;
m_coding_scheme_isSet = false;
nb_parity_bits = 0;
m_nb_parity_bits_isSet = false;
has_crc = 0;
m_has_crc_isSet = false;
has_header = 0;
m_has_header_isSet = false;
my_call = new QString("");
m_my_call_isSet = false;
ur_call = new QString("");
m_ur_call_isSet = false;
my_loc = new QString("");
m_my_loc_isSet = false;
my_rpt = new QString("");
m_my_rpt_isSet = false;
message_type = 0;
m_message_type_isSet = false;
beacon_message = new QString("");
m_beacon_message_isSet = false;
cq_message = new QString("");
m_cq_message_isSet = false;
reply_message = new QString("");
m_reply_message_isSet = false;
report_message = new QString("");
m_report_message_isSet = false;
reply_report_message = new QString("");
m_reply_report_message_isSet = false;
rrr_message = new QString("");
m_rrr_message_isSet = false;
message73 = new QString("");
m_message73_isSet = false;
qso_text_message = new QString("");
m_qso_text_message_isSet = false;
text_message = new QString("");
m_text_message_isSet = false;
bytes_message = new QList<QString*>();
m_bytes_message_isSet = false;
message_repeat = 0;
m_message_repeat_isSet = false;
rgb_color = 0;
m_rgb_color_isSet = false;
title = new QString("");
m_title_isSet = false;
stream_index = 0;
m_stream_index_isSet = false;
use_reverse_api = 0;
m_use_reverse_api_isSet = false;
reverse_api_address = new QString("");
m_reverse_api_address_isSet = false;
reverse_api_port = 0;
m_reverse_api_port_isSet = false;
reverse_api_device_index = 0;
m_reverse_api_device_index_isSet = false;
reverse_api_channel_index = 0;
m_reverse_api_channel_index_isSet = false;
}
void
SWGChirpChatModSettings::cleanup() {
if(my_call != nullptr) {
delete my_call;
}
if(ur_call != nullptr) {
delete ur_call;
}
if(my_loc != nullptr) {
delete my_loc;
}
if(my_rpt != nullptr) {
delete my_rpt;
}
if(beacon_message != nullptr) {
delete beacon_message;
}
if(cq_message != nullptr) {
delete cq_message;
}
if(reply_message != nullptr) {
delete reply_message;
}
if(report_message != nullptr) {
delete report_message;
}
if(reply_report_message != nullptr) {
delete reply_report_message;
}
if(rrr_message != nullptr) {
delete rrr_message;
}
if(message73 != nullptr) {
delete message73;
}
if(qso_text_message != nullptr) {
delete qso_text_message;
}
if(text_message != nullptr) {
delete text_message;
}
if(bytes_message != nullptr) {
auto arr = bytes_message;
for(auto o: *arr) {
delete o;
}
delete bytes_message;
}
if(title != nullptr) {
delete title;
}
if(reverse_api_address != nullptr) {
delete reverse_api_address;
}
}
SWGChirpChatModSettings*
SWGChirpChatModSettings::fromJson(QString &json) {
QByteArray array (json.toStdString().c_str());
QJsonDocument doc = QJsonDocument::fromJson(array);
QJsonObject jsonObject = doc.object();
this->fromJsonObject(jsonObject);
return this;
}
void
SWGChirpChatModSettings::fromJsonObject(QJsonObject &pJson) {
::SWGSDRangel::setValue(&input_frequency_offset, pJson["inputFrequencyOffset"], "qint64", "");
::SWGSDRangel::setValue(&bandwidth_index, pJson["bandwidthIndex"], "qint32", "");
::SWGSDRangel::setValue(&spread_factor, pJson["spreadFactor"], "qint32", "");
::SWGSDRangel::setValue(&de_bits, pJson["deBits"], "qint32", "");
::SWGSDRangel::setValue(&preamble_chirps, pJson["preambleChirps"], "qint32", "");
::SWGSDRangel::setValue(&quiet_millis, pJson["quietMillis"], "qint32", "");
::SWGSDRangel::setValue(&sync_word, pJson["syncWord"], "qint32", "");
::SWGSDRangel::setValue(&channel_mute, pJson["channelMute"], "qint32", "");
::SWGSDRangel::setValue(&coding_scheme, pJson["codingScheme"], "qint32", "");
::SWGSDRangel::setValue(&nb_parity_bits, pJson["nbParityBits"], "qint32", "");
::SWGSDRangel::setValue(&has_crc, pJson["hasCRC"], "qint32", "");
::SWGSDRangel::setValue(&has_header, pJson["hasHeader"], "qint32", "");
::SWGSDRangel::setValue(&my_call, pJson["myCall"], "QString", "QString");
::SWGSDRangel::setValue(&ur_call, pJson["urCall"], "QString", "QString");
::SWGSDRangel::setValue(&my_loc, pJson["myLoc"], "QString", "QString");
::SWGSDRangel::setValue(&my_rpt, pJson["myRpt"], "QString", "QString");
::SWGSDRangel::setValue(&message_type, pJson["messageType"], "qint32", "");
::SWGSDRangel::setValue(&beacon_message, pJson["beaconMessage"], "QString", "QString");
::SWGSDRangel::setValue(&cq_message, pJson["cqMessage"], "QString", "QString");
::SWGSDRangel::setValue(&reply_message, pJson["replyMessage"], "QString", "QString");
::SWGSDRangel::setValue(&report_message, pJson["reportMessage"], "QString", "QString");
::SWGSDRangel::setValue(&reply_report_message, pJson["replyReportMessage"], "QString", "QString");
::SWGSDRangel::setValue(&rrr_message, pJson["rrrMessage"], "QString", "QString");
::SWGSDRangel::setValue(&message73, pJson["message73"], "QString", "QString");
::SWGSDRangel::setValue(&qso_text_message, pJson["qsoTextMessage"], "QString", "QString");
::SWGSDRangel::setValue(&text_message, pJson["textMessage"], "QString", "QString");
::SWGSDRangel::setValue(&bytes_message, pJson["bytesMessage"], "QList", "QString");
::SWGSDRangel::setValue(&message_repeat, pJson["messageRepeat"], "qint32", "");
::SWGSDRangel::setValue(&rgb_color, pJson["rgbColor"], "qint32", "");
::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString");
::SWGSDRangel::setValue(&stream_index, pJson["streamIndex"], "qint32", "");
::SWGSDRangel::setValue(&use_reverse_api, pJson["useReverseAPI"], "qint32", "");
::SWGSDRangel::setValue(&reverse_api_address, pJson["reverseAPIAddress"], "QString", "QString");
::SWGSDRangel::setValue(&reverse_api_port, pJson["reverseAPIPort"], "qint32", "");
::SWGSDRangel::setValue(&reverse_api_device_index, pJson["reverseAPIDeviceIndex"], "qint32", "");
::SWGSDRangel::setValue(&reverse_api_channel_index, pJson["reverseAPIChannelIndex"], "qint32", "");
}
QString
SWGChirpChatModSettings::asJson ()
{
QJsonObject* obj = this->asJsonObject();
QJsonDocument doc(*obj);
QByteArray bytes = doc.toJson();
delete obj;
return QString(bytes);
}
QJsonObject*
SWGChirpChatModSettings::asJsonObject() {
QJsonObject* obj = new QJsonObject();
if(m_input_frequency_offset_isSet){
obj->insert("inputFrequencyOffset", QJsonValue(input_frequency_offset));
}
if(m_bandwidth_index_isSet){
obj->insert("bandwidthIndex", QJsonValue(bandwidth_index));
}
if(m_spread_factor_isSet){
obj->insert("spreadFactor", QJsonValue(spread_factor));
}
if(m_de_bits_isSet){
obj->insert("deBits", QJsonValue(de_bits));
}
if(m_preamble_chirps_isSet){
obj->insert("preambleChirps", QJsonValue(preamble_chirps));
}
if(m_quiet_millis_isSet){
obj->insert("quietMillis", QJsonValue(quiet_millis));
}
if(m_sync_word_isSet){
obj->insert("syncWord", QJsonValue(sync_word));
}
if(m_channel_mute_isSet){
obj->insert("channelMute", QJsonValue(channel_mute));
}
if(m_coding_scheme_isSet){
obj->insert("codingScheme", QJsonValue(coding_scheme));
}
if(m_nb_parity_bits_isSet){
obj->insert("nbParityBits", QJsonValue(nb_parity_bits));
}
if(m_has_crc_isSet){
obj->insert("hasCRC", QJsonValue(has_crc));
}
if(m_has_header_isSet){
obj->insert("hasHeader", QJsonValue(has_header));
}
if(my_call != nullptr && *my_call != QString("")){
toJsonValue(QString("myCall"), my_call, obj, QString("QString"));
}
if(ur_call != nullptr && *ur_call != QString("")){
toJsonValue(QString("urCall"), ur_call, obj, QString("QString"));
}
if(my_loc != nullptr && *my_loc != QString("")){
toJsonValue(QString("myLoc"), my_loc, obj, QString("QString"));
}
if(my_rpt != nullptr && *my_rpt != QString("")){
toJsonValue(QString("myRpt"), my_rpt, obj, QString("QString"));
}
if(m_message_type_isSet){
obj->insert("messageType", QJsonValue(message_type));
}
if(beacon_message != nullptr && *beacon_message != QString("")){
toJsonValue(QString("beaconMessage"), beacon_message, obj, QString("QString"));
}
if(cq_message != nullptr && *cq_message != QString("")){
toJsonValue(QString("cqMessage"), cq_message, obj, QString("QString"));
}
if(reply_message != nullptr && *reply_message != QString("")){
toJsonValue(QString("replyMessage"), reply_message, obj, QString("QString"));
}
if(report_message != nullptr && *report_message != QString("")){
toJsonValue(QString("reportMessage"), report_message, obj, QString("QString"));
}
if(reply_report_message != nullptr && *reply_report_message != QString("")){
toJsonValue(QString("replyReportMessage"), reply_report_message, obj, QString("QString"));
}
if(rrr_message != nullptr && *rrr_message != QString("")){
toJsonValue(QString("rrrMessage"), rrr_message, obj, QString("QString"));
}
if(message73 != nullptr && *message73 != QString("")){
toJsonValue(QString("message73"), message73, obj, QString("QString"));
}
if(qso_text_message != nullptr && *qso_text_message != QString("")){
toJsonValue(QString("qsoTextMessage"), qso_text_message, obj, QString("QString"));
}
if(text_message != nullptr && *text_message != QString("")){
toJsonValue(QString("textMessage"), text_message, obj, QString("QString"));
}
if(bytes_message && bytes_message->size() > 0){
toJsonArray((QList<void*>*)bytes_message, obj, "bytesMessage", "QString");
}
if(m_message_repeat_isSet){
obj->insert("messageRepeat", QJsonValue(message_repeat));
}
if(m_rgb_color_isSet){
obj->insert("rgbColor", QJsonValue(rgb_color));
}
if(title != nullptr && *title != QString("")){
toJsonValue(QString("title"), title, obj, QString("QString"));
}
if(m_stream_index_isSet){
obj->insert("streamIndex", QJsonValue(stream_index));
}
if(m_use_reverse_api_isSet){
obj->insert("useReverseAPI", QJsonValue(use_reverse_api));
}
if(reverse_api_address != nullptr && *reverse_api_address != QString("")){
toJsonValue(QString("reverseAPIAddress"), reverse_api_address, obj, QString("QString"));
}
if(m_reverse_api_port_isSet){
obj->insert("reverseAPIPort", QJsonValue(reverse_api_port));
}
if(m_reverse_api_device_index_isSet){
obj->insert("reverseAPIDeviceIndex", QJsonValue(reverse_api_device_index));
}
if(m_reverse_api_channel_index_isSet){
obj->insert("reverseAPIChannelIndex", QJsonValue(reverse_api_channel_index));
}
return obj;
}
qint64
SWGChirpChatModSettings::getInputFrequencyOffset() {
return input_frequency_offset;
}
void
SWGChirpChatModSettings::setInputFrequencyOffset(qint64 input_frequency_offset) {
this->input_frequency_offset = input_frequency_offset;
this->m_input_frequency_offset_isSet = true;
}
qint32
SWGChirpChatModSettings::getBandwidthIndex() {
return bandwidth_index;
}
void
SWGChirpChatModSettings::setBandwidthIndex(qint32 bandwidth_index) {
this->bandwidth_index = bandwidth_index;
this->m_bandwidth_index_isSet = true;
}
qint32
SWGChirpChatModSettings::getSpreadFactor() {
return spread_factor;
}
void
SWGChirpChatModSettings::setSpreadFactor(qint32 spread_factor) {
this->spread_factor = spread_factor;
this->m_spread_factor_isSet = true;
}
qint32
SWGChirpChatModSettings::getDeBits() {
return de_bits;
}
void
SWGChirpChatModSettings::setDeBits(qint32 de_bits) {
this->de_bits = de_bits;
this->m_de_bits_isSet = true;
}
qint32
SWGChirpChatModSettings::getPreambleChirps() {
return preamble_chirps;
}
void
SWGChirpChatModSettings::setPreambleChirps(qint32 preamble_chirps) {
this->preamble_chirps = preamble_chirps;
this->m_preamble_chirps_isSet = true;
}
qint32
SWGChirpChatModSettings::getQuietMillis() {
return quiet_millis;
}
void
SWGChirpChatModSettings::setQuietMillis(qint32 quiet_millis) {
this->quiet_millis = quiet_millis;
this->m_quiet_millis_isSet = true;
}
qint32
SWGChirpChatModSettings::getSyncWord() {
return sync_word;
}
void
SWGChirpChatModSettings::setSyncWord(qint32 sync_word) {
this->sync_word = sync_word;
this->m_sync_word_isSet = true;
}
qint32
SWGChirpChatModSettings::getChannelMute() {
return channel_mute;
}
void
SWGChirpChatModSettings::setChannelMute(qint32 channel_mute) {
this->channel_mute = channel_mute;
this->m_channel_mute_isSet = true;
}
qint32
SWGChirpChatModSettings::getCodingScheme() {
return coding_scheme;
}
void
SWGChirpChatModSettings::setCodingScheme(qint32 coding_scheme) {
this->coding_scheme = coding_scheme;
this->m_coding_scheme_isSet = true;
}
qint32
SWGChirpChatModSettings::getNbParityBits() {
return nb_parity_bits;
}
void
SWGChirpChatModSettings::setNbParityBits(qint32 nb_parity_bits) {
this->nb_parity_bits = nb_parity_bits;
this->m_nb_parity_bits_isSet = true;
}
qint32
SWGChirpChatModSettings::getHasCrc() {
return has_crc;
}
void
SWGChirpChatModSettings::setHasCrc(qint32 has_crc) {
this->has_crc = has_crc;
this->m_has_crc_isSet = true;
}
qint32
SWGChirpChatModSettings::getHasHeader() {
return has_header;
}
void
SWGChirpChatModSettings::setHasHeader(qint32 has_header) {
this->has_header = has_header;
this->m_has_header_isSet = true;
}
QString*
SWGChirpChatModSettings::getMyCall() {
return my_call;
}
void
SWGChirpChatModSettings::setMyCall(QString* my_call) {
this->my_call = my_call;
this->m_my_call_isSet = true;
}
QString*
SWGChirpChatModSettings::getUrCall() {
return ur_call;
}
void
SWGChirpChatModSettings::setUrCall(QString* ur_call) {
this->ur_call = ur_call;
this->m_ur_call_isSet = true;
}
QString*
SWGChirpChatModSettings::getMyLoc() {
return my_loc;
}
void
SWGChirpChatModSettings::setMyLoc(QString* my_loc) {
this->my_loc = my_loc;
this->m_my_loc_isSet = true;
}
QString*
SWGChirpChatModSettings::getMyRpt() {
return my_rpt;
}
void
SWGChirpChatModSettings::setMyRpt(QString* my_rpt) {
this->my_rpt = my_rpt;
this->m_my_rpt_isSet = true;
}
qint32
SWGChirpChatModSettings::getMessageType() {
return message_type;
}
void
SWGChirpChatModSettings::setMessageType(qint32 message_type) {
this->message_type = message_type;
this->m_message_type_isSet = true;
}
QString*
SWGChirpChatModSettings::getBeaconMessage() {
return beacon_message;
}
void
SWGChirpChatModSettings::setBeaconMessage(QString* beacon_message) {
this->beacon_message = beacon_message;
this->m_beacon_message_isSet = true;
}
QString*
SWGChirpChatModSettings::getCqMessage() {
return cq_message;
}
void
SWGChirpChatModSettings::setCqMessage(QString* cq_message) {
this->cq_message = cq_message;
this->m_cq_message_isSet = true;
}
QString*
SWGChirpChatModSettings::getReplyMessage() {
return reply_message;
}
void
SWGChirpChatModSettings::setReplyMessage(QString* reply_message) {
this->reply_message = reply_message;
this->m_reply_message_isSet = true;
}
QString*
SWGChirpChatModSettings::getReportMessage() {
return report_message;
}
void
SWGChirpChatModSettings::setReportMessage(QString* report_message) {
this->report_message = report_message;
this->m_report_message_isSet = true;
}
QString*
SWGChirpChatModSettings::getReplyReportMessage() {
return reply_report_message;
}
void
SWGChirpChatModSettings::setReplyReportMessage(QString* reply_report_message) {
this->reply_report_message = reply_report_message;
this->m_reply_report_message_isSet = true;
}
QString*
SWGChirpChatModSettings::getRrrMessage() {
return rrr_message;
}
void
SWGChirpChatModSettings::setRrrMessage(QString* rrr_message) {
this->rrr_message = rrr_message;
this->m_rrr_message_isSet = true;
}
QString*
SWGChirpChatModSettings::getMessage73() {
return message73;
}
void
SWGChirpChatModSettings::setMessage73(QString* message73) {
this->message73 = message73;
this->m_message73_isSet = true;
}
QString*
SWGChirpChatModSettings::getQsoTextMessage() {
return qso_text_message;
}
void
SWGChirpChatModSettings::setQsoTextMessage(QString* qso_text_message) {
this->qso_text_message = qso_text_message;
this->m_qso_text_message_isSet = true;
}
QString*
SWGChirpChatModSettings::getTextMessage() {
return text_message;
}
void
SWGChirpChatModSettings::setTextMessage(QString* text_message) {
this->text_message = text_message;
this->m_text_message_isSet = true;
}
QList<QString*>*
SWGChirpChatModSettings::getBytesMessage() {
return bytes_message;
}
void
SWGChirpChatModSettings::setBytesMessage(QList<QString*>* bytes_message) {
this->bytes_message = bytes_message;
this->m_bytes_message_isSet = true;
}
qint32
SWGChirpChatModSettings::getMessageRepeat() {
return message_repeat;
}
void
SWGChirpChatModSettings::setMessageRepeat(qint32 message_repeat) {
this->message_repeat = message_repeat;
this->m_message_repeat_isSet = true;
}
qint32
SWGChirpChatModSettings::getRgbColor() {
return rgb_color;
}
void
SWGChirpChatModSettings::setRgbColor(qint32 rgb_color) {
this->rgb_color = rgb_color;
this->m_rgb_color_isSet = true;
}
QString*
SWGChirpChatModSettings::getTitle() {
return title;
}
void
SWGChirpChatModSettings::setTitle(QString* title) {
this->title = title;
this->m_title_isSet = true;
}
qint32
SWGChirpChatModSettings::getStreamIndex() {
return stream_index;
}
void
SWGChirpChatModSettings::setStreamIndex(qint32 stream_index) {
this->stream_index = stream_index;
this->m_stream_index_isSet = true;
}
qint32
SWGChirpChatModSettings::getUseReverseApi() {
return use_reverse_api;
}
void
SWGChirpChatModSettings::setUseReverseApi(qint32 use_reverse_api) {
this->use_reverse_api = use_reverse_api;
this->m_use_reverse_api_isSet = true;
}
QString*
SWGChirpChatModSettings::getReverseApiAddress() {
return reverse_api_address;
}
void
SWGChirpChatModSettings::setReverseApiAddress(QString* reverse_api_address) {
this->reverse_api_address = reverse_api_address;
this->m_reverse_api_address_isSet = true;
}
qint32
SWGChirpChatModSettings::getReverseApiPort() {
return reverse_api_port;
}
void
SWGChirpChatModSettings::setReverseApiPort(qint32 reverse_api_port) {
this->reverse_api_port = reverse_api_port;
this->m_reverse_api_port_isSet = true;
}
qint32
SWGChirpChatModSettings::getReverseApiDeviceIndex() {
return reverse_api_device_index;
}
void
SWGChirpChatModSettings::setReverseApiDeviceIndex(qint32 reverse_api_device_index) {
this->reverse_api_device_index = reverse_api_device_index;
this->m_reverse_api_device_index_isSet = true;
}
qint32
SWGChirpChatModSettings::getReverseApiChannelIndex() {
return reverse_api_channel_index;
}
void
SWGChirpChatModSettings::setReverseApiChannelIndex(qint32 reverse_api_channel_index) {
this->reverse_api_channel_index = reverse_api_channel_index;
this->m_reverse_api_channel_index_isSet = true;
}
bool
SWGChirpChatModSettings::isSet(){
bool isObjectUpdated = false;
do{
if(m_input_frequency_offset_isSet){
isObjectUpdated = true; break;
}
if(m_bandwidth_index_isSet){
isObjectUpdated = true; break;
}
if(m_spread_factor_isSet){
isObjectUpdated = true; break;
}
if(m_de_bits_isSet){
isObjectUpdated = true; break;
}
if(m_preamble_chirps_isSet){
isObjectUpdated = true; break;
}
if(m_quiet_millis_isSet){
isObjectUpdated = true; break;
}
if(m_sync_word_isSet){
isObjectUpdated = true; break;
}
if(m_channel_mute_isSet){
isObjectUpdated = true; break;
}
if(m_coding_scheme_isSet){
isObjectUpdated = true; break;
}
if(m_nb_parity_bits_isSet){
isObjectUpdated = true; break;
}
if(m_has_crc_isSet){
isObjectUpdated = true; break;
}
if(m_has_header_isSet){
isObjectUpdated = true; break;
}
if(my_call && *my_call != QString("")){
isObjectUpdated = true; break;
}
if(ur_call && *ur_call != QString("")){
isObjectUpdated = true; break;
}
if(my_loc && *my_loc != QString("")){
isObjectUpdated = true; break;
}
if(my_rpt && *my_rpt != QString("")){
isObjectUpdated = true; break;
}
if(m_message_type_isSet){
isObjectUpdated = true; break;
}
if(beacon_message && *beacon_message != QString("")){
isObjectUpdated = true; break;
}
if(cq_message && *cq_message != QString("")){
isObjectUpdated = true; break;
}
if(reply_message && *reply_message != QString("")){
isObjectUpdated = true; break;
}
if(report_message && *report_message != QString("")){
isObjectUpdated = true; break;
}
if(reply_report_message && *reply_report_message != QString("")){
isObjectUpdated = true; break;
}
if(rrr_message && *rrr_message != QString("")){
isObjectUpdated = true; break;
}
if(message73 && *message73 != QString("")){
isObjectUpdated = true; break;
}
if(qso_text_message && *qso_text_message != QString("")){
isObjectUpdated = true; break;
}
if(text_message && *text_message != QString("")){
isObjectUpdated = true; break;
}
if(bytes_message && (bytes_message->size() > 0)){
isObjectUpdated = true; break;
}
if(m_message_repeat_isSet){
isObjectUpdated = true; break;
}
if(m_rgb_color_isSet){
isObjectUpdated = true; break;
}
if(title && *title != QString("")){
isObjectUpdated = true; break;
}
if(m_stream_index_isSet){
isObjectUpdated = true; break;
}
if(m_use_reverse_api_isSet){
isObjectUpdated = true; break;
}
if(reverse_api_address && *reverse_api_address != QString("")){
isObjectUpdated = true; break;
}
if(m_reverse_api_port_isSet){
isObjectUpdated = true; break;
}
if(m_reverse_api_device_index_isSet){
isObjectUpdated = true; break;
}
if(m_reverse_api_channel_index_isSet){
isObjectUpdated = true; break;
}
}while(false);
return isObjectUpdated;
}
}

View File

@ -0,0 +1,270 @@
/**
* SDRangel
* This is the web REST/JSON API of SDRangel SDR software. SDRangel is an Open Source Qt5/OpenGL 3.0+ (4.3+ in Windows) GUI and server Software Defined Radio and signal analyzer in software. It supports Airspy, BladeRF, HackRF, LimeSDR, PlutoSDR, RTL-SDR, SDRplay RSP1, USRP and FunCube --- Limitations and specifcities: * In SDRangel GUI the first Rx device set cannot be deleted. Conversely the server starts with no device sets and its number of device sets can be reduced to zero by as many calls as necessary to /sdrangel/deviceset with DELETE method. * Preset import and export from/to file is a server only feature. * Device set focus is a GUI only feature. * The following channels are not implemented (status 501 is returned): ATV and DATV demodulators, Channel Analyzer NG, LoRa demodulator * The device settings and report structures contains only the sub-structure corresponding to the device type. The DeviceSettings and DeviceReport structures documented here shows all of them but only one will be or should be present at a time * The channel settings and report structures contains only the sub-structure corresponding to the channel type. The ChannelSettings and ChannelReport structures documented here shows all of them but only one will be or should be present at a time ---
*
* OpenAPI spec version: 4.15.0
* Contact: f4exb06@gmail.com
*
* NOTE: This class is auto generated by the swagger code generator program.
* https://github.com/swagger-api/swagger-codegen.git
* Do not edit the class manually.
*/
/*
* SWGChirpChatModSettings.h
*
* ChirpChatMod
*/
#ifndef SWGChirpChatModSettings_H_
#define SWGChirpChatModSettings_H_
#include <QJsonObject>
#include <QList>
#include <QString>
#include "SWGObject.h"
#include "export.h"
namespace SWGSDRangel {
class SWG_API SWGChirpChatModSettings: public SWGObject {
public:
SWGChirpChatModSettings();
SWGChirpChatModSettings(QString* json);
virtual ~SWGChirpChatModSettings();
void init();
void cleanup();
virtual QString asJson () override;
virtual QJsonObject* asJsonObject() override;
virtual void fromJsonObject(QJsonObject &json) override;
virtual SWGChirpChatModSettings* fromJson(QString &jsonString) override;
qint64 getInputFrequencyOffset();
void setInputFrequencyOffset(qint64 input_frequency_offset);
qint32 getBandwidthIndex();
void setBandwidthIndex(qint32 bandwidth_index);
qint32 getSpreadFactor();
void setSpreadFactor(qint32 spread_factor);
qint32 getDeBits();
void setDeBits(qint32 de_bits);
qint32 getPreambleChirps();
void setPreambleChirps(qint32 preamble_chirps);
qint32 getQuietMillis();
void setQuietMillis(qint32 quiet_millis);
qint32 getSyncWord();
void setSyncWord(qint32 sync_word);
qint32 getChannelMute();
void setChannelMute(qint32 channel_mute);
qint32 getCodingScheme();
void setCodingScheme(qint32 coding_scheme);
qint32 getNbParityBits();
void setNbParityBits(qint32 nb_parity_bits);
qint32 getHasCrc();
void setHasCrc(qint32 has_crc);
qint32 getHasHeader();
void setHasHeader(qint32 has_header);
QString* getMyCall();
void setMyCall(QString* my_call);
QString* getUrCall();
void setUrCall(QString* ur_call);
QString* getMyLoc();
void setMyLoc(QString* my_loc);
QString* getMyRpt();
void setMyRpt(QString* my_rpt);
qint32 getMessageType();
void setMessageType(qint32 message_type);
QString* getBeaconMessage();
void setBeaconMessage(QString* beacon_message);
QString* getCqMessage();
void setCqMessage(QString* cq_message);
QString* getReplyMessage();
void setReplyMessage(QString* reply_message);
QString* getReportMessage();
void setReportMessage(QString* report_message);
QString* getReplyReportMessage();
void setReplyReportMessage(QString* reply_report_message);
QString* getRrrMessage();
void setRrrMessage(QString* rrr_message);
QString* getMessage73();
void setMessage73(QString* message73);
QString* getQsoTextMessage();
void setQsoTextMessage(QString* qso_text_message);
QString* getTextMessage();
void setTextMessage(QString* text_message);
QList<QString*>* getBytesMessage();
void setBytesMessage(QList<QString*>* bytes_message);
qint32 getMessageRepeat();
void setMessageRepeat(qint32 message_repeat);
qint32 getRgbColor();
void setRgbColor(qint32 rgb_color);
QString* getTitle();
void setTitle(QString* title);
qint32 getStreamIndex();
void setStreamIndex(qint32 stream_index);
qint32 getUseReverseApi();
void setUseReverseApi(qint32 use_reverse_api);
QString* getReverseApiAddress();
void setReverseApiAddress(QString* reverse_api_address);
qint32 getReverseApiPort();
void setReverseApiPort(qint32 reverse_api_port);
qint32 getReverseApiDeviceIndex();
void setReverseApiDeviceIndex(qint32 reverse_api_device_index);
qint32 getReverseApiChannelIndex();
void setReverseApiChannelIndex(qint32 reverse_api_channel_index);
virtual bool isSet() override;
private:
qint64 input_frequency_offset;
bool m_input_frequency_offset_isSet;
qint32 bandwidth_index;
bool m_bandwidth_index_isSet;
qint32 spread_factor;
bool m_spread_factor_isSet;
qint32 de_bits;
bool m_de_bits_isSet;
qint32 preamble_chirps;
bool m_preamble_chirps_isSet;
qint32 quiet_millis;
bool m_quiet_millis_isSet;
qint32 sync_word;
bool m_sync_word_isSet;
qint32 channel_mute;
bool m_channel_mute_isSet;
qint32 coding_scheme;
bool m_coding_scheme_isSet;
qint32 nb_parity_bits;
bool m_nb_parity_bits_isSet;
qint32 has_crc;
bool m_has_crc_isSet;
qint32 has_header;
bool m_has_header_isSet;
QString* my_call;
bool m_my_call_isSet;
QString* ur_call;
bool m_ur_call_isSet;
QString* my_loc;
bool m_my_loc_isSet;
QString* my_rpt;
bool m_my_rpt_isSet;
qint32 message_type;
bool m_message_type_isSet;
QString* beacon_message;
bool m_beacon_message_isSet;
QString* cq_message;
bool m_cq_message_isSet;
QString* reply_message;
bool m_reply_message_isSet;
QString* report_message;
bool m_report_message_isSet;
QString* reply_report_message;
bool m_reply_report_message_isSet;
QString* rrr_message;
bool m_rrr_message_isSet;
QString* message73;
bool m_message73_isSet;
QString* qso_text_message;
bool m_qso_text_message_isSet;
QString* text_message;
bool m_text_message_isSet;
QList<QString*>* bytes_message;
bool m_bytes_message_isSet;
qint32 message_repeat;
bool m_message_repeat_isSet;
qint32 rgb_color;
bool m_rgb_color_isSet;
QString* title;
bool m_title_isSet;
qint32 stream_index;
bool m_stream_index_isSet;
qint32 use_reverse_api;
bool m_use_reverse_api_isSet;
QString* reverse_api_address;
bool m_reverse_api_address_isSet;
qint32 reverse_api_port;
bool m_reverse_api_port_isSet;
qint32 reverse_api_device_index;
bool m_reverse_api_device_index_isSet;
qint32 reverse_api_channel_index;
bool m_reverse_api_channel_index_isSet;
};
}
#endif /* SWGChirpChatModSettings_H_ */

View File

@ -58,6 +58,8 @@
#include "SWGChannelsDetail.h" #include "SWGChannelsDetail.h"
#include "SWGChirpChatDemodReport.h" #include "SWGChirpChatDemodReport.h"
#include "SWGChirpChatDemodSettings.h" #include "SWGChirpChatDemodSettings.h"
#include "SWGChirpChatModReport.h"
#include "SWGChirpChatModSettings.h"
#include "SWGCommand.h" #include "SWGCommand.h"
#include "SWGComplex.h" #include "SWGComplex.h"
#include "SWGDATVDemodSettings.h" #include "SWGDATVDemodSettings.h"
@ -343,6 +345,12 @@ namespace SWGSDRangel {
if(QString("SWGChirpChatDemodSettings").compare(type) == 0) { if(QString("SWGChirpChatDemodSettings").compare(type) == 0) {
return new SWGChirpChatDemodSettings(); return new SWGChirpChatDemodSettings();
} }
if(QString("SWGChirpChatModReport").compare(type) == 0) {
return new SWGChirpChatModReport();
}
if(QString("SWGChirpChatModSettings").compare(type) == 0) {
return new SWGChirpChatModSettings();
}
if(QString("SWGCommand").compare(type) == 0) { if(QString("SWGCommand").compare(type) == 0) {
return new SWGCommand(); return new SWGCommand();
} }