EdgeTX / edgetx

EdgeTX is the cutting edge open source firmware for your R/C radio
https://edgetx.org
GNU General Public License v2.0
1.6k stars 341 forks source link

Frsky SRx series receivers Stab setup LUA script does not cover the second group of stabilized channels in ACCESS mode #4574

Closed BompaBert closed 9 months ago

BompaBert commented 9 months ago

Is there an existing issue for this feature request?

Is your feature request related to a problem?

Frsky added a second group of stabilized channels in ACCESS mode as from firmware version v1.0.5. So far, the latest LUA stab setup script does not let us set, enable or disable the second group of channels what potentially turns those channels unusable - the stab function for those channels is enabled by default.

Describe the solution you'd like

Update the LUA script so it allows to control the second group of stabilized channels. The Ethos LUA script has another page that allows you to do just that.

Describe alternatives you've considered

No response

Additional context

LUA script version v2.04 and SR10+ firmware version v1.-.10 https://www.frsky-rc.com/archer-plus-sr10/

pfeerick commented 9 months ago

You need to contact FrSky if they have added new features to the RX firmware, but not updated their Lua scripts to suit. This is not something EdgeTX can do or fix.

BompaBert commented 9 months ago

I believe some in this community did create some great LUA scripts for Frsky receivers. I was hoping to get their attention. Frsky is focusing on Ethos - am still waiting for a reply.

On Sat, Jan 27, 2024 at 5:13 PM Peter Feerick @.***> wrote:

You need to contact FrSky if they have added new features to the RX firmware, but not updated their Lua scripts to suit. This is not something EdgeTX can do or fix.

— Reply to this email directly, view it on GitHub https://github.com/EdgeTX/edgetx/issues/4574#issuecomment-1913350908, or unsubscribe https://github.com/notifications/unsubscribe-auth/BEMTSI64QUWANN5OXNDYUSLYQV32FAVCNFSM6AAAAABCNS5W6WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMJTGM2TAOJQHA . You are receiving this because you authored the thread.Message ID: @.***>

pfeerick commented 9 months ago

That's why we need Frsky customers to complain (or compliment, where relevant), in order to get them to provide the necessary support... now that I look myself though, it seems like it is missing for the Taranis X9D+2019 also, yet is mentioned in the manual so should have been available as an option right from the start... so I will probably be emailing them about it also 😢. Offer has done a great job of enhancing the SRx Lua scripts provided by FrSky (for colorlcd) in https://github.com/EdgeTX/edgetx-sdcard/pull/113 (included in the 2.9.0 sd card pack onwards) - but depending on what Frsky did this may or may not work with the new capabilities, and may not be (easily) possible to be made to work without knowing what changes they may to the API to support this feature.

Given it's CH1-6 and then CH7-11, probably "just" needs a second page?

BompaBert commented 9 months ago

To my knowledge, any radio not running Ethos wont be able to control the SRx+ receivers second group of channels. only the Ethos LUA script covers the second stabilized group with a second page see also https://www.youtube.com/watch?v=gzc1VwEPfCE - jump 13.44 mins further to see both pages. The script shows "local parameters2" covering a second page see below. Offer's script is similar as it has a second page as well.

-- SRX Configure local translations = {en="SRX Stable"}

local function name(widget) local locale = system.getLocale() return translations[locale] or translations["en"] end

local requestInProgress = false local refreshIndex = 0 local modifications = {} local repeatTimes = 0 local fields = {} local page = 0 local pages = {"Stable System 1", "Stable System 2"} local parameters = {}

local function getValue(parameter) if parameter[5] == nil then return 0 else local sub = parameter[4] local value = ((parameter[5] >> (8 * (sub - 1))) & 0xFF) if #parameter == 9 then value = value - parameter[9] end return value end end

local function setValue(parameter, value) local sub = parameter[4] local D1 = parameter[5] & 0xFF local D2 = (parameter[5] >> 8) & 0xFF local D3 = (parameter[5] >> 16) & 0xFF

if #parameter == 9 then value = value + parameter[9] end

if sub == 1 then D1 = value elseif sub == 2 then D2 = value elseif sub == 3 then D3 = value end value = D1 + D2 256 + D3 256 * 256 local fieldId = parameter[3] modifications[#modifications+1] = {fieldId, value} for index = 1, #fields do if fields[index] then fields[index]:enable(false) end end end

local function createNumberField(line, parameter) local field = form.addNumberField(line, nil, parameter[6], parameter[7], function() return getValue(parameter) end, function(value) setValue(parameter, value) end) field:enableInstantChange(false) if #parameter >= 8 then field:suffix(parameter[8]) end field:enable(false) return field end

local function createChoiceField(line, parameter) local field = form.addChoiceField(line, nil, parameter[6], function() return getValue(parameter) end, function(value) setValue(parameter, value) end) field:enable(false) return field end

local parameters1 = { -- { name, type, page, sub, value, min, max, unit, offset } {"Stabilizing", createChoiceField, 0x40, 1, nil, {{"ON", 1}, {"OFF", 0}} }, {"Self Check", createChoiceField, 0x4C, 1, nil, {{"Disable", 0}, {"Enable", 1}} }, {"Quick Mode", createChoiceField, 0x41, 1, nil, {{"Disable", 0}, {"Enable", 1}} }, {"WingType", createChoiceField, 0x41, 2, nil, {{"Normal", 0}, {"Delta", 1}, {"VTail", 2}} }, {"Mounting Type", createChoiceField, 0x41, 3, nil, {{"Horizontal", 0}, {"Horizontal Reverse", 1}, {"Vertical", 2}, {"Vertical Reverse", 3}} }, {"CH5 Mode", createChoiceField, 0x42, 1, nil, {{"AIL2", 0}, {"AUX1", 1}} }, {"CH6 Mode", createChoiceField, 0x42, 2, nil, {{"ELE2", 0}, {"AUX2", 1}} }, {"AIL Direction", createChoiceField, 0x42, 3, nil, {{"Normal", 0}, {"Invers", 0xFF}} }, {"ELE Direction", createChoiceField, 0x43, 1, nil, {{"Normal", 0}, {"Invers", 0xFF}} }, {"RUD Direction", createChoiceField, 0x43, 2, nil, {{"Normal", 0}, {"Invers", 0xFF}} }, {"AIL2 Direction", createChoiceField, 0x43, 3, nil, {{"Normal", 0}, {"Invers", 0xFF}} }, {"ELE2 Direction", createChoiceField, 0x44, 1, nil, {{"Normal", 0}, {"Invers", 0xFF}} }, {"AIL Stab Gain", createNumberField, 0x44, 2, nil, 0, 200, "%"}, {"ELE Stab Gain", createNumberField, 0x44, 3, nil, 0, 200, "%"}, {"RUD Stab Gain", createNumberField, 0x45, 1, nil, 0, 200, "%"}, {"AIL Auto 1v1 Gain", createNumberField, 0x46, 1, nil, 0, 200, "%"}, {"ELE Auto 1v1 Gain", createNumberField, 0x46, 2, nil, 0, 200, "%"}, {"ELE Hover Gain", createNumberField, 0x47, 2, nil, 0, 200, "%"}, {"RUD Hover Gain", createNumberField, 0x47, 3, nil, 0, 200, "%"}, {"AIL Knife Gain", createNumberField, 0x48, 1, nil, 0, 200, "%"}, {"RUD Knife Gain", createNumberField, 0x48, 3, nil, 0, 200, "%"}, {"AIL Auto 1v1 Offset", createNumberField, 0x49, 1, nil, -20, 20, "%", 0x80}, {"ELE Auto 1v1 offset", createNumberField, 0x49, 2, nil, -20, 20, "%", 0x80}, {"ELE Hover Offset", createNumberField, 0x4A, 2, nil, -20, 20, "%", 0x80}, {"RUD Hover Offset", createNumberField, 0x4A, 3, nil, -20, 20, "%", 0x80}, {"AIL Knife Offset", createNumberField, 0x4B, 1, nil, -20, 20, "%", 0x80}, {"RUD Knife Offset", createNumberField, 0x4B, 3, nil, -20, 20, "%", 0x80}, }

local parameters2 = { -- { name, type, page, sub, value, min, max, unit, offset } {"Stabilizing", createChoiceField, 0x70, 1, nil, {{"ON", 1}, {"OFF", 0}} }, {"Self Check", createChoiceField, 0x7C, 1, nil, {{"Disable", 0}, {"Enable", 1}} }, {"Quick Mode", createChoiceField, 0x71, 1, nil, {{"Disable", 0}, {"Enable", 1}} }, {"WingType", createChoiceField, 0x71, 2, nil, {{"Normal", 0}, {"Delta", 1}, {"VTail", 2}} }, {"Mounting Type", createChoiceField, 0x71, 3, nil, {{"Horizontal", 0}, {"Horizontal Reverse", 1}, {"Vertical", 2}, {"Vertical Reverse", 3}} }, {"CH10 Mode", createChoiceField, 0x72, 1, nil, {{"AIL4", 0}, {"AUX3", 1}} }, {"CH11 Mode", createChoiceField, 0x72, 2, nil, {{"ELE4", 0}, {"AUX4", 1}} }, {"AIL3 Direction", createChoiceField, 0x72, 3, nil, {{"Normal", 0}, {"Invers", 0xFF}} }, {"ELE3 Direction", createChoiceField, 0x73, 1, nil, {{"Normal", 0}, {"Invers", 0xFF}} }, {"RUD2 Direction", createChoiceField, 0x73, 2, nil, {{"Normal", 0}, {"Invers", 0xFF}} }, {"AIL4 Direction", createChoiceField, 0x73, 3, nil, {{"Normal", 0}, {"Invers", 0xFF}} }, {"ELE4 Direction", createChoiceField, 0x74, 1, nil, {{"Normal", 0}, {"Invers", 0xFF}} }, {"AIL3-4 Stab Gain", createNumberField, 0x74, 2, nil, 0, 200, "%"}, {"ELE3-4 Stab Gain", createNumberField, 0x74, 3, nil, 0, 200, "%"}, {"RUD2 Stab Gain", createNumberField, 0x75, 1, nil, 0, 200, "%"}, {"AIL3-4 Auto 1v1 Gain", createNumberField, 0x76, 1, nil, 0, 200, "%"}, {"ELE3-4 Auto 1v1 Gain", createNumberField, 0x76, 2, nil, 0, 200, "%"}, {"ELE3-4 Hover Gain", createNumberField, 0x77, 2, nil, 0, 200, "%"}, {"RUD2 Hover Gain", createNumberField, 0x77, 3, nil, 0, 200, "%"}, {"AIL3-4 Knife Gain", createNumberField, 0x78, 1, nil, 0, 200, "%"}, {"RUD2 Knife Gain", createNumberField, 0x78, 3, nil, 0, 200, "%"}, {"AIL3-4 Auto 1v1 Offset", createNumberField, 0x79, 1, nil, -20, 20, "%", 0x80}, {"ELE3-4 Auto 1v1 offset", createNumberField, 0x79, 2, nil, -20, 20, "%", 0x80}, {"ELE3-4 Hover Offset", createNumberField, 0x7A, 2, nil, -20, 20, "%", 0x80}, {"RUD2 Hover Offset", createNumberField, 0x7A, 3, nil, -20, 20, "%", 0x80}, {"AIL3-4 Knife Offset", createNumberField, 0x7B, 1, nil, -20, 20, "%", 0x80}, {"RUD2 Knife Offset", createNumberField, 0x7B, 3, nil, -20, 20, "%", 0x80}, }

local function runPage(step) page = page + step if page > 2 then page = 2 elseif page < 1 then page = 1 end

requestInProgress = false refreshIndex = 0 modifications = {} repeatTimes = 0 fields = {} form.clear() parameters = parametersGroup[page]

local line = form.addLine(pages[page]) local field = form.addStaticText(line, nil, page.."/"..#pages)

for index = 1, #parameters do local parameter = parameters[index] local line = form.addLine(parameter[1]) local field = parameter[2](line, parameter) fields[index] = field end

end

local function create() requestInProgress = false refreshIndex = 0 modifications = {} repeatTimes = 0 fields = {} parametersGroup = {parameters1, parameters2} page = 1

local sensor = sport.getSensor(0x0c30);

print("widget.sensor:appId = ", sensor:appId())

runPage(0)

return {sensor=sensor} end

local idle = false local function wakeup(widget) -- if widget.sensor:alive() then -- if idle == false then -- widget.sensor:idle() -- idle = true -- end if requestInProgress then local value = widget.sensor:getParameter() -- print("widget.sensor:getParameter = ", value) if value then local fieldId = value % 256 local parameter = parameters[refreshIndex + 1] if fieldId == parameter[3] then value = math.floor(value / 256) while (parameters[refreshIndex + 1][3] == fieldId) do parameters[refreshIndex + 1][5] = value if value ~= nil then if fields[refreshIndex + 1] then fields[refreshIndex + 1]:enable(true) end end refreshIndex = refreshIndex + 1 if refreshIndex > (#parameters - 1) then break end end requestInProgress = false end else requestInProgress = false end else if #modifications > 0 then -- print("writeParameter", modifications[1][1], modifications[1][2]) if widget.sensor:writeParameter(modifications[1][1], modifications[1][2]) == true then if modifications[1][1] == 0x13 then -- appId changed widget.sensor:appId(0xF00 + ((modifications[1][2] >> 8) & 0xFF)) end refreshIndex = 0 requestInProgress = false modifications[1] = nil end elseif refreshIndex <= (#parameters - 1) then local parameter = parameters[refreshIndex + 1] -- print("requestParameter", parameter[3]) if widget.sensor:requestParameter(parameter[3]) then requestInProgress = true end end end -- end end

local function event(widget, category, value, x, y) print("Event received:", category, value, x, y, KEY_EXIT_BREAK) if category == EVT_KEY and value == KEY_PAGE_UP then runPage(-1) system.killEvents(KEY_PAGE_DOWN); elseif category == EVT_KEY and value == KEY_PAGE_DOWN then runPage(1) end return false end

local icon = lcd.loadMask("srx.png")

local function init() system.registerSystemTool({name=name, icon=icon, create=create, wakeup=wakeup, event=event}) end

return {init=init}

On Sat, Jan 27, 2024 at 7:29 PM Peter Feerick @.***> wrote:

That's why we need Frsky customers to complain (or compliment, where relevant), in order to get them to provide the necessary support... now that I look myself though, it seems like it is missing for the Taranis X9D+2019 also, yet is mentioned in the manual so should have been available as an option right from the start... so I will probably be emailing them about it also 😢. Offer has done a great job of enhancing the SRx Lua scripts provided by FrSky (for colorlcd) in EdgeTX/edgetx-sdcard#113 https://github.com/EdgeTX/edgetx-sdcard/pull/113 (included in the 2.9.0 sd card pack onwards) - but depending on what Frsky did this may or may not work with the new capabilities, and may not be (easily) possible to be made to work without knowing what changes they may to the API to support this feature.

Given it's CH1-6 and then CH7-11, probably "just" needs a second page?

— Reply to this email directly, view it on GitHub https://github.com/EdgeTX/edgetx/issues/4574#issuecomment-1913385726, or unsubscribe https://github.com/notifications/unsubscribe-auth/BEMTSI2JB6LGS4K7U3O3FRLYQWLWFAVCNFSM6AAAAABCNS5W6WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMJTGM4DKNZSGY . You are receiving this because you modified the open/close state.Message ID: @.***>

BompaBert commented 9 months ago

@PFeerick, I got it working by adjusting the existing OPTX Frsky script (https://www.frsky-rc.com/archer-plus-sr10/ --> version 2.04). Everything on 1 page. I'll see if I can get in touch with Offer. Maybe he can pour the script in a nicer jacket- my programming skills are limited.

pfeerick commented 9 months ago

@offer-shmuely What do you think? ;)

offer-shmuely commented 9 months ago

well let me try to answer it step by step

  1. are you talking about SR10-Pro? or SR10_plus, by looking in the scripts, it looks like the firmware between the two is not compatible
  2. are you sure that the script I post on edgeTx-sdcard is working on the plus receivers???
  3. I do not have such receivers, so even if liked to, I can not test it.

I downloaded the setup scripts for both receivers

  1. the name of the script of the old one, the pro, is FrSky_STAB_RX_2.03, and it is for openTx/edgeTx, on the new one, similar name FrSky_STAB_RX_v2.06 the ethos script, and the openTx script is now named AP_SRx_Lua_v2.04, if you can confuse the users, so why not ;-)
  2. so if you have both SR10-Pro & SR10-plus, what script do you put on your transmitter? it is not clear at all
  3. the script for the pro & the script for the plus, use different command codes, so they does not look compatible at all, did you note that on the video you send, he could not operate the script!!!
  4. so it is a total mess. for the plus it will need a totally new script
  5. this is why I named the script S6R_S8R, so there will be no misunderstood
pfeerick commented 9 months ago

As per the link, this is in relation to the SR10+... the SR10 Pro is a completely different beast (and uses STAB_RX_2.03 -> FrSky SxR_R9S lua to configure it). And yes, just a few things confusing about this whole thing... like the need to downgrade the receiver and use older Lua script for the initial calibration :-/

The underlying issue is that you use the AP_STAB_RX_v2.04 (AP Stab Rx_OPTX, AP Stab Rx Cali_OPTX) scripts as provided by Frsky to configure it on OpenTX/EdgeTX, but the second group of stabilisation options mentioned in the manual are not available to be configured in the OTX script, only the Ethos one. Yet it seems like there is only a minor modification needed to make it all work... https://github.com/EdgeTX/edgetx/issues/4574#issuecomment-1913589133

I can't say if the S6R_S8R script works for the SR10+ as only I use X9D+ with ACCESS ;)

BompaBert commented 9 months ago

Confirmed. This is for the SRx+ series only. Attached is a modified working script. I used the FrSky OTX / Ethos script version 2.04 to do this. It has been tested on a SR10+. I do not have any of the other models to test it with but albeit not the latest version for some, the v2.04 script still shows on their website. The main and second group of stab channels are all on 1 page. My skills don't go that far to split this on 2 pages like Frsky and Offer did. What you think?

On Fri, Feb 2, 2024 at 2:21 AM Peter Feerick @.***> wrote:

As per the link https://www.frsky-rc.com/archer-plus-sr10/, this is in relation to the SR10+... the SR10 Pro is a completely different beast (and uses STAB_RX_2.03 -> FrSky SxR_R9S lua to configure it). And yes, just a few things confusing about this whole thing... like the need to downgrade the receiver and use older Lua script for the initial calibration :-/

The underlying issue is that you use the AP_STAB_RX_v2.04 (AP Stab Rx_OPTX, AP Stab Rx Cali_OPTX) scripts as provided by Frsky to configure it on OpenTX/EdgeTX, but the second group of stabilisation options mentioned in the manual are not available to be configured in the OTX script, only the Ethos one. Yet it seems like there is only a minor modification needed to make it all work... #4574 (comment) https://github.com/EdgeTX/edgetx/issues/4574#issuecomment-1913589133

I can't say if the S6R_S8R script works for the SR10+ as only I use X9D+ with ACCESS ;)

— Reply to this email directly, view it on GitHub https://github.com/EdgeTX/edgetx/issues/4574#issuecomment-1923180331, or unsubscribe https://github.com/notifications/unsubscribe-auth/BEMTSI2UOHREKGVDQHUW3ALYRSHYZAVCNFSM6AAAAABCNS5W6WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMRTGE4DAMZTGE . You are receiving this because you modified the open/close state.Message ID: @.***>

BompaBert commented 9 months ago

Also confirmed that - with latest firmware - the SRx PRO script does not work for SRx PLUS receivers and vice versa. The latest script (v2.06) added roll/pitch angle. I'll test that soon.

On Fri, Feb 2, 2024 at 7:11 AM Bert Prieus @.***> wrote:

Confirmed. This is for the SRx+ series only. Attached is a modified working script. I used the FrSky OTX / Ethos script version 2.04 to do this. It has been tested on a SR10+. I do not have any of the other models to test it with but albeit not the latest version for some, the v2.04 script still shows on their website. The main and second group of stab channels are all on 1 page. My skills don't go that far to split this on 2 pages like Frsky and Offer did. What you think?

On Fri, Feb 2, 2024 at 2:21 AM Peter Feerick @.***> wrote:

As per the link https://www.frsky-rc.com/archer-plus-sr10/, this is in relation to the SR10+... the SR10 Pro is a completely different beast (and uses STAB_RX_2.03 -> FrSky SxR_R9S lua to configure it). And yes, just a few things confusing about this whole thing... like the need to downgrade the receiver and use older Lua script for the initial calibration :-/

The underlying issue is that you use the AP_STAB_RX_v2.04 (AP Stab Rx_OPTX, AP Stab Rx Cali_OPTX) scripts as provided by Frsky to configure it on OpenTX/EdgeTX, but the second group of stabilisation options mentioned in the manual are not available to be configured in the OTX script, only the Ethos one. Yet it seems like there is only a minor modification needed to make it all work... #4574 (comment) https://github.com/EdgeTX/edgetx/issues/4574#issuecomment-1913589133

I can't say if the S6R_S8R script works for the SR10+ as only I use X9D+ with ACCESS ;)

— Reply to this email directly, view it on GitHub https://github.com/EdgeTX/edgetx/issues/4574#issuecomment-1923180331, or unsubscribe https://github.com/notifications/unsubscribe-auth/BEMTSI2UOHREKGVDQHUW3ALYRSHYZAVCNFSM6AAAAABCNS5W6WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMRTGE4DAMZTGE . You are receiving this because you modified the open/close state.Message ID: @.***>

BompaBert commented 9 months ago

Your S6R_S8R script only works for ACCST receivers. Wont work for ACCESS - SRx PRO or SRX PLUS.

On Thu, Feb 1, 2024 at 6:35 PM Offer Shmuely @.***> wrote:

well let me try to answer it step by step

  1. are you talking about SR10-Pro? or SR10_plus, by looking in the scripts, it looks like the firmware between the two is not compatible
  2. are you sure that the script I post on edgeTx-sdcard is working on the plus receivers???
  3. I do not have such receivers, so even if liked to, I can not test it.

I downloaded the setup scripts for both receivers

  1. the name of the script of the old one, the pro, is FrSky_STAB_RX_2.03, and it is for openTx/edgeTx, on the new one, similar name FrSky_STAB_RX_v2.06 the ethos script, and the openTx script is now named AP_SRx_Lua_v2.04, if you can confuse the users, so why not ;-)
  2. so if you have both SR10-Pro & SR10-plus, what script do you put on your transmitter? it is not clear at all
  3. the script for the pro & the script for the plus, use different command codes, so they does not look compatible at all, did you note that on the video you send, he could not operate the script!!!
  4. so it is a total mess. for the plus it will need a totally new script
  5. this is why I named the script S6R_S8R, so there will be no misunderstood

— Reply to this email directly, view it on GitHub https://github.com/EdgeTX/edgetx/issues/4574#issuecomment-1922483557, or unsubscribe https://github.com/notifications/unsubscribe-auth/BEMTSIZONDV5PQLOQ4BG5SLYRQRDHAVCNFSM6AAAAABCNS5W6WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMRSGQ4DGNJVG4 . You are receiving this because you modified the open/close state.Message ID: @.***>

offer-shmuely commented 9 months ago

If i had the receivers, I could try to add it, at least for the pro.

It is very strange!! that the script that we put on the edgeTx sd card is working with the plus receiver, i did not expect it will.

BompaBert commented 9 months ago

Just very confusing indeed. The SxR series are ACCST only. Then the SRx PRO's uses ACCESS. Both are discontinued and seems to work with your script or the FrSky SxR_R9S / FrSky_STAB_RX_2.03 scripts. The SRx PLUS does not. It would be great if you could take a look at what was attached earlier - make it nicer and maybe publish?

On Fri, Feb 2, 2024 at 12:22 PM Offer Shmuely @.***> wrote:

If i had the receivers, I could try to add it, at least for the pro.

It is very strange!! that the script that we put on the edgeTx sd card is working with the plus receiver, i did not expect it will.

— Reply to this email directly, view it on GitHub https://github.com/EdgeTX/edgetx/issues/4574#issuecomment-1924336966, or unsubscribe https://github.com/notifications/unsubscribe-auth/BEMTSI4NPYWTGLBHVETBEITYRUOD5AVCNFSM6AAAAABCNS5W6WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMRUGMZTMOJWGY . You are receiving this because you modified the open/close state.Message ID: @.***>

offer-shmuely commented 9 months ago

I saw the attached script you sent, and the original sr10+ scripts, they both use different command codes than my script. Are you sure my script ever worked on the SR10+? That would be very surprising

offer-shmuely commented 9 months ago

@BompaBert, can we move to discord for that discussion?

BompaBert commented 9 months ago

Yours does not work for the plus series. Sent from my iPhoneOn Feb 3, 2024, at 2:12 AM, Offer Shmuely @.***> wrote: @BompaBert, can we move to discord for that discussion?

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

offer-shmuely commented 9 months ago

try this code I remind you, that I have no way to test it, I do NOT have this receivers!!

FrSky_SR10_plus_setup_v2.05-etx-SR+.zip

GerritErpenstein commented 9 months ago

try this code I remind you, that I have no way to test it, I do NOT have this receivers!!

FrSky_SR10_plus_setup_v2.05-etx-SR+.zip

I have tested the script with an Archer Plus SR8 running latest firmware v1.0.10. It gave me the following error:

Script syntax error
TOOLS/FrSky_SR10_plus/setup.lua:327: bad argument #4 to 'sportTelemetryPush' (number expected, got nil)
BompaBert commented 9 months ago

Indeed -syntax error. @offer, you can test this using the etx companion - grab a model and run a simulation...

On Sun, Feb 4, 2024 at 4:24 AM Gerrit Erpenstein @.***> wrote:

try this code I remind you, that I have no way to test it, I do NOT have this receivers!!

FrSky_SR10_plus_setup_v2.05-etx-SR+.zip https://github.com/EdgeTX/edgetx/files/14154542/FrSky_SR10_plus_setup_v2.05-etx-SR%2B.zip

I have tested the script with an Archer Plus SR8. It gave me the following error:

Script syntax error TOOLS/FrSky_SR10_plus/setup.lua:327: bad argument #4 to 'sportTelemetryPush' (number expected, got nil)

— Reply to this email directly, view it on GitHub https://github.com/EdgeTX/edgetx/issues/4574#issuecomment-1925731348, or unsubscribe https://github.com/notifications/unsubscribe-auth/BEMTSI4NGBQBQLYFL2ATM4DYR54WDAVCNFSM6AAAAABCNS5W6WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMRVG4ZTCMZUHA . You are receiving this because you were mentioned.Message ID: @.***>

BompaBert commented 9 months ago

@Gerrit, could you test attached. It works on the SR10+. It would be good to try the SR8+

On Sun, Feb 4, 2024 at 4:24 AM Gerrit Erpenstein @.***> wrote:

try this code I remind you, that I have no way to test it, I do NOT have this receivers!!

FrSky_SR10_plus_setup_v2.05-etx-SR+.zip https://github.com/EdgeTX/edgetx/files/14154542/FrSky_SR10_plus_setup_v2.05-etx-SR%2B.zip

I have tested the script with an Archer Plus SR8. It gave me the following error:

Script syntax error TOOLS/FrSky_SR10_plus/setup.lua:327: bad argument #4 to 'sportTelemetryPush' (number expected, got nil)

— Reply to this email directly, view it on GitHub https://github.com/EdgeTX/edgetx/issues/4574#issuecomment-1925731348, or unsubscribe https://github.com/notifications/unsubscribe-auth/BEMTSI4NGBQBQLYFL2ATM4DYR54WDAVCNFSM6AAAAABCNS5W6WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMRVG4ZTCMZUHA . You are receiving this because you were mentioned.Message ID: @.***>

GerritErpenstein commented 9 months ago

@gerrit, could you test attached. It works on the SR10+. It would be good to try the SR8+

I would love to test the script, but I can't find it here in the GitHub web UI. Seems like it is only available via E-Mail? It would be great if you could upload it here again.🙂

GerritErpenstein commented 9 months ago

Still no script attached. Please see the original issue: 4574

BompaBert commented 9 months ago

here you go. Forgot it does not work via email. SRxPLUS_setup.zip

offer-shmuely commented 9 months ago

I do use the companion, I added some mock so I can see the screens, but anything that is actual read/write to the RX is not working. anyway, try this one, maybe I could guess the bug

FrSky_SR10_plus_setup_v2.05b-etx-SR+.zip

GerritErpenstein commented 9 months ago

Crap, I just realized that the configuration of the second gyro page only works with ACCESS. However, I use ACCST. I should have read the title more carefully. This makes the receiver with ACCST practically useless. What was FrSky thinking? 😞 Then I will probably send the receiver back again.

offer-shmuely commented 9 months ago

could you understand why, when using the 2 group, it have 2 mount types? and 2 plane-type? how can you put a single receiver in two different orientation?

pfeerick commented 9 months ago

You would have to ask frsky that, as they clearly know that is the case as it is outlined in the setup steps in the manual 🤣

Given the second stabilisation group when turned on controls CH7-11, maybe it's so that you can swap it between planes? As the second group also has independent calibration. I can't offhand think of any other reason why you would want duplicated controls with different control mix/orientation, unless maybe for some form of camera stabilisation through inversion?

BompaBert commented 9 months ago

@offer, you nailed it. It's working! Feel free to add it to the etx sdcard. Just we all agree, this version does not cover the latest features. As mentioned, FrSky recently added v2.06 - are roll/ pitch angle. I tried to add them but they return no values on the sr10+ I tested it with.

On Sun, Feb 4, 2024 at 3:08 PM Offer Shmuely @.***> wrote:

I do use the companion, I added some mock so I can see the screens, but anything that is actual read/write to the RX is not working. anyway, try this one, maybe I could guess the bug

FrSky_SR10_plus_setup_v2.05b-etx-SR+.zip https://github.com/EdgeTX/edgetx/files/14158353/FrSky_SR10_plus_setup_v2.05b-etx-SR%2B.zip

— Reply to this email directly, view it on GitHub https://github.com/EdgeTX/edgetx/issues/4574#issuecomment-1925900027, or unsubscribe https://github.com/notifications/unsubscribe-auth/BEMTSIYA2XHUH5U7AJY6N3LYR7TFPAVCNFSM6AAAAABCNS5W6WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMRVHEYDAMBSG4 . You are receiving this because you were mentioned.Message ID: @.***>

BompaBert commented 9 months ago

The second group has its own self-check, not calibration as far I know. A second group can be useful in more complex setups like jets with tailerons. One group stabilizes the ailerons and a second group stabilizes the elevators in a delta setup (ail+ele).

On Sun, Feb 4, 2024 at 3:53 PM Peter Feerick @.***> wrote:

You would have to ask frsky that, as they clearly know that is the case as it is outlined in the setup steps in the manual 🤣

Given the second stabilisation group when turned on controls CH7-11, maybe it's so that you can swap it between planes? As the second group also has independent calibration. I can't offhand think of any other reason why you would want duplicated controls with different control mix/orientation, unless maybe for some form of camera stabilisation through inversion?

— Reply to this email directly, view it on GitHub https://github.com/EdgeTX/edgetx/issues/4574#issuecomment-1925911026, or unsubscribe https://github.com/notifications/unsubscribe-auth/BEMTSI3424A3DRC4NUDF6SLYR7YM7AVCNFSM6AAAAABCNS5W6WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMRVHEYTCMBSGY . You are receiving this because you were mentioned.Message ID: @.***>

pfeerick commented 9 months ago

It actually says calibration in the manual, but it probably doesn't mean that (or our interpretation of calibration is wrong).

BompaBert commented 9 months ago

Yes sir, confusing indeed. the calibration happens using a different script.

On Sun, Feb 4, 2024 at 4:05 PM Peter Feerick @.***> wrote:

It actually says calibration in the manual, but it probably doesn't mean that (or our interpretation of calibration is wrong).

— Reply to this email directly, view it on GitHub https://github.com/EdgeTX/edgetx/issues/4574#issuecomment-1925913885, or unsubscribe https://github.com/notifications/unsubscribe-auth/BEMTSI7DO4R6DNDNTWLZUM3YR7Z2JAVCNFSM6AAAAABCNS5W6WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMRVHEYTGOBYGU . You are receiving this because you were mentioned.Message ID: @.***>

3djc commented 9 months ago

The calibration for sxr allows to do initial calibration of accelerometers. It should be done once in receiver lifetime, and before installation in a craft, since it need flat leveled reference surface. It is not part of receiver config per say

pfeerick commented 9 months ago

Actually, no it isn't. You have calibration of the IMU "gyro", which is done in the seperate script, and appears to be one time (unless it needs resetting), and calibration of channel travel/centering, so the stabiliser knows how each bank is set up. That's the self-check calibration.

3djc commented 9 months ago

Oh yes, the channels calibration, yes, there are two different ones. One should be renamed really, but since frsky docs are what they are , not surer what can be done

offer-shmuely commented 9 months ago

the script have different command-id for each of the wing-type & and plane-type it is not a mistake in the documentation

image

offer-shmuely commented 9 months ago

try this for the roll/ pitch angle FrSky_SR10_plus_setup_v2.05c-etx-SR+.zip

BompaBert commented 9 months ago

The roll/pitch values can be altered from 0 to 80 however I do not see any change in servo movement. Followed instructions per TD R10 manual: " This feature will not be activated if the degree value is set to 0-9. The setting with the Roll/Pitch degree between 10 to 80 can have the feature work, and it's not recommended to be set with the degree values too small." So it says "can" - makes me unsure... Also on 3th page, self check can't be selected and am getting intermitted crash with message: ?.0: attempt to index field '?' (a nil value)

On Sun, Feb 4, 2024 at 5:07 PM Offer Shmuely @.***> wrote:

try this for the roll/ pitch angle FrSky_SR10_plus_setup_v2.05c-etx-SR+.zip https://github.com/EdgeTX/edgetx/files/14158675/FrSky_SR10_plus_setup_v2.05c-etx-SR%2B.zip

— Reply to this email directly, view it on GitHub https://github.com/EdgeTX/edgetx/issues/4574#issuecomment-1925941322, or unsubscribe https://github.com/notifications/unsubscribe-auth/BEMTSI7TKA3LLYHWRGCQ4VTYSABA3AVCNFSM6AAAAABCNS5W6WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMRVHE2DCMZSGI . You are receiving this because you were mentioned.Message ID: @.***>

pfeerick commented 9 months ago

the script have different command-id for each of the wing-type & and plane-type it is not a mistake in the documentation

Never said it was a mistake, but that would need to ask frsky about the rationale... Then again, they also clearly state these are two separate stabilisation systems, so it stands to reason everything is just duplicated.

But as Boompa pointed out, it starts to makes sense when using more complex setups, I.e. the second bank for delta mixing (with no mixing for the first bank).

BompaBert commented 9 months ago

Lets hope for the best. So far, a lot of progress was made. Thanks much for that. Btw, on page 3 of your script, you've got a typo. Ch10 represents AIL4 and is still controlled by the gyro. Am referring to the sr10+ manual.

On Sat, Jan 27, 2024 at 5:38 PM Bert Prieus @.***> wrote:

I believe some in this community did create some great LUA scripts for Frsky receivers. I was hoping to get their attention. Frsky is focusing on Ethos - am still waiting for a reply.

On Sat, Jan 27, 2024 at 5:13 PM Peter Feerick @.***> wrote:

You need to contact FrSky if they have added new features to the RX firmware, but not updated their Lua scripts to suit. This is not something EdgeTX can do or fix.

— Reply to this email directly, view it on GitHub https://github.com/EdgeTX/edgetx/issues/4574#issuecomment-1913350908, or unsubscribe https://github.com/notifications/unsubscribe-auth/BEMTSI64QUWANN5OXNDYUSLYQV32FAVCNFSM6AAAAABCNS5W6WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMJTGM2TAOJQHA . You are receiving this because you authored the thread.Message ID: @.***>

offer-shmuely commented 9 months ago

I do not understand the mistake

on page 3 of your script, you've got a typo. Ch10 represents AIL4 and is still controlled by the gyro

as far as I understand, if you like the CH10 to be controlled by the gyro as AIL4, you turn this ON image

if you like to use CH10 for something, lets say "gears" then you need to turn it OFF, same as CH5/6

Roll/Pitch degre I see it only on the manual of the SR6+, not on the SR8+/SR10+/SR12+

attempt to index field '?' (a nil value)

for that, I need you to delete from the sd card the luac file \SCRIPTS\TOOLS\FrSky_SR10_plus\setup.luac not the lua itself, run it again, and we will see a m ore detailed error.

pfeerick commented 9 months ago

The manual is out of date somewhat (and is itself inconsistent... it is v1.0, yet, mentions something about the 1.07 firmware :thinking: )... this is from the firmware log for the SR10+:

image

BompaBert commented 9 months ago

No errors since removing the .luac file. In regards CH 5-6 and 10-11. Your comment just confused me -sorry about that. Reason is that FrSky calls it "AUX" mode since the time they came out with stabilized receivers. In attached, I made a few changes in regards to that, fixed the self-check choice and uncommented the roll/pitch feature in group2. Albeit I do not see any changes in roll/pitch behavior changing the degrees on the bench but everything else works. I'll test the roll/pitch behavior in flight - maybe it is acceleration depended. setup_v2.zip ...

offer-shmuely commented 9 months ago

there is no real meaning tor AUX. openTx & edgeTx does not name the channel as AUX (and good that they don't!) on betaflight AUX1 is actually CH5 on rotor-flight AUx1 is actually CH6 (since there is a pitch as well in addition to AIL/ELE/THR/RUD) I do not see any reason to continue and use the AUX naming

e.g. if I like to config lights on AUX11, what channel I need to use on the transmitter? on betaflight it will be 11+4=CH15 on rotorflight it will be 11+5=CH16 and after configure it, there still will be no reference for that in edgeTx at all

if the first text is confusing, lets find another one that not contain AUX

BompaBert commented 9 months ago

What about { "AIL2", "stab off" }

On Mon, Feb 5, 2024 at 2:26 PM Offer Shmuely @.***> wrote:

there is no real meaning tor AUX. openTx & edgeTx does not name the channel as AUX (and good that they don't!) on betaflight AUX1 is actually CH5 on rotor-flight AUx1 is actually CH6 (since there is a pitch as well in addition to AIL/ELE/THR/RUD) I do not see any reason to continue and use the AUX naming

e.g. if I like to config lights on AUX11, what channel I need to use on the transmitter? on betaflight it will be 11+4=CH15 on rotorflight it will be 11+5=CH16 and after configure it, there still will be no reference for that in edgeTx at all

if the first text is confusing, lets find another one that not contain AUX

— Reply to this email directly, view it on GitHub https://github.com/EdgeTX/edgetx/issues/4574#issuecomment-1927878738, or unsubscribe https://github.com/notifications/unsubscribe-auth/BEMTSI4NXJ3QMBIGSYQWGX3YSEW45AVCNFSM6AAAAABCNS5W6WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMRXHA3TQNZTHA . You are receiving this because you were mentioned.Message ID: @.***>

pfeerick commented 9 months ago

on betaflight AUX1 is actually CH5 on rotor-flight AUx1 is actually CH6 (since there is a pitch as well in addition to AIL/ELE/THR/RUD)

... except we're talking about Frsky, not Betaflight or Rotorflight... what language/phraseology does Frsky use? As this is what the end user will expect. The same as I would (and do) expect Betaflight scripts/tools to reference AUX1 as CH5... that's the language of that system.

Also, consider the option(s) in context...

CH5  mode = [AIL2|AUX]
CH6  mode = [ELE2|AUX]
CH10 mode = [AIL4|AUX]
CH11 mode = [ELE4|AUX]

it seems pretty clear that, for example, CH10 is either being used as AIL4, or as an auxiliary channel, not a specific channel. I'm not sure there is any benefit in expanding the option text out to "CH10 as AIL4" since we're only looking at CH10... and only has those two options. If you were remapping channels, sure, but not for what amounts to an stablise/user control option.

Maybe something more like this if you want to make it more explanatory? { "AIL4", "AUX (Not stabilised)" }

I was going to suggest { "AIL4 (Stabilised)", "AUX (Not stabilised)" } but I'm not sure what happens when you turn one of the stabiliser groups off... i.e. I would expect the channel assignment to remain, but the channel to not be stabilised, so that text would be wrong in that instance.

offer-shmuely commented 9 months ago

The "AUX (Not stabilized)" } sound good to me (as long as the AUX does not have number)

changing the ON string to "stabilized as AIL2"

FrSky_SR10_plus_setup_v2.05d-etx-SR+.zip

BompaBert commented 9 months ago

I have been using the FrSky receivers sine they came out. Being used to AUX1 AUX2 etc...so initially, Offer's description throwed me off. Personally I would not add any comments and stick with the Frsky way of doing things. FrSky receivers can be complex to handle and if you don't want to get in trouble, reading / understanding the available manuals and release notes is a must and tools like this one should not replace or change that. Adding stabilization comments or descriptions in a stabilization tool is in my opinion overkill. And a Peter mentioned, disabling a group removes all stabilization in that group. All do respect, I would go with the FrSky way or what Peter suggested:

CH5 mode = [AIL2|AUX] CH6 mode = [ELE2|AUX] CH10 mode = [AIL4|AUX] CH11 mode = [ELE4|AUX]

On Mon, Feb 5, 2024 at 7:33 PM Offer Shmuely @.***> wrote:

The "AUX (Not stabilized)" } sound good to me (as long as the AUX does not have number)

changing the ON string to "stabilized as AIL2"

FrSky_SR10_plus_setup_v2.05d-etx-SR+.zip https://github.com/EdgeTX/edgetx/files/14173268/FrSky_SR10_plus_setup_v2.05d-etx-SR%2B.zip

— Reply to this email directly, view it on GitHub https://github.com/EdgeTX/edgetx/issues/4574#issuecomment-1928563634, or unsubscribe https://github.com/notifications/unsubscribe-auth/BEMTSI5VVSLWEVOYHPDR7VLYSF26RAVCNFSM6AAAAABCNS5W6WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMRYGU3DGNRTGQ . You are receiving this because you were mentioned.Message ID: @.***>

3djc commented 9 months ago

That will also help consistency with BW

BompaBert commented 9 months ago

The AIL stab functionality fails when the receiver is mounted vertical or vertical reverse. It works ok horizontally or reverse mounted. Rolling a bit to one side, lets say the left, throws the servo to max. Rolling to the right, stabilization is ok. Will update on further testing and findings.

offer-shmuely commented 8 months ago

can you compare it to the original script?