mirror of
https://github.com/EdgeTX/edgetx.git
synced 2025-07-24 16:55:15 +03:00
[PXX2] Telemetry push fix
This commit is contained in:
parent
725388b83e
commit
471d1c6f53
5 changed files with 18 additions and 8 deletions
|
@ -480,6 +480,7 @@ static int luaPXX2TelemetryPush(lua_State * L)
|
|||
packet.primId = luaL_checkunsigned(L, 4);
|
||||
packet.dataId = luaL_checkunsigned(L, 5);
|
||||
packet.value = luaL_checkunsigned(L, 6);
|
||||
// TODO we could avoid this new copy
|
||||
pushPXX2TelemetryPacket(module, rx_uid - 1, &packet);
|
||||
lua_pushboolean(L, true);
|
||||
}
|
||||
|
|
|
@ -43,7 +43,7 @@
|
|||
#define INTMODULE_PXX_PERIOD 9/*ms*/
|
||||
#endif
|
||||
|
||||
#define EXTMODULE_USART_PXX2_BAUDRATE 450000
|
||||
#define EXTMODULE_USART_PXX2_BAUDRATE 400000
|
||||
|
||||
#if defined(PXX_FREQUENCY_HIGH) && (!defined(INTMODULE_USART) || !defined(EXTMODULE_USART))
|
||||
/* PXX uses 20 bytes (as of Rev 1.1 document) with 8 changes per byte + stop bit ~= 162 max pulses */
|
||||
|
|
|
@ -107,6 +107,14 @@ void Pxx2Pulses::setupChannelsFrame(uint8_t module)
|
|||
}
|
||||
}
|
||||
|
||||
void Pxx2Pulses::setupTelemetryFrame(uint8_t module)
|
||||
{
|
||||
addFrameType(PXX2_TYPE_C_MODULE, PXX2_TYPE_ID_TELEMETRY);
|
||||
for (uint8_t i = 0; i < outputTelemetryBuffer.size; i++) {
|
||||
Pxx2Transport::addByte(outputTelemetryBuffer.data[i]);
|
||||
}
|
||||
}
|
||||
|
||||
void Pxx2Pulses::setupHardwareInfoFrame(uint8_t module)
|
||||
{
|
||||
if (reusableBuffer.hardware.modules[module].step >= -1 && reusableBuffer.hardware.modules[module].step < PXX2_MAX_RECEIVERS_PER_MODULE) {
|
||||
|
@ -271,7 +279,12 @@ void Pxx2Pulses::setupFrame(uint8_t module)
|
|||
setupShareMode(module);
|
||||
break;
|
||||
default:
|
||||
if (outputTelemetryBuffer.size > 0 && outputTelemetryBuffer.destination == module) {
|
||||
setupTelemetryFrame(module);
|
||||
}
|
||||
else {
|
||||
setupChannelsFrame(module);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
@ -127,6 +127,8 @@ class Pxx2Pulses: public PxxPulses<Pxx2Transport> {
|
|||
|
||||
void setupChannelsFrame(uint8_t module);
|
||||
|
||||
void setupTelemetryFrame(uint8_t module);
|
||||
|
||||
void setupSpectrumAnalyser(uint8_t module);
|
||||
|
||||
void setupPowerMeter(uint8_t module);
|
||||
|
|
|
@ -135,12 +135,6 @@ void intmoduleSendNextFrame()
|
|||
switch(moduleSettings[INTERNAL_MODULE].protocol) {
|
||||
#if defined(PXX2)
|
||||
case PROTOCOL_CHANNELS_PXX2:
|
||||
#if defined(LUA)
|
||||
if (outputTelemetryBuffer.size > 0 && outputTelemetryBuffer.destination == INTERNAL_MODULE) {
|
||||
intmoduleSendBuffer(outputTelemetryBuffer.data, outputTelemetryBuffer.size);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
intmoduleSendBuffer(intmodulePulsesData.pxx2.getData(), intmodulePulsesData.pxx2.getSize());
|
||||
break;
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue