Will the script ever be able to use mavlink and rc over mavlink?
TBS just released a big update to increase the speed and stability of mavlink.
Will the script ever be able to use mavlink and rc over mavlink?
TBS just released a big update to increase the speed and stability of mavlink.
nope, my script can only use CRSF, but thereās a fork of my script here that requires a custom version of OpenTX by @olliw42 that can handle mavlink as native telemetry source, perhaps check it out.
Thanks Alex sounds like I just wire another 2 ports up
@Alex, I cannot get the data on my yaapu screen but I am receiving the data when using a custom screen layout and I have full RC control.
Hardware:
Crossfire nano
Matek F765-Wing
RadioMaster T16
FW:
Yaapu 1.9.b
4.1.0 dev
Parameters:
Serial7 = 23
Baud rate = 57
Serial7_option = 0
RC_Option = I tried 1, 8, 256, 256+8ā¦ etc. (Sorry but this instruction is bit confusing to my small brain āset RC_OPTIONS bit 8 = 1 (add 256 to your current RC_OPTIONS value)ā
RSSI_Type = 3
Nothing seems to bring Yaapu screen comes alive. But on the custom screen I am receiving everything except voltage and current readout.
Hi Riz, how did you wire/configure it to your nano RX? You need to use CRSF tx/rx, once you have RC + standard CRSF telemetry working (ROLL, PITCH, FLTM, CURR, etc) check your RC_OPTIONS value and add 256 to whatever it was, if for instance your RC_OPTIONS was 0 then 0+256=256 set it to 256, if it was 8 then 8+256=264 set it to 264.
Hi getting the message that CRSF is on a non-dma serial port using the matek F765. Which ports are DMA?
Currently have
GPS TX2/RX2 (serial 3)
CF NANO TX4/RX4 (Serial 6)
DJI MSP TX8/RX8 (Serial 5)
connect with MAVProxy to your flighcontroller and enter
ftp get @SYS/uarts.txt -
and as Andy said look for the *
@Alex,
At the moment I have the following wire mapping:
Rx6 = CH out1
Tx6 = Ch out2
Ground = Ground
Voltage = Voltage
On the crossfire RC transmitter setting:
Op mode = Normal
Bluetooth = MAV Emu
Nano setting:
Output map output1 = CRSF Tx
Output 2 = CRSF Rx
Output 3 = MavL. Rx
Output 4 = MavL. Tx
Output 5 = BST SCL
Output 6 = BST SDA
Under Channel map (below output map) all Dst. Ch1 to Ch8 are 1-to-1
Thanks Alex I have this image for the Matek F765 it seems the only serial 2 is a DMA port.
So the new layout would be
GPS TX2/RX2 (serial 3)
CF NANO TX1/RX1 (Serial 2)
DJI MSP TX8/RX8 (Serial 5)
What baud should I set for the Crossfire Serial?
We are getting a no Rc Receiver in the script messages
Is the matek board/arduplane expecting the receiver on serial 6 still? we set that to -1 for serial protocol.
Hi, the baudrate is automatic no need to specify it.
What do you mean by āWe are getting a no Rc Receiver in the script messagesā, itās reported by my script or you see it in mavproxy?
Here is a pic after boot.
Layout as follows
GPS TX2/RX2 (serial 3)
CF NANO TX1/RX1 (Serial 2)
DJI MSP TX8/RX8 (Serial 5)
Control link and telem working
That is plane right? That message is under investigation, check here Message - No RC Receiver.
Also please update to the latest beta of my widget https://github.com/yaapu/FrskyTelemetryScript/releases/tag/Horus-Widget-1.9.5-beta1
Hi. Im have many freezes with crossfire script when opening ardupilot in device list to change pids over crsf. Some time have freeze, many time im have only one first pid. Some time im have all parameters. Where problem?
arducopter 4.1 b5
Hi @Evgen_Stenkin - yeah there are some problems here that we havenāt been able to nail down, it appears to be related to the CRSF FW version. For instance tracer is much worse for me in the respect. I donāt think its an AP problem - more a TBS problem. Generally if you wait the parameters will eventually appear.
If - I would not write
it is very rare that you need to wait - most of the time the script either hangs - just a blank screen and everything (need restart script), or just shows one parameter first - and how long you wait, others will not appear. At the same time, when you just need to wait, three dots appear on the left on all lines - as if the AP replied that there are many parameters, but when there is only one parameter, then it is either immediately shown without waiting, or one line with three dots appears and one will come out anyway the first parameter and nothing else.
Crossfire FW - 4.11
Iām think this is some issue maybe in lua script -
do not have any thoughts what could it be?
p.s. maybe problem in long device name (or some symbols) for AP version sent by AP?
in script this place try load all fields from the received data:
local function fieldGetString(data, offset)
local result = ""
while data[offset] ~= 0 do
result = result .. string.char(data[offset])
offset = offset + 1
end
offset = offset + 1
return result, offset
end
local function parseDeviceInfoMessage(data)
local offset
deviceId = data[2]
deviceName, offset = fieldGetString(data, 3)
local fields_count = data[offset+12]
for i=1, fields_count do
fields[i] = { name=nil }
end
end
I know there are some issues with the script - TBS recommends using Agent Lite https://www.team-blacksheep.com/products/prod:agentx these days and I did some work with them to support AP properly, so you should try that in the first instance.
Yes, but we were not talking about using a computer for configuration - we are only talking about the incorrect operation of the script and the AP.
How iām can debug what AP sends or recieving in param mode? Using USB is it possible?
Betaflight have such functional - need test crossfire with BF - if BF havent this problems - this is 100% AP bugs.
You misunderstand. Agent Lite is a LUA script that runs on your TX - try it.
Oh sorry thanks. Yes this is more better - than default in opentx.
TBS have app for android - iām try using this app and have problems as in default script - iām think need litle tweak AP logics for thisā¦ imho.
As im say problem in device name - iām edit AP version to const string and problems go out!
In AP_CRSF_Telem.cpp -
// write out the name with version, max width is 60 - 18 = the meaning of life
//int32_t n = strlen(fwver.fw_string);
int32_t n = strlen("Ardupilot");
//strncpy((char*)_telem.ext.info.payload, fwver.fw_short_string, 41);
strncpy((char*)_telem.ext.info.payload, "Ardupilot", 41);
For working default script - need fix this or make changes to opentx scripts, anroid app and so on - which is easier?