Browse Source

uncrustify libraries/RC_Channel/examples/RC_Channel2/RC_Channel2.pde

mission-4.1.18
uncrustify 13 years ago committed by Pat Hickey
parent
commit
02877cfe28
  1. 322
      libraries/RC_Channel/examples/RC_Channel2/RC_Channel2.pde

322
libraries/RC_Channel/examples/RC_Channel2/RC_Channel2.pde

@ -1,22 +1,22 @@
/* /*
Example of RC_Channel library. * Example of RC_Channel library.
Code by Jason Short. 2010 * Code by Jason Short. 2010
DIYDrones.com * DIYDrones.com
*
*/
*/ #include <APM_RC.h> // ArduPilot Mega RC Library
#include <RC_Channel.h> // ArduPilot Mega RC Library
#include <APM_RC.h> // ArduPilot Mega RC Library
#include <RC_Channel.h> // ArduPilot Mega RC Library
#define EE_RADIO_1 0x00 // all gains stored from here
#define EE_RADIO_1 0x00 // all gains stored from here #define EE_RADIO_2 0x06 // all gains stored from here
#define EE_RADIO_2 0x06 // all gains stored from here #define EE_RADIO_3 0x0C // all gains stored from here
#define EE_RADIO_3 0x0C // all gains stored from here #define EE_RADIO_4 0x12 // all gains stored from here
#define EE_RADIO_4 0x12 // all gains stored from here #define EE_RADIO_5 0x18 // all gains stored from here
#define EE_RADIO_5 0x18 // all gains stored from here #define EE_RADIO_6 0x1E // all gains stored from here
#define EE_RADIO_6 0x1E // all gains stored from here #define EE_RADIO_7 0x24 // all gains stored from here
#define EE_RADIO_7 0x24 // all gains stored from here #define EE_RADIO_8 0x2A // all gains stored from here
#define EE_RADIO_8 0x2A // all gains stored from here
RC_Channel rc_1(EE_RADIO_1); RC_Channel rc_1(EE_RADIO_1);
@ -39,171 +39,171 @@ RC_Channel rc_8(EE_RADIO_8);
void setup() void setup()
{ {
Serial.begin(38400); Serial.begin(38400);
Serial.println("ArduPilot RC Channel test"); Serial.println("ArduPilot RC Channel test");
APM_RC.Init(); // APM Radio initialization APM_RC.Init(); // APM Radio initialization
delay(500); delay(500);
// setup radio // setup radio
// read eepom or set manually // read eepom or set manually
/* /*
rc_1.radio_min = 1100; * rc_1.radio_min = 1100;
rc_1.radio_max = 1900; * rc_1.radio_max = 1900;
*
rc_2.radio_min = 1100; * rc_2.radio_min = 1100;
rc_2.radio_max = 1900; * rc_2.radio_max = 1900;
*
rc_3.radio_min = 1100; * rc_3.radio_min = 1100;
rc_3.radio_max = 1900; * rc_3.radio_max = 1900;
*
rc_4.radio_min = 1100; * rc_4.radio_min = 1100;
rc_4.radio_max = 1900; * rc_4.radio_max = 1900;
*
// or * // or
*
rc_1.load_eeprom(); * rc_1.load_eeprom();
rc_2.load_eeprom(); * rc_2.load_eeprom();
rc_3.load_eeprom(); * rc_3.load_eeprom();
rc_4.load_eeprom(); * rc_4.load_eeprom();
rc_5.load_eeprom(); * rc_5.load_eeprom();
rc_6.load_eeprom(); * rc_6.load_eeprom();
rc_7.load_eeprom(); * rc_7.load_eeprom();
rc_8.load_eeprom(); * rc_8.load_eeprom();
*
*/ */
// interactive setup // interactive setup
setup_radio(); setup_radio();
print_radio_values(); print_radio_values();
// set type of output, symmetrical angles or a number range; // set type of output, symmetrical angles or a number range;
rc_1.set_angle(4500); rc_1.set_angle(4500);
rc_1.dead_zone = 80; rc_1.dead_zone = 80;
rc_2.set_angle(4500); rc_2.set_angle(4500);
rc_2.dead_zone = 80; rc_2.dead_zone = 80;
rc_3.set_range(0,1000); rc_3.set_range(0,1000);
rc_3.dead_zone = 20; rc_3.dead_zone = 20;
rc_3.scale_output = .8; // gives more dynamic range to quads rc_3.scale_output = .8; // gives more dynamic range to quads
rc_4.set_angle(6000); rc_4.set_angle(6000);
rc_4.dead_zone = 500; rc_4.dead_zone = 500;
rc_5.set_range(0,1000); rc_5.set_range(0,1000);
rc_5.set_filter(false); rc_5.set_filter(false);
rc_6.set_range(200,800); rc_6.set_range(200,800);
rc_7.set_range(0,1000); rc_7.set_range(0,1000);
rc_8.set_range(0,1000); rc_8.set_range(0,1000);
for (byte i = 0; i < 30; i++){ for (byte i = 0; i < 30; i++) {
rc_1.set_pwm(APM_RC.InputCh(CH_1)); rc_1.set_pwm(APM_RC.InputCh(CH_1));
} }
rc_1.trim(); rc_1.trim();
rc_2.trim(); rc_2.trim();
rc_4.trim(); rc_4.trim();
} }
void loop() void loop()
{ {
delay(20); delay(20);
read_radio(); read_radio();
rc_1.servo_out = rc_1.control_in; rc_1.servo_out = rc_1.control_in;
rc_1.calc_pwm(); rc_1.calc_pwm();
print_pwm(); print_pwm();
} }
void read_radio() void read_radio()
{ {
rc_1.set_pwm(APM_RC.InputCh(CH_1)); rc_1.set_pwm(APM_RC.InputCh(CH_1));
} }
void print_pwm() void print_pwm()
{ {
Serial.print("ch1 - PWM in: "); Serial.print("ch1 - PWM in: ");
Serial.print(rc_1.radio_in, DEC); Serial.print(rc_1.radio_in, DEC);
Serial.print("\t control_in: "); Serial.print("\t control_in: ");
Serial.print(rc_1.control_in, DEC); Serial.print(rc_1.control_in, DEC);
Serial.print("\t servo out: "); Serial.print("\t servo out: ");
Serial.print(rc_1.servo_out, DEC); Serial.print(rc_1.servo_out, DEC);
Serial.print("\t pwm out: "); Serial.print("\t pwm out: ");
Serial.print(rc_1.pwm_out, DEC); Serial.print(rc_1.pwm_out, DEC);
Serial.print("\t pwm to radio: "); Serial.print("\t pwm to radio: ");
Serial.println(rc_1.radio_out, DEC); Serial.println(rc_1.radio_out, DEC);
} }
void void
print_radio_values() print_radio_values()
{ {
Serial.print("CH1: "); Serial.print("CH1: ");
Serial.print(rc_1.radio_min, DEC); Serial.print(rc_1.radio_min, DEC);
Serial.print(" | "); Serial.print(" | ");
Serial.println(rc_1.radio_max, DEC); Serial.println(rc_1.radio_max, DEC);
} }
void void
setup_radio() setup_radio()
{ {
Serial.println("\n\nRadio Setup:"); Serial.println("\n\nRadio Setup:");
uint8_t i; uint8_t i;
for(i = 0; i < 100;i++){ for(i = 0; i < 100; i++) {
delay(20); delay(20);
read_radio(); read_radio();
} }
rc_1.radio_min = rc_1.radio_in; rc_1.radio_min = rc_1.radio_in;
rc_2.radio_min = rc_2.radio_in; rc_2.radio_min = rc_2.radio_in;
rc_3.radio_min = rc_3.radio_in; rc_3.radio_min = rc_3.radio_in;
rc_4.radio_min = rc_4.radio_in; rc_4.radio_min = rc_4.radio_in;
rc_5.radio_min = rc_5.radio_in; rc_5.radio_min = rc_5.radio_in;
rc_6.radio_min = rc_6.radio_in; rc_6.radio_min = rc_6.radio_in;
rc_7.radio_min = rc_7.radio_in; rc_7.radio_min = rc_7.radio_in;
rc_8.radio_min = rc_8.radio_in; rc_8.radio_min = rc_8.radio_in;
rc_1.radio_max = rc_1.radio_in; rc_1.radio_max = rc_1.radio_in;
rc_2.radio_max = rc_2.radio_in; rc_2.radio_max = rc_2.radio_in;
rc_3.radio_max = rc_3.radio_in; rc_3.radio_max = rc_3.radio_in;
rc_4.radio_max = rc_4.radio_in; rc_4.radio_max = rc_4.radio_in;
rc_5.radio_max = rc_5.radio_in; rc_5.radio_max = rc_5.radio_in;
rc_6.radio_max = rc_6.radio_in; rc_6.radio_max = rc_6.radio_in;
rc_7.radio_max = rc_7.radio_in; rc_7.radio_max = rc_7.radio_in;
rc_8.radio_max = rc_8.radio_in; rc_8.radio_max = rc_8.radio_in;
rc_1.radio_trim = rc_1.radio_in; rc_1.radio_trim = rc_1.radio_in;
rc_2.radio_trim = rc_2.radio_in; rc_2.radio_trim = rc_2.radio_in;
rc_4.radio_trim = rc_4.radio_in; rc_4.radio_trim = rc_4.radio_in;
// 3 is not trimed // 3 is not trimed
rc_5.radio_trim = 1500; rc_5.radio_trim = 1500;
rc_6.radio_trim = 1500; rc_6.radio_trim = 1500;
rc_7.radio_trim = 1500; rc_7.radio_trim = 1500;
rc_8.radio_trim = 1500; rc_8.radio_trim = 1500;
Serial.println("\nMove all controls to each extreme. Hit Enter to save:"); Serial.println("\nMove all controls to each extreme. Hit Enter to save:");
while(1){ while(1) {
delay(20); delay(20);
// Filters radio input - adjust filters in the radio.pde file // Filters radio input - adjust filters in the radio.pde file
// ---------------------------------------------------------- // ----------------------------------------------------------
read_radio(); read_radio();
rc_1.update_min_max(); rc_1.update_min_max();
rc_2.update_min_max(); rc_2.update_min_max();
rc_3.update_min_max(); rc_3.update_min_max();
rc_4.update_min_max(); rc_4.update_min_max();
rc_5.update_min_max(); rc_5.update_min_max();
rc_6.update_min_max(); rc_6.update_min_max();
rc_7.update_min_max(); rc_7.update_min_max();
rc_8.update_min_max(); rc_8.update_min_max();
if(Serial.available() > 0){ if(Serial.available() > 0) {
//rc_3.radio_max += 250; //rc_3.radio_max += 250;
Serial.flush(); Serial.flush();
Serial.println("Radio calibrated, Showing control values:"); Serial.println("Radio calibrated, Showing control values:");
break; break;
} }
} }
return; return;
} }
Loading…
Cancel
Save