You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
1.6 KiB
67 lines
1.6 KiB
14 years ago
|
/// -*- tab-width: 4; Mode: C++; c-basic-offset: 4; indent-tabs-mode: nil -*-
|
||
14 years ago
|
|
||
14 years ago
|
//#if CAMERA_STABILIZER == ENABLED
|
||
14 years ago
|
|
||
14 years ago
|
static void init_camera()
|
||
14 years ago
|
{
|
||
14 years ago
|
g.rc_camera_pitch.set_angle(4500);
|
||
14 years ago
|
g.rc_camera_pitch.radio_min = 1200;
|
||
14 years ago
|
g.rc_camera_pitch.radio_trim = 1500;
|
||
14 years ago
|
g.rc_camera_pitch.radio_max = 1900;
|
||
14 years ago
|
//g.rc_camera_pitch.set_reverse(1);
|
||
14 years ago
|
|
||
|
// ch 6 high right is down.
|
||
|
|
||
14 years ago
|
|
||
14 years ago
|
g.rc_camera_roll.set_angle(4500);
|
||
|
g.rc_camera_roll.radio_min = 1000;
|
||
|
g.rc_camera_roll.radio_trim = 1500;
|
||
|
g.rc_camera_roll.radio_max = 2000;
|
||
14 years ago
|
|
||
|
g.rc_camera_roll.set_type(RC_CHANNEL_ANGLE_RAW);
|
||
|
g.rc_camera_pitch.set_type(RC_CHANNEL_ANGLE_RAW);
|
||
14 years ago
|
}
|
||
|
|
||
14 years ago
|
static void
|
||
14 years ago
|
camera_stabilization()
|
||
|
{
|
||
14 years ago
|
// PITCH
|
||
|
// -----
|
||
14 years ago
|
// allow control mixing
|
||
14 years ago
|
g.rc_camera_pitch.set_pwm(APM_RC.InputCh(CH_6)); // I'm using CH 6 input here.
|
||
14 years ago
|
g.rc_camera_pitch.servo_out = g.rc_camera_pitch.control_mix(dcm.pitch_sensor);
|
||
14 years ago
|
// limit
|
||
|
g.rc_camera_pitch.servo_out = constrain(g.rc_camera_pitch.servo_out, -4500, 4500);
|
||
14 years ago
|
|
||
|
// dont allow control mixing
|
||
14 years ago
|
/*
|
||
|
g.rc_camera_pitch.servo_out = dcm.pitch_sensor * -1;
|
||
|
*/
|
||
14 years ago
|
|
||
14 years ago
|
|
||
|
// ROLL
|
||
|
// -----
|
||
|
// allow control mixing
|
||
|
/*
|
||
|
g.rc_camera_roll.set_pwm(APM_RC.InputCh(CH_6)); // I'm using CH 6 input here.
|
||
|
g.rc_camera_roll.servo_out = g.rc_camera_roll.control_mix(-dcm.roll_sensor);
|
||
|
*/
|
||
|
|
||
|
// dont allow control mixing
|
||
14 years ago
|
// limit
|
||
|
g.rc_camera_roll.servo_out = constrain(-dcm.roll_sensor, -4500, 4500);
|
||
14 years ago
|
|
||
|
|
||
|
|
||
|
// Output
|
||
|
// ------
|
||
|
g.rc_camera_pitch.calc_pwm();
|
||
14 years ago
|
g.rc_camera_roll.calc_pwm();
|
||
14 years ago
|
|
||
14 years ago
|
APM_RC.OutputCh(CH_5, g.rc_camera_pitch.radio_out);
|
||
|
APM_RC.OutputCh(CH_6, g.rc_camera_roll.radio_out);
|
||
14 years ago
|
//Serial.printf("c:%d\n", g.rc_camera_pitch.radio_out);
|
||
14 years ago
|
}
|
||
|
|
||
14 years ago
|
//#endif
|