32#include "pprzlink/messages.h"
36#define LIDAR_MIN_RANGE 0.1
37#define LIDAR_MAX_RANGE 12.0
50 pprz_msg_send_LIDAR(trans,
dev, AC_ID,
66 tfmini.update_agl = USE_TFMINI_AGL;
67 tfmini.device = &((TFMINI_PORT).device);
85#if USE_LIDAR_CORRECTION
90 struct NedCoor_i ned = {0.0f, 0.0f, 0.0f};
92 pos.
x = (float)(ned.
y / 100.0f);
93 pos.
y = (float)(ned.
x / 100.0f);
101 float min_distance = FLT_MAX;
110 if (distance < min_distance && distance > 0) {
111 min_distance = distance;
134 tfmini.distance = distance;
146#ifndef USE_SERVO_LIDAR
Main include for ABI (AirBorneInterface).
#define AGL_LIDAR_TFMINI_ID
uint32_t get_sys_time_usec(void)
Get the time in microseconds since startup.
Common code for AP and FBW telemetry.
static struct uart_periph * dev
struct GpsState gps
global GPS state
void ned_of_lla_point_i(struct NedCoor_i *ned, struct LtpDef_i *def, struct LlaCoor_i *lla)
Convert a point from LLA to local NED.
vector in North East Down coordinates
static struct FloatEulers * stateGetNedToBodyEulers_f(void)
Get vehicle body attitude euler angles (float).
static bool stateIsLocalCoordinateValid(void)
Test if local coordinates are valid.
static struct EnuCoor_f * stateGetPositionEnu_f(void)
Get position in local ENU coordinates (float).
static struct LtpDef_i * stateGetNedOrigin_i(void)
Get the coordinate NED frame origin (int).
float distance_to_wall(float theta, const struct FloatVect2 *P, const struct FloatVect2 *A, const struct FloatVect2 *B)
struct WallSystem wall_system
struct FloatVect2 points_ltp[MAX_POINTS]
struct ServoLidar servoLidar
API to get/set the generic vehicle states.
int16_t register_periodic_telemetry(struct periodic_telemetry *_pt, uint16_t _id, telemetry_cb _cb)
Register a telemetry callback function.
Periodic telemetry system header (includes downlink utility and generated code).
#define DefaultPeriodic
Set default periodic telemetry.
static void tfmini_send_lidar(struct transport_tx *trans, struct link_device *dev)
Downlink message lidar.
driver for the TFMini lidar
void tfmini_event(void)
Lidar event function Receive bytes from the UART port and parse them.
static void tfmini_send_lidar(struct transport_tx *trans, struct link_device *dev)
Downlink message lidar.
void sim_overwrite_lidar(void)
void setLidarDistance_f(float distance)
Set the distance of the lidar This function is used in NPS to set the distance of the lidar.
void tfmini_send_abi(void)
void tfmini_init(void)
Initialization function.
unsigned int uint32_t
Typedef defining 32 bit unsigned int type.
unsigned char uint8_t
Typedef defining 8 bit unsigned char type.