1
0
Fork 0
mirror of https://github.com/opentx/opentx.git synced 2025-07-23 16:25:16 +03:00

S.PORT Push fixes

This commit is contained in:
Bertrand Songis 2019-04-02 08:35:05 +02:00
parent 1b06d3c606
commit 4c04255f96

View file

@ -446,15 +446,17 @@ static int luaSportTelemetryPush(lua_State * L)
return 1; return 1;
} }
uint16_t dataId = luaL_checkunsigned(L, 3);
if (outputTelemetryBuffer.isAvailable()) { if (outputTelemetryBuffer.isAvailable()) {
for (uint8_t i=0; i<MAX_TELEMETRY_SENSORS; i++) { for (uint8_t i=0; i<MAX_TELEMETRY_SENSORS; i++) {
TelemetrySensor & sensor = g_model.telemetrySensors[i]; TelemetrySensor & sensor = g_model.telemetrySensors[i];
if (sensor.id == outputTelemetryBuffer.sport.dataId) { if (sensor.id == dataId) {
if (sensor.frskyInstance.rxIndex == TELEMETRY_ENDPOINT_SPORT) { if (sensor.frskyInstance.rxIndex == TELEMETRY_ENDPOINT_SPORT) {
SportTelemetryPacket packet; SportTelemetryPacket packet;
packet.physicalId = getDataId(luaL_checkunsigned(L, 1)); packet.physicalId = getDataId(luaL_checkunsigned(L, 1));
packet.primId = luaL_checkunsigned(L, 2); packet.primId = luaL_checkunsigned(L, 2);
packet.dataId = luaL_checkunsigned(L, 3); packet.dataId = dataId;
packet.value = luaL_checkunsigned(L, 4); packet.value = luaL_checkunsigned(L, 4);
outputTelemetryBuffer.pushSportPacketWithBytestuffing(packet); outputTelemetryBuffer.pushSportPacketWithBytestuffing(packet);
outputTelemetryBuffer.setDestination(TELEMETRY_ENDPOINT_SPORT); outputTelemetryBuffer.setDestination(TELEMETRY_ENDPOINT_SPORT);
@ -462,7 +464,7 @@ static int luaSportTelemetryPush(lua_State * L)
else { else {
outputTelemetryBuffer.sport.physicalId = getDataId(luaL_checkunsigned(L, 1)); outputTelemetryBuffer.sport.physicalId = getDataId(luaL_checkunsigned(L, 1));
outputTelemetryBuffer.sport.primId = luaL_checkunsigned(L, 2); outputTelemetryBuffer.sport.primId = luaL_checkunsigned(L, 2);
outputTelemetryBuffer.sport.dataId = luaL_checkunsigned(L, 3); outputTelemetryBuffer.sport.dataId = dataId;
outputTelemetryBuffer.sport.value = luaL_checkunsigned(L, 4); outputTelemetryBuffer.sport.value = luaL_checkunsigned(L, 4);
TelemetryEndpoint destination = getTelemetryEndpoint(sensor.frskyInstance.rxIndex); TelemetryEndpoint destination = getTelemetryEndpoint(sensor.frskyInstance.rxIndex);
outputTelemetryBuffer.setDestination(destination.value); outputTelemetryBuffer.setDestination(destination.value);