- Generated 2020-10-27T23:03:34.026+01:00
+ Generated 2020-11-09T11:07:00.865+01:00
diff --git a/sdrbase/resources/webapi/doc/swagger/include/ChannelReport.yaml b/sdrbase/resources/webapi/doc/swagger/include/ChannelReport.yaml
index bb26735fc..3e341c3da 100644
--- a/sdrbase/resources/webapi/doc/swagger/include/ChannelReport.yaml
+++ b/sdrbase/resources/webapi/doc/swagger/include/ChannelReport.yaml
@@ -21,6 +21,8 @@ ChannelReport:
$ref: "/doc/swagger/include/ATVMod.yaml#/ATVModReport"
BFMDemodReport:
$ref: "/doc/swagger/include/BFMDemod.yaml#/BFMDemodReport"
+ ChirpChatDemodReport:
+ $ref: "/doc/swagger/include/ChirpChatDemod.yaml#/ChirpChatDemodReport"
DSDDemodReport:
$ref: "/doc/swagger/include/DSDDemod.yaml#/DSDDemodReport"
IEEE_802_15_4_ModReport:
diff --git a/sdrbase/resources/webapi/doc/swagger/include/ChannelSettings.yaml b/sdrbase/resources/webapi/doc/swagger/include/ChannelSettings.yaml
index 9eb4e65a9..ff50c1ed0 100644
--- a/sdrbase/resources/webapi/doc/swagger/include/ChannelSettings.yaml
+++ b/sdrbase/resources/webapi/doc/swagger/include/ChannelSettings.yaml
@@ -31,6 +31,8 @@ ChannelSettings:
$ref: "/doc/swagger/include/BFMDemod.yaml#/BFMDemodSettings"
ChannelAnalyzerSettings:
$ref: "/doc/swagger/include/ChannelAnalyzer.yaml#/ChannelAnalyzerSettings"
+ ChirpChatDemodSettings:
+ $ref: "/doc/swagger/include/ChirpChatDemod.yaml#/ChirpChatDemodSettings"
DATVDemodSettings:
$ref: "/doc/swagger/include/DATVDemod.yaml#/DATVDemodSettings"
DSDDemodSettings:
diff --git a/sdrbase/resources/webapi/doc/swagger/include/ChirpChatDemod.yaml b/sdrbase/resources/webapi/doc/swagger/include/ChirpChatDemod.yaml
new file mode 100644
index 000000000..5468fa7f5
--- /dev/null
+++ b/sdrbase/resources/webapi/doc/swagger/include/ChirpChatDemod.yaml
@@ -0,0 +1,187 @@
+ChirpChatDemodSettings:
+ description: ChirpChatDemod
+ 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
+ fftWindow:
+ type: integer
+ description: >
+ FFT Window index (FFTWindow::Function):
+ * 0 - Bartlett
+ * 1 - BlackmanHarris
+ * 2 - Flattop
+ * 3 - Hamming
+ * 4 - Hanning
+ * 5 - Rectangle
+ * 6 - Kaiser
+ codingScheme:
+ type: integer
+ description: >
+ message encoding scheme (ChirpChatDemodSettings::CodingScheme):
+ * 0 - LoRa
+ * 1 - Plain ASCII (7 bit)
+ * 2 - Teletype (5 bit Baudot) a.k.a TTY
+ decodeActive:
+ description: boolean 1 to activate 0 to de-activate decoder
+ type: integer
+ eomSquelchTenths:
+ description: argmax squared magnitude is compared between current multiplied by this factor and maximum during decoding. This value is divided by 10
+ type: integer
+ nbSymbolsMax:
+ description: expected maximum number of symbols in a payload
+ type: integer
+ autoNbSymbolsMax:
+ description: adjust maximum number of symbols in a payload to the value just received (LoRa)
+ type: integer
+ preambleChirps:
+ description: Number of expected preamble chirps
+ type: integer
+ nbParityBits:
+ description: Hamming FEC parity bits (LoRa)
+ type: integer
+ packetLength:
+ description: expected packet length in number of bytes (LoRa)
+ type: integer
+ hasCRC:
+ description: Payload has CRC (LoRa)
+ type: integer
+ hasHeader:
+ description: Header present before actual payload (LoRa)
+ type: integer
+ sendViaUDP:
+ description: boolean 1 to send decoded message via UDP else 0
+ type: integer
+ udpAddress:
+ description: UDP destination udpAddress
+ type: string
+ udpPort:
+ description: UDP destination properties
+ 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
+
+ChirpChatDemodReport:
+ description: ChirpChatDemod
+ properties:
+ channelPowerDB:
+ description: current de-chirped total channel power (dB)
+ type: number
+ format: float
+ noisePowerDB:
+ description: current de-chirped noise argmax power (dB)
+ type: number
+ format: float
+ signalPowerDB:
+ description: last message de-chirped signal argmax power (dB)
+ type: number
+ format: float
+ snrPowerDB:
+ description: last message de-chirped signal to noise ratio power (dB)
+ type: number
+ format: float
+ channelSampleRate:
+ type: integer
+ syncWord:
+ description: 2 bytes sync word (0..65535)
+ type: integer
+ hasCRC:
+ description: boolean 1 if payload CRC is present else 0 (LoRa)
+ type: integer
+ nbParityBits:
+ description: Hamming FEC parity bits (LoRa)
+ type: integer
+ packetLength:
+ description: Packet length in number of bytes (LoRa)
+ type: integer
+ nbSymbols:
+ description: Number of symbols in the payload with header and CRC (LoRa)
+ type: integer
+ nbCodewords:
+ description: Number of codewords in the payload with header and CRC (LoRa)
+ type: integer
+ headerParityStatus:
+ type: integer
+ description: >
+ Header FEC parity status:
+ * 0 - Undefined
+ * 1 - Uncorrectable error
+ * 2 - Corrected error
+ * 3 - OK
+ headerCRCStatus:
+ description: header CRC check status. Boolean 1 if OK else 0
+ type: integer
+ payloadParityStatus:
+ type: integer
+ description: >
+ Payload FEC parity status:
+ * 0 - Undefined
+ * 1 - Uncorrectable error
+ * 2 - Corrected error
+ * 3 - OK
+ payloadCRCStatus:
+ description: payload CRC check status. Boolean 1 if OK else 0
+ type: integer
+ messageTimestamp:
+ description: timestamp of the last decoded message
+ type: string
+ messageString:
+ description: string representation of the last decoded message
+ type: string
+ messageBytes:
+ description: bytes of the last decoded message as an array of hex string represented bytes (00..FF)
+ type: array
+ items:
+ type: string
diff --git a/sdrbase/util/udpsinkutil.h b/sdrbase/util/udpsinkutil.h
index 467b09480..f5fabe573 100644
--- a/sdrbase/util/udpsinkutil.h
+++ b/sdrbase/util/udpsinkutil.h
@@ -72,7 +72,7 @@ public:
m_socket->moveToThread(thread);
}
- void setAddress(QString& address) { m_address.setAddress(address); }
+ void setAddress(const QString& address) { m_address.setAddress(address); }
void setPort(unsigned int port) { m_port = port; }
void setDestination(const QString& address, int port)
@@ -125,6 +125,14 @@ public:
memcpy(&m_sampleBuffer[m_sampleBufferIndex], &samples[samplesIndex], nbSamples*sizeof(T)); // copy remainder of input to buffer
}
+ /**
+ * Write a bunch of samples unbuffered
+ */
+ void writeUnbuffered(const T *samples, int nbSamples)
+ {
+ m_socket->writeDatagram((const char*)samples, (qint64 ) nbSamples, m_address, m_port); // send given samples
+ }
+
private:
int m_udpSize;
int m_udpSamples;
diff --git a/sdrbase/webapi/webapirequestmapper.cpp b/sdrbase/webapi/webapirequestmapper.cpp
index a204e23cf..f80c42690 100644
--- a/sdrbase/webapi/webapirequestmapper.cpp
+++ b/sdrbase/webapi/webapirequestmapper.cpp
@@ -3559,6 +3559,11 @@ bool WebAPIRequestMapper::getChannelSettings(
{
processChannelAnalyzerSettings(channelSettings, settingsJsonObject, channelSettingsKeys);
}
+ else if (channelSettingsKey == "ChirpChatDemodSettings")
+ {
+ channelSettings->setChirpChatDemodSettings(new SWGSDRangel::SWGChirpChatDemodSettings());
+ channelSettings->getChirpChatDemodSettings()->fromJsonObject(settingsJsonObject);
+ }
else if (channelSettingsKey == "DATVDemodSettings")
{
channelSettings->setDatvDemodSettings(new SWGSDRangel::SWGDATVDemodSettings());
diff --git a/sdrgui/gui/glspectrumgui.cpp b/sdrgui/gui/glspectrumgui.cpp
index 2894f8adb..1699ca124 100644
--- a/sdrgui/gui/glspectrumgui.cpp
+++ b/sdrgui/gui/glspectrumgui.cpp
@@ -486,6 +486,11 @@ void GLSpectrumGUI::setAveragingToolitp()
}
}
+void GLSpectrumGUI::setFFTSize(int log2FFTSize)
+{
+ ui->fftSize->setCurrentIndex(log2FFTSize < 7 ? 0 : log2FFTSize > 12 ? 5 : log2FFTSize - 7); // 128 to 4096 in powers of 2
+}
+
bool GLSpectrumGUI::handleMessage(const Message& message)
{
if (GLSpectrum::MsgReportSampleRate::match(message))
diff --git a/swagger/sdrangel/api/swagger/include/ChannelReport.yaml b/swagger/sdrangel/api/swagger/include/ChannelReport.yaml
index 9c658daac..2f8ac71fb 100644
--- a/swagger/sdrangel/api/swagger/include/ChannelReport.yaml
+++ b/swagger/sdrangel/api/swagger/include/ChannelReport.yaml
@@ -21,6 +21,8 @@ ChannelReport:
$ref: "http://swgserver:8081/api/swagger/include/ATVMod.yaml#/ATVModReport"
BFMDemodReport:
$ref: "http://swgserver:8081/api/swagger/include/BFMDemod.yaml#/BFMDemodReport"
+ ChirpChatDemodReport:
+ $ref: "http://swgserver:8081/api/swagger/include/ChirpChatDemod.yaml#/ChirpChatDemodReport"
DSDDemodReport:
$ref: "http://swgserver:8081/api/swagger/include/DSDDemod.yaml#/DSDDemodReport"
IEEE_802_15_4_ModReport:
diff --git a/swagger/sdrangel/api/swagger/include/ChannelSettings.yaml b/swagger/sdrangel/api/swagger/include/ChannelSettings.yaml
index c89eace66..60cdfe047 100644
--- a/swagger/sdrangel/api/swagger/include/ChannelSettings.yaml
+++ b/swagger/sdrangel/api/swagger/include/ChannelSettings.yaml
@@ -31,6 +31,8 @@ ChannelSettings:
$ref: "http://swgserver:8081/api/swagger/include/BFMDemod.yaml#/BFMDemodSettings"
ChannelAnalyzerSettings:
$ref: "http://swgserver:8081/api/swagger/include/ChannelAnalyzer.yaml#/ChannelAnalyzerSettings"
+ ChirpChatDemodSettings:
+ $ref: "http://swgserver:8081/api/swagger/include/ChirpChatDemod.yaml#/ChirpChatDemodSettings"
DATVDemodSettings:
$ref: "http://swgserver:8081/api/swagger/include/DATVDemod.yaml#/DATVDemodSettings"
DSDDemodSettings:
diff --git a/swagger/sdrangel/api/swagger/include/ChirpChatDemod.yaml b/swagger/sdrangel/api/swagger/include/ChirpChatDemod.yaml
new file mode 100644
index 000000000..5468fa7f5
--- /dev/null
+++ b/swagger/sdrangel/api/swagger/include/ChirpChatDemod.yaml
@@ -0,0 +1,187 @@
+ChirpChatDemodSettings:
+ description: ChirpChatDemod
+ 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
+ fftWindow:
+ type: integer
+ description: >
+ FFT Window index (FFTWindow::Function):
+ * 0 - Bartlett
+ * 1 - BlackmanHarris
+ * 2 - Flattop
+ * 3 - Hamming
+ * 4 - Hanning
+ * 5 - Rectangle
+ * 6 - Kaiser
+ codingScheme:
+ type: integer
+ description: >
+ message encoding scheme (ChirpChatDemodSettings::CodingScheme):
+ * 0 - LoRa
+ * 1 - Plain ASCII (7 bit)
+ * 2 - Teletype (5 bit Baudot) a.k.a TTY
+ decodeActive:
+ description: boolean 1 to activate 0 to de-activate decoder
+ type: integer
+ eomSquelchTenths:
+ description: argmax squared magnitude is compared between current multiplied by this factor and maximum during decoding. This value is divided by 10
+ type: integer
+ nbSymbolsMax:
+ description: expected maximum number of symbols in a payload
+ type: integer
+ autoNbSymbolsMax:
+ description: adjust maximum number of symbols in a payload to the value just received (LoRa)
+ type: integer
+ preambleChirps:
+ description: Number of expected preamble chirps
+ type: integer
+ nbParityBits:
+ description: Hamming FEC parity bits (LoRa)
+ type: integer
+ packetLength:
+ description: expected packet length in number of bytes (LoRa)
+ type: integer
+ hasCRC:
+ description: Payload has CRC (LoRa)
+ type: integer
+ hasHeader:
+ description: Header present before actual payload (LoRa)
+ type: integer
+ sendViaUDP:
+ description: boolean 1 to send decoded message via UDP else 0
+ type: integer
+ udpAddress:
+ description: UDP destination udpAddress
+ type: string
+ udpPort:
+ description: UDP destination properties
+ 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
+
+ChirpChatDemodReport:
+ description: ChirpChatDemod
+ properties:
+ channelPowerDB:
+ description: current de-chirped total channel power (dB)
+ type: number
+ format: float
+ noisePowerDB:
+ description: current de-chirped noise argmax power (dB)
+ type: number
+ format: float
+ signalPowerDB:
+ description: last message de-chirped signal argmax power (dB)
+ type: number
+ format: float
+ snrPowerDB:
+ description: last message de-chirped signal to noise ratio power (dB)
+ type: number
+ format: float
+ channelSampleRate:
+ type: integer
+ syncWord:
+ description: 2 bytes sync word (0..65535)
+ type: integer
+ hasCRC:
+ description: boolean 1 if payload CRC is present else 0 (LoRa)
+ type: integer
+ nbParityBits:
+ description: Hamming FEC parity bits (LoRa)
+ type: integer
+ packetLength:
+ description: Packet length in number of bytes (LoRa)
+ type: integer
+ nbSymbols:
+ description: Number of symbols in the payload with header and CRC (LoRa)
+ type: integer
+ nbCodewords:
+ description: Number of codewords in the payload with header and CRC (LoRa)
+ type: integer
+ headerParityStatus:
+ type: integer
+ description: >
+ Header FEC parity status:
+ * 0 - Undefined
+ * 1 - Uncorrectable error
+ * 2 - Corrected error
+ * 3 - OK
+ headerCRCStatus:
+ description: header CRC check status. Boolean 1 if OK else 0
+ type: integer
+ payloadParityStatus:
+ type: integer
+ description: >
+ Payload FEC parity status:
+ * 0 - Undefined
+ * 1 - Uncorrectable error
+ * 2 - Corrected error
+ * 3 - OK
+ payloadCRCStatus:
+ description: payload CRC check status. Boolean 1 if OK else 0
+ type: integer
+ messageTimestamp:
+ description: timestamp of the last decoded message
+ type: string
+ messageString:
+ description: string representation of the last decoded message
+ type: string
+ messageBytes:
+ description: bytes of the last decoded message as an array of hex string represented bytes (00..FF)
+ type: array
+ items:
+ type: string
diff --git a/swagger/sdrangel/code/html2/index.html b/swagger/sdrangel/code/html2/index.html
index 3fb307511..5d6781865 100644
--- a/swagger/sdrangel/code/html2/index.html
+++ b/swagger/sdrangel/code/html2/index.html
@@ -2344,6 +2344,9 @@ margin-bottom: 20px;
"BFMDemodReport" : {
"$ref" : "#/definitions/BFMDemodReport"
},
+ "ChirpChatDemodReport" : {
+ "$ref" : "#/definitions/ChirpChatDemodReport"
+ },
"DSDDemodReport" : {
"$ref" : "#/definitions/DSDDemodReport"
},
@@ -2439,6 +2442,9 @@ margin-bottom: 20px;
"ChannelAnalyzerSettings" : {
"$ref" : "#/definitions/ChannelAnalyzerSettings"
},
+ "ChirpChatDemodSettings" : {
+ "$ref" : "#/definitions/ChirpChatDemodSettings"
+ },
"DATVDemodSettings" : {
"$ref" : "#/definitions/DATVDemodSettings"
},
@@ -2521,6 +2527,191 @@ margin-bottom: 20px;
}
},
"description" : "All channels detailed information"
+};
+ defs.ChirpChatDemodReport = {
+ "properties" : {
+ "channelPowerDB" : {
+ "type" : "number",
+ "format" : "float",
+ "description" : "current de-chirped total channel power (dB)"
+ },
+ "noisePowerDB" : {
+ "type" : "number",
+ "format" : "float",
+ "description" : "current de-chirped noise argmax power (dB)"
+ },
+ "signalPowerDB" : {
+ "type" : "number",
+ "format" : "float",
+ "description" : "last message de-chirped signal argmax power (dB)"
+ },
+ "snrPowerDB" : {
+ "type" : "number",
+ "format" : "float",
+ "description" : "last message de-chirped signal to noise ratio power (dB)"
+ },
+ "channelSampleRate" : {
+ "type" : "integer"
+ },
+ "syncWord" : {
+ "type" : "integer",
+ "description" : "2 bytes sync word (0..65535)"
+ },
+ "hasCRC" : {
+ "type" : "integer",
+ "description" : "boolean 1 if payload CRC is present else 0 (LoRa)"
+ },
+ "nbParityBits" : {
+ "type" : "integer",
+ "description" : "Hamming FEC parity bits (LoRa)"
+ },
+ "packetLength" : {
+ "type" : "integer",
+ "description" : "Packet length in number of bytes (LoRa)"
+ },
+ "nbSymbols" : {
+ "type" : "integer",
+ "description" : "Number of symbols in the payload with header and CRC (LoRa)"
+ },
+ "nbCodewords" : {
+ "type" : "integer",
+ "description" : "Number of codewords in the payload with header and CRC (LoRa)"
+ },
+ "headerParityStatus" : {
+ "type" : "integer",
+ "description" : "Header FEC parity status:\n * 0 - Undefined\n * 1 - Uncorrectable error\n * 2 - Corrected error\n * 3 - OK\n"
+ },
+ "headerCRCStatus" : {
+ "type" : "integer",
+ "description" : "header CRC check status. Boolean 1 if OK else 0"
+ },
+ "payloadParityStatus" : {
+ "type" : "integer",
+ "description" : "Payload FEC parity status:\n * 0 - Undefined\n * 1 - Uncorrectable error\n * 2 - Corrected error\n * 3 - OK\n"
+ },
+ "payloadCRCStatus" : {
+ "type" : "integer",
+ "description" : "payload CRC check status. Boolean 1 if OK else 0"
+ },
+ "messageTimestamp" : {
+ "type" : "string",
+ "description" : "timestamp of the last decoded message"
+ },
+ "messageString" : {
+ "type" : "string",
+ "description" : "string representation of the last decoded message"
+ },
+ "messageBytes" : {
+ "type" : "array",
+ "description" : "bytes of the last decoded message as an array of hex string represented bytes (00..FF)",
+ "items" : {
+ "type" : "string"
+ }
+ }
+ },
+ "description" : "ChirpChatDemod"
+};
+ defs.ChirpChatDemodSettings = {
+ "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"
+ },
+ "fftWindow" : {
+ "type" : "integer",
+ "description" : "FFT Window index (FFTWindow::Function):\n * 0 - Bartlett\n * 1 - BlackmanHarris\n * 2 - Flattop\n * 3 - Hamming\n * 4 - Hanning\n * 5 - Rectangle\n * 6 - Kaiser\n"
+ },
+ "codingScheme" : {
+ "type" : "integer",
+ "description" : "message encoding scheme (ChirpChatDemodSettings::CodingScheme):\n * 0 - LoRa\n * 1 - Plain ASCII (7 bit)\n * 2 - Teletype (5 bit Baudot) a.k.a TTY\n"
+ },
+ "decodeActive" : {
+ "type" : "integer",
+ "description" : "boolean 1 to activate 0 to de-activate decoder"
+ },
+ "eomSquelchTenths" : {
+ "type" : "integer",
+ "description" : "argmax squared magnitude is compared between current multiplied by this factor and maximum during decoding. This value is divided by 10"
+ },
+ "nbSymbolsMax" : {
+ "type" : "integer",
+ "description" : "expected maximum number of symbols in a payload"
+ },
+ "autoNbSymbolsMax" : {
+ "type" : "integer",
+ "description" : "adjust maximum number of symbols in a payload to the value just received (LoRa)"
+ },
+ "preambleChirps" : {
+ "type" : "integer",
+ "description" : "Number of expected preamble chirps"
+ },
+ "nbParityBits" : {
+ "type" : "integer",
+ "description" : "Hamming FEC parity bits (LoRa)"
+ },
+ "packetLength" : {
+ "type" : "integer",
+ "description" : "expected packet length in number of bytes (LoRa)"
+ },
+ "hasCRC" : {
+ "type" : "integer",
+ "description" : "Payload has CRC (LoRa)"
+ },
+ "hasHeader" : {
+ "type" : "integer",
+ "description" : "Header present before actual payload (LoRa)"
+ },
+ "sendViaUDP" : {
+ "type" : "integer",
+ "description" : "boolean 1 to send decoded message via UDP else 0"
+ },
+ "udpAddress" : {
+ "type" : "string",
+ "description" : "UDP destination udpAddress"
+ },
+ "udpPort" : {
+ "type" : "integer",
+ "description" : "UDP destination properties"
+ },
+ "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" : "ChirpChatDemod"
};
defs.Command = {
"properties" : {
@@ -40214,7 +40405,7 @@ except ApiException as e: