Commit Graph

61 Commits

Author SHA1 Message Date
yaapu e9e02542f1 AP_Frsky_Telem: fix for missing WFQ scheduler initialization
this fixes a missing WFQ scheduler initialization and sets a rate limiter on
status text messages to prevent text corruption
2020-01-11 07:52:09 +11:00
Andrew Tridgell 3556f33051 AP_Frsky_Telem: fixed a race condition with statustext handling
this fixes an issue that can cause a hardfault. See this bug report:

https://discuss.ardupilot.org/t/hexa-crash-after-watchdog-reset/50917

ObjectArray is not thread safe
2020-01-10 19:43:36 +11:00
Andrew Tridgell 9579e64a03 AP_Frsky_Telem: make get_telem_data() static
auto-create the object when it is needed for FPort
2020-01-02 09:52:57 +11:00
Andrew Tridgell 49f81fbd18 AP_FrSky_Telem: allow for external library to send SPort data
this provides the API needed for AP_RCProtocol_FPort to send
passthrough data over FPORT
2020-01-02 09:52:57 +11:00
yaapu dddfaa256f Ap_Frsky_Telem: replaced the passthrough scheduler with a WFQ one.
This replaces the default scheduler with a WFQ one
2019-10-29 10:27:17 +11:00
Andrew Tridgell 7afd51d03e AP_Frsky_Telem: move FrSky handling to it's own thread
we are getting timing issues sharing with the other users of the IO
thread. The FrSky protocols are quite timing sensitive, so this should
help
2019-09-05 10:50:17 +10:00
Michael du Breuil 67898d7320 AP_FrSky_Telem: Don't statically allocate the statustext_queue
This saves 280 bytes of RAM
2019-06-26 11:59:41 +10:00
Michael du Breuil 59e62ca2fc AP_FrSky_Telem: Make init return false if we failed to init 2019-06-26 11:59:41 +10:00
yaapu efdad1fca7 AP_Frsky_Telem: fix for passthrough telemetry stall while sending message chunks
This prevents the library from giving message chunks a too high priority leading to
all telemetry packets but 0x5006(attitude) to starve.
2019-03-26 13:01:59 +11:00
Luis Vale Gonçalves 70c1414026 FrSky: Adjusted offsets
Following up on @yaapu comment https://github.com/ArduPilot/ardupilot/pull/10499#issuecomment-474625077
2019-03-22 09:49:01 +11:00
Peter Barker 1efc08b54e AP_FrSky_Telem: eliminate use of Copter's _ap data 2019-03-19 14:39:14 +11:00
Peter Barker 0194cd69a1 AP_Frsky_Telem: take is_flying from AP_Notify 2019-03-19 14:39:14 +11:00
Peter Barker 680008ba4f AP_Frsky_Telem: use gcs() to get frame string 2019-03-19 14:39:14 +11:00
Peter Barker e5818308b9 AP_Frsky_Telem: move FRsky telemetry up into common GCS telemetry class 2019-03-19 14:39:14 +11:00
Peter Barker 9023e6eb7d AP_Frsky_Telem: use rangefinder singleton 2019-02-12 17:53:23 +00:00
Peter Barker 4776183554 AP_Frsky_Telem: use battery singleton 2019-02-12 17:53:23 +00:00
Peter Barker 53111129f2 AP_Frsky_Telem: use AHRS singleton 2019-02-12 17:53:23 +00:00
Peter Barker db4b1aa7aa AP_Frsky_Telem: use serialmanager singleton 2019-02-12 17:53:23 +00:00
Jochen Anglett 1c60417d03 AP_Frsky_Telem: add IMU temperature reporting 2018-10-02 12:02:04 +01:00
Peter Barker 4168bd709c AP_Frsky_Telem: use AP_FWVersion singleton 2018-06-18 19:10:37 +01:00
Michael du Breuil 3f581d0479 AP_Frsky_Telem: Remove unneeded battery failsafe parameters 2018-03-27 22:12:21 +01:00
Andrew Tridgell c618a27ee0 AP_Frsky_Telem: removed create() method for objects
See discussion here:

  https://github.com/ArduPilot/ardupilot/issues/7331

we were getting some uninitialised variables. While it only showed up in
AP_SbusOut, it means we can't be sure it won't happen on other objects,
so safest to remove the approach

Thanks to assistance from Lucas, Peter and Francisco
2017-12-14 08:12:28 +11:00
Florent Martel fee79afb8e AP_Frsky_Telem: add second battery info 2017-10-27 02:00:29 -07:00
Florent Martel 5d9299d72f AP_Frsky_Telem: add second battery capacity parameter 2017-10-27 02:00:29 -07:00
Lucas De Marchi 8b5d799885 AP_Frsky_Telem: add static create method 2017-09-26 03:01:21 +01:00
Florent Martel 949aa4d9ca AP_Frsky_Telem: replace VDOP with extra GPS status bits
This removes VDOP (not really that useful) and replaces two of those
bits with GPS status info that now allows to differentiate between 3D
fix, DGPS, RTK Float, and RTK Fixed. This is written to maximize
backwards compatibility (by not shifting any other bits of the
gps_status variable)
2017-04-19 17:43:17 +01:00
Florent Martel 75905be376 AP_Frsky_Telem: simplified set_is_flying and moved to header file 2016-11-04 12:00:02 -07:00
Florent Martel bc4ab70c1c AP_Frsky_Telem: added const to some declarations 2016-11-04 11:18:28 -07:00
Florent Martel 328e6d6886 AP_Frsky_Telem: removed sending redundant VSpd, Alt, and VFAS sensor values, which can now be handled by OpenTX 2016-11-04 11:10:09 -07:00
floaledm 5386edb791 AP_Frsky_Telem: fix setting of land_complete flag
When is_flying is true, land_complete should be set to 0, and
conversely.
2016-11-02 10:26:50 +11:00
floaledm 1aab5eec38 AP_Frsky_Telem: send ap_status only once initialized
Same as what is found in GCS_MAVLink.cpp for copter
2016-11-02 08:31:35 +11:00
Mathieu OTHACEHE 152edf7189 Global: remove mode line from headers
Using a global .dir-locals.el file is a better alternative than
reincluding the same emacs header in every file of the project.
2016-10-24 09:42:01 -02:00
Peter Barker 6ccf36439d AP_Frsky_Telem: actually set _ap.value flags based in is_flying
Closes #5017
2016-10-18 22:17:07 -07:00
floaledm 602b81a4d7 AP_Frsky_Telem: add ekf_status check 2016-09-27 09:20:32 -07:00
floaledm fcfaa98bb6 AP_Frsky_Telem: reworked _statustext_queue.empty() check 2016-09-26 13:07:18 -07:00
Tom Pittenger 8001cc403b AP_Frsky_Telem: fix is_flying assignment 2016-09-26 13:00:33 -07:00
floaledm 5e022bf631 AP_Frsky_Telem: fix *_ap.value issue for Plane
set_is_flying does operations on a nullptr, plus we loose the ability to
update ap_status accordingly for Plane
2016-09-26 12:35:47 -05:00
floaledm ff0d0b1aa5 AP_Frsky_Telem: use ringbuffer for Frsky message queueing 2016-09-25 18:11:45 -07:00
Tom Pittenger 6991ca53b3 AP_Frsky_Telem: allow default arguments in init() to set things to nullptr 2016-09-25 10:42:02 -07:00
floaledm 94aa6c4cfb AP_Frsky_Telem: consolidate into a single frsky.init() 2016-09-25 10:42:02 -07:00
floaledm 5125846ac0 AP_Frsky_Telem: Plane support 2016-09-21 12:12:37 -07:00
floaledm b2b6c88edf AP_Frsky_Telem: renamed vars and funcs for consistency/clarity 2016-09-21 11:32:21 -07:00
floaledm 4d03be94cf AP_Frsky_Telem: removed reliance on home_distance and home_bearing which are only in copter 2016-09-06 11:42:32 +10:00
floaledm 33bd359463 AP_Frsky_Telem: LANDCOMPLETE switched to to ISFLYING flag 2016-09-06 11:23:29 +10:00
Andrew Tridgell a4ca4dbd9e AP_FrSky_Telem: use a constant string for firmware version 2016-08-25 11:00:17 +10:00
Andrew Tridgell 62388fc991 AP_FrSky_Telem: use constant strings in message queueing 2016-08-25 10:29:57 +10:00
Andrew Tridgell 183283ba07 AP_FrSky_Telem: make _msg non-static
there are no calls to this from outside the library. If we do add some
then we can change the API as needed
2016-08-25 10:23:03 +10:00
Andrew Tridgell 185ef73684 AP_Frsky_Telem: fixed usage of sensor error bits
using these asyncronously via pointers is error prone as the updates
to these masks is not atomic relative to the IO callback in
AP_Frsky_Telem
2016-08-25 10:16:19 +10:00
Andrew Tridgell f4d59d720a AP_FrSky_Telem: removed use of pointer to control_mode
it is an enum, and it is invalid to take a pointer to an enum as a
uint8_t*
2016-08-25 10:16:19 +10:00
Andrew Tridgell ab77fdfa02 AP_FrSky_Telem: removed dependency on inertialnav
the AP_InertialNav library is deprecated in favor of AP_AHRS. We
should not introduce a new dependency on it
2016-08-25 10:16:19 +10:00