2011-03-19 07:20:11 -03:00
|
|
|
/// -*- tab-width: 4; Mode: C++; c-basic-offset: 4; indent-tabs-mode: nil -*-
|
2011-03-08 08:20:48 -04:00
|
|
|
|
2010-12-27 19:03:53 -04:00
|
|
|
void init_camera()
|
|
|
|
{
|
2011-02-17 03:27:57 -04:00
|
|
|
g.rc_camera_pitch.set_angle(4500);
|
|
|
|
g.rc_camera_pitch.radio_min = g.rc_6.radio_min;
|
|
|
|
g.rc_camera_pitch.radio_trim = g.rc_6.radio_trim;
|
|
|
|
g.rc_camera_pitch.radio_max = g.rc_6.radio_max;
|
2011-02-17 05:36:33 -04:00
|
|
|
|
2011-02-17 03:27:57 -04:00
|
|
|
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;
|
2010-12-27 19:03:53 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
void
|
|
|
|
camera_stabilization()
|
|
|
|
{
|
2011-02-17 03:27:57 -04:00
|
|
|
g.rc_camera_pitch.set_pwm(APM_RC.InputCh(CH_6)); // I'm using CH 6 input here.
|
2011-01-28 01:39:17 -04:00
|
|
|
|
|
|
|
// allow control mixing
|
2011-05-09 17:04:02 -03:00
|
|
|
//g.rc_camera_pitch.servo_out = g.rc_camera_pitch.control_mix(dcm.pitch_sensor / 2);
|
2011-01-28 01:39:17 -04:00
|
|
|
|
|
|
|
// dont allow control mixing
|
2011-05-09 21:00:05 -03:00
|
|
|
g.rc_camera_pitch.servo_out = dcm.pitch_sensor / 2;
|
2011-02-17 03:27:57 -04:00
|
|
|
g.rc_camera_pitch.calc_pwm();
|
|
|
|
APM_RC.OutputCh(CH_5, g.rc_camera_pitch.radio_out);
|
2010-12-27 19:03:53 -04:00
|
|
|
|
2011-05-09 17:04:02 -03:00
|
|
|
g.rc_camera_roll.servo_out = dcm.roll_sensor;
|
2011-02-17 03:27:57 -04:00
|
|
|
g.rc_camera_roll.calc_pwm();
|
|
|
|
APM_RC.OutputCh(CH_6, g.rc_camera_roll.radio_out);
|
2011-01-28 01:39:17 -04:00
|
|
|
|
|
|
|
|
2010-12-30 03:40:57 -04:00
|
|
|
//If you want to do control mixing use this function.
|
|
|
|
// set servo_out to the control input from radio
|
2011-02-17 03:09:13 -04:00
|
|
|
//rc_camera_roll = g.rc_2.control_mix(dcm.pitch_sensor);
|
2011-02-17 05:36:33 -04:00
|
|
|
//rc_camera_roll.calc_pwm();
|
2010-12-27 19:03:53 -04:00
|
|
|
}
|
|
|
|
|