|
Paparazzi UAS
v5.18.0_stable
Paparazzi is a free software Unmanned Aircraft System.
|
Go to the documentation of this file.
36 #include "pprzlink/messages.h"
41 #ifndef MATEKSYS_3901_L0X_MOTION_THRES
42 #define MATEKSYS_3901_L0X_MOTION_THRES
45 #ifndef MATEKSYS_3901_L0X_DISTANCE_THRES
46 #define MATEKSYS_3901_L0X_DISTANCE_THRES
49 #ifndef USE_MATEKSYS_3901_L0X_AGL
50 #define USE_MATEKSYS_3901_L0X_AGL
53 #ifndef USE_MATEKSYS_3901_L0X_OPTICAL_FLOW
54 #define USE_MATEKSYS_3901_L0X_OPTICAL_FLOW
57 #ifndef MATEKSYS_3901_L0X_COMPENSATE_ROTATION
58 #define MATEKSYS_3901_L0X_COMPENSATE_ROTATION
67 #if PERIODIC_TELEMETRY
75 pprz_msg_send_OPTICAL_FLOW(trans,
dev, AC_ID,
103 #if PERIODIC_TELEMETRY
160 if (
byte == 0x01 ||
byte == 0x02) {
179 if (
byte == 0x05 ||
byte == 0x09) {
299 float gain = (float)fabs((
double)(cosf(phi) * cosf(theta)));
#define MATEKSYS_3901_L0X_DISTANCE_THRES
enum Mateksys3901l0XParseStatus parse_status
@ MATEKSYS_3901_L0X_PARSE_CHECKSUM
void mateksys3901l0x_init(void)
Initialization function.
@ MATEKSYS_3901_L0X_PARSE_MOTIONY_B3
#define USE_MATEKSYS_3901_L0X_AGL
@ MATEKSYS_3901_L0X_PARSE_DISTANCE_B1
@ MATEKSYS_3901_L0X_PARSE_LENGTH
@ MATEKSYS_3901_L0X_PARSE_HEAD2
static struct FloatEulers * stateGetNedToBodyEulers_f(void)
Get vehicle body attitude euler angles (float).
@ MATEKSYS_3901_L0X_PARSE_DISTANCE_B2
@ MATEKSYS_3901_L0X_PARSE_DISTANCE_B4
@ MATEKSYS_3901_L0X_PARSE_DISTANCE_B3
@ MATEKSYS_3901_L0X_PARSE_POINTER
@ MATEKSYS_3901_L0X_PARSE_DISTANCEQUALITY
uint32_t get_sys_time_usec(void)
Get the time in microseconds since startup.
struct link_device * device
arch independent UART (Universal Asynchronous Receiver/Transmitter) API
@ MATEKSYS_3901_L0X_PARSE_MOTIONX_B4
#define FLOW_OPTICFLOW_MATEKSYS_3901_L0X_ID
@ MATEKSYS_3901_L0X_INITIALIZE
static const struct usb_device_descriptor dev
struct Mateksys3901l0X mateksys3901l0x
@ MATEKSYS_3901_L0X_PARSE_MOTIONX_B3
@ MATEKSYS_3901_L0X_PARSE_DIRECTION
int8_t register_periodic_telemetry(struct periodic_telemetry *_pt, uint8_t _id, telemetry_cb _cb)
Register a telemetry callback function.
@ MATEKSYS_3901_L0X_PARSE_MOTIONX_B2
@ MATEKSYS_3901_L0X_PARSE_FUNCTION_ID_B1
#define AGL_LIDAR_MATEKSYS_3901_L0X_ID
@ MATEKSYS_3901_L0X_PARSE_MOTIONY_B1
@ MATEKSYS_3901_L0X_PARSE_MOTIONY_B2
uint8_t distancemm_quality
@ MATEKSYS_3901_L0X_PARSE_MOTIONQUALITY
Common code for AP and FBW telemetry.
@ MATEKSYS_3901_L0X_PARSE_MOTIONX_B1
@ MATEKSYS_3901_L0X_PARSE_SIZE
@ MATEKSYS_3901_L0X_PARSE_HEAD
void mateksys3901l0x_event(void)
Receive bytes from the UART port and parse them.
@ MATEKSYS_3901_L0X_PARSE_MOTIONY_B4
#define MATEKSYS_3901_L0X_MOTION_THRES
#define USE_MATEKSYS_3901_L0X_OPTICAL_FLOW
static void mateksys3901l0x_parse(uint8_t byte)
Parse the sensor MSP output bytes 1 by 1.
@ MATEKSYS_3901_L0X_PARSE_FUNCTION_ID_B2
static void mateksys3901l0x_send_optical_flow(struct transport_tx *trans, struct link_device *dev)
Downlink message flow and lidar (included velocity estimation, not yet tested)
#define DefaultPeriodic
Set default periodic telemetry.
Driver for the mateksys_3901_l0x sensor via MSP protocol output.
#define MATEKSYS_3901_L0X_COMPENSATE_ROTATION