|
dRonin
adbada4
dRonin firmware
|
Telemetry module, handles telemetry and UAVObject updates. More...
#include "openpilot.h"#include <eventdispatcher.h>#include "flighttelemetrystats.h"#include "gcstelemetrystats.h"#include "modulesettings.h"#include "pios_thread.h"#include "pios_mutex.h"#include "pios_queue.h"#include "pios_hal.h"#include <uavtalk.h>Go to the source code of this file.
Data Structures | |
| struct | pending_ack |
| struct | pending_req |
| struct | telemetry_state |
Macros | |
| #define | TELEM_QUEUE_SIZE 60 |
| #define | TELEM_STACK_SIZE 624 |
| #define | MAX_QUEUE_SIZE TELEM_QUEUE_SIZE |
| #define | STACK_SIZE_BYTES TELEM_STACK_SIZE |
| #define | TASK_PRIORITY_RX PIOS_THREAD_PRIO_NORMAL |
| #define | TASK_PRIORITY_TX PIOS_THREAD_PRIO_NORMAL |
| #define | MAX_RETRIES 2 |
| #define | STATS_UPDATE_PERIOD_MS 1753 |
| #define | CONNECTION_TIMEOUT_MS 8000 |
| #define | USB_ACTIVITY_TIMEOUT_MS 6000 |
| #define | MAX_ACKS_PENDING 3 |
| #define | MAX_REQS_PENDING 5 |
| #define | ACK_TIMEOUT_MS 250 |
Typedefs | |
| typedef struct telemetry_state * | telem_t |
Functions | |
| static void | telemetryTxTask (void *parameters) |
| static void | telemetryRxTask (void *parameters) |
| static int32_t | transmitData (void *ctx, uint8_t *data, int32_t length) |
| static void | addAckPending (telem_t telem, UAVObjHandle obj, uint16_t inst_id) |
| static void | ackCallback (void *ctx, uint32_t obj_id, uint16_t inst_id) |
| static void | reqCallback (void *ctx, uint32_t obj_id, uint16_t inst_id) |
| static void | registerObject (telem_t telem, UAVObjHandle obj) |
| static void | updateObject (telem_t telem, UAVObjHandle obj, int32_t eventType) |
| static int32_t | setUpdatePeriod (telem_t telem, UAVObjHandle obj, int32_t updatePeriodMs) |
| static void | processObjEvent (telem_t telem, UAVObjEvent *ev) |
| static void | updateTelemetryStats (telem_t telem) |
| static void | gcsTelemetryStatsUpdated () |
| static void | updateSettings () |
| static uintptr_t | getComPort () |
| static void | update_object_instances (uint32_t obj_id, uint32_t inst_id) |
| static bool | processUsbActivity (bool seen_active) |
| static int32_t | fileReqCallback (void *ctx, uint8_t *buf, uint32_t file_id, uint32_t offset, uint32_t len) |
| static void | registerObjectShim (UAVObjHandle obj) |
| int32_t | TelemetryStart (void) |
| int32_t | TelemetryInitialize (void) |
| static void | ackResendOrTimeout (telem_t telem, int idx) |
| static bool | ackHousekeeping (telem_t telem) |
| static bool | sendRequestedObjs (telem_t telem) |
| static void | gcsTelemetryStatsUpdated (telem_t telem) |
| void | telemetry_set_inhibit (bool inhibit) |
Variables | |
| static struct telemetry_state | telem_state = { } |
Telemetry module, handles telemetry and UAVObject updates.
Definition in file telemetry.c.