Paparazzi UAS
v5.8.2_stable-0-g6260b7c
Paparazzi is a free software Unmanned Aircraft System.
|
Camera control module for rotorcraft. More...
#include "std.h"
#include "generated/airframe.h"
#include "math/pprz_algebra_int.h"
#include "mcu_periph/gpio.h"
Go to the source code of this file.
Macros | |
#define | ROTORCRAFT_CAM_MODE_NONE 0 |
#define | ROTORCRAFT_CAM_MODE_MANUAL 1 |
#define | ROTORCRAFT_CAM_MODE_HEADING 2 |
#define | ROTORCRAFT_CAM_MODE_WP 3 |
#define | ROTORCRAFT_CAM_DEFAULT_MODE ROTORCRAFT_CAM_MODE_NONE |
Default mode is NONE. More... | |
#define | ROTORCRAFT_CAM_USE_TILT 0 |
Cam tilt control. More... | |
#define | ROTORCRAFT_CAM_USE_PAN 1 |
Use angles for tilt in HEADING and WP modes. More... | |
#define | rotorcraft_cam_SetCamMode(_v) |
Set camera mode. More... | |
#define | ROTORCRAFT_CAM_STICK_TILT_INC RadOfDeg(10.) |
Cam control from datalink message. More... | |
#define | ROTORCRAFT_CAM_STICK_PAN_INC RadOfDeg(20.) |
#define | ROTORCRAFT_CAM_STICK_PARSE(_dl_buffer) |
Functions | |
void | rotorcraft_cam_init (void) |
void | rotorcraft_cam_periodic (void) |
void | rotorcraft_cam_set_mode (uint8_t mode) |
Variables | |
uint8_t | rotorcraft_cam_mode |
WP control. More... | |
int16_t | rotorcraft_cam_tilt |
int16_t | rotorcraft_cam_pan |
int16_t | rotorcraft_cam_tilt_pwm |
Camera control module for rotorcraft.
The camera is controled by the heading of the vehicle for pan and can be controlled by a servo for tilt if defined.
Four modes:
The CAM_SWITCH can be used to power the camera in normal modes and disable it when in NONE mode
Definition in file rotorcraft_cam.h.
#define ROTORCRAFT_CAM_DEFAULT_MODE ROTORCRAFT_CAM_MODE_NONE |
Default mode is NONE.
Definition at line 55 of file rotorcraft_cam.h.
Referenced by rotorcraft_cam_init().
#define ROTORCRAFT_CAM_MODE_HEADING 2 |
Definition at line 50 of file rotorcraft_cam.h.
Referenced by rotorcraft_cam_periodic().
#define ROTORCRAFT_CAM_MODE_MANUAL 1 |
Definition at line 49 of file rotorcraft_cam.h.
Referenced by rotorcraft_cam_periodic().
#define ROTORCRAFT_CAM_MODE_NONE 0 |
Definition at line 48 of file rotorcraft_cam.h.
Referenced by rotorcraft_cam_periodic(), and rotorcraft_cam_set_mode().
#define ROTORCRAFT_CAM_MODE_WP 3 |
Definition at line 51 of file rotorcraft_cam.h.
Referenced by rotorcraft_cam_periodic().
#define rotorcraft_cam_SetCamMode | ( | _v | ) |
Set camera mode.
Camera is powered down in NONE mode if CAM_{ON|OFF} are defined
Definition at line 104 of file rotorcraft_cam.h.
#define ROTORCRAFT_CAM_STICK_PAN_INC RadOfDeg(20.) |
Definition at line 116 of file rotorcraft_cam.h.
#define ROTORCRAFT_CAM_STICK_PARSE | ( | _dl_buffer | ) |
Definition at line 119 of file rotorcraft_cam.h.
#define ROTORCRAFT_CAM_STICK_TILT_INC RadOfDeg(10.) |
Cam control from datalink message.
camera tilt and pan are incremented by STICK_TILT_INC and STICK_PAN_INC when maximum command is received from the stick
Definition at line 113 of file rotorcraft_cam.h.
#define ROTORCRAFT_CAM_USE_PAN 1 |
Use angles for tilt in HEADING and WP modes.
Cam pan control. By default use pan control (heading)
Definition at line 79 of file rotorcraft_cam.h.
#define ROTORCRAFT_CAM_USE_TILT 0 |
Cam tilt control.
By default use tilt control if a servo is assigned
Definition at line 64 of file rotorcraft_cam.h.
void rotorcraft_cam_init | ( | void | ) |
Definition at line 109 of file rotorcraft_cam.c.
References DefaultPeriodic, gpio_setup_output(), register_periodic_telemetry(), ROTORCRAFT_CAM_DEFAULT_MODE, rotorcraft_cam_pan, rotorcraft_cam_set_mode(), rotorcraft_cam_tilt, rotorcraft_cam_tilt_pwm, and send_cam().
void rotorcraft_cam_periodic | ( | void | ) |
Definition at line 127 of file rotorcraft_cam.c.
References int32_atan2(), INT32_COURSE_NORMALIZE, INT32_POS_FRAC, INT32_VECT2_NORM, INT32_VECT2_RSHIFT, nav_heading, Int32Eulers::psi, rotorcraft_cam_mode, ROTORCRAFT_CAM_MODE_HEADING, ROTORCRAFT_CAM_MODE_MANUAL, ROTORCRAFT_CAM_MODE_NONE, ROTORCRAFT_CAM_MODE_WP, rotorcraft_cam_pan, rotorcraft_cam_tilt, rotorcraft_cam_tilt_pwm, stateGetNedToBodyEulers_i(), stateGetPositionEnu_i(), VECT2_DIFF, waypoints, Int32Vect2::x, Int32Vect2::y, and EnuCoor_i::z.
void rotorcraft_cam_set_mode | ( | uint8_t | mode | ) |
Definition at line 97 of file rotorcraft_cam.c.
References rotorcraft_cam_mode, ROTORCRAFT_CAM_MODE_NONE, ROTORCRAFT_CAM_OFF, and ROTORCRAFT_CAM_ON.
Referenced by rotorcraft_cam_init().
uint8_t rotorcraft_cam_mode |
WP control.
By default use WP_CAM waypoint if defined
Definition at line 69 of file rotorcraft_cam.c.
Referenced by rotorcraft_cam_periodic(), and rotorcraft_cam_set_mode().
int16_t rotorcraft_cam_pan |
Definition at line 87 of file rotorcraft_cam.c.
Referenced by rotorcraft_cam_init(), rotorcraft_cam_periodic(), and send_cam().
int16_t rotorcraft_cam_tilt |
Definition at line 75 of file rotorcraft_cam.c.
Referenced by rotorcraft_cam_init(), rotorcraft_cam_periodic(), and send_cam().
int16_t rotorcraft_cam_tilt_pwm |
Definition at line 76 of file rotorcraft_cam.c.
Referenced by rotorcraft_cam_init(), and rotorcraft_cam_periodic().