edgetx icon indicating copy to clipboard operation
edgetx copied to clipboard

X10 2.11.0 sportTelemetryPush behaviour change

Open AJHAJHAJH opened this issue 8 months ago • 0 comments

Is there an existing issue for this problem?

  • [x] I have searched the existing issues

What part of EdgeTX is the focus of this bug?

Transmitter firmware

Current Behavior

My hardware setting for AUX1 is Telemetry Mirror, and the data duly appear on the appropriate pin in the module bay. I use some simple function scripts that call sportTelemetryPush to inject custom values into the data stream and these values also appear in the module bay when using 2.10.6. When using 2.11.0 sportTelemetryPush returns success, but the pushed data no longer appear in the module bay.

Expected Behavior

Behavior for 2.11.0 should not be different from 2.10.6 (plus previous versions).

Steps To Reproduce

  1. Set AUX1 in the module bay to Telemetry Mirror.
  2. Enable a function script which calls sportTelemetryPush (poorly written example below).
  3. Flash 2.10.6 - observe mirrored telemetry data plus sportTelemetryPush data in the module bay as expected.
  4. Flash 2.11.0 - observe mirrored telemetry data in the module bay, but no data from the sportTelemetryPush calls, even though they returned success.
  5. Flash 2.10.6 - observe mirrored telemetry data plus sportTelemetryPush data in the module bay as expected.

Version

2.11.0

Transmitter

FrSky X10 / X10S (ACCST)

Operating System (OS)

No response

OS Version

No response

Anything else?

Module bay contains a BlueTooth module plus signal inverter. This allows the telemetry data to be received by my mobile 'phone which can process the telemetry data and take action based on Tx switch movements (e.g trigger a camera).

The Lua script below is s --2021-08-30 Maps switches A..H up/down to telemetry data values

local sensorAddress = 0x0A local sensorId = 0x17 --These are plucked out of local frameId = 0x30 --the air and hopefully local dataId = 0xAAAA --they don't clash local value = 101 --with any official OpenTx/FrSky values

local timeprev = 0 local TransitionsIndex = 0

local Transitions = {}

local function init() for index =1, 8 do Transitions[index]={} end

Transitions[1].switch="sa" Transitions[2].switch="sb" Transitions[3].switch="sc" Transitions[4].switch="sd" Transitions[5].switch="se" Transitions[6].switch="sf" Transitions[7].switch="sg" Transitions[8].switch="sh"

for index =1, #Transitions do Transitions[index].state = getValue(Transitions[index].switch) end end

local function TransitionCondition(Index) return getValue(Transitions[Index].switch) end

local function run() local timenow = getTime() -- 10ms tick count if timenow - timeprev > 3 then timeprev = timenow TransitionsIndex = TransitionsIndex + 1 if (TransitionsIndex > #Transitions) then TransitionsIndex = 1 end currentTransitionCondition = getValue(Transitions[TransitionsIndex].switch) if currentTransitionCondition ~= Transitions[TransitionsIndex].state then if currentTransitionCondition ~= 0 then if currentTransitionCondition > 0 then value = 100 + TransitionsIndex end if currentTransitionCondition < 0 then value = 200 + TransitionsIndex end sportTelemetryPush(sensorId, frameId, dataId, value) -- print("------>> "..TransitionsIndex.." "..Transitions[TransitionsIndex].switch.." "..currentTransitionCondition.." "..value) end Transitions[TransitionsIndex].state = currentTransitionCondition sportTelemetryPush(sensorId, frameId, dataId, value) end end end

return { run=run, init=init }

AJHAJHAJH avatar May 07 '25 17:05 AJHAJHAJH