33 #include "pprzlink/messages.h"
34 #include "pprzlink/intermcu_msg.h"
43 #ifndef FORWARD_IMAGE_DATA
44 #define FORWARD_IMAGE_DATA FALSE
66 #if !defined(STEREO_BODY_TO_STEREO_PHI) || !defined(STEREO_BODY_TO_STEREO_THETA) || !defined(STEREO_BODY_TO_STEREO_PSI)
67 #warning "STEREO_BODY_TO_STEREO_XXX not defined. Using default Euler rotation angles (0,0,0)"
70 #ifndef STEREO_BODY_TO_STEREO_PHI
71 #define STEREO_BODY_TO_STEREO_PHI 0
74 #ifndef STEREO_BODY_TO_STEREO_THETA
75 #define STEREO_BODY_TO_STEREO_THETA 0
78 #ifndef STEREO_BODY_TO_STEREO_PSI
79 #define STEREO_BODY_TO_STEREO_PSI 0
88 #ifndef STEREOCAM_USE_MEDIAN_FILTER
89 #define STEREOCAM_USE_MEDIAN_FILTER 0
101 pprz_transport_init(&stereocam.
transport);
115 case DL_STEREOCAM_VELOCITY: {
171 case DL_STEREOCAM_ARRAY: {
172 #if FORWARD_IMAGE_DATA
186 #ifdef STEREOCAM_FOLLOWME
188 case DL_STEREOCAM_FOLLOW_ME: {
223 pprz_msg_send_STEREOCAM_STATE(&(stereocam.
transport.trans_tx), stereocam.
device,
224 AC_ID, &(cam_angles.
phi), &(cam_angles.
theta), &(cam_angles.
psi), &agl);
bool msg_available
If we received a message.
arch independent UART (Universal Asynchronous Receiver/Transmitter) API
#define float_rmat_of_eulers
void float_rmat_mult(struct FloatEulers *rb, struct FloatRMat *m_a2b, struct FloatEulers *ra)
rotate angle by rotation matrix.
static struct FloatEulers * stateGetNedToBodyEulers_f(void)
Get vehicle body attitude euler angles (float).
Periodic telemetry system header (includes downlink utility and generated code).
Main include for ABI (AirBorneInterface).
struct FloatRMat body_to_cam
IMU to stereocam rotation.
static void stereocam_parse_msg(void)
#define STEREO_BODY_TO_STEREO_PSI
static uint8_t stereocam_msg_buf[256]
The message buffer for the stereocamera.
struct pprz_transport transport
The transport layer (PPRZ)
void float_rmat_transp_vmult(struct FloatVect3 *vb, struct FloatRMat *m_b2a, struct FloatVect3 *va)
rotate 3D vector by transposed rotation matrix.
Architecture independent timing functions.
void state2stereocam(void)
interface to the TU Delft serial stereocam
struct MedianFilter3Float medianfilter
struct stereocam_t stereocam
#define STEREOCAM_USE_MEDIAN_FILTER
struct link_device * device
The device which is uses for communication.
static void h(const real32_T x[7], const real32_T q[4], real32_T y[6])
void follow_me(uint8_t headingToFollow, uint8_t heightObject, uint8_t distanceToObject)
#define STEREO_BODY_TO_STEREO_PHI
void stereocam_event(void)
uint32_t get_sys_time_usec(void)
Get the time in microseconds since startup.
#define STEREO_BODY_TO_STEREO_THETA
void stereocam_init(void)