mirror of
https://github.com/pascallanger/DIY-Multiprotocol-TX-Module.git
synced 2025-02-04 19:58:13 +00:00
Frankie dsm fwrd prg enhancements (#771)
* #751 DSM Enhancements #751 DSM Forward Programming Enhancements (New GUI, etc) * Make both work on EdgeTx and OpenTX * #751 Turn OFF simulation by default Distribution code with RX simulation OFF Simulation should be only for Development * #751 Update Readme Documentation Updated the Readme.txt documentation and removed compiled luac file that was check in by mistake * #751 Fix problems With Reset RX 1. Fix problem when trying to Factory Reset. Enter Bind Mode. Save backup, Restore Backup 2. Found a way to advance on the Gyro initial Setup menus.. a bit of a hack, but works. 3. Handle RX resets properly. It needed after initial setup * #751 Cosmetic and Show Orientation Images #751 1. Fix problems when text contradictions between Menu/Line Headers and List Values 2. Show Images of RX orientations 3. Able to Hack getting into Initial Setup and other menus who was failing before 4. Custumize the way Flight Mode reports the Value on Screen * #751 add check for required libraries Add check that the required files in DSMLIB exist * #751 Write documentation about the protocol so that we don't forget later what we know, and enable others to understand the logs and maybe help solve problems. * #766 Change the way to detect that the files exist. now works on both ETX and OTX * #766 Strange Flickering in OTX Strange Flickering happening on OTX. Refreshing the screen on every cycle fixed the problem * #766 Change way of dectecting EdgeTX Change way of detecting OTX in multiple versions: OTX 2.3.14 and 2.3.15 * #766 make editable Gain Values Gains and other settings should be editable even when they are VALUE_NOCHANGING. Flight Mode is an exception that is handled properly. Right align numbers. * #766 More enhacements Added AR630 Make numbers right justified Cleanup some log messages and line types. Updated DSM FWD prog documentation Co-authored-by: pascallanger <pascal_langer@yahoo.fr>
This commit is contained in:
parent
5901bac374
commit
1d8f1a0857
@ -160,7 +160,6 @@ local function GUI_Display_Boxed_Text(lineNum,x,y,w,h,text,inv, isNumber)
|
||||
lcd.drawRectangle(x-5, y-2, w, h, frameColor)
|
||||
end
|
||||
if (isNumber) then
|
||||
print("DRAW NUMBER")
|
||||
lcd.drawNumber(x+w-10 , y, text, txtColor + RIGHT)
|
||||
else
|
||||
lcd.drawText(x , y, text, txtColor)
|
||||
|
@ -7,7 +7,12 @@ This document descrives what we know so far.
|
||||
|
||||
Thanks to **Pascal Langer** (Author of the Multi-Module) for the initial reverse engineering of the protocol and first version of the code that has been used for a while (Version 0.2)
|
||||
|
||||
Thanks to **Francisco Arzu** for taking the time to continue the work on documenting and making the code more understandable, as well as having the capabilities to write log files. Improve the GUI, and reversed engineer a few other smaller things. (Version 0.5)
|
||||
Thanks to **Francisco Arzu** for taking the time to continue the work on reverse engineering, documenting and making the code more understandable.
|
||||
|
||||
New Capabilities in Version 0.5
|
||||
- Log files of the conversation between RX/TX
|
||||
- Improve the GUI (EdgeTX touch screen)
|
||||
- Reversed engineer other things to make it work completly.
|
||||
|
||||
# Menu Title and Lines
|
||||
|
||||
@ -43,63 +48,80 @@ The menu has the following information:
|
||||
|
||||
The menu lines has the following information:
|
||||
|
||||
L[#0 T=V_NC VId=0x1000 Text="Flight Mode"[0x8001] Val=1 [0->10,0] MId=0x1021 ]
|
||||
L[#0 T=V_nc VId=0x1000 Text="Flight Mode"[0x8001] Val=1 [0->10,0] MId=0x1021 ]
|
||||
L[#1 T=M VId=0x7CA6 Text="FM Channel"[0x78] MId=0x1021 ]
|
||||
L[#2 T=L_m1 VId=0x1002 Text="AS3X"[0x1DC] Val=1|"Act" NL=(0->1,0,S=3) [3->4,3] MId=0x1021 ]
|
||||
L[#2 T=LM VId=0x1002 Text="AS3X"[0x1DC] Val=1|"Act" NL=(0->1,0,S=3) [3->4,3] MId=0x1021 ]
|
||||
|
||||
- `MenuId`: of the menu they beling to. Log show as `"MId="` at the end.
|
||||
- `LineNum`: Line number (0..5). The line number in the screen. Log show as # in the beginning
|
||||
- `Type`: Type of Line, Log shows as `"T="` (explanation later)
|
||||
- `TextId`: The message number to display (16 bits, Hex). Log shows as [`0xXX`] after the message.
|
||||
- `TextId`: The message number to display (16 bits, Hex). Log shows as [`0xXXXX`] after the message.
|
||||
- `Text`: Retrived using the `TextId` from the script message `Text` array.
|
||||
- `ValueId`: The value or menu ID of the line. Log shows as `"VId="`.
|
||||
- `ValueId`: The value or menu ID of the line. Log shows as `"VId="` (16 bits, Hex).
|
||||
- `Value Range`: Shows as [`Min`->`Max`, `Default`]. This is the RAW data comming from the RX
|
||||
- `NL`: Computed Normalized (0 reference) for List Values. Source is the RAW range. For example, for lines of list of values. `[3->4,3]` is tranlated to `NL=(0->1,0,S=3)` since the value is also normalize to 0. `"S="` means the initial entry in the `List_Text` array
|
||||
- `NL`: Computed Normalized LIST (0 reference) for List Values. Source is the RAW range. For example, for lines of list of values. `[3->4,3]` is tranlated to `NL=(0->1,0,S=3)` since the value is also normalize to 0. `"S="` means the initial entry in the `List_Text` array
|
||||
- `Val`: Current value for line who hold data. Relative to 0 for List Values. For List Values, the log will show the translation of the value to display text. example: `Val=1|"Act"` that is coming from `List_Value[4]`
|
||||
|
||||
## Type of Menu Lines
|
||||
|
||||
- `LINE_TYPE.MENU (Log: "T=M")`: This could be regular text or a navigation to another menu. if `ValueId` is the same as the current MenuId (`MId=`), is a plain text line. If the `ValueId` is different, then `ValueId` is the MenuId to navigate to.
|
||||
- `LINE_TYPE.MENU (Log: "T=M")`: This could be regular text or a navigation to another menu. if `ValueId` is the same as the current MenuId (`MId=`), is a plain text line (navigation to itself). If the `ValueId` is not the current menuId, then `ValueId` is the MenuId to navigate to.
|
||||
|
||||
We have found only one exception to the plain text rule, a true navigation to itself, in that case, in the text of the menu, you can use the "/M" flag at the end of the text to force it to be a menu button.
|
||||
|
||||
Example, FM_Channel is a navigation to menuId=0x7CA6.
|
||||
|
||||
L[#1 T=M VId=0x7CA6 Text="FM Channel"[0x78] MId=0x1021 ]
|
||||
|
||||
|
||||
- `LINE_TYPE.VALUE_NOCHANGING (Log: "T=V_NC")`: This is a line with a value that is not editable in the screen. For example, "Flight modes" are usually this type, since the data comes from the RX just to be display and is changed by a TX switch.
|
||||
|
||||
Example, Flight mode comes from Variable ValId=0x1000, with current value of 1. Range of the Value is 0..10.
|
||||
|
||||
L[#0 T=V_NC VId=0x1000 Text="Flight Mode"[0x8001] Val=1 [0->10,0] MId=0x1021 ]
|
||||
|
||||
- `LINE_TYPE.LIST_MENU0 (Log T=L_m0)`: This is a line that shows as text in the GUI. The numeric value is translated to the proper text. The range is important, since it descrives the range of posible values.
|
||||
- `LINE_TYPE.LIST_MENU_NC (Log T=LM_nc)`: This is a line that shows as text in the GUI. The numeric value is translated to the proper text. The range is important, since it descrives the range of posible values. No incremental RX changes, only at the end.
|
||||
|
||||
Example: List of Values, List_Text[] starts at 53, ends at 85, with a default of 85. When normalized to 0, is a range from 0->32 for the numeric value. The Display value `Aux1` is retrive from `List_Text[6+53]`.
|
||||
|
||||
L[#0 T=L_m0 VId=0x1000 Text="FM Channel"[0x78] Val=6|"Aux1" NL=(0->32,0,S=53) [53->85,53] MId=0x7CA6 ]
|
||||
L[#0 T=LM_nc VId=0x1000 Text="FM Channel"[0x78] Val=6|"Aux1" NL=(0->32,0,S=53) [53->85,53] MId=0x7CA6 ]
|
||||
|
||||
- `LINE_TYPE.LIST_MENU1 (Log T=L_m1)`: Mostly the same as MENU0, but some times, it comes with a strange range `[0->244,Default]`. Usually this means that the values are not contiguos.
|
||||
- `LINE_TYPE.LIST_MENU_TOG (Log T=L_tog)`: Mostly the same as LIST_MENU_NC, but is just 2 values. (ON/OFF, Ihn/Act, etc). Should be a toggle in the GUI.
|
||||
|
||||
Example: Valid Values: 3,176->177 (Inh, Self-Level/Angle Dem, Envelope)
|
||||
L[#3 T=L_m1 VId=0x1003 Text="Safe Mode"[0x1F8] Val=176|"Self-Level/Angle Dem" NL=(0->244,3,S=0) [0->244,3] MId=0x1021 ]
|
||||
L[#2 T=LM_tog VId=0x1002 Text="AS3X"[0x1DC] Val=1|"Act" NL=(0->1,0,S=3) [3->4,3] MId=0x1021 ]
|
||||
|
||||
- `LINE_TYPE.LIST_MENU2 (Log T=L_m2)`: Mostly the same as MENU0, but is just 2 values. (ON/OFF, Ihn/Act, etc). Should be a toggle in the GUI.
|
||||
- `LINE_TYPE.LIST_MENU (Log T=LM)`: Mostly the same as LIST_MENU_NC, but incremental changes to the RX. Some times, it comes with a strange range `[0->244,Default]`. Usually this means that the values are not contiguos range; usually Ihn + Range. Still haven't found where in the data the correct range comes from.
|
||||
|
||||
Example: Valid Values: 3, 176->177 (Inh, Self-Level/Angle Dem, Envelope)
|
||||
L[#3 T=LM VId=0x1003 Text="Safe Mode"[0x1F8] Val=176|"Self-Level/Angle Dem" NL=(0->244,3,S=0) [0->244,3] MId=0x1021 ]
|
||||
|
||||
- `LINE_TYPE.VALUE_NUM_I8_NC (Log: "T=V_nc")`: This line is editable, but is not updated to the RX incrementally, but only at the end. The Flight Mode line is of this type, so we have to check the TextId to differenciate between Flight mode and an Editable Value.
|
||||
Fligh Mode TextId is between 0x8000 and 0x8003
|
||||
|
||||
Example, Flight mode comes from Variable ValId=0x1000, with current value of 1. Range of the Value is 0..10.
|
||||
|
||||
L[#0 T=V_nc VId=0x1000 Text="Flight Mode"[0x8001] Val=1 [0->10,0] MId=0x1021 ]
|
||||
|
||||
L[#2 T=L_m2 VId=0x1002 Text="AS3X"[0x1DC] Val=1|"Act" NL=(0->1,0,S=3) [3->4,3] MId=0x1021 ]
|
||||
|
||||
- `LINE_TYPE.VALUE_NUM_I8 (Log T=V_i8)`: 8 bit number (1 byte)
|
||||
|
||||
- `LINE_TYPE.VALUE_NUM_I16' (Log T=V_i16)`: 16 Bit number (2 bytes)
|
||||
- `LINE_TYPE.VALUE_NUM_SI16 (Log T=V_si16)`: Signed 16 bit number (2 bytes)
|
||||
- `LINE_TYPE.VALUE_PERCENT (Log T=L_%)`: Shows a Percent Value. 1 Byte value.
|
||||
- `LINE_TYPE.VALUE_DEGREES (Log T=L_de)`: Shows a Degrees VAlue. 1 Byte value.
|
||||
|
||||
|
||||
## LIST_TYPE Bitmap
|
||||
TYPE|Sum|Hex|7 Signed|6 Valid Min/Max??|5 No-Inc-Changing|4 Menu|3 List-Menu|2 text / number|1|0 - 16 bits
|
||||
|-|-|-|-|-|-|-|-|-|-|-
|
||||
|MENU|Text|0x1C|0|0|0|1|1|1|0|0
|
||||
|LIST_MENU|Text|0x0C|0|0|0|0|1|1|0|0
|
||||
|LIST_MENU_TOG|Text|0x4C|0|1|0|0|1|1|0|0
|
||||
|LIST_MENU_NC|Text, NC|0x6C|0|1|1|0|1|1|0|0
|
||||
|VALUE_NUM_I8_NC|I8, NC|0x60|0|1|1|0|0|0|0|0
|
||||
|VALUE_PERCENT|S8|0xC0|1|1|0|0|0|0|0|0
|
||||
|VALUE_DEGREES|S8 NC|0xE0|1|1|1|0|0|0|0|0
|
||||
|VALUE_NUM_I8|I8|0x40|0|1|0|0|0|0|0|0
|
||||
|VALUE_NUM_I16|I16|0x41|0|1|0|0|0|0|0|1
|
||||
|VALUE_NUM_SI16|S16|0xC1|1|1|0|0|0|0|0|1
|
||||
|
||||
|
||||
## Important Behavioral differences when updating values
|
||||
|
||||
Values who are editable, are updated to RX as they change. For example, when changing trims, the servo is been moves as we change the value in real-time.
|
||||
Values who are editable, are updated to RX as they change. For example, when changing attitude trims, the servo moves as we change the value in real-time.
|
||||
|
||||
LIST_MENU0 is an exception. It changes only in the GUI, and only update the RX at the end when confirmed the value.
|
||||
LIST_MENU_NC, VALUE_NUM_I8_NC don't update the RX as it changes. It changes only in the GUI, and only update the RX at the end when confirmed the value. (NO-INC-CHANGES Bit)
|
||||
|
||||
After finishing updating a value, a validation command is sent. RX can reject the current value, and will change it to the nearest valid value.
|
||||
|
||||
@ -306,7 +328,7 @@ The Display text for the menu line is retrive from the `Text` array.
|
||||
|0x09|0x03|0x61|0x10|0x00|0x6C|0x50|0x00|0x00|0x10|0x36|0x00|0x49|0x00|0x36|0x00
|
||||
|
||||
RESPONSE RX: 09 03 61 10 00 6C 50 00 00 10 36 00 49 00 36 00
|
||||
RESPONSE MenuLine: L[#0 T=L_m0 VId=0x1000 Text="Outputs"[0x50] Val=nil NL=(0->19,0,S=54) [54->73,54] MId=0x1061 ]
|
||||
RESPONSE MenuLine: L[#0 T=LM_nc VId=0x1000 Text="Outputs"[0x50] Val=nil NL=(0->19,0,S=54) [54->73,54] MId=0x1061 ]
|
||||
|
||||
## Menu Line Value Response
|
||||
Returns the Value for a line.
|
||||
@ -422,12 +444,12 @@ Function `DSM_SelLine_HACK()`
|
||||
LOG_write("First time Setup Menu HACK: Overrideing LastSelectedLine to ZERO\n")
|
||||
ctx.SelLine = 0
|
||||
end
|
||||
-- AR631/AR637 Hack for "Relearn Servo Settings", use 1 instead
|
||||
-- DID NOT WORK: AR631/AR637 Hack for "Relearn Servo Settings", use 1 instead
|
||||
-- of the ctx.SelLine=0
|
||||
if (ctx.Menu.MenuId == 0x1023) then
|
||||
LOG_write("Relearn Servo Settings HACK: Overrideing LastSelectedLine to 1\n")
|
||||
ctx.SelLine = 1
|
||||
end
|
||||
--if (ctx.Menu.MenuId == 0x1023) then
|
||||
-- LOG_write("Relearn Servo Settings HACK: Overrideing LastSelectedLine to 1\n")
|
||||
-- ctx.SelLine = 1
|
||||
--end
|
||||
|
||||
Now it retrives properly the menu:
|
||||
|
||||
|
@ -41,19 +41,22 @@
|
||||
|
||||
local DEBUG_ON = ... -- Get Debug_ON from parameters. -- 0=NO DEBUG, 1=HIGH LEVEL 2=MORE DETAILS
|
||||
local LIB_VERSION = "0.5"
|
||||
local FORCED_HACK = false
|
||||
|
||||
|
||||
local Lib = { Init_Text = function (rxId) end }
|
||||
|
||||
--RX IDs--
|
||||
local RX = {
|
||||
--RX names--
|
||||
AR636B = 0x0001,
|
||||
SPM4651T = 0x0014,
|
||||
AR637T = 0x0015,
|
||||
AR637TA = 0x0016,
|
||||
FC6250HX = 0x0018,
|
||||
AR630 = 0x0019,
|
||||
AR8360T = 0x001A,
|
||||
AR631 = 0x001E
|
||||
-- AR10360T
|
||||
}
|
||||
|
||||
local PHASE = {
|
||||
@ -68,15 +71,16 @@ local PHASE = {
|
||||
|
||||
local LINE_TYPE = {
|
||||
MENU = 0x1C,
|
||||
LIST_MENU0 = 0x6C, -- List: For this, do not send changes as it happends in the screen, only at the END
|
||||
LIST_MENU1 = 0x0C, -- List: TODO: Investigate why the Min/Max on some lines comes with a wide range (0..244) when non-contiguos values. example Valid (3,176,177)
|
||||
LIST_MENU2 = 0x4C, -- List: Seems like a bolean menu, just 2 values 0->1 (off/on, ihn/Act)
|
||||
VALUE_NOCHANGING = 0x60, -- value not change in GUI, change internally at the receiver
|
||||
VALUE_PERCENT = 0xC0, -- 8 bit number, percent
|
||||
VALUE_DEGREES = 0xE0, -- Degress??
|
||||
LIST_MENU = 0x0C, -- List: TODO: Investigate why the Min/Max on some lines comes with a wide range (0..244) when non-contiguos values. example Valid (3,176,177)
|
||||
LIST_MENU_NC = 0x6C, -- List: No Incremental Change
|
||||
LIST_MENU_TOG = 0x4C, -- List: Seems like a bolean/Toggle menu, just 2 values 0->1 (off/on, ihn/Act)
|
||||
|
||||
VALUE_NUM_I8_NC = 0x60, -- 8 bit number, no incremental change
|
||||
VALUE_PERCENT = 0xC0, -- 8 bit number, Signed, percent
|
||||
VALUE_DEGREES = 0xE0, -- 8 bit number, Signed, Degress
|
||||
VALUE_NUM_I8 = 0x40, -- 8 bit number
|
||||
VALUE_NUM_I16 = 0x41, -- 16 Bit number
|
||||
VALUE_NUM_SI16 = 0xC1, -- Signed 16 bit number
|
||||
VALUE_NUM_SI16 = 0xC1, -- 16 bit number, Signed
|
||||
LT_EMPTY = 0x00
|
||||
}
|
||||
|
||||
@ -124,7 +128,6 @@ local logFile = nil
|
||||
|
||||
function DSM_Context.isEditing() return DSM_Context.EditLine~=nil end
|
||||
|
||||
|
||||
------------------------------------------------------------------------------------------------------------
|
||||
local logCount=0
|
||||
local function LOG_open()
|
||||
@ -170,7 +173,7 @@ local function isSelectableLine(line) -- is the display line Selectable??
|
||||
if (line.Type == 0) then return false end -- Empty Line
|
||||
if (line.Type == LINE_TYPE.MENU and line.ValId == line.MenuId and bit32.band(line.TextAttr, DISP_ATTR.FORCED_MENU)==0) then return false end -- Menu that navigates to Itself?
|
||||
if (line.Min==0 and line.Max==0 and line.Def==0) then return false end -- Values with no Range are only for display
|
||||
if (line.Type == LINE_TYPE.VALUE_NOCHANGING and isFlightModeLine(line)) then return false end -- Flight mode is not Selectable
|
||||
if (line.Type == LINE_TYPE.VALUE_NUM_I8_NC and isFlightModeLine(line)) then return false end -- Flight mode is not Selectable
|
||||
return true
|
||||
end
|
||||
|
||||
@ -178,13 +181,13 @@ local function isEditableLine(line) -- is the display line editable??
|
||||
-- values who are not editable
|
||||
if (line.Type == 0 or line.Type == LINE_TYPE.MENU) then return false end -- Menus are not editable
|
||||
if (line.Min==0 and line.Max==0 and line.Def==0) then return false end -- Values with no Range are only for display
|
||||
if (line.Type == LINE_TYPE.VALUE_NOCHANGING and isFlightModeLine(line)) then return false end -- Flight mode is not Editable
|
||||
if (line.Type == LINE_TYPE.VALUE_NUM_I8_NC and isFlightModeLine(line)) then return false end -- Flight mode is not Editable
|
||||
-- any other is Editable
|
||||
return true
|
||||
end
|
||||
|
||||
local function isListLine(line) -- is it a List of options??
|
||||
if (line.Type == LINE_TYPE.LIST_MENU0 or line.Type == LINE_TYPE.LIST_MENU1 or line.Type == LINE_TYPE.LIST_MENU2) then return true end
|
||||
if (line.Type == LINE_TYPE.LIST_MENU_NC or line.Type == LINE_TYPE.LIST_MENU or line.Type == LINE_TYPE.LIST_MENU_TOG) then return true end
|
||||
return false
|
||||
end
|
||||
|
||||
@ -205,7 +208,7 @@ local function isNumberValueLine(line) -- is it a number ??
|
||||
end
|
||||
|
||||
local function isIncrementalValueUpdate(line)
|
||||
if (line.Type == LINE_TYPE.LIST_MENU0 or line.Type == LINE_TYPE.VALUE_NOCHANGING) then return false end
|
||||
if (line.Type == LINE_TYPE.LIST_MENU_NC or line.Type == LINE_TYPE.VALUE_NUM_I8_NC or line.Type == LINE_TYPE.VALUE_DEGREES) then return false end
|
||||
return true
|
||||
end
|
||||
|
||||
@ -669,7 +672,7 @@ local function DSM_SelLine_HACK()
|
||||
-- Tested to work on the RX: AR631, AR637T, AR637TA
|
||||
|
||||
local ctx = DSM_Context
|
||||
if (ctx.RX.Id == RX.AR637T or ctx.RX.Id == RX.AR637TA or ctx.RX.Id == RX.AR631) then
|
||||
if (FORCED_HACK or ctx.RX.Id == RX.AR637T or ctx.RX.Id == RX.AR637TA or ctx.RX.Id == RX.AR631 or ctx.RX.Id == RX.AR630) then
|
||||
-- AR631/AR637 Hack for "First time Setup" or "First Time AS3X Setup", use 0 instead of the ctx.SelLine
|
||||
if (ctx.Menu.MenuId == 0x104F or ctx.Menu.MenuId==0x1055) then
|
||||
if (DEBUG_ON) then LOG_write("First time Setup Menu HACK: Overrideing LastSelectedLine to ZERO\n") end
|
||||
@ -677,11 +680,12 @@ local function DSM_SelLine_HACK()
|
||||
ctx.SelLine = 0
|
||||
end
|
||||
-- AR631/AR637 Hack for "Relearn Servo Settings", use 1 instead of the ctx.SelLine=0
|
||||
if (ctx.Menu.MenuId == 0x1023) then
|
||||
if (DEBUG_ON) then LOG_write("Relearn Servo Settings HACK: Overrideing LastSelectedLine to 1\n") end
|
||||
if (DEBUG_ON) then LOG_write("%3.3f %s: ", getElapsedTime(), phase2String(ctx.Phase)) end
|
||||
ctx.SelLine = 1
|
||||
end
|
||||
-- REMOVE THE FIX FOR NOW.. Locks the Servos
|
||||
--if (false and ctx.Menu.MenuId == 0x1023) then
|
||||
-- if (DEBUG_ON) then LOG_write("Relearn Servo Settings HACK: Overrideing LastSelectedLine to 1\n") end
|
||||
-- if (DEBUG_ON) then LOG_write("%3.3f %s: ", getElapsedTime(), phase2String(ctx.Phase)) end
|
||||
-- ctx.SelLine = 1
|
||||
--end
|
||||
end
|
||||
end
|
||||
|
||||
@ -1055,17 +1059,17 @@ local function DSM_Init(toolName)
|
||||
|
||||
|
||||
-- Line Types
|
||||
LineTypeText[LINE_TYPE.MENU] = "M"
|
||||
LineTypeText[LINE_TYPE.LIST_MENU0] = "L_m0"
|
||||
LineTypeText[LINE_TYPE.LIST_MENU1] = "L_m1"
|
||||
LineTypeText[LINE_TYPE.LIST_MENU2] = "L_m2"
|
||||
LineTypeText[LINE_TYPE.VALUE_NOCHANGING] = "V_NC"
|
||||
LineTypeText[LINE_TYPE.VALUE_PERCENT] = "V_%"
|
||||
LineTypeText[LINE_TYPE.VALUE_DEGREES] = "V_de"
|
||||
LineTypeText[LINE_TYPE.VALUE_NUM_I8] = "V_i8"
|
||||
LineTypeText[LINE_TYPE.VALUE_NUM_I16] = "V_i16"
|
||||
LineTypeText[LINE_TYPE.VALUE_NUM_SI16] = "V_s16"
|
||||
LineTypeText[LINE_TYPE.LT_EMPTY] = "Z"
|
||||
LineTypeText[LINE_TYPE.MENU] = "M"
|
||||
LineTypeText[LINE_TYPE.LIST_MENU_NC] = "LM_nc"
|
||||
LineTypeText[LINE_TYPE.LIST_MENU] = "LM"
|
||||
LineTypeText[LINE_TYPE.LIST_MENU_TOG] = "LM_tog"
|
||||
LineTypeText[LINE_TYPE.VALUE_NUM_I8_NC] = "V_nc"
|
||||
LineTypeText[LINE_TYPE.VALUE_PERCENT] = "V_%"
|
||||
LineTypeText[LINE_TYPE.VALUE_DEGREES] = "V_de"
|
||||
LineTypeText[LINE_TYPE.VALUE_NUM_I8] = "V_i8"
|
||||
LineTypeText[LINE_TYPE.VALUE_NUM_I16] = "V_i16"
|
||||
LineTypeText[LINE_TYPE.VALUE_NUM_SI16] = "V_s16"
|
||||
LineTypeText[LINE_TYPE.LT_EMPTY] = "Z"
|
||||
|
||||
--RX names--
|
||||
RxName[0x0001] = "AR636B"
|
||||
@ -1073,6 +1077,7 @@ local function DSM_Init(toolName)
|
||||
RxName[0x0015] = "AR637T"
|
||||
RxName[0x0016] = "AR637TA"
|
||||
RxName[0x0018] = "FC6250HX"
|
||||
RxName[0x0019] = "AR630"
|
||||
RxName[0x001A] = "AR8360T"
|
||||
RxName[0x001E] = "AR631"
|
||||
end
|
||||
@ -1096,14 +1101,8 @@ local function DSM_Init_Text(rxId)
|
||||
-- usually is Ihnibit + range of contiguos values, but cant seems to find in the RX data receive the values
|
||||
-- to do it automatically
|
||||
|
||||
-- On/Off List Options (TODO: i think they are reversed?? 0x0001 is OFF )
|
||||
List_Text[0x0001] = "On (might be reversed, check)"
|
||||
List_Text[0x0002] = "Off (might be reversed, check)"
|
||||
|
||||
if (rxId == RX.FC6250HX) then -- For sure in the Blade FC6250HX they are reversed, override
|
||||
List_Text[0x0001] = "Off"
|
||||
List_Text[0x0002] = "On"
|
||||
end
|
||||
List_Text[0x0001] = "Off"
|
||||
List_Text[0x0002] = "On"
|
||||
|
||||
-- Ihn/Act List Options
|
||||
List_Text[0x0003] = "Inh"
|
||||
@ -1250,7 +1249,7 @@ local function DSM_Init_Text(rxId)
|
||||
Text[0x00CA] = "SAFE/Panic Mode Setup"
|
||||
Text[0x00CD] = "Level model and capture attiude/M"; -- Different from List_Text , and force it to be a menu button
|
||||
|
||||
-- RX Orientations for AR631/AR637 (on the Heli Receiver is different, see below)
|
||||
-- RX Orientations for AR631/AR637
|
||||
-- Optionally attach an Image to display
|
||||
List_Text[0x00CB] = "RX Pos 1"; List_Text_Img[0x00CB] = "rx_pos_1.png|Pilot View: RX Label Up, Pins Back"
|
||||
List_Text[0x00CC] = "RX Pos 2"; List_Text_Img[0x00CC] = "rx_pos_2.png|Pilot View: RX Label Left, Pins Back"
|
||||
@ -1286,7 +1285,7 @@ local function DSM_Init_Text(rxId)
|
||||
Text[0x00D3] = "Swashplate"
|
||||
Text[0x00D5] = "Agility"
|
||||
Text[0x00D8] = "Stop"
|
||||
Text[0x00DA] = "SAFE"
|
||||
Text[0x00DA] = "SAFE/c/b" --SubTitle
|
||||
Text[0x00DB] = "Stability"
|
||||
Text[0x00DC] = "Deg. per sec"
|
||||
Text[0x00DD] = "Tail rotor"
|
||||
|
@ -123,7 +123,7 @@ local function AR631_loadMenu(menuId)
|
||||
-- L[#1 T=M VId=0x1013 Text="Priority"[0x46] MId=0x1011 ]
|
||||
|
||||
-- L[#2 T=M VId=0x1015 Text="Heading"[0x82] MId=0x1011 ]
|
||||
-- L[#4 T=L_m1 VId=0x1004 val=50 [0->244,50,TS=0] Text="Gain Sensitivity"[0x8A] MId=0x1011]
|
||||
-- L[#4 T=LM VId=0x1004 val=50 [0->244,50,TS=0] Text="Gain Sensitivity"[0x8A] MId=0x1011]
|
||||
-- L[#5 T=M VId=0x1016 Text="Fixed/Adjustable Gains"[0x263] MId=0x1011 ]
|
||||
-- L[#6 T=M VId=0x1017 Text="Capture Gyro Gains"[0xAA] MId=0x1011 ]
|
||||
|
||||
@ -131,83 +131,83 @@ local function AR631_loadMenu(menuId)
|
||||
ctx.MenuLines[0] = { Type = LINE_TYPE.MENU, TextId = 0x1DE, ValId = 0x1012}
|
||||
ctx.MenuLines[1] = { Type = LINE_TYPE.MENU, TextId = 0x46, ValId = 0x1013}
|
||||
ctx.MenuLines[2] = { Type = LINE_TYPE.MENU, TextId = 0x82, ValId = 0x1015}
|
||||
ctx.MenuLines[4] = { Type = LINE_TYPE.LIST_MENU1, TextId = 0x8A, ValId = 0x1004, Min=0, Max=244, Def=50, Val=50 }
|
||||
ctx.MenuLines[4] = { Type = LINE_TYPE.LIST_MENU, TextId = 0x8A, ValId = 0x1004, Min=0, Max=244, Def=50, Val=50 }
|
||||
ctx.MenuLines[5] = { Type = LINE_TYPE.MENU, TextId = 0x263, ValId = 0x1016}
|
||||
ctx.MenuLines[6] = { Type = LINE_TYPE.MENU, TextId = 0xAA, ValId = 0x1017 }
|
||||
ctx.SelLine = 0
|
||||
lastGoodMenu = menuId
|
||||
elseif (menuId==0x1012) then
|
||||
-- M[Id=0x1012 P=0x0 N=0x0 B=0x1011 Text="AS3X Gains"[0x1DE]]
|
||||
--L[#0 T=V_NC VId=0x1000 Text="Flight Mode 1"[0x8001] val=1 [0->10,0] MId=0x1012 ]
|
||||
--L[#0 T=V_nc VId=0x1000 Text="Flight Mode 1"[0x8001] val=1 [0->10,0] MId=0x1012 ]
|
||||
--L[#2 T=M VId=0x1012 Text="Rate Gains"[0x1E0] MId=0x1012 ]
|
||||
--L[#3 T=V_NC VId=0x1004 Text="Roll"[0x40] val=14 [0->100,40] MId=0x1012 ]
|
||||
--L[#4 T=V_NC VId=0x1005 Text="Pitch"[0x41] val=29 [0->100,50] MId=0x1012 ]
|
||||
--L[#5 T=V_NC VId=0x1006 Text="Yaw"[0x42] val=48 [0->100,60] MId=0x1012 ]
|
||||
--L[#3 T=V_nc VId=0x1004 Text="Roll"[0x40] val=14 [0->100,40] MId=0x1012 ]
|
||||
--L[#4 T=V_nc VId=0x1005 Text="Pitch"[0x41] val=29 [0->100,50] MId=0x1012 ]
|
||||
--L[#5 T=V_nc VId=0x1006 Text="Yaw"[0x42] val=48 [0->100,60] MId=0x1012 ]
|
||||
|
||||
ctx.Menu = { MenuId = 0x1012, TextId = 0x1DE, PrevId = 0, NextId = 0, BackId = 0x1011 }
|
||||
ctx.MenuLines[0] = { Type = LINE_TYPE.VALUE_NOCHANGING, TextId = 0x8001, ValId = 0x1000, Min=0, Max=10, Def=0, Val=1 }
|
||||
ctx.MenuLines[0] = { Type = LINE_TYPE.VALUE_NUM_I8_NC, TextId = 0x8001, ValId = 0x1000, Min=0, Max=10, Def=0, Val=1 }
|
||||
ctx.MenuLines[2] = { Type = LINE_TYPE.MENU, TextId = 0x1E0, ValId = 0x1012 }
|
||||
ctx.MenuLines[3] = { Type = LINE_TYPE.VALUE_NOCHANGING, TextId = 0x40, ValId = 0x1004, Min=0, Max=100, Def=40, Val=40 }
|
||||
ctx.MenuLines[4] = { Type = LINE_TYPE.VALUE_NOCHANGING, TextId = 0x41, ValId = 0x1005, Min=0, Max=100, Def=50, Val=50 }
|
||||
ctx.MenuLines[5] = { Type = LINE_TYPE.VALUE_NOCHANGING, TextId = 0x42, ValId = 0x1006, Min=0, Max=100, Def=60, Val=60 }
|
||||
ctx.MenuLines[3] = { Type = LINE_TYPE.VALUE_NUM_I8_NC, TextId = 0x40, ValId = 0x1004, Min=0, Max=100, Def=40, Val=40 }
|
||||
ctx.MenuLines[4] = { Type = LINE_TYPE.VALUE_NUM_I8_NC, TextId = 0x41, ValId = 0x1005, Min=0, Max=100, Def=50, Val=50 }
|
||||
ctx.MenuLines[5] = { Type = LINE_TYPE.VALUE_NUM_I8_NC, TextId = 0x42, ValId = 0x1006, Min=0, Max=100, Def=60, Val=60 }
|
||||
|
||||
ctx.SelLine = 3
|
||||
lastGoodMenu = menuId
|
||||
elseif (menuId==0x1013) then
|
||||
-- M[Id=0x1013 P=0x0 N=0x0 B=0x1011 Text="Priority"[0x46]]
|
||||
--L[#0 T=V_NC VId=0x1000 Text="Flight Mode 1"[0x8001] val=1 [0->10,0] MId=0x1012 ]
|
||||
--M[Id=0x1013 P=0x0 N=0x0 B=0x1011 Text="Priority"[0x46]]
|
||||
--L[#0 T=V_nc VId=0x1000 Text="Flight Mode 1"[0x8001] val=1 [0->10,0] MId=0x1012 ]
|
||||
--L[#1 T=M VId=0x1013 Text="Stick Priority"[0xFE] MId=0x1013 ]
|
||||
--L[#3 T=V_NC VId=0x1004 Text="Roll"[0x40] val=14 [0->160,160] MId=0x1012 ]
|
||||
--L[#4 T=V_NC VId=0x1005 Text="Pitch"[0x41] val=29 [0->160,160] MId=0x1012 ]
|
||||
--L[#5 T=V_NC VId=0x1006 Text="Yaw"[0x42] val=48 [0->160,160] MId=0x1012 ]
|
||||
--L[#3 T=V_nc VId=0x1004 Text="Roll"[0x40] val=14 [0->160,160] MId=0x1012 ]
|
||||
--L[#4 T=V_nc VId=0x1005 Text="Pitch"[0x41] val=29 [0->160,160] MId=0x1012 ]
|
||||
--L[#5 T=V_nc VId=0x1006 Text="Yaw"[0x42] val=48 [0->160,160] MId=0x1012 ]
|
||||
|
||||
ctx.Menu = { MenuId = 0x1013, TextId = 0x46, PrevId = 0, NextId = 0, BackId = 0x1011 }
|
||||
ctx.MenuLines[0] = { Type = LINE_TYPE.VALUE_NOCHANGING, TextId = 0x8001, ValId = 0x1000, Min=0, Max=10, Def=0, Val=1 }
|
||||
ctx.MenuLines[0] = { Type = LINE_TYPE.VALUE_NUM_I8_NC, TextId = 0x8001, ValId = 0x1000, Min=0, Max=10, Def=0, Val=1 }
|
||||
ctx.MenuLines[2] = { Type = LINE_TYPE.MENU, TextId = 0xFE, ValId = 0x1013 }
|
||||
ctx.MenuLines[3] = { Type = LINE_TYPE.VALUE_NOCHANGING, TextId = 0x40, ValId = 0x1004, Min=0, Max=160, Def=100, Val=160 }
|
||||
ctx.MenuLines[4] = { Type = LINE_TYPE.VALUE_NOCHANGING, TextId = 0x41, ValId = 0x1005, Min=0, Max=160, Def=100, Val=160 }
|
||||
ctx.MenuLines[5] = { Type = LINE_TYPE.VALUE_NOCHANGING, TextId = 0x42, ValId = 0x1006, Min=0, Max=160, Def=100, Val=160 }
|
||||
ctx.MenuLines[3] = { Type = LINE_TYPE.VALUE_NUM_I8_NC, TextId = 0x40, ValId = 0x1004, Min=0, Max=160, Def=100, Val=160 }
|
||||
ctx.MenuLines[4] = { Type = LINE_TYPE.VALUE_NUM_I8_NC, TextId = 0x41, ValId = 0x1005, Min=0, Max=160, Def=100, Val=160 }
|
||||
ctx.MenuLines[5] = { Type = LINE_TYPE.VALUE_NUM_I8_NC, TextId = 0x42, ValId = 0x1006, Min=0, Max=160, Def=100, Val=160 }
|
||||
|
||||
ctx.SelLine = 3
|
||||
lastGoodMenu = menuId
|
||||
elseif (menuId==0x1015) then
|
||||
-- M[Id=0x1015 P=0x0 N=0x0 B=0x1011 Text="Heading Gain"[0x266]]
|
||||
-- L[#0 T=V_NC VId=0x1000 Text="Flight Mode 1"[0x8001] val=1 [0->10,0] MId=0x1015 ]
|
||||
-- L[#0T=V_nc VId=0x1000 Text="Flight Mode 1"[0x8001] val=1 [0->10,0] MId=0x1015 ]
|
||||
-- L[#1 T=M VId=0x1015 Text="Heading Gain"[0x266] MId=0x1015 ]
|
||||
-- L[#2 T=V_NC VId=0x1004 Text="Roll"[0x40] val=0 [0->100,0] MId=0x1015 ]
|
||||
-- L[#3 T=V_NC VId=0x1005 Text="Pitch"[0x41] val=0 [0->100,0] MId=0x1015 ]
|
||||
-- L[#5 T=M VId=0x1015 Text="Use CAUTION for Yaw gain!"[0x26A] MId=0x1015 ]
|
||||
-- L[#6 T=V_NC VId=0x1006 Text="Yaw"[0x42] val=0 [0->100,0] MId=0x1015 ]
|
||||
-- L[#2 T=V_nc VId=0x1004 Text="Roll"[0x40] val=0 [0->100,0] MId=0x1015 ]
|
||||
-- L[#3 T=V_nc VId=0x1005 Text="Pitch"[0x41] val=0 [0->100,0] MId=0x1015 ]
|
||||
-- L[#5 T=M VId=0x1015 Text="Use CAUTION for Yaw gain!"[0x26A] MId=0x1015 ]
|
||||
-- L[#6T=V_nc VId=0x1006 Text="Yaw"[0x42] val=0 [0->100,0] MId=0x1015 ]
|
||||
|
||||
ctx.Menu = { MenuId = 0x1015, TextId = 0x266, PrevId = 0, NextId = 0, BackId = 0x1011 }
|
||||
ctx.MenuLines[0] = { Type = LINE_TYPE.VALUE_NOCHANGING, TextId = 0x8001, ValId = 0x1000, Min=0, Max=10, Def=0, Val=1 }
|
||||
ctx.MenuLines[0] = { Type = LINE_TYPE.VALUE_NUM_I8_NC, TextId = 0x8001, ValId = 0x1000, Min=0, Max=10, Def=0, Val=1 }
|
||||
ctx.MenuLines[1] = { Type = LINE_TYPE.MENU, TextId = 0x1F9, ValId = 0x1015 }
|
||||
ctx.MenuLines[2] = { Type = LINE_TYPE.VALUE_NOCHANGING, TextId = 0x40, ValId = 0x1004, Min=0, Max=100, Def=0, Val=0 }
|
||||
ctx.MenuLines[3] = { Type = LINE_TYPE.VALUE_NOCHANGING, TextId = 0x41, ValId = 0x1005, Min=0, Max=100, Def=0, Val=0 }
|
||||
ctx.MenuLines[2] = { Type = LINE_TYPE.VALUE_NUM_I8_NC, TextId = 0x40, ValId = 0x1004, Min=0, Max=100, Def=0, Val=0 }
|
||||
ctx.MenuLines[3] = { Type = LINE_TYPE.VALUE_NUM_I8_NC, TextId = 0x41, ValId = 0x1005, Min=0, Max=100, Def=0, Val=0 }
|
||||
ctx.MenuLines[5] = { Type = LINE_TYPE.MENU, TextId = 0x26A, ValId = 0x1015 }
|
||||
ctx.MenuLines[6] = { Type = LINE_TYPE.VALUE_NOCHANGING, TextId = 0x42, ValId = 0x1006, Min=0, Max=100, Def=0, Val=0 }
|
||||
ctx.MenuLines[6] = { Type = LINE_TYPE.VALUE_NUM_I8_NC, TextId = 0x42, ValId = 0x1006, Min=0, Max=100, Def=0, Val=0 }
|
||||
ctx.SelLine = 0
|
||||
lastGoodMenu = menuId
|
||||
elseif (menuId==0x1016) then
|
||||
-- M[Id=0x1016 P=0x0 N=0x0 B=0x1011 Text="Fixed/Adjustable Gains"[0x263]]
|
||||
-- L[#0 T=V_NC VId=0x1000 Text="Flight Mode 1"[0x8001] val=1 [0->10,0] MId=0x1016 ]
|
||||
-- L[#0T=V_nc VId=0x1000 Text="Flight Mode 1"[0x8001] val=1 [0->10,0] MId=0x1016 ]
|
||||
-- L[#1 T=M VId=0x1016 val=nil [0->0,2] Text="Fixed/Adjustable Gains"[0x263] MId=0x1016 ]
|
||||
-- L[#2 T=L_m0 VId=0x1002 Text="Roll"[0x40] MId=0x1016 val=1 NL=(0->1,24,S=242) [242->243,243] ]
|
||||
-- L[#3 T=L_m0 VId=0x1003 Text="Pitch"[0x41] MId=0x1016 val=1 NL=(0->1,1,S=242) [242->243,243] ]
|
||||
-- L[#4 T=L_m0 VId=0x1004 Text="Yaw"[0x42] MId=0x1016 val=1 NL=(0->1,1,S=242) [242->243,243] ]
|
||||
-- L[#2 T=LM_nc VId=0x1002 Text="Roll"[0x40] MId=0x1016 val=1 NL=(0->1,24,S=242) [242->243,243] ]
|
||||
-- L[#3 T=LM_nc VId=0x1003 Text="Pitch"[0x41] MId=0x1016 val=1 NL=(0->1,1,S=242) [242->243,243] ]
|
||||
-- L[#4 T=LM_nc VId=0x1004 Text="Yaw"[0x42] MId=0x1016 val=1 NL=(0->1,1,S=242) [242->243,243] ]
|
||||
|
||||
ctx.Menu = { MenuId = 0x1016, TextId = 0x263, PrevId = 0, NextId = 0, BackId = 0x1011 }
|
||||
ctx.MenuLines[0] = { Type = LINE_TYPE.VALUE_NOCHANGING, TextId = 0x8001, ValId = 0x1000, Min=0, Max=10, Def=0, Val=1 }
|
||||
ctx.MenuLines[0] = { Type = LINE_TYPE.VALUE_NUM_I8_NC, TextId = 0x8001, ValId = 0x1000, Min=0, Max=10, Def=0, Val=1 }
|
||||
ctx.MenuLines[1] = { Type = LINE_TYPE.MENU, TextId = 0x1F9, ValId = 0x1016 }
|
||||
ctx.MenuLines[2] = { Type = LINE_TYPE.LIST_MENU0, TextId = 0x40, ValId = 0x1002, Min=242, Max=243, Def=243, Val=1 }
|
||||
ctx.MenuLines[3] = { Type = LINE_TYPE.LIST_MENU0, TextId = 0x41, ValId = 0x1003, Min=242, Max=243, Def=243, Val=1 }
|
||||
ctx.MenuLines[4] = { Type = LINE_TYPE.LIST_MENU0, TextId = 0x42, ValId = 0x1004, Min=242, Max=243, Def=243, Val=1 }
|
||||
ctx.MenuLines[2] = { Type = LINE_TYPE.LIST_MENU_NC, TextId = 0x40, ValId = 0x1002, Min=242, Max=243, Def=243, Val=1 }
|
||||
ctx.MenuLines[3] = { Type = LINE_TYPE.LIST_MENU_NC, TextId = 0x41, ValId = 0x1003, Min=242, Max=243, Def=243, Val=1 }
|
||||
ctx.MenuLines[4] = { Type = LINE_TYPE.LIST_MENU_NC, TextId = 0x42, ValId = 0x1004, Min=242, Max=243, Def=243, Val=1 }
|
||||
ctx.SelLine = 0
|
||||
lastGoodMenu = menuId
|
||||
elseif (menuId==0x1017) then
|
||||
--M[Id=0x1017 P=0x0 N=0x0 B=0x1011 Text="Capture Gyro Gains"[0xAA]]
|
||||
--L[#0 T=M VId=0x1017 Text="Gains will be captured on"[0x24C] MId=0x1017 ]
|
||||
--L[#1 T=V_NC VId=0x1000 Text=" Flight Mode 1"[0x8001] Val=1 [0->10,0] MId=0x1017 ]
|
||||
--L[#1 T=V_nc VId=0x1000 Text=" Flight Mode 1"[0x8001] Val=1 [0->10,0] MId=0x1017 ]
|
||||
--L[#2 T=M VId=0x1017 Text="Captured gains will be"[0x24D] MId=0x1017 ]
|
||||
--L[#3 T=V_i8 VId=0x1004 Text="Roll"[0x40] Val=40 [0->0,0] MId=0x1017 ]
|
||||
--L[#4 T=V_i8 VId=0x1005 Text="Pitch"[0x41] Val=50 [0->0,0] MId=0x1017 ]
|
||||
@ -216,7 +216,7 @@ local function AR631_loadMenu(menuId)
|
||||
|
||||
ctx.Menu = { MenuId = 0x1017, TextId = 0xAA, PrevId = 0, NextId = 0, BackId = 0x1011 }
|
||||
ctx.MenuLines[0] = { Type = LINE_TYPE.MENU, TextId = 0x24C, ValId = 0x1017 }
|
||||
ctx.MenuLines[1] = { Type = LINE_TYPE.VALUE_NOCHANGING, TextId = 0x8001, ValId = 0x1000, Min=0, Max=10, Def=0, Val=1 }
|
||||
ctx.MenuLines[1] = { Type = LINE_TYPE.VALUE_NUM_I8_NC, TextId = 0x8001, ValId = 0x1000, Min=0, Max=10, Def=0, Val=1 }
|
||||
ctx.MenuLines[2] = { Type = LINE_TYPE.MENU, TextId = 0x24D, ValId = 0x1017 }
|
||||
ctx.MenuLines[3] = { Type = LINE_TYPE.VALUE_NUM_I8, TextId = 0x40, ValId = 0x1004, Min=0, Max=0, Def=0, Val=40 }
|
||||
ctx.MenuLines[4] = { Type = LINE_TYPE.VALUE_NUM_I8, TextId = 0x41, ValId = 0x1005, Min=0, Max=0, Def=0, Val=50 }
|
||||
@ -228,7 +228,7 @@ local function AR631_loadMenu(menuId)
|
||||
elseif (menuId==0x1018) then
|
||||
--M[Id=0x1018 P=0x0 N=0x0 B=0x1011 Text="Capture Gyro Gains"[0xAA]]
|
||||
--L[#0 T=M VId=0x1018 Text="Gains on"[0x24E] MId=0x1018 ]
|
||||
--L[#1 T=V_NC VId=0x1018 Text=" Flight Mode 1"[0x8001] Val=1 [0->10,0] MId=0x1018 ]
|
||||
--L[#1 T=V_nc VId=0x1018 Text=" Flight Mode 1"[0x8001] Val=1 [0->10,0] MId=0x1018 ]
|
||||
--L[#2 T=M VId=0x1018 Text="were captured and changed"[0x24F] MId=0x1018
|
||||
--L[#3 T=M VId=0x1018 Text="from Adjustable to Fixed"[0x250] MId=0x1018 ]
|
||||
--L[#4 T=V_i8 VId=0x1004 Text="Roll"[0x40] Val=40 [0->0,0] MId=0x1018 ]
|
||||
@ -237,7 +237,7 @@ local function AR631_loadMenu(menuId)
|
||||
|
||||
ctx.Menu = { MenuId = 0x1018, TextId = 0xAA, PrevId = 0, NextId = 0, BackId = 0x1011 }
|
||||
ctx.MenuLines[0] = { Type = LINE_TYPE.MENU, TextId = 0x24E, ValId = 0x1018 }
|
||||
ctx.MenuLines[1] = { Type = LINE_TYPE.VALUE_NOCHANGING, TextId = 0x8001, ValId = 0x1000, Min=0, Max=10, Def=0, Val=1 }
|
||||
ctx.MenuLines[1] = { Type = LINE_TYPE.VALUE_NUM_I8_NC, TextId = 0x8001, ValId = 0x1000, Min=0, Max=10, Def=0, Val=1 }
|
||||
ctx.MenuLines[2] = { Type = LINE_TYPE.MENU, TextId = 0x24F, ValId = 0x1018 }
|
||||
ctx.MenuLines[3] = { Type = LINE_TYPE.MENU, TextId = 0x250, ValId = 0x1018 }
|
||||
ctx.MenuLines[4] = { Type = LINE_TYPE.VALUE_NUM_I8, TextId = 0x40, ValId = 0x1004, Min=0, Max=0, Def=0, Val=40 }
|
||||
@ -262,58 +262,58 @@ local function AR631_loadMenu(menuId)
|
||||
lastGoodMenu = menuId
|
||||
elseif (menuId==0x101A) then
|
||||
--M[Id=0x101A P=0x0 N=0x0 B=0x1019 Text="SAFE Gains"[0x1E3]]
|
||||
--L[#0 T=V_NC VId=0x1000 Text=" Flight Mode 1"[0x8001] Val=nil [0->10,0] MId=0x101A ]
|
||||
--L[#0 T=V_nc VId=0x1000 Text=" Flight Mode 1"[0x8001] Val=nil [0->10,0] MId=0x101A ]
|
||||
--L[#1 T=M VId=0x101A Text="Gain"[0x43] MId=0x101A ]
|
||||
--L[#2 T=V_NC VId=0x1002 Text="Roll"[0x40] Val=35 [5->100,35] MId=0x101A ]
|
||||
--L[#3 T=V_NC VId=0x1003 Text="Pitch"[0x41] Val=35 [5->100,35] MId=0x101A ]
|
||||
--L[#2 T=V_nc VId=0x1002 Text="Roll"[0x40] Val=35 [5->100,35] MId=0x101A ]
|
||||
--L[#3 T=V_nc VId=0x1003 Text="Pitch"[0x41] Val=35 [5->100,35] MId=0x101A ]
|
||||
|
||||
ctx.Menu = { MenuId = 0x101A, TextId = 0x1E3, PrevId = 0, NextId = 0, BackId = 0x1019 }
|
||||
ctx.MenuLines[0] = { Type = LINE_TYPE.VALUE_NOCHANGING, TextId = 0x8001, ValId = 0x1000, Min=0, Max=10, Def=0, Val=1 }
|
||||
ctx.MenuLines[0] = { Type = LINE_TYPE.VALUE_NUM_I8_NC, TextId = 0x8001, ValId = 0x1000, Min=0, Max=10, Def=0, Val=1 }
|
||||
ctx.MenuLines[1] = { Type = LINE_TYPE.MENU, TextId = 0x43, ValId = 0x101A }
|
||||
ctx.MenuLines[2] = { Type = LINE_TYPE.VALUE_NOCHANGING, TextId = 0x40, ValId = 0x1002, Min=5, Max=100, Def=35, Val=35 }
|
||||
ctx.MenuLines[3] = { Type = LINE_TYPE.VALUE_NOCHANGING, TextId = 0x41, ValId = 0x1003, Min=5, Max=100, Def=60, Val=35 }
|
||||
ctx.MenuLines[2] = { Type = LINE_TYPE.VALUE_NUM_I8_NC, TextId = 0x40, ValId = 0x1002, Min=5, Max=100, Def=35, Val=35 }
|
||||
ctx.MenuLines[3] = { Type = LINE_TYPE.VALUE_NUM_I8_NC, TextId = 0x41, ValId = 0x1003, Min=5, Max=100, Def=60, Val=35 }
|
||||
|
||||
ctx.SelLine = -1
|
||||
lastGoodMenu = menuId
|
||||
elseif (menuId==0x101B) then
|
||||
--M[Id=0x101B P=0x0 N=0x0 B=0x1019 Text="Angle Limits"[0x226]]
|
||||
--L[#0 T=V_NC VId=0x1000 Text=" Flight Mode 1"[0x8001] Val=nil [0->10,0] MId=0x101B ]
|
||||
--L[#0T=V_nc VId=0x1000 Text=" Flight Mode 1"[0x8001] Val=nil [0->10,0] MId=0x101B ]
|
||||
--L[#1 T=M VId=0x101B Text="Angle Limits"[0x226] MId=0x101B ]
|
||||
--L[#2 T=V_NC VId=0x1002 Text="Roll Right"[0x1E9] Val=60 [10->90,60] MId=0x101B ]
|
||||
--L[#3 T=V_NC VId=0x1003 Text="Roll Left"[0x1EA] Val=60 [10->90,60] MId=0x101B ]
|
||||
--L[#4 T=V_NC VId=0x1004 Text="Pitch Down"[0x1EB] Val=40 [10->75,40] MId=0x101B ]
|
||||
--L[#5 T=V_NC VId=0x1005 Text="Pitch Up"[0x1EC] Val=50 [10->75,50] MId=0x101B ]
|
||||
--L[#2 T=V_nc VId=0x1002 Text="Roll Right"[0x1E9] Val=60 [10->90,60] MId=0x101B ]
|
||||
--L[#3 T=V_nc VId=0x1003 Text="Roll Left"[0x1EA] Val=60 [10->90,60] MId=0x101B ]
|
||||
--L[#4 T=V_nc VId=0x1004 Text="Pitch Down"[0x1EB] Val=40 [10->75,40] MId=0x101B ]
|
||||
--L[#5 T=V_nc VId=0x1005 Text="Pitch Up"[0x1EC] Val=50 [10->75,50] MId=0x101B ]
|
||||
|
||||
ctx.Menu = { MenuId = 0x101B, TextId = 0x226, PrevId = 0, NextId = 0, BackId = 0x1019 }
|
||||
ctx.MenuLines[0] = { Type = LINE_TYPE.VALUE_NOCHANGING, TextId = 0x8001, ValId = 0x1000, Min=0, Max=10, Def=0, Val=1 }
|
||||
ctx.MenuLines[0] = { Type = LINE_TYPE.VALUE_NUM_I8_NC, TextId = 0x8001, ValId = 0x1000, Min=0, Max=10, Def=0, Val=1 }
|
||||
ctx.MenuLines[1] = { Type = LINE_TYPE.MENU, TextId = 0x226, ValId = 0x101B }
|
||||
ctx.MenuLines[2] = { Type = LINE_TYPE.VALUE_NOCHANGING, TextId = 0x1E9, ValId = 0x1002, Min=10, Max=90, Def=60, Val=60 }
|
||||
ctx.MenuLines[3] = { Type = LINE_TYPE.VALUE_NOCHANGING, TextId = 0x1EA, ValId = 0x1003, Min=10, Max=90, Def=60, Val=60 }
|
||||
ctx.MenuLines[4] = { Type = LINE_TYPE.VALUE_NOCHANGING, TextId = 0x1EB, ValId = 0x1004, Min=10, Max=90, Def=40, Val=40 }
|
||||
ctx.MenuLines[5] = { Type = LINE_TYPE.VALUE_NOCHANGING, TextId = 0x1EC, ValId = 0x1005, Min=10, Max=90, Def=50, Val=50 }
|
||||
ctx.MenuLines[2] = { Type = LINE_TYPE.VALUE_NUM_I8_NC, TextId = 0x1E9, ValId = 0x1002, Min=10, Max=90, Def=60, Val=60 }
|
||||
ctx.MenuLines[3] = { Type = LINE_TYPE.VALUE_NUM_I8_NC, TextId = 0x1EA, ValId = 0x1003, Min=10, Max=90, Def=60, Val=60 }
|
||||
ctx.MenuLines[4] = { Type = LINE_TYPE.VALUE_NUM_I8_NC, TextId = 0x1EB, ValId = 0x1004, Min=10, Max=90, Def=40, Val=40 }
|
||||
ctx.MenuLines[5] = { Type = LINE_TYPE.VALUE_NUM_I8_NC, TextId = 0x1EC, ValId = 0x1005, Min=10, Max=90, Def=50, Val=50 }
|
||||
|
||||
ctx.SelLine = -1
|
||||
lastGoodMenu = menuId
|
||||
|
||||
elseif (menuId==0x101E) then
|
||||
--M[Id=0x101E P=0x0 N=0x0 B=0x1019 Text="Fixed/Adjustable Gains"[0x263]]
|
||||
--L[#0 T=V_NC VId=0x1000 Text=" Flight Mode 1"[0x8001] Val=nil [0->10,0] MId=0x101E ]
|
||||
--L[#0 T=V_nc VId=0x1000 Text=" Flight Mode 1"[0x8001] Val=nil [0->10,0] MId=0x101E ]
|
||||
--L[#1 T=M VId=0x101E Text="Fixed/Adjustable Gains"[0x263] MId=0x101E ]
|
||||
--L[#2 T=L_m0 VId=0x1002 Text="Roll"[0x40] Val=0 N=(0->1,1,S=242) [242->243,243] MId=0x101E ]
|
||||
--L[#3 T=L_m0 VId=0x1003 Text="Pitch"[0x41] Val=0 N=(0->1,1,S=242) [242->243,243] MId=0x101E ]
|
||||
--L[#2 T=LM_nc VId=0x1002 Text="Roll"[0x40] Val=0 N=(0->1,1,S=242) [242->243,243] MId=0x101E ]
|
||||
--L[#3 T=LM_nc VId=0x1003 Text="Pitch"[0x41] Val=0 N=(0->1,1,S=242) [242->243,243] MId=0x101E ]
|
||||
|
||||
ctx.Menu = { MenuId = 0x101E, TextId = 0x263, PrevId = 0, NextId = 0, BackId = 0x1019 }
|
||||
ctx.MenuLines[0] = { Type = LINE_TYPE.VALUE_NOCHANGING, TextId = 0x8001, ValId = 0x1000, Min=0, Max=10, Def=0, Val=1 }
|
||||
ctx.MenuLines[0] = { Type = LINE_TYPE.VALUE_NUM_I8_NC, TextId = 0x8001, ValId = 0x1000, Min=0, Max=10, Def=0, Val=1 }
|
||||
ctx.MenuLines[1] = { Type = LINE_TYPE.MENU, TextId = 0x263, ValId = 0x101E }
|
||||
ctx.MenuLines[2] = { Type = LINE_TYPE.LIST_MENU0, TextId = 0x40, ValId = 0x1002, Min=242, Max=243, Def=243, Val=0 }
|
||||
ctx.MenuLines[3] = { Type = LINE_TYPE.LIST_MENU0, TextId = 0x41, ValId = 0x1003, Min=242, Max=243, Def=243, Val=0 }
|
||||
ctx.MenuLines[2] = { Type = LINE_TYPE.LIST_MENU_NC, TextId = 0x40, ValId = 0x1002, Min=242, Max=243, Def=243, Val=0 }
|
||||
ctx.MenuLines[3] = { Type = LINE_TYPE.LIST_MENU_NC, TextId = 0x41, ValId = 0x1003, Min=242, Max=243, Def=243, Val=0 }
|
||||
|
||||
ctx.SelLine = -1
|
||||
lastGoodMenu = menuId
|
||||
elseif (menuId==0x101F) then
|
||||
--M[Id=0x101F P=0x0 N=0x0 B=0x1019 Text="Capture Gyro Gains"[0xAA]]
|
||||
--L[#0 T=M VId=0x101F Text="Gains will be captured on"[0x24C] MId=0x101F ]
|
||||
--L[#1 T=V_NC VId=0x1000 Text=" Flight Mode 1"[0x8001] Val=1 [0->10,0] MId=0x101F ]
|
||||
--L[#1 T=V_nc VId=0x1000 Text=" Flight Mode 1"[0x8001] Val=1 [0->10,0] MId=0x101F ]
|
||||
--L[#2 T=M VId=0x101F Text="Captured gains will be"[0x24D] MId=0x101F ]
|
||||
--L[#3 T=V_i8 VId=0x1004 Text="Roll"[0x40] Val=40 [0->0,0] MId=0x101F ]
|
||||
--L[#4 T=V_i8 VId=0x1005 Text="Pitch"[0x41] Val=50 [0->0,0] MId=0x101F ]
|
||||
@ -321,7 +321,7 @@ local function AR631_loadMenu(menuId)
|
||||
|
||||
ctx.Menu = { MenuId = 0x101F, TextId = 0xAA, PrevId = 0, NextId = 0, BackId = 0x1019 }
|
||||
ctx.MenuLines[0] = { Type = LINE_TYPE.MENU, TextId = 0x24C, ValId = 0x101F }
|
||||
ctx.MenuLines[1] = { Type = LINE_TYPE.VALUE_NOCHANGING, TextId = 0x8001, ValId = 0x1000, Min=0, Max=10, Def=0, Val=1 }
|
||||
ctx.MenuLines[1] = { Type = LINE_TYPE.VALUE_NUM_I8_NC, TextId = 0x8001, ValId = 0x1000, Min=0, Max=10, Def=0, Val=1 }
|
||||
ctx.MenuLines[2] = { Type = LINE_TYPE.MENU, TextId = 0x24D, ValId = 0x101F }
|
||||
ctx.MenuLines[3] = { Type = LINE_TYPE.VALUE_NUM_I8, TextId = 0x40, ValId = 0x1004, Min=0, Max=0, Def=0, Val=35 }
|
||||
ctx.MenuLines[4] = { Type = LINE_TYPE.VALUE_NUM_I8, TextId = 0x41, ValId = 0x1005, Min=0, Max=0, Def=0, Val=35 }
|
||||
@ -332,7 +332,7 @@ local function AR631_loadMenu(menuId)
|
||||
elseif (menuId==0x1020) then
|
||||
--M[Id=0x1020 P=0x0 N=0x0 B=0x101F Text="Capture Gyro Gains"[0xAA]]
|
||||
--L[#0 T=M VId=0x1020 Text="Gains on"[0x24E] MId=0x1020 ]
|
||||
--L[#1 T=V_NC VId=0x1018 Text=" Flight Mode 1"[0x8001] Val=1 [0->10,0] MId=0x1020 ]
|
||||
--L[#1 T=V_nc VId=0x1018 Text=" Flight Mode 1"[0x8001] Val=1 [0->10,0] MId=0x1020 ]
|
||||
--L[#2 T=M VId=0x1018 Text="were captured and changed"[0x24F] MId=0x1020
|
||||
--L[#3 T=M VId=0x1018 Text="from Adjustable to Fixed"[0x250] MId=0x1020 ]
|
||||
--L[#4 T=V_i8 VId=0x1004 Text="Roll"[0x40] Val=40 [0->0,0] MId=0x1020 ]
|
||||
@ -340,7 +340,7 @@ local function AR631_loadMenu(menuId)
|
||||
|
||||
ctx.Menu = { MenuId = 0x1020, TextId = 0xAA, PrevId = 0, NextId = 0, BackId = 0x1019 }
|
||||
ctx.MenuLines[0] = { Type = LINE_TYPE.MENU, TextId = 0x24E, ValId = 0x1020 }
|
||||
ctx.MenuLines[1] = { Type = LINE_TYPE.VALUE_NOCHANGING, TextId = 0x8001, ValId = 0x1000, Min=0, Max=10, Def=0, Val=1 }
|
||||
ctx.MenuLines[1] = { Type = LINE_TYPE.VALUE_NUM_I8_NC, TextId = 0x8001, ValId = 0x1000, Min=0, Max=10, Def=0, Val=1 }
|
||||
ctx.MenuLines[2] = { Type = LINE_TYPE.MENU, TextId = 0x24F, ValId = 0x1020 }
|
||||
ctx.MenuLines[3] = { Type = LINE_TYPE.MENU, TextId = 0x250, ValId = 0x1020 }
|
||||
ctx.MenuLines[4] = { Type = LINE_TYPE.VALUE_NUM_I8, TextId = 0x40, ValId = 0x1004, Min=0, Max=0, Def=0, Val=35 }
|
||||
@ -350,26 +350,26 @@ local function AR631_loadMenu(menuId)
|
||||
lastGoodMenu = menuId
|
||||
elseif (menuId==0x1021) then
|
||||
--M[Id=0x1021 P=0x0 N=0x0 B=0x1010 Text="F-Mode Setup"[0x87]]
|
||||
--L[#0 T=V_NC VId=0x1000 Text="Flight Mode 1"[0x8001] val=1 [0->10,0] MId=0x1021 ]
|
||||
--L[#0 T=V_nc VId=0x1000 Text="Flight Mode 1"[0x8001] val=1 [0->10,0] MId=0x1021 ]
|
||||
--L[#1 T=M VId=0x7CA6 Text="FM Channel"[0x78] MId=0x1021 ]
|
||||
--L[#2 T=L_m1 VId=0x1002 Text="AS3X"[0x1DC] val=1 (0->1,3,S=3) [3->4|3] MId=0x1021]
|
||||
--L[#2 T=LM VId=0x1002 Text="AS3X"[0x1DC] val=1 (0->1,3,S=3) [3->4|3] MId=0x1021]
|
||||
|
||||
-- Why Jump from Value 3 to 176?? where do we know valid values????
|
||||
--L[#3 T=L_m1 VId=0x1003 Text="Safe Mode"[0x1F8] val=3|"Inh" NL=(0->244,0,S=0) [0->244,3] MId=0x1021 ]
|
||||
--L[#3 T=L_m1 VId=0x1003 Text="Safe Mode"[0x1F8] val=176|"Self-Level/Angle Dem" NL=(0->244,0,S=0) [0->244,3] MId=0x1021 ]
|
||||
--L[#3 T=LM VId=0x1003 Text="Safe Mode"[0x1F8] val=3|"Inh" NL=(0->244,0,S=0) [0->244,3] MId=0x1021 ]
|
||||
--L[#3 T=LM VId=0x1003 Text="Safe Mode"[0x1F8] val=176|"Self-Level/Angle Dem" NL=(0->244,0,S=0) [0->244,3] MId=0x1021 ]
|
||||
|
||||
--L[#4 T=L_m1 VId=0x1004 Text="Panic"[0x8B] val=0 NL=(0->1,3,S=3) [3->4,3] MId=0x1021 ]
|
||||
--L[#5 T=L_m1 VId=0x1005 Text="High Thr to Pitch"[0x1F0] val=0 NL=(0->1,3,S=3) [3->4,3] MId=0x1021 ]
|
||||
--L[#6 T=L_m1 VId=0x1006 Text="Low Thr to Pitch"[0x1EF] val=0 NL=(0->1,3,S=3) [3->4,3] MId=0x1021 ]
|
||||
--L[#4 T=LM VId=0x1004 Text="Panic"[0x8B] val=0 NL=(0->1,3,S=3) [3->4,3] MId=0x1021 ]
|
||||
--L[#5 T=LM VId=0x1005 Text="High Thr to Pitch"[0x1F0] val=0 NL=(0->1,3,S=3) [3->4,3] MId=0x1021 ]
|
||||
--L[#6 T=LM VId=0x1006 Text="Low Thr to Pitch"[0x1EF] val=0 NL=(0->1,3,S=3) [3->4,3] MId=0x1021 ]
|
||||
|
||||
ctx.Menu = { MenuId = 0x1021, TextId = 0x87, PrevId = 0, NextId = 0, BackId = 0x1010 }
|
||||
ctx.MenuLines[0] = { Type = LINE_TYPE.VALUE_NOCHANGING, TextId = 0x8001, ValId = 0x1000, Min=0, Max=10, Def=0, Val=1 }
|
||||
ctx.MenuLines[0] = { Type = LINE_TYPE.VALUE_NUM_I8_NC, TextId = 0x8001, ValId = 0x1000, Min=0, Max=10, Def=0, Val=1 }
|
||||
ctx.MenuLines[1] = { Type = LINE_TYPE.MENU, TextId = 0x78, ValId = 0x7CA6 }
|
||||
ctx.MenuLines[2] = { Type = LINE_TYPE.LIST_MENU1, TextId = 0x1DC, ValId = 0x1002, Min=3, Max=4, Def=3, Val=1 }
|
||||
ctx.MenuLines[3] = { Type = LINE_TYPE.LIST_MENU1, TextId = 0x1F8, ValId = 0x1003, Min=0, Max=244, Def=3, Val=176 }
|
||||
ctx.MenuLines[4] = { Type = LINE_TYPE.LIST_MENU1, TextId = 0x8B, ValId = 0x1004, Min=3, Max=4, Def=3, Val=0 }
|
||||
ctx.MenuLines[5] = { Type = LINE_TYPE.LIST_MENU1, TextId = 0x1F0, ValId = 0x1005, Min=3, Max=4, Def=3, Val=0 }
|
||||
ctx.MenuLines[6] = { Type = LINE_TYPE.LIST_MENU1, TextId = 0x1EF, ValId = 0x1006, Min=3, Max=4, Def=3, Val=0 }
|
||||
ctx.MenuLines[2] = { Type = LINE_TYPE.LIST_MENU, TextId = 0x1DC, ValId = 0x1002, Min=3, Max=4, Def=3, Val=1 }
|
||||
ctx.MenuLines[3] = { Type = LINE_TYPE.LIST_MENU, TextId = 0x1F8, ValId = 0x1003, Min=0, Max=244, Def=3, Val=176 }
|
||||
ctx.MenuLines[4] = { Type = LINE_TYPE.LIST_MENU, TextId = 0x8B, ValId = 0x1004, Min=3, Max=4, Def=3, Val=0 }
|
||||
ctx.MenuLines[5] = { Type = LINE_TYPE.LIST_MENU, TextId = 0x1F0, ValId = 0x1005, Min=3, Max=4, Def=3, Val=0 }
|
||||
ctx.MenuLines[6] = { Type = LINE_TYPE.LIST_MENU, TextId = 0x1EF, ValId = 0x1006, Min=3, Max=4, Def=3, Val=0 }
|
||||
ctx.SelLine = 1
|
||||
lastGoodMenu = menuId
|
||||
elseif (menuId==0x1022) then
|
||||
@ -414,7 +414,7 @@ local function AR631_loadMenu(menuId)
|
||||
--L[#2 T=M VId=0x1025 Text=""[0x21C] MId=0x1025 ]
|
||||
--L[#3 T=M VId=0x1025 Text=""[0x21D] MId=0x1025 ]
|
||||
--L[#5 T=M VId=0x1026 Text="Continue"[0x224] MId=0x1025 ]
|
||||
--LL[#6 T=M VId=0x1027 Text="Set Orientation Manually"[0x229] MId=0x1025 ]
|
||||
--L[#6 T=M VId=0x1027 Text="Set Orientation Manually"[0x229] MId=0x1025 ]
|
||||
|
||||
ctx.Menu = { MenuId = 0x1025, TextId = 0x80, PrevId = 0, NextId = 0, BackId = 0x1022 }
|
||||
ctx.MenuLines[0] = { Type = LINE_TYPE.MENU, TextId = 0x21A, ValId = 0x1025 }
|
||||
@ -446,11 +446,11 @@ local function AR631_loadMenu(menuId)
|
||||
lastGoodMenu = menuId
|
||||
elseif (menuId==0x1027) then
|
||||
--M[Id=0x1028 P=0x0 N=0x0 B=0x1028 Text="Orientation"[0x80]]
|
||||
--L[#5 T=L_m0 VId=0x1000 Text="Orientation"[0x80] Val=4|"RX Pos 5" NL=(0->23,0,S=203) [203->226,203] MId=0x1027 ]
|
||||
--L[#5 T=LM_nc VId=0x1000 Text="Orientation"[0x80] Val=4|"RX Pos 5" NL=(0->23,0,S=203) [203->226,203] MId=0x1027 ]
|
||||
--L[#6 T=M VId=0x1028 Text="Continue"[0x224] MId=0x1027 ]
|
||||
|
||||
ctx.Menu = { MenuId = 0x1027, TextId = 0x80, PrevId = 0x1025, NextId = 0, BackId = 0x1025 }
|
||||
ctx.MenuLines[5] = { Type = LINE_TYPE.LIST_MENU0, TextId = 0x80, ValId = 0x1000, Min=203, Max=226, Def=203, Val=5 }
|
||||
ctx.MenuLines[5] = { Type = LINE_TYPE.LIST_MENU_NC, TextId = 0x80, ValId = 0x1000, Min=203, Max=226, Def=203, Val=5 }
|
||||
ctx.MenuLines[6] = { Type = LINE_TYPE.MENU, TextId = 0x224, ValId = 0x1028 }
|
||||
ctx.SelLine = 5
|
||||
lastGoodMenu = menuId
|
||||
@ -468,21 +468,22 @@ local function AR631_loadMenu(menuId)
|
||||
elseif (menuId==0x1029) then
|
||||
--M[Id=0x1029 P=0x0 N=0x0 B=0x1022 Text="Gain Channel Select"[0xAD]]
|
||||
--L[#0 T=M VId=0x1029 Text="AS3X"[0x1DC] MId=0x1029 ]
|
||||
--L[#1 T=L_m1 VId=0x1000 Text="Roll"[0x40] Val=0|"Inhibit?" NL=(0->32,0,S=53) [53->85,53] MId=0x1029 ]
|
||||
--L[#2 T=L_m1 VId=0x1001 Text="Pitch"[0x41] Val=0|"Inhibit?" NL=(0->32,0,S=53) [53->85,53] MId=0x1029 ]
|
||||
--L[#3 T=L_m1 VId=0x1002 Text="Yaw"[0x42] Val=0|"Inhibit?" NL=(0->32,0,S=53) [53->85,53] MId=0x1029 ]
|
||||
--L[#1 T=LM VId=0x1000 Text="Roll"[0x40] Val=0|"Inhibit?" NL=(0->32,0,S=53) [53->85,53] MId=0x1029 ]
|
||||
--L[#2 T=LM VId=0x1001 Text="Pitch"[0x41] Val=0|"Inhibit?" NL=(0->32,0,S=53) [53->85,53] MId=0x1029 ]
|
||||
--L[#3 T=LM VId=0x1002 Text="Yaw"[0x42] Val=0|"Inhibit?" NL=(0->32,0,S=53) [53->85,53] MId=0x1029 ]
|
||||
--L[#4 T=M VId=0x1029 Text="SAFE"[0xDA] MId=0x1029 ]
|
||||
--L[#5 T=L_m1 VId=0x1004 Text="Roll"[0x40] Val=0|"Inhibit?" NL=(0->32,0,S=53) [53->85,53] MId=0x1029 ]
|
||||
--L[#6 T=L_m1 VId=0x1005 Text="Pitch"[0x41] Val=0|"Inhibit?" NL=(0->32,0,S=53) [53->85,53] MId=0x1029 ]
|
||||
--L[#5 T=LM VId=0x1004 Text="Roll"[0x40] Val=0|"Inhibit?" NL=(0->32,0,S=53) [53->85,53] MId=0x1029 ]
|
||||
--L[#6 T=LM VId=0x1005 Text="Pitch"[0x41] Val=0|"Inhibit?" NL=(0->32,0,S=53) [53->85,53] MId=0x1029 ]
|
||||
|
||||
ctx.Menu = { MenuId = 0x1029, TextId = 0xAD, PrevId = 0, NextId = 0, BackId = 0x1022 }
|
||||
ctx.MenuLines[0] = { Type = LINE_TYPE.MENU, TextId = 0x1DC, ValId = 0x1029 }
|
||||
ctx.MenuLines[1] = { Type = LINE_TYPE.LIST_MENU1, TextId = 0x40, ValId = 0x1000, Min=53, Max=85, Def=53, Val=0 }
|
||||
ctx.MenuLines[2] = { Type = LINE_TYPE.LIST_MENU1, TextId = 0x41, ValId = 0x1001, Min=53, Max=85, Def=53, Val=0 }
|
||||
ctx.MenuLines[3] = { Type = LINE_TYPE.LIST_MENU1, TextId = 0x42, ValId = 0x1002, Min=53, Max=85, Def=53, Val=0 }
|
||||
|
||||
ctx.MenuLines[1] = { Type = LINE_TYPE.LIST_MENU, TextId = 0x40, ValId = 0x1000, Min=53, Max=85, Def=53, Val=0 }
|
||||
ctx.MenuLines[2] = { Type = LINE_TYPE.LIST_MENU, TextId = 0x41, ValId = 0x1001, Min=53, Max=85, Def=53, Val=0 }
|
||||
ctx.MenuLines[3] = { Type = LINE_TYPE.LIST_MENU, TextId = 0x42, ValId = 0x1002, Min=53, Max=85, Def=53, Val=0 }
|
||||
ctx.MenuLines[4] = { Type = LINE_TYPE.MENU, TextId = 0xDA, ValId = 0x1029 }
|
||||
ctx.MenuLines[5] = { Type = LINE_TYPE.LIST_MENU1, TextId = 0x40, ValId = 0x1004, Min=53, Max=85, Def=53, Val=0 }
|
||||
ctx.MenuLines[6] = { Type = LINE_TYPE.LIST_MENU1, TextId = 0x41, ValId = 0x1005, Min=53, Max=85, Def=53, Val=0 }
|
||||
ctx.MenuLines[5] = { Type = LINE_TYPE.LIST_MENU, TextId = 0x40, ValId = 0x1004, Min=53, Max=85, Def=53, Val=0 }
|
||||
ctx.MenuLines[6] = { Type = LINE_TYPE.LIST_MENU, TextId = 0x41, ValId = 0x1005, Min=53, Max=85, Def=53, Val=0 }
|
||||
|
||||
ctx.SelLine = 2
|
||||
lastGoodMenu = menuId
|
||||
@ -525,33 +526,33 @@ local function AR631_loadMenu(menuId)
|
||||
elseif (menuId==0x1032) then
|
||||
--M[Id=0x1032 P=0x0 N=0x0 B=0x1022 Text="Utilities"[0x240]]
|
||||
--L[#0 T=M VId=0x1033 Text="Copy Flight Mode Settings"[0x23D] MId=0x1032 ]
|
||||
--L[#1 T=L_m0 VId=0x1001 Text="Enabled F-Modes"[0x88] Val=2 NL=(0->9,2,S=182) [182->191,184] MId=0x1032 ]
|
||||
--L[#1 T=LM_nc VId=0x1001 Text="Enabled F-Modes"[0x88] Val=2 NL=(0->9,2,S=182) [182->191,184] MId=0x1032 ]
|
||||
|
||||
ctx.Menu = { MenuId = 0x1032, TextId = 0x240, PrevId = 0, NextId = 0, BackId = 0x1022 }
|
||||
ctx.MenuLines[0] = { Type = LINE_TYPE.MENU, TextId = 0x23D, ValId = 0x1033 }
|
||||
ctx.MenuLines[1] = { Type = LINE_TYPE.LIST_MENU0, TextId = 0x88, ValId = 0x1001, Min=182, Max=191, Def=184, Val=2 }
|
||||
ctx.MenuLines[1] = { Type = LINE_TYPE.LIST_MENU_NC, TextId = 0x88, ValId = 0x1001, Min=182, Max=191, Def=184, Val=2 }
|
||||
|
||||
ctx.SelLine = 0
|
||||
lastGoodMenu = menuId
|
||||
|
||||
elseif (menuId==0x1033) then
|
||||
--M[Id=0x1033 P=0x0 N=0x0 B=0x1032 Text="Copy Flight Mode Settings"[0x23D]]
|
||||
--L[#0 T=V_NC VId=0x1000 Text="Flight Mode"[0x8001] Val=0 [0->10,0] MId=0x1033 ]
|
||||
--L[#0 T=V_nc VId=0x1000 Text="Flight Mode"[0x8001] Val=0 [0->10,0] MId=0x1033 ]
|
||||
--L[#1 T=M VId=0x1033 Text="WARNING: "Target""[0x260] MId=0x1033 ]
|
||||
--L[#2 T=M VId=0x1033 Text="flight mode will be overwritten"[0x261] MId=0x1033 ]
|
||||
--L[#3 T=M VId=0x1033 Text="by "Source""[0x262] MId=0x1033 ]
|
||||
--L[#4 T=L_m0 VId=0x1004 Text="Source Flight Mode"[0x23E] Val=0|"FM1" NL=(0->9,0,S=182) [182->191,182] MId=0x1033 ]
|
||||
--L[#5 T=L_m0 VId=0x1005 Text="Target Flight Mode"[0x23F] Val=0|"FM1" NL=(0->9,0,S=182) [182->191,182] MId=0x1033 ]
|
||||
--L[#4 T=LM_nc VId=0x1004 Text="Source Flight Mode"[0x23E] Val=0|"FM1" NL=(0->9,0,S=182) [182->191,182] MId=0x1033 ]
|
||||
--L[#5 T=LM_nc VId=0x1005 Text="Target Flight Mode"[0x23F] Val=0|"FM1" NL=(0->9,0,S=182) [182->191,182] MId=0x1033 ]
|
||||
--L[#6 T=M VId=0x1035 Text="Apply"[0x90] MId=0x1034 ]
|
||||
|
||||
|
||||
ctx.Menu = { MenuId = 0x1033, TextId = 0x23D, PrevId = 0, NextId = 0, BackId = 0x1032 }
|
||||
ctx.MenuLines[0] = { Type = LINE_TYPE.VALUE_NOCHANGING, TextId = 0x8001, ValId = 0x1000, Min=0, Max=10, Def=0, Val=1 }
|
||||
ctx.MenuLines[0] = { Type = LINE_TYPE.VALUE_NUM_I8_NC, TextId = 0x8001, ValId = 0x1000, Min=0, Max=10, Def=0, Val=1 }
|
||||
ctx.MenuLines[1] = { Type = LINE_TYPE.MENU, TextId = 0x260, ValId = 0x1033 }
|
||||
ctx.MenuLines[2] = { Type = LINE_TYPE.MENU, TextId = 0x261, ValId = 0x1033 }
|
||||
ctx.MenuLines[3] = { Type = LINE_TYPE.MENU, TextId = 0x262, ValId = 0x1033 }
|
||||
ctx.MenuLines[4] = { Type = LINE_TYPE.LIST_MENU0, TextId = 0x23E, ValId = 0x1004, Min=182, Max=191, Def=182, Val=0 }
|
||||
ctx.MenuLines[5] = { Type = LINE_TYPE.LIST_MENU0, TextId = 0x23F, ValId = 0x1005, Min=182, Max=191, Def=182, Val=0 }
|
||||
ctx.MenuLines[4] = { Type = LINE_TYPE.LIST_MENU_NC, TextId = 0x23E, ValId = 0x1004, Min=182, Max=191, Def=182, Val=0 }
|
||||
ctx.MenuLines[5] = { Type = LINE_TYPE.LIST_MENU_NC, TextId = 0x23F, ValId = 0x1005, Min=182, Max=191, Def=182, Val=0 }
|
||||
ctx.MenuLines[6] = { Type = LINE_TYPE.MENU, TextId = 0x90, ValId = 0x1034 }
|
||||
|
||||
ctx.SelLine = 4
|
||||
@ -562,8 +563,8 @@ local function AR631_loadMenu(menuId)
|
||||
--L[#1 T=M VId=0x1033 Text="Are you sure you want to ovewrite the \"Target\""[0x251] MId=0x1033 ]
|
||||
--L[#2 T=M VId=0x1033 Text="with the \"Source\" ? "[0x252] MId=0x1033 ]
|
||||
--L[#3 T=M VId=0x1033 Text=""[0x253] MId=0x1033 ]
|
||||
--L[#4 T=L_m0 VId=0x1004 Text="Source Flight Mode"[0x23E] Val=0|"FM1" NL=(0->0,0,S=182) [182->182,182] MId=0x1033 ]
|
||||
--L[#5 T=L_m0 VId=0x1005 Text="Target Flight Mode"[0x23F] Val=1|"FM2" NL=(0->0,0,S=182) [182->182,182] MId=0x1033 ]
|
||||
--L[#4 T=LM_nc VId=0x1004 Text="Source Flight Mode"[0x23E] Val=0|"FM1" NL=(0->0,0,S=182) [182->182,182] MId=0x1033 ]
|
||||
--L[#5 T=LM_nc VId=0x1005 Text="Target Flight Mode"[0x23F] Val=1|"FM2" NL=(0->0,0,S=182) [182->182,182] MId=0x1033 ]
|
||||
--L[#6 T=M VId=0x1035 Text="YES"[0x259] MId=0x1034 ]
|
||||
|
||||
|
||||
@ -572,8 +573,8 @@ local function AR631_loadMenu(menuId)
|
||||
ctx.MenuLines[1] = { Type = LINE_TYPE.MENU, TextId = 0x251, ValId = 0x1034 }
|
||||
ctx.MenuLines[2] = { Type = LINE_TYPE.MENU, TextId = 0x252, ValId = 0x1034 }
|
||||
ctx.MenuLines[3] = { Type = LINE_TYPE.MENU, TextId = 0x253, ValId = 0x1034 }
|
||||
ctx.MenuLines[4] = { Type = LINE_TYPE.LIST_MENU0, TextId = 0x23E, ValId = 0x1004, Min=182, Max=182, Def=182, Val=0 }
|
||||
ctx.MenuLines[5] = { Type = LINE_TYPE.LIST_MENU0, TextId = 0x23F, ValId = 0x1005, Min=182, Max=182, Def=182, Val=1 }
|
||||
ctx.MenuLines[4] = { Type = LINE_TYPE.LIST_MENU_NC, TextId = 0x23E, ValId = 0x1004, Min=182, Max=182, Def=182, Val=0 }
|
||||
ctx.MenuLines[5] = { Type = LINE_TYPE.LIST_MENU_NC, TextId = 0x23F, ValId = 0x1005, Min=182, Max=182, Def=182, Val=1 }
|
||||
ctx.MenuLines[6] = { Type = LINE_TYPE.MENU, TextId = 0x259, ValId = 0x1035 }
|
||||
|
||||
ctx.SelLine = 6
|
||||
@ -592,36 +593,36 @@ local function AR631_loadMenu(menuId)
|
||||
--L[#2 T=M VId=0x102B Text="Panic"[0x8B] MId=0x102A ]
|
||||
--L[#3 T=M VId=0x102D Text="Throttle to Pitch"[0x1EE] MId=0x102A ]
|
||||
--L[#4 T=M VId=0x1030 Text="Attitude Trim"[0x1E6] MId=0x102A ]
|
||||
--L[#5 T=L_m0 VId=0x1006 Text="SAFE Failsafe FMode"[0x1FD] Val=0|"FM1" NL=(0->10,0,S=181) [181->191,181] MId=0x102A ]
|
||||
--L[#5 T=LM_nc VId=0x1006 Text="SAFE Failsafe FMode"[0x1FD] Val=0|"FM1" NL=(0->10,0,S=181) [181->191,181] MId=0x102A ]
|
||||
--L[#6 T=M VId=0x1031 Text="Failsafe Angles"[0x1F6] MId=0x102A ]
|
||||
|
||||
ctx.Menu = { MenuId = 0x102A, TextId = 0xCA, PrevId = 0, NextId = 0, BackId = 0x1022 }
|
||||
ctx.MenuLines[2] = { Type = LINE_TYPE.MENU, TextId = 0x8B, ValId = 0x102B }
|
||||
ctx.MenuLines[3] = { Type = LINE_TYPE.MENU, TextId = 0x1EE, ValId = 0x102D }
|
||||
ctx.MenuLines[4] = { Type = LINE_TYPE.MENU, TextId = 0x1E6, ValId = 0x1030 }
|
||||
ctx.MenuLines[5] = { Type = LINE_TYPE.LIST_MENU0, TextId = 0x1FD, ValId = 0x1006, Min=182, Max=191, Def=182, Val=0 }
|
||||
ctx.MenuLines[5] = { Type = LINE_TYPE.LIST_MENU_NC, TextId = 0x1FD, ValId = 0x1006, Min=182, Max=191, Def=182, Val=0 }
|
||||
ctx.MenuLines[6] = { Type = LINE_TYPE.MENU, TextId = 0x1F6, ValId = 0x1031 }
|
||||
|
||||
ctx.SelLine = 5
|
||||
lastGoodMenu = menuId
|
||||
elseif (menuId==0x102B) then
|
||||
--M[Id=0x102B P=0x0 N=0x0 B=0x102A Text="Panic"[0x8B]]
|
||||
--L[#0 T=L_m1 VId=0x1000 Text="Panic Channel"[0xD2] Val=0|"Inhibit?" NL=(0->32,0,S=53) [53->85,53] MId=0x102B ]
|
||||
--L[#1 T=L_m1 VId=0x1001 Text="Panic Delay"[0x8E] Val=0|"Inh" NL=(0->1,0,S=3) [3->4,3] MId=0x102B ]
|
||||
--L[#2 T=L_m1 VId=0x1002 Text="Panic Flight Mode"[0x1FC] Val=0|"FM1" NL=(0->10,0,S=181) [181->191,181] MId=0x102B ]
|
||||
--L[#3 T=V_NC VId=0x1003 Text="Roll Right"[0x1E9] Val=30 [0->90,30] MId=0x102B ]
|
||||
--L[#4 T=V_NC VId=0x1004 Text="Roll Left"[0x1EA] Val=30 [0->90,30] MId=0x102B ]
|
||||
--L[#5 T=V_NC VId=0x1005 Text="Pitch Down"[0x1EB] Val=30 [0->75,30] MId=0x102B ]
|
||||
--L[#6 T=V_NC VId=0x1006 Text="Pitch Up"[0x1EC] Val=30 [0->75,30] MId=0x102B ]
|
||||
--L[#0 T=LM VId=0x1000 Text="Panic Channel"[0xD2] Val=0|"Inhibit?" NL=(0->32,0,S=53) [53->85,53] MId=0x102B ]
|
||||
--L[#1 T=LM VId=0x1001 Text="Panic Delay"[0x8E] Val=0|"Inh" NL=(0->1,0,S=3) [3->4,3] MId=0x102B ]
|
||||
--L[#2 T=LM VId=0x1002 Text="Panic Flight Mode"[0x1FC] Val=0|"FM1" NL=(0->10,0,S=181) [181->191,181] MId=0x102B ]
|
||||
--L[#3 T=V_nc VId=0x1003 Text="Roll Right"[0x1E9] Val=30 [0->90,30] MId=0x102B ]
|
||||
--L[#4 T=V_nc VId=0x1004 Text="Roll Left"[0x1EA] Val=30 [0->90,30] MId=0x102B ]
|
||||
--L[#5 T=V_nc VId=0x1005 Text="Pitch Down"[0x1EB] Val=30 [0->75,30] MId=0x102B ]
|
||||
--L[#6 T=V_nc VId=0x1006 Text="Pitch Up"[0x1EC] Val=30 [0->75,30] MId=0x102B ]
|
||||
|
||||
ctx.Menu = { MenuId = 0x102B, TextId = 0x8B, PrevId = 0, NextId = 0, BackId = 0x102A }
|
||||
ctx.MenuLines[0] = { Type = LINE_TYPE.LIST_MENU1, TextId = 0xD2, ValId = 0x1000, Min=53, Max=85, Def=53, Val=0 }
|
||||
ctx.MenuLines[1] = { Type = LINE_TYPE.LIST_MENU1, TextId = 0x8E, ValId = 0x1001, Min=3, Max=4, Def=3, Val=0 }
|
||||
ctx.MenuLines[2] = { Type = LINE_TYPE.LIST_MENU1, TextId = 0x1FC, ValId = 0x1002, Min=181, Max=191, Def=181, Val=0 }
|
||||
ctx.MenuLines[3] = { Type = LINE_TYPE.VALUE_NOCHANGING, TextId = 0x1E9, ValId = 0x1003, Min=0, Max=90, Def=30, Val=30 }
|
||||
ctx.MenuLines[4] = { Type = LINE_TYPE.VALUE_NOCHANGING, TextId = 0x1EA, ValId = 0x1004, Min=0, Max=90, Def=30, Val=30 }
|
||||
ctx.MenuLines[5] = { Type = LINE_TYPE.VALUE_NOCHANGING, TextId = 0x1E9, ValId = 0x1005, Min=0, Max=75, Def=30, Val=30 }
|
||||
ctx.MenuLines[6] = { Type = LINE_TYPE.VALUE_NOCHANGING, TextId = 0x1EC, ValId = 0x1006, Min=0, Max=75, Def=30, Val=30 }
|
||||
ctx.MenuLines[0] = { Type = LINE_TYPE.LIST_MENU, TextId = 0xD2, ValId = 0x1000, Min=53, Max=85, Def=53, Val=0 }
|
||||
ctx.MenuLines[1] = { Type = LINE_TYPE.LIST_MENU, TextId = 0x8E, ValId = 0x1001, Min=3, Max=4, Def=3, Val=0 }
|
||||
ctx.MenuLines[2] = { Type = LINE_TYPE.LIST_MENU, TextId = 0x1FC, ValId = 0x1002, Min=181, Max=191, Def=181, Val=0 }
|
||||
ctx.MenuLines[3] = { Type = LINE_TYPE.VALUE_NUM_I8_NC, TextId = 0x1E9, ValId = 0x1003, Min=0, Max=90, Def=30, Val=30 }
|
||||
ctx.MenuLines[4] = { Type = LINE_TYPE.VALUE_NUM_I8_NC, TextId = 0x1EA, ValId = 0x1004, Min=0, Max=90, Def=30, Val=30 }
|
||||
ctx.MenuLines[5] = { Type = LINE_TYPE.VALUE_NUM_I8_NC, TextId = 0x1E9, ValId = 0x1005, Min=0, Max=75, Def=30, Val=30 }
|
||||
ctx.MenuLines[6] = { Type = LINE_TYPE.VALUE_NUM_I8_NC, TextId = 0x1EC, ValId = 0x1006, Min=0, Max=75, Def=30, Val=30 }
|
||||
|
||||
ctx.SelLine = 0
|
||||
lastGoodMenu = menuId
|
||||
@ -629,19 +630,19 @@ local function AR631_loadMenu(menuId)
|
||||
--M[Id=0x102D P=0x0 N=0x0 B=0x102A Text="SAFE - Throttle to Pitch"[0x269]]
|
||||
--L[#0 T=M VId=0x102D Text="Postive = Up, Negative = Down"[0x254] MId=0x102D ]
|
||||
--L[#1 T=M VId=0x102D Text="Low Thr to Pitch"[0x1EF] MId=0x102D ]
|
||||
--L[#2 T=V_NC VId=0x1001 Text="Threshold"[0x1F3] Val=30 [0->50,30] MId=0x102D ]
|
||||
--L[#2 T=V_nc VId=0x1001 Text="Threshold"[0x1F3] Val=30 [0->50,30] MId=0x102D ]
|
||||
--L[#3 T=V_de VId=0x1002 Text="Angle"[0x1F4] Val=0 [-45->45,0] MId=0x102D ]
|
||||
--L[#4 T=M VId=0x102D Text="High Thr to Pitch"[0x1F0] MId=0x102D ]
|
||||
--L[#5 T=V_NC VId=0x1005 Text="Threshold"[0x1F3] Val=70 [51->100,70] MId=0x102D ]
|
||||
--L[#5 T=V_nc VId=0x1005 Text="Threshold"[0x1F3] Val=70 [51->100,70] MId=0x102D ]
|
||||
--L[#6 T=V_de VId=0x1006 Text="Angle"[0x1F4] Val=0 [-45->45,0] MId=0x102D ]
|
||||
|
||||
ctx.Menu = { MenuId = 0x102D, TextId = 0x269, PrevId = 0, NextId = 0, BackId = 0x102A }
|
||||
ctx.MenuLines[0] = { Type = LINE_TYPE.MENU, TextId = 0x254, ValId = 0x102D }
|
||||
ctx.MenuLines[1] = { Type = LINE_TYPE.MENU, TextId = 0x1EF, ValId = 0x102D }
|
||||
ctx.MenuLines[2] = { Type = LINE_TYPE.VALUE_NOCHANGING, TextId = 0x1F3, ValId = 0x1001, Min=0, Max=50, Def=30, Val=30 }
|
||||
ctx.MenuLines[2] = { Type = LINE_TYPE.VALUE_NUM_I8_NC, TextId = 0x1F3, ValId = 0x1001, Min=0, Max=50, Def=30, Val=30 }
|
||||
ctx.MenuLines[3] = { Type = LINE_TYPE.VALUE_DEGREES, TextId = 0x1F4, ValId = 0x1002, Min=-45, Max=45, Def=0, Val=0 }
|
||||
ctx.MenuLines[4] = { Type = LINE_TYPE.MENU, TextId = 0x1F0, ValId = 0x102D }
|
||||
ctx.MenuLines[5] = { Type = LINE_TYPE.VALUE_NOCHANGING, TextId = 0x1F3, ValId = 0x1005, Min=51, Max=100, Def=70, Val=70 }
|
||||
ctx.MenuLines[5] = { Type = LINE_TYPE.VALUE_NUM_I8_NC, TextId = 0x1F3, ValId = 0x1005, Min=51, Max=100, Def=70, Val=70 }
|
||||
ctx.MenuLines[6] = { Type = LINE_TYPE.VALUE_DEGREES, TextId = 0x1F4, ValId = 0x1006, Min=-45, Max=45, Def=0, Val=0 }
|
||||
|
||||
ctx.SelLine = 2
|
||||
@ -731,11 +732,11 @@ local function AR631_loadMenu(menuId)
|
||||
lastGoodMenu = menuId
|
||||
elseif (menuId==0x1053) then
|
||||
--M[Id=0x1053 P=0x1051 N=0x0 B=0x1010 Text="First Time Setup"[0xA5]]
|
||||
--L[#5 T=L_m0 VId=0x1000 Text="Orientation"[0x80] MId=0x1053 val=0 (0->23,0,S=203) [203->226,203] ]
|
||||
--L[#5 T=LM_nc VId=0x1000 Text="Orientation"[0x80] MId=0x1053 val=0 (0->23,0,S=203) [203->226,203] ]
|
||||
--L[#6 T=M VId=0x1054 Text="Continue"[0x224] MId=0x1053 ]
|
||||
|
||||
ctx.Menu = { MenuId = 0x1053, TextId = 0x00A5, PrevId = 0x1051, NextId = 0, BackId = 0x1010 }
|
||||
ctx.MenuLines[5] = { Type = LINE_TYPE.LIST_MENU0, TextId = 0x80, ValId = 0x1000, Min=203, Max=226, Def=203, Val=0 }
|
||||
ctx.MenuLines[5] = { Type = LINE_TYPE.LIST_MENU_NC, TextId = 0x80, ValId = 0x1000, Min=203, Max=226, Def=203, Val=0 }
|
||||
ctx.MenuLines[6] = { Type = LINE_TYPE.MENU, TextId = 0x224, ValId = 0x1054 }
|
||||
ctx.SelLine = 5
|
||||
lastGoodMenu = menuId
|
||||
@ -767,7 +768,7 @@ local function AR631_loadMenu(menuId)
|
||||
lastGoodMenu = menuId
|
||||
elseif (menuId==0x1056) then
|
||||
--M[Id=0x1056 P=0x1055 N=0x1057 B=0x1010 Text="First Time SAFE Setup"[0x20D]]
|
||||
--L[#0 T=V_NC VId=0x1000 Text="Flight Mode"[0x8001] Val=1 [0->10,0] MId=0x1056 ]
|
||||
--L[#0 T=V_nc VId=0x1000 Text="Flight Mode"[0x8001] Val=1 [0->10,0] MId=0x1056 ]
|
||||
--L[#1 T=M VId=0x1056 Text="Select the desired flight mode"[0x25A] MId=0x1056 ]
|
||||
--L[#2 T=M VId=0x1056 Text="switch position to adjust settings"[0x25B] MId=0x1056 ]
|
||||
--L[#3 T=M VId=0x1056 Text="for each flight mode"[0x25C] MId=0x1056 ]
|
||||
@ -775,7 +776,7 @@ local function AR631_loadMenu(menuId)
|
||||
--L[#5 T=M VId=0x1056 Text=""[0x25E] MId=0x1056 ]
|
||||
|
||||
ctx.Menu = { MenuId = 0x1056, TextId = 0x20D, PrevId = 0x1053, NextId = 0x1057, BackId = 0x1010 }
|
||||
ctx.MenuLines[0] = { Type = LINE_TYPE.VALUE_NOCHANGING, TextId = 0x8001, ValId = 0x1000, Min=0, Max=10, Def=0, Val=1 }
|
||||
ctx.MenuLines[0] = { Type = LINE_TYPE.VALUE_NUM_I8_NC, TextId = 0x8001, ValId = 0x1000, Min=0, Max=10, Def=0, Val=1 }
|
||||
ctx.MenuLines[1] = { Type = LINE_TYPE.MENU, TextId = 0x25A, ValId = 0x1056 }
|
||||
ctx.MenuLines[2] = { Type = LINE_TYPE.MENU, TextId = 0x25B, ValId = 0x1056 }
|
||||
ctx.MenuLines[3] = { Type = LINE_TYPE.MENU, TextId = 0x25C, ValId = 0x1056 }
|
||||
@ -825,22 +826,22 @@ local function AR631_loadMenu(menuId)
|
||||
lastGoodMenu = menuId
|
||||
elseif (menuId==0x105A) then
|
||||
--M[Id=0x105A P=0x1059 N=0x105B B=0x1010 Text="First Time SAFE Setup"[0x20D]]
|
||||
--L[#0 T=V_NC VId=0x1000 Text="Flight Mode"[0x8001] Val=0 [0->10,0] MId=0x105A ]
|
||||
--L[#1 T=L_m1 VId=0x1001 Text="Safe Mode"[0x1F8] Val=3|"Inh" NL=(0->244,3,S=0) [0->244,3] MId=0x105A ]
|
||||
--L[#0 T=V_nc VId=0x1000 Text="Flight Mode"[0x8001] Val=0 [0->10,0] MId=0x105A ]
|
||||
--L[#1 T=LM VId=0x1001 Text="Safe Mode"[0x1F8] Val=3|"Inh" NL=(0->244,3,S=0) [0->244,3] MId=0x105A ]
|
||||
--L[#2 T=M VId=0x105A Text="Angle Limits "[0x226] MId=0x105A ]
|
||||
--L[#3 T=V_NC VId=0x1003 Text="Roll Right"[0x1E9] Val=60 [10->90,60] MId=0x105A ]
|
||||
--L[#4 T=V_NC VId=0x1004 Text="Roll Left"[0x1EA] Val=60 [10->90,60] MId=0x105A ]
|
||||
--L[#5 T=V_NC VId=0x1005 Text="Pitch Down"[0x1EB] Val=40 [10->75,40] MId=0x105A ]
|
||||
--L[#6 T=V_NC VId=0x1006 Text="Pitch Up"[0x1EC] Val=50 [10->75,50] MId=0x105A ]
|
||||
--L[#3 T=V_nc VId=0x1003 Text="Roll Right"[0x1E9] Val=60 [10->90,60] MId=0x105A ]
|
||||
--L[#4 T=V_nc VId=0x1004 Text="Roll Left"[0x1EA] Val=60 [10->90,60] MId=0x105A ]
|
||||
--L[#5 T=V_nc VId=0x1005 Text="Pitch Down"[0x1EB] Val=40 [10->75,40] MId=0x105A ]
|
||||
--L[#6 T=V_nc VId=0x1006 Text="Pitch Up"[0x1EC] Val=50 [10->75,50] MId=0x105A ]
|
||||
|
||||
ctx.Menu = { MenuId = 0x105A, TextId = 0x1DE, PrevId = 0x1059, NextId = 0x105B, BackId = 0x1010 }
|
||||
ctx.MenuLines[0] = { Type = LINE_TYPE.VALUE_NOCHANGING, TextId = 0x8001, ValId = 0x1000, Min=0, Max=10, Def=0, Val=1 }
|
||||
ctx.MenuLines[1] = { Type = LINE_TYPE.LIST_MENU1, TextId = 0x1F8, ValId = 0x1001, Min=0, Max=244, Def=3, Val=3 }
|
||||
ctx.MenuLines[0] = { Type = LINE_TYPE.VALUE_NUM_I8_NC, TextId = 0x8001, ValId = 0x1000, Min=0, Max=10, Def=0, Val=1 }
|
||||
ctx.MenuLines[1] = { Type = LINE_TYPE.LIST_MENU, TextId = 0x1F8, ValId = 0x1001, Min=0, Max=244, Def=3, Val=3 }
|
||||
ctx.MenuLines[2] = { Type = LINE_TYPE.MENU, TextId = 0x226, ValId = 0x105A }
|
||||
ctx.MenuLines[3] = { Type = LINE_TYPE.VALUE_NOCHANGING, TextId = 0x1E9, ValId = 0x1003, Min=10, Max=90, Def=60, Val=60 }
|
||||
ctx.MenuLines[4] = { Type = LINE_TYPE.VALUE_NOCHANGING, TextId = 0x1EA, ValId = 0x1004, Min=10, Max=90, Def=60, Val=60 }
|
||||
ctx.MenuLines[5] = { Type = LINE_TYPE.VALUE_NOCHANGING, TextId = 0x1EB, ValId = 0x1004, Min=10, Max=75, Def=40, Val=40 }
|
||||
ctx.MenuLines[6] = { lineNum = 7, Type = LINE_TYPE.VALUE_NOCHANGING, TextId = 0x1EC, ValId = 0x1004, Min=10, Max=75, Def=50, Val=50 }
|
||||
ctx.MenuLines[3] = { Type = LINE_TYPE.VALUE_NUM_I8_NC, TextId = 0x1E9, ValId = 0x1003, Min=10, Max=90, Def=60, Val=60 }
|
||||
ctx.MenuLines[4] = { Type = LINE_TYPE.VALUE_NUM_I8_NC, TextId = 0x1EA, ValId = 0x1004, Min=10, Max=90, Def=60, Val=60 }
|
||||
ctx.MenuLines[5] = { Type = LINE_TYPE.VALUE_NUM_I8_NC, TextId = 0x1EB, ValId = 0x1004, Min=10, Max=75, Def=40, Val=40 }
|
||||
ctx.MenuLines[6] = { lineNum = 7, Type = LINE_TYPE.VALUE_NUM_I8_NC, TextId = 0x1EC, ValId = 0x1004, Min=10, Max=75, Def=50, Val=50 }
|
||||
|
||||
ctx.SelLine = 1
|
||||
lastGoodMenu = menuId
|
||||
@ -855,18 +856,18 @@ local function AR631_loadMenu(menuId)
|
||||
lastGoodMenu = menuId
|
||||
elseif (menuId==0x105C) then
|
||||
-- M[Id=0x105C P=0x0 N=0x0 B=0x1010 Text="SAFE Select"[0x1F9]]
|
||||
--L[#0 T=V_NC VId=0x1000 Text="Flight Mode 1"[0x8001] val=1 [0->10,0] MId=0x105C ]
|
||||
--L[#1 T=L_m1 VId=0x1001 Text="SAFE Select Channel"[0x1D7] val=5 NL=(0->32,53,S=53) [53->85,53] MId=0x105C]
|
||||
--L[#2 T=L_m1 VId=0x1002 Text="AS3X"[0x1DC] val=1 NL=(0->1,1,S=1) [1->2,1] MId=0x105C]
|
||||
--L[#3 T=L_m1 VId=0x1003 Text="SAFE"[0xDA] val=0 NL=(0->0,0,S=1) [1->1,1] MId=0x105C ]
|
||||
--L[#6 T=L_m1 VId=0x1006 Text="SAFE Select"[0x1F9] val=0 NL=(0->1,1,S=1) [1->2,1] MId=0x105C ]
|
||||
--L[#0 T=V_nc VId=0x1000 Text="Flight Mode 1"[0x8001] val=1 [0->10,0] MId=0x105C ]
|
||||
--L[#1 T=LM VId=0x1001 Text="SAFE Select Channel"[0x1D7] val=5 NL=(0->32,53,S=53) [53->85,53] MId=0x105C]
|
||||
--L[#2 T=LM VId=0x1002 Text="AS3X"[0x1DC] val=1 NL=(0->1,1,S=1) [1->2,1] MId=0x105C]
|
||||
--L[#3 T=LM VId=0x1003 Text="SAFE"[0xDA] val=0 NL=(0->0,0,S=1) [1->1,1] MId=0x105C ]
|
||||
--L[#6 T=LM VId=0x1006 Text="SAFE Select"[0x1F9] val=0 NL=(0->1,1,S=1) [1->2,1] MId=0x105C ]
|
||||
|
||||
ctx.Menu = { MenuId = 0x105C, TextId = 0x1DE, PrevId = 0, NextId = 0, BackId = 0x1010 }
|
||||
ctx.MenuLines[0] = { Type = LINE_TYPE.VALUE_NOCHANGING, TextId = 0x8001, ValId = 0x1000, Min=0, Max=10, Def=0, Val=1 }
|
||||
ctx.MenuLines[1] = { Type = LINE_TYPE.LIST_MENU1, TextId = 0x1D7, ValId = 0x1001, Min=53, Max=85, Def=53, Val=5 }
|
||||
ctx.MenuLines[2] = { Type = LINE_TYPE.LIST_MENU1, TextId = 0x1DC, ValId = 0x1002, Min=1, Max=2, Def=1, Val=1 }
|
||||
ctx.MenuLines[3] = { Type = LINE_TYPE.LIST_MENU1, TextId = 0xDA, ValId = 0x1003, Min=1, Max=1, Def=1, Val=0 }
|
||||
ctx.MenuLines[6] = { Type = LINE_TYPE.LIST_MENU1, TextId = 0x1F9, ValId = 0x1004, Min=1, Max=2, Def=1, Val=0 }
|
||||
ctx.MenuLines[0] = { Type = LINE_TYPE.VALUE_NUM_I8_NC, TextId = 0x8001, ValId = 0x1000, Min=0, Max=10, Def=0, Val=1 }
|
||||
ctx.MenuLines[1] = { Type = LINE_TYPE.LIST_MENU, TextId = 0x1D7, ValId = 0x1001, Min=53, Max=85, Def=53, Val=5 }
|
||||
ctx.MenuLines[2] = { Type = LINE_TYPE.LIST_MENU, TextId = 0x1DC, ValId = 0x1002, Min=1, Max=2, Def=1, Val=1 }
|
||||
ctx.MenuLines[3] = { Type = LINE_TYPE.LIST_MENU, TextId = 0xDA, ValId = 0x1003, Min=1, Max=1, Def=1, Val=0 }
|
||||
ctx.MenuLines[6] = { Type = LINE_TYPE.LIST_MENU, TextId = 0x1F9, ValId = 0x1004, Min=1, Max=2, Def=1, Val=0 }
|
||||
|
||||
ctx.SelLine = 1
|
||||
lastGoodMenu = menuId
|
||||
@ -901,13 +902,13 @@ local function AR631_loadMenu(menuId)
|
||||
lastGoodMenu = menuId
|
||||
elseif (menuId==0x1061) then
|
||||
--M[Id=0x1061 P=0x0 N=0x0 B=0x1060 Text="Failsafe"]
|
||||
--L[#0 T=L_m0 VId=0x1000 Text="Outputs:" val=0 NL=(0->19,54,S=54) [54->73,54] MId=0x1061 ]
|
||||
--L[#2 T=L_m2 VId=0x1002 Text="Custom Failsafe:" val=0 NL=(0->1,95,S=95) [95->96,95] MId=0x1061 ]
|
||||
--L[#0 T=LM_nc VId=0x1000 Text="Outputs:" val=0 NL=(0->19,54,S=54) [54->73,54] MId=0x1061 ]
|
||||
--L[#2 T=LM_tog VId=0x1002 Text="Custom Failsafe:" val=0 NL=(0->1,95,S=95) [95->96,95] MId=0x1061 ]
|
||||
--L[#3 T=V_% VId=0x1003 Text="Position:" val=-100 [-150->150,0] MId=0x1061 ]
|
||||
|
||||
ctx.Menu = { MenuId = 0x1061, TextId = 0x004A, PrevId = 0, NextId = 0, BackId = 0x1060 }
|
||||
ctx.MenuLines[0] = { Type = LINE_TYPE.LIST_MENU0, TextId = 0x0050, ValId = 0x1000, Min=54, Max=73, Def=54, Val=0 }
|
||||
ctx.MenuLines[1] = { Type = LINE_TYPE.LIST_MENU2, TextId = 0x009C, ValId = 0x1002, Min=95, Max=96, Def=95, Val=0 }
|
||||
ctx.MenuLines[0] = { Type = LINE_TYPE.LIST_MENU_NC, TextId = 0x0050, ValId = 0x1000, Min=54, Max=73, Def=54, Val=0 }
|
||||
ctx.MenuLines[1] = { Type = LINE_TYPE.LIST_MENU_TOG, TextId = 0x009C, ValId = 0x1002, Min=95, Max=96, Def=95, Val=0 }
|
||||
ctx.MenuLines[2] = { Type = LINE_TYPE.VALUE_PERCENT, TextId = 0x004E, ValId = 0x1002, Min=-150, Max=150, Def=0, Val=-100 }
|
||||
ctx.SelLine = 0
|
||||
lastGoodMenu = menuId
|
||||
@ -922,20 +923,20 @@ local function AR631_loadMenu(menuId)
|
||||
lastGoodMenu = menuId
|
||||
elseif (menuId==0x1065) then
|
||||
--M[Id=0x1065 P=0x0 N=0x0 B=0x105E Text="Frame Rate"]
|
||||
--L[#0 T=L_m1 VId=0x1000 Text="Output Channel 1:" val=46 NL=(0->244,46|S=0) [0->244,0] MId=0x1065 ]
|
||||
--L[#1 T=L_m1 VId=0x1001 Text="Output Channel 2:" val=47 NL=(0->244,46|S=0) [0->244,0] MId=0x1065 ]
|
||||
--L[#2 T=L_m1 VId=0x1002 Text="Output Channel 3:" val=46 NL=(0->244,46|S=0) [0->244,0] MId=0x1065 ]
|
||||
--L[#3 T=L_m1 VId=0x1003 Text="Output Channel 4:" val=46 NL=(0->244,46|S=0) [0->244,0] MId=0x1065 ]
|
||||
--L[#4 T=L_m1 VId=0x1004 Text="Output Channel 5:" val=46 NL=(0->244,46|S=0) [0->244,0] MId=0x1065 ]
|
||||
--L[#5 T=L_m1 VId=0x1005 Text="Output Channel 6:" val=46 NL=(0->244,46|S=0) [0->244,0] MId=0x1065 ]
|
||||
--L[#0 T=LM VId=0x1000 Text="Output Channel 1:" val=46 NL=(0->244,46|S=0) [0->244,0] MId=0x1065 ]
|
||||
--L[#1 T=LM VId=0x1001 Text="Output Channel 2:" val=47 NL=(0->244,46|S=0) [0->244,0] MId=0x1065 ]
|
||||
--L[#2 T=LM VId=0x1002 Text="Output Channel 3:" val=46 NL=(0->244,46|S=0) [0->244,0] MId=0x1065 ]
|
||||
--L[#3 T=LM VId=0x1003 Text="Output Channel 4:" val=46 NL=(0->244,46|S=0) [0->244,0] MId=0x1065 ]
|
||||
--L[#4 T=LM VId=0x1004 Text="Output Channel 5:" val=46 NL=(0->244,46|S=0) [0->244,0] MId=0x1065 ]
|
||||
--L[#5 T=LM VId=0x1005 Text="Output Channel 6:" val=46 NL=(0->244,46|S=0) [0->244,0] MId=0x1065 ]
|
||||
|
||||
ctx.Menu = { MenuId = 0x1065, TextId = 0x0085, PrevId = 0, NextId = 0, BackId = 0x105E }
|
||||
ctx.MenuLines[0] = { Type = LINE_TYPE.LIST_MENU1, TextId = 0x0051, ValId = 0x1000, Min=0, Max=244, Def=46, Val=46 }
|
||||
ctx.MenuLines[1] = { Type = LINE_TYPE.LIST_MENU1, TextId = 0x0052, ValId = 0x1001, Min=0, Max=244, Def=46, Val=47 }
|
||||
ctx.MenuLines[2] = { Type = LINE_TYPE.LIST_MENU1, TextId = 0x0053, ValId = 0x1002, Min=0, Max=244, Def=46, Val=46 }
|
||||
ctx.MenuLines[3] = { Type = LINE_TYPE.LIST_MENU1, TextId = 0x0054, ValId = 0x1002, Min=0, Max=244, Def=46, Val=46 }
|
||||
ctx.MenuLines[4] = { Type = LINE_TYPE.LIST_MENU1, TextId = 0x0055, ValId = 0x1002, Min=0, Max=244, Def=46, Val=46 }
|
||||
ctx.MenuLines[5] = { Type = LINE_TYPE.LIST_MENU1, TextId = 0x0056, ValId = 0x1002, Min=0, Max=244, Def=46, Val=46 }
|
||||
ctx.MenuLines[0] = { Type = LINE_TYPE.LIST_MENU, TextId = 0x0051, ValId = 0x1000, Min=0, Max=244, Def=46, Val=46 }
|
||||
ctx.MenuLines[1] = { Type = LINE_TYPE.LIST_MENU, TextId = 0x0052, ValId = 0x1001, Min=0, Max=244, Def=46, Val=47 }
|
||||
ctx.MenuLines[2] = { Type = LINE_TYPE.LIST_MENU, TextId = 0x0053, ValId = 0x1002, Min=0, Max=244, Def=46, Val=46 }
|
||||
ctx.MenuLines[3] = { Type = LINE_TYPE.LIST_MENU, TextId = 0x0054, ValId = 0x1002, Min=0, Max=244, Def=46, Val=46 }
|
||||
ctx.MenuLines[4] = { Type = LINE_TYPE.LIST_MENU, TextId = 0x0055, ValId = 0x1002, Min=0, Max=244, Def=46, Val=46 }
|
||||
ctx.MenuLines[5] = { Type = LINE_TYPE.LIST_MENU, TextId = 0x0056, ValId = 0x1002, Min=0, Max=244, Def=46, Val=46 }
|
||||
|
||||
ctx.SelLine = 0
|
||||
lastGoodMenu = menuId
|
||||
@ -1007,28 +1008,28 @@ local function AR631_loadMenu(menuId)
|
||||
lastGoodMenu = menuId
|
||||
elseif (menuId==0x7CA5) then
|
||||
--M[Id=0x7CA5 P=0x0 N=0x1021 B=0x1021 Text="Gain Channel Select"[0xAD]]
|
||||
--L[#0 T=L_m1 VId=0x1000 Text="Gain Channel"[0x89] val=7 N=(0->32,53,S=53) [53->85,53] MId=0x7CA5 ]
|
||||
--L[#0 T=LM VId=0x1000 Text="Gain Channel"[0x89] val=7 N=(0->32,53,S=53) [53->85,53] MId=0x7CA5 ]
|
||||
|
||||
ctx.Menu = { MenuId = 0x7CA5, TextId = 0xAD, PrevId = 0, NextId = 0x1054, BackId = 0x1054 }
|
||||
ctx.MenuLines[0] = { Type = LINE_TYPE.LIST_MENU1, TextId = 0x89, ValId = 0x1000, Min=53, Max=85, Def=53, Val=7 }
|
||||
ctx.MenuLines[0] = { Type = LINE_TYPE.LIST_MENU, TextId = 0x89, ValId = 0x1000, Min=53, Max=85, Def=53, Val=7 }
|
||||
|
||||
ctx.SelLine = 0
|
||||
lastGoodMenu = menuId
|
||||
elseif (menuId==0x7CA6) then
|
||||
--M[Id=0x7CA6 P=0x0 N=0x1021 B=0x1021 Text="FM Channel"[0x78]]
|
||||
--L[#0 T=L_m1 VId=0x1000 Text="FM Channel"[0x78] val=7 N=(0->32,53,S=53) [53->85,53] MId=0x7CA6 ]
|
||||
--L[#0 T=LM VId=0x1000 Text="FM Channel"[0x78] val=7 N=(0->32,53,S=53) [53->85,53] MId=0x7CA6 ]
|
||||
|
||||
ctx.Menu = { MenuId = 0x7CA6, TextId = 0x78, PrevId = 0, NextId = 0x1021, BackId = 0x1021 }
|
||||
ctx.MenuLines[0] = { Type = LINE_TYPE.LIST_MENU1, TextId = 0x78, ValId = 0x1000, Min=53, Max=85, Def=53, Val=7 }
|
||||
ctx.MenuLines[0] = { Type = LINE_TYPE.LIST_MENU, TextId = 0x78, ValId = 0x1000, Min=53, Max=85, Def=53, Val=7 }
|
||||
|
||||
ctx.SelLine = 0
|
||||
lastGoodMenu = menuId
|
||||
elseif (menuId==0x7CA7) then
|
||||
--M[Id=0x7CA7 P=0x0 N=0x1055 B=0x1055 Text="FM Channel"[0x78]]
|
||||
--L[#0 T=L_m1 VId=0x1000 Text="FM Channel"[0x78] val=7 N=(0->32,53,S=53) [53->85,53] MId=0x7CA6 ]
|
||||
--L[#0 T=LM VId=0x1000 Text="FM Channel"[0x78] val=7 N=(0->32,53,S=53) [53->85,53] MId=0x7CA6 ]
|
||||
|
||||
ctx.Menu = { MenuId = 0x7CA7, TextId = 0x78, PrevId = 0, NextId = 0x1055, BackId = 0x1055 }
|
||||
ctx.MenuLines[0] = { Type = LINE_TYPE.LIST_MENU1, TextId = 0x78, ValId = 0x1000, Min=53, Max=85, Def=53, Val=0 }
|
||||
ctx.MenuLines[0] = { Type = LINE_TYPE.LIST_MENU, TextId = 0x78, ValId = 0x1000, Min=53, Max=85, Def=53, Val=0 }
|
||||
|
||||
ctx.SelLine = 0
|
||||
lastGoodMenu = menuId
|
||||
@ -1081,15 +1082,15 @@ local function FC6250HX_loadMenu(menuId)
|
||||
lastGoodMenu = menuId
|
||||
elseif (menuId==0x1110) then
|
||||
--M[Id=0x1110 P=0x0 N=0x0 B=0x1100 Text="Roll"[0x40]]
|
||||
--L[#0 T=V_i16 VId=0x1111 Text="@ per sec"[0xDC] val=270 [0->900,270] MId=0x1110 ]
|
||||
--L[#1 T=V_NC VId=0x1112 Text="FLIGHT MODE"[0x8000] val=1 [0->5,0] MId=0x1110 ]
|
||||
--L[#2 T=V_i8 VId=0x1113 Text="Proportional"[0x71] val=100 [0->255,100] MId=0x1110 ]
|
||||
--L[#0 T=V_i16 VId=0x1111 Text="@ per sec"[0xDC] val=270 [0->900,270] MId=0x1110 ]
|
||||
--L[#1 T=V_nc VId=0x1112 Text="FLIGHT MODE"[0x8000] val=1 [0->5,0] MId=0x1110 ]
|
||||
--L[#2 T=V_i8 VId=0x1113 Text="Proportional"[0x71] val=100 [0->255,100] MId=0x1110 ]
|
||||
--L[#3 T=V_i8 VId=0x1114 Text="Integral"[0x72] val=100 [0->255,100] MId=0x1110 ]
|
||||
--L[#4 T=V_i8 VId=0x1115 Text="Derivate"[0x73] val=7 [0->255,7] MId=0x1110 ]
|
||||
|
||||
ctx.Menu = { MenuId = 0x1110, TextId = 0x40, PrevId = 0, NextId = 0, BackId = 0x1100 }
|
||||
ctx.MenuLines[0] = { Type = LINE_TYPE.VALUE_NUM_I16, TextId = 0xDC, ValId = 0x1111, Min=0, Max=900, Def=270, Val=270 }
|
||||
ctx.MenuLines[1] = { Type = LINE_TYPE.VALUE_NOCHANGING, TextId = 0x8000, ValId = 0x1112, Min=0, Max=5, Def=0, Val=1 }
|
||||
ctx.MenuLines[1] = { Type = LINE_TYPE.VALUE_NUM_I8_NC, TextId = 0x8000, ValId = 0x1112, Min=0, Max=5, Def=0, Val=1 }
|
||||
ctx.MenuLines[2] = { Type = LINE_TYPE.VALUE_NUM_I8, TextId = 0x71, ValId = 0x1113, Min=0, Max=255, Def=100, Val=100 }
|
||||
ctx.MenuLines[3] = { Type = LINE_TYPE.VALUE_NUM_I8, TextId = 0x72, ValId = 0x1114, Min=0, Max=255, Def=100, Val=100 }
|
||||
ctx.MenuLines[4] = { Type = LINE_TYPE.VALUE_NUM_I8, TextId = 0x73, ValId = 0x1115, Min=0, Max=255, Def=7, Val=7 }
|
||||
@ -1101,7 +1102,7 @@ local function FC6250HX_loadMenu(menuId)
|
||||
--L[#0 T=V_i16 VId=0x1121 Text="@ per sec"[0xDC] Val=270 [0->900,270] MId=0x1120 ]
|
||||
--L[#1 T=V_i8 VId=0x1212 Text="Start"[0x92] Val=nil [5->200,25] MId=0x1200 ]
|
||||
--L[#2 T=V_i8 VId=0x1213 Text="Stop"[0xD8] Val=nil [5->200,25] MId=0x1200 ]
|
||||
--L[#3 T=V_NC VId=0x1122 Text=" FLIGHT MODE"[0x8000] Val=1 [0->5,0] MId=0x1120 ]
|
||||
--L[#3 T=V_nc VId=0x1122 Text=" FLIGHT MODE"[0x8000] Val=1 [0->5,0] MId=0x1120 ]
|
||||
--L[#4 T=V_i8 VId=0x1123 Text="Proportional"[0x71] Val=100 [0->255,100] MId=0x1120 ]
|
||||
--L[#5 T=V_i8 VId=0x1124 Text="Integral"[0x72] Val=100 [0->255,100] MId=0x1120 ]
|
||||
--L[#6 T=V_i8 VId=0x1125 Text="Derivate"[0x73] Val=14 [0->255,14] MId=0x1120 ]
|
||||
@ -1111,7 +1112,7 @@ local function FC6250HX_loadMenu(menuId)
|
||||
ctx.MenuLines[1] = { Type = LINE_TYPE.VALUE_NUM_I8, TextId = 0x92, ValId = 0x1123, Min=5, Max=200, Def=25, Val=25 }
|
||||
ctx.MenuLines[2] = { Type = LINE_TYPE.VALUE_NUM_I8, TextId = 0xD8, ValId = 0x1123, Min=5, Max=200, Def=26, Val=100 }
|
||||
|
||||
ctx.MenuLines[3] = { Type = LINE_TYPE.VALUE_NOCHANGING, TextId = 0x8000, ValId = 0x1122, Min=0, Max=5, Def=0, Val=1 }
|
||||
ctx.MenuLines[3] = { Type = LINE_TYPE.VALUE_NUM_I8_NC, TextId = 0x8000, ValId = 0x1122, Min=0, Max=5, Def=0, Val=1 }
|
||||
|
||||
ctx.MenuLines[4] = { Type = LINE_TYPE.VALUE_NUM_I8, TextId = 0x71, ValId = 0x1123, Min=0, Max=255, Def=100, Val=100 }
|
||||
ctx.MenuLines[5] = { Type = LINE_TYPE.VALUE_NUM_I8, TextId = 0x72, ValId = 0x1124, Min=0, Max=255, Def=95, Val=95 }
|
||||
@ -1124,7 +1125,7 @@ local function FC6250HX_loadMenu(menuId)
|
||||
--L[#0 T=V_i16 VId=0x1211 Text="@ per sec"[0xDC] Val=550 [0->1280,550] MId=0x1200 ]
|
||||
--L[#1 T=V_i8 VId=0x1212 Text="Start"[0x92] Val=25 [5->200,25] MId=0x1200 ]
|
||||
--L[#2 T=V_i8 VId=0x1213 Text="Stop"[0xD8] Val=25 [5->200,25] MId=0x1200 ]
|
||||
--L[#3 T=V_NC VId=0x1214 Text=" FLIGHT MODE"[0x8000] Val=1 [0->5,0] MId=0x1200 ]
|
||||
--L[#3 T=V_nc VId=0x1214 Text=" FLIGHT MODE"[0x8000] Val=1 [0->5,0] MId=0x1200 ]
|
||||
--L[#4 T=V_i8 VId=0x1215 Text="Proportional"[0x71] Val=100 [0->255,100] MId=0x1200 ]
|
||||
--L[#5 T=V_i8 VId=0x1216 Text="Integral"[0x72] Val=95 [0->255,95] MId=0x1200 ]
|
||||
--L[#6 T=V_i8 VId=0x1217 Text="Derivate"[0x73] Val=45 [0->255,45] MId=0x1200 ]
|
||||
@ -1134,7 +1135,7 @@ local function FC6250HX_loadMenu(menuId)
|
||||
ctx.MenuLines[1] = { Type = LINE_TYPE.VALUE_NUM_I8, TextId = 0x92, ValId = 0x1212, Min=5, Max=200, Def=25, Val=25 }
|
||||
ctx.MenuLines[2] = { Type = LINE_TYPE.VALUE_NUM_I8, TextId = 0xD8, ValId = 0x1213, Min=5, Max=200, Def=26, Val=100 }
|
||||
|
||||
ctx.MenuLines[3] = { Type = LINE_TYPE.VALUE_NOCHANGING, TextId = 0x8000, ValId = 0x1214, Min=0, Max=5, Def=0, Val=1 }
|
||||
ctx.MenuLines[3] = { Type = LINE_TYPE.VALUE_NUM_I8_NC, TextId = 0x8000, ValId = 0x1214, Min=0, Max=5, Def=0, Val=1 }
|
||||
|
||||
ctx.MenuLines[4] = { Type = LINE_TYPE.VALUE_NUM_I8, TextId = 0x71, ValId = 0x1215, Min=0, Max=255, Def=100, Val=100 }
|
||||
ctx.MenuLines[5] = { Type = LINE_TYPE.VALUE_NUM_I8, TextId = 0x72, ValId = 0x1216, Min=0, Max=255, Def=95, Val=95 }
|
||||
@ -1146,16 +1147,16 @@ local function FC6250HX_loadMenu(menuId)
|
||||
--M[Id=0x1300 P=0x0 N=0x0 B=0x1000 Text="Setup"[0xDE]]
|
||||
--L[#0 T=M VId=0x1310 Text="Swashplate"[0xD3] MId=0x1300 ]
|
||||
--L[#1 T=M VId=0x1360 Text="Tail rotor"[0xDD] MId=0x1300 ]
|
||||
--L[#4 T=L_m0 VId=0x1701 Text="FM Channel"[0x78] val=1 NL=(0->8,1,S=12) [12->20,13] MId=0x1300 ]
|
||||
--L[#5 T=L_m0 VId=0x1702 Text="Gain Channel"[0x89] val=0 NL=(0->8,1,S=12)] [12->20,13] MId=0x1300 ]
|
||||
--L[#6 T=L_m0 VId=0x1703 Text="Output Channel 6"[0x56] val=1 NL=(0->12,0,S=53) [53->65,53] MId=0x1300 ]
|
||||
--L[#4 T=LM_nc VId=0x1701 Text="FM Channel"[0x78] val=1 NL=(0->8,1,S=12) [12->20,13] MId=0x1300 ]
|
||||
--L[#5 T=LM_nc VId=0x1702 Text="Gain Channel"[0x89] val=0 NL=(0->8,1,S=12)] [12->20,13] MId=0x1300 ]
|
||||
--L[#6 T=LM_nc VId=0x1703 Text="Output Channel 6"[0x56] val=1 NL=(0->12,0,S=53) [53->65,53] MId=0x1300 ]
|
||||
|
||||
ctx.Menu = { MenuId = 0x1300, TextId = 0xDE, PrevId = 0, NextId = 0, BackId = 0x1000 }
|
||||
ctx.MenuLines[0] = { Type = LINE_TYPE.MENU, TextId = 0xD3, ValId = 0x1310 }
|
||||
ctx.MenuLines[1] = { Type = LINE_TYPE.MENU, TextId = 0xDD, ValId = 0x1360 }
|
||||
ctx.MenuLines[4] = { Type = LINE_TYPE.LIST_MENU0, TextId = 0x78, ValId = 0x1701, Min=12, Max=20, Def=13, Val=1 }
|
||||
ctx.MenuLines[5] = { Type = LINE_TYPE.LIST_MENU0, TextId = 0x89, ValId = 0x1702, Min=12, Max=20, Def=13, Val=0 }
|
||||
ctx.MenuLines[6] = { Type = LINE_TYPE.LIST_MENU0, TextId = 0x56, ValId = 0x1702, Min=53, Max=65, Def=53, Val=1 }
|
||||
ctx.MenuLines[4] = { Type = LINE_TYPE.LIST_MENU_NC, TextId = 0x78, ValId = 0x1701, Min=12, Max=20, Def=13, Val=1 }
|
||||
ctx.MenuLines[5] = { Type = LINE_TYPE.LIST_MENU_NC, TextId = 0x89, ValId = 0x1702, Min=12, Max=20, Def=13, Val=0 }
|
||||
ctx.MenuLines[6] = { Type = LINE_TYPE.LIST_MENU_NC, TextId = 0x56, ValId = 0x1702, Min=53, Max=65, Def=53, Val=1 }
|
||||
|
||||
ctx.SelLine = 0
|
||||
lastGoodMenu = menuId
|
||||
@ -1252,14 +1253,14 @@ local function FC6250HX_loadMenu(menuId)
|
||||
-- M[Id=0x1410 P=0x0 N=0x0 B=0x1400 Text="Stability"[0xDB]]
|
||||
--L[#0 T=V_i8 VId=0x1411 Text="Gain"[0x43] val=50 [5->200,50] MId=0x1410 ]
|
||||
--L[#1 T=V_i8 VId=0x1412 Text="Envelope"[0x1E7] val=45 [5->90,45] MId=0x1410 ]
|
||||
--L[#3 T=V_NC VId=0x1413 Text="FLIGHT MODE"[0x8000] val=1 [0->5,0] MId=0x1410 ]
|
||||
--L[#4 T=L_m2 VId=0x1414 Text="Stability"[0xDB] val=1 NL=(0->1,1,S=1) [1->2,1] MId=0x1410 ]
|
||||
--L[#3 T=V_nc VId=0x1413 Text="FLIGHT MODE"[0x8000] val=1 [0->5,0] MId=0x1410 ]
|
||||
--L[#4 T=LM_tog VId=0x1414 Text="Stability"[0xDB] val=1 NL=(0->1,1,S=1) [1->2,1] MId=0x1410 ]
|
||||
|
||||
ctx.Menu = { MenuId = 0x1410, TextId = 0xDB, PrevId = 0, NextId = 0, BackId = 0x1400 }
|
||||
ctx.MenuLines[0] = { Type = LINE_TYPE.VALUE_NUM_I8, TextId = 0x43, ValId = 0x1411, Min=0, Max=200, Def=50, Val=50 }
|
||||
ctx.MenuLines[1] = { Type = LINE_TYPE.VALUE_NUM_I8, TextId = 0x1E7, ValId = 0x1412, Min=0, Max=90, Def=45, Val=45 }
|
||||
ctx.MenuLines[3] = { Type = LINE_TYPE.VALUE_NOCHANGING, TextId = 0x8000, ValId = 0x1413, Min=0, Max=5, Def=0, Val=1 }
|
||||
ctx.MenuLines[4] = { Type = LINE_TYPE.LIST_MENU2, TextId = 0xDB, ValId = 0x1414, Min=1, Max=2, Def=1, Val=1 }
|
||||
ctx.MenuLines[3] = { Type = LINE_TYPE.VALUE_NUM_I8_NC, TextId = 0x8000, ValId = 0x1413, Min=0, Max=5, Def=0, Val=1 }
|
||||
ctx.MenuLines[4] = { Type = LINE_TYPE.LIST_MENU_TOG, TextId = 0xDB, ValId = 0x1414, Min=1, Max=2, Def=1, Val=1 }
|
||||
|
||||
ctx.SelLine = 0
|
||||
lastGoodMenu = menuId
|
||||
@ -1348,8 +1349,8 @@ local function loadMenu(menuId)
|
||||
--L[#1 T=M VId=0x105E val=nil [0->0,2] Text="Other settings" MId=0x1000 ]
|
||||
|
||||
ctx.Menu = { MenuId = 0x1000, Text = "RX SIMULATION", PrevId = 0, NextId = 0, BackId = 0, TextId=0 }
|
||||
ctx.MenuLines[0] = { MenuId = 0x1000, Type = LINE_TYPE.MENU, Text = "AR631/AR637 (NEW)", ValId = 0x1001,TextId=0 }
|
||||
ctx.MenuLines[1] = { MenuId = 0x1000, Type = LINE_TYPE.MENU, Text = "AR631/AR637 (INITIALIZED)", ValId = 0x1002, TextId=0 }
|
||||
ctx.MenuLines[0] = { MenuId = 0x1000, Type = LINE_TYPE.MENU, Text = "AR630/631/637 (NEW)", ValId = 0x1001,TextId=0 }
|
||||
ctx.MenuLines[1] = { MenuId = 0x1000, Type = LINE_TYPE.MENU, Text = "AR630/631/637 (INITIALIZED)", ValId = 0x1002, TextId=0 }
|
||||
ctx.MenuLines[4] = { MenuId = 0x1000, Type = LINE_TYPE.MENU, Text = "FC6250HX", ValId = 0x1005, TextId=0 }
|
||||
ctx.MenuLines[6] = { MenuId = 0x1000, Type = LINE_TYPE.MENU, Text = "EXIT Sim to Real RX", ValId = 0xFFFF, TextId=0 } -- Menu 0xFFFF to Exit Simulator
|
||||
|
||||
@ -1358,7 +1359,7 @@ local function loadMenu(menuId)
|
||||
elseif (menuId==0x1001) then
|
||||
RX_Initialized = false
|
||||
ctx.RX.Id = dsmLib.RX.AR631
|
||||
ctx.RX.Name = "AR631/AR637-SIM"
|
||||
ctx.RX.Name = "AR630/631/637-SIM"
|
||||
ctx.RX.Version = "2.38.5"
|
||||
dsmLib.Init_Text(ctx.RX.Id)
|
||||
|
||||
@ -1366,7 +1367,7 @@ local function loadMenu(menuId)
|
||||
RX_loadMenu(0x01000)
|
||||
elseif (menuId==0x1002) then
|
||||
ctx.RX.Id = dsmLib.RX.AR631
|
||||
ctx.RX.Name = "AR631/637-SIM"
|
||||
ctx.RX.Name = "AR630/631/637-SIM"
|
||||
ctx.RX.Version = "2.38.5"
|
||||
dsmLib.Init_Text(ctx.RX.Id)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user