From 2d094da38e804daefccb6ed5964c98a3bd939685 Mon Sep 17 00:00:00 2001 From: jphelirc Date: Tue, 26 Jul 2011 03:37:41 +0000 Subject: [PATCH] added relay control to CH6 git-svn-id: https://arducopter.googlecode.com/svn/trunk@2943 f9c3cf11-9bcb-44bc-f272-b75c42450872 --- ArduCopterMega/APM_Config.h | 7 ++++--- ArduCopterMega/ArduCopterMega.pde | 7 +++++++ ArduCopterMega/defines.h | 1 + ArduCopterMega/radio.pde | 3 +++ ArduCopterMega/test.pde | 3 +++ 5 files changed, 18 insertions(+), 3 deletions(-) diff --git a/ArduCopterMega/APM_Config.h b/ArduCopterMega/APM_Config.h index 48c089d1a3..cff9dab96f 100644 --- a/ArduCopterMega/APM_Config.h +++ b/ArduCopterMega/APM_Config.h @@ -18,15 +18,15 @@ HELI_FRAME */ -//#define FRAME_ORIENTATION X_FRAME +//#define FRAME_ORIENTATION PLUS_FRAME /* PLUS_FRAME X_FRAME - V_FRAME + V_FRAME */ -//#define CHANNEL_6_TUNING CH6_NONE +//#define CHANNEL_6_TUNING CH6_RELAY /* CH6_NONE CH6_STABILIZE_KP @@ -41,6 +41,7 @@ CH6_YAW_RATE_KI CH6_TOP_BOTTOM_RATIO CH6_PMAX + CH6_RELAY */ // experimental!! diff --git a/ArduCopterMega/ArduCopterMega.pde b/ArduCopterMega/ArduCopterMega.pde index b317ec9c0c..b4b0430bad 100644 --- a/ArduCopterMega/ArduCopterMega.pde +++ b/ArduCopterMega/ArduCopterMega.pde @@ -1514,7 +1514,14 @@ static void tuning(){ #elif CHANNEL_6_TUNING == CH6_PMAX g.pitch_max.set(g.rc_6.control_in * 2); // 0 to 2000 + // Simple relay control + #elif CHANNEL_6_TUNING == CH6_RELAY + if(g.rc_6.control_in <= 600) relay_on(); + if(g.rc_6.control_in >= 400) relay_off(); + #endif + + } static void update_nav_wp() diff --git a/ArduCopterMega/defines.h b/ArduCopterMega/defines.h index 906c6aa232..95a2ac59cb 100644 --- a/ArduCopterMega/defines.h +++ b/ArduCopterMega/defines.h @@ -147,6 +147,7 @@ // Extras #define CH6_TOP_BOTTOM_RATIO 11 #define CH6_PMAX 12 +#define CH6_RELAY 13 // nav byte mask diff --git a/ArduCopterMega/radio.pde b/ArduCopterMega/radio.pde index 3fe40868fe..1d49a9a30d 100644 --- a/ArduCopterMega/radio.pde +++ b/ArduCopterMega/radio.pde @@ -55,6 +55,9 @@ static void init_rc_in() #elif CHANNEL_6_TUNING == CH6_TOP_BOTTOM_RATIO g.rc_6.set_range(800,1000); // .8 to 1 + +/* #elif CHANNEL_6_TUNING == CH6_RELAY + g.rc_6.set_range(0,1000); // 0 to 1 */ #endif } diff --git a/ArduCopterMega/test.pde b/ArduCopterMega/test.pde index 1e0443e401..8199771938 100644 --- a/ArduCopterMega/test.pde +++ b/ArduCopterMega/test.pde @@ -743,6 +743,9 @@ test_tuning(uint8_t argc, const Menu::arg *argv) #elif CHANNEL_6_TUNING == CH6_PMAX Serial.printf_P(PSTR("Y6: %d\n"), (g.rc_6.control_in * 2)); + #elif CHANNEL_6_TUNING == CH6_RELAY + Serial.printf_P(PSTR(" %d\n"), (g.rc_6.control_in )); + #endif if(Serial.available() > 0){