APM:Libraries
|
#include <AP_Mount_Servo.h>
Public Member Functions | |
AP_Mount_Servo (AP_Mount &frontend, AP_Mount::mount_state &state, uint8_t instance) | |
virtual void | init (const AP_SerialManager &serial_manager) |
virtual void | update () |
virtual bool | has_pan_control () const |
virtual void | set_mode (enum MAV_MOUNT_MODE mode) |
virtual void | status_msg (mavlink_channel_t chan) |
![]() | |
AP_Mount_Backend (AP_Mount &frontend, AP_Mount::mount_state &state, uint8_t instance) | |
virtual | ~AP_Mount_Backend (void) |
virtual void | update_fast () |
virtual void | set_angle_targets (float roll, float tilt, float pan) |
virtual void | set_roi_target (const struct Location &target_loc) |
virtual void | control (int32_t pitch_or_lat, int32_t roll_or_lon, int32_t yaw_or_alt, MAV_MOUNT_MODE mount_mode) |
virtual void | configure_msg (mavlink_message_t *msg) |
virtual void | control_msg (mavlink_message_t *msg) |
virtual void | handle_gimbal_report (mavlink_channel_t chan, mavlink_message_t *msg) |
virtual void | handle_param_value (mavlink_message_t *msg) |
virtual void | send_gimbal_report (mavlink_channel_t chan) |
Private Member Functions | |
void | check_servo_map () |
void | stabilize () |
int16_t | closest_limit (int16_t angle, int16_t angle_min, int16_t angle_max) |
void | move_servo (uint8_t rc, int16_t angle, int16_t angle_min, int16_t angle_max) |
move_servo - moves servo with the given id to the specified angle. all angles are in degrees * 10 More... | |
Private Attributes | |
struct { | |
bool roll_control:1 | |
bool tilt_control:1 | |
bool pan_control:1 | |
} | _flags |
SRV_Channel::Aux_servo_function_t | _roll_idx |
SRV_Channel::Aux_servo_function_t | _tilt_idx |
SRV_Channel::Aux_servo_function_t | _pan_idx |
SRV_Channel::Aux_servo_function_t | _open_idx |
Vector3f | _angle_bf_output_deg |
uint32_t | _last_check_servo_map_ms |
Additional Inherited Members | |
![]() | |
void | update_targets_from_rc () |
int32_t | angle_input (RC_Channel *rc, int16_t angle_min, int16_t angle_max) |
float | angle_input_rad (RC_Channel *rc, int16_t angle_min, int16_t angle_max) |
void | calc_angle_to_location (const struct Location &target, Vector3f &angles_to_target_rad, bool calc_tilt, bool calc_pan, bool relative_pan=true) |
MAV_MOUNT_MODE | get_mode (void) const |
![]() | |
AP_Mount & | _frontend |
AP_Mount::mount_state & | _state |
uint8_t | _instance |
Vector3f | _angle_ef_target_rad |
Definition at line 14 of file AP_Mount_Servo.h.
|
inline |
|
private |
Definition at line 108 of file AP_Mount_Servo.cpp.
Referenced by init(), and update().
|
private |
Definition at line 170 of file AP_Mount_Servo.cpp.
Referenced by move_servo().
|
inlinevirtual |
Implements AP_Mount_Backend.
Definition at line 39 of file AP_Mount_Servo.h.
|
virtual |
Implements AP_Mount_Backend.
Definition at line 6 of file AP_Mount_Servo.cpp.
Referenced by AP_Mount_Servo().
|
private |
move_servo - moves servo with the given id to the specified angle. all angles are in degrees * 10
Definition at line 196 of file AP_Mount_Servo.cpp.
Referenced by update().
|
virtual |
Implements AP_Mount_Backend.
Definition at line 98 of file AP_Mount_Servo.cpp.
Referenced by has_pan_control().
|
private |
< holds 3 x 3 matrix, var is used as temp in calcs
< Rotation matrix earth to camera. Desired camera from input.
< Rotation matrix from plane to camera. Then Euler angles to the servos.
Definition at line 124 of file AP_Mount_Servo.cpp.
Referenced by update().
|
virtual |
Reimplemented from AP_Mount_Backend.
Definition at line 116 of file AP_Mount_Servo.cpp.
Referenced by has_pan_control().
|
virtual |
Implements AP_Mount_Backend.
Definition at line 26 of file AP_Mount_Servo.cpp.
Referenced by AP_Mount_Servo().
|
private |
Definition at line 75 of file AP_Mount_Servo.h.
Referenced by stabilize(), status_msg(), and update().
struct { ... } AP_Mount_Servo::_flags |
Referenced by AP_Mount_Servo(), check_servo_map(), has_pan_control(), and update().
|
private |
Definition at line 77 of file AP_Mount_Servo.h.
Referenced by update().
|
private |
Definition at line 73 of file AP_Mount_Servo.h.
|
private |
Definition at line 72 of file AP_Mount_Servo.h.
Referenced by check_servo_map(), init(), and update().
|
private |
Definition at line 70 of file AP_Mount_Servo.h.
Referenced by check_servo_map(), init(), and update().
|
private |
Definition at line 71 of file AP_Mount_Servo.h.
Referenced by check_servo_map(), init(), and update().
bool AP_Mount_Servo::pan_control |
Definition at line 53 of file AP_Mount_Servo.h.
bool AP_Mount_Servo::roll_control |
Definition at line 51 of file AP_Mount_Servo.h.
bool AP_Mount_Servo::tilt_control |
Definition at line 52 of file AP_Mount_Servo.h.