Commit Graph

20 Commits

Author SHA1 Message Date
acfloria 975d7ddcb2 IridiumSBD: Clean up MavLink message parsing 2018-04-11 15:15:28 +02:00
acfloria f1a6aecb4d IridiumSBD: Log tx buffer reset in the telemetry_status instead of a status text 2018-04-11 15:15:28 +02:00
acfloria 53fdbb6c04 Remove unnecessary newlines 2018-04-11 15:15:28 +02:00
acfloria b66b997c66 IridiumSBD: Robustify state machine and fix format
- Check if changing to a non standby state if the current state is the standy state and no change is already scheduled.
- Add prefix _ to all class variables
2018-04-11 15:15:28 +02:00
acfloria 0e89a6b8bd IridiumSBD: Do not allow stopping the driver when the device is used to prevent hardfault 2018-04-11 15:15:28 +02:00
acfloria d4f703bde8 IridiumSBD: Improve TX buffer handling
- Allow using the full buffer size (340 bytes)
- Add tx mutex for sbd session to avoid dropping message which are written during an sbd session
2018-04-11 15:15:28 +02:00
acfloria 28da1492d3 IridiumSBD: Only write to modem if new data arrived 2018-04-11 15:15:28 +02:00
acfloria 44937c3a99 Iridiumsbd driver: Publish log message when TX buffer is deleted 2018-04-11 15:15:28 +02:00
acfloria 47567c5c24 Improve IridiumSBD TX buffer handling
- Every time data is written to the iridium module all previous untransmitted data is overwritten
- The buffer is reset only on the following conditions
    - A sbd session is successfully completed
    - An incoming mavlink message would result in less than SATCOM_MIN_TX_BUF_SPACE free bytes after it is written
    - Any other incomming data would result in less than SATCOM_MIN_TX_BUF_SPACE free bytes after it is written to the buffer.
2018-04-11 15:15:28 +02:00
acfloria ebb5ec7c46 Fix bug when ISBD parameters were too large 2018-04-11 15:15:28 +02:00
acfloria 392af4fbb6 Small improvements for the IridiumSBD driver 2018-04-11 15:15:28 +02:00
acfloria fa1586249a Fixes IridiumSBD driver bug when transmitting data 2018-04-11 15:15:28 +02:00
acfloria 78950f2b39 Fix format and remove ets driver from fmu-v2 build 2018-04-11 15:15:28 +02:00
acfloria 00f6ef1d2f Style fix and iridium signal check rate fix 2018-04-11 15:15:28 +02:00
acfloria b613ca051a Refactor Iridiumsbd driver
- Reorder functions so that they have the same order in the .h and .cpp file
- Update documentation for functions
- Make variables and some functions private
2018-04-11 15:15:28 +02:00
acfloria 634697946a Add switch logic for high latency telemetry in commander
Switch to the high latency telemetry, if available, if every low latency link is lost. Switch back if any low latency link is regained. Only indicate that all links are lost if all high and low latency links are lost. Allow different timeouts for high and low latency links.
2018-04-11 15:15:28 +02:00
acfloria 4f256cca20 Improvements for the iridiumsbd driver
- Update heartbeat after successful sbd session and fill it in the telemetry_status message
- Add parameter for session timeout, read interval, and stacking time
- Add sbd session timeout
- Fix updating the rssi at a constant rate when no sbd session is scheduled
- Add variable timout to read_at function
- Check if test command is valid to avoid being stuck in the test state
2018-04-11 15:15:28 +02:00
Daniel Agar 912cb7119e IridiumSBD driver state string constexpr 2018-04-03 18:37:51 -04:00
Daniel Agar 29b3950747 move geo and geo_lookup to PX4/ecl 2018-03-26 23:16:55 -04:00
Daniel Agar c459a04b9b organize all telemetry drivers in subdirectory 2018-02-09 22:40:34 +01:00