From 8bcc567406a43cf5038af45c56c4edc3855f6781 Mon Sep 17 00:00:00 2001
From: Randy Mackay <rmackay9@yahoo.com>
Date: Sat, 28 Jan 2012 17:54:20 +0900
Subject: [PATCH] AP_PID, AP_RC_Channel, FastSerial - small changes to make
 example sketches compile again

---
 libraries/AP_PID/examples/AP_pid/AP_pid.pde     | 17 ++++++++++-------
 libraries/AP_RC_Channel/AP_RC_Channel.cpp       |  3 +++
 .../examples/AP_RC_Channel/AP_RC_Channel.pde    |  1 -
 .../examples/FastSerial/FastSerial.pde          |  7 ++++---
 4 files changed, 17 insertions(+), 11 deletions(-)

diff --git a/libraries/AP_PID/examples/AP_pid/AP_pid.pde b/libraries/AP_PID/examples/AP_pid/AP_pid.pde
index ca46f3d6d..5d7cf59df 100644
--- a/libraries/AP_PID/examples/AP_pid/AP_pid.pde
+++ b/libraries/AP_PID/examples/AP_pid/AP_pid.pde
@@ -3,21 +3,26 @@
 	2010 Code by Jason Short. DIYDrones.com
 */
 
+#include <Arduino_Mega_ISR_Registry.h>
 #include <FastSerial.h>
 #include <AP_Common.h>
 #include <APM_RC.h> // ArduPilot RC Library
-#include <PID.h> // ArduPilot Mega RC Library
+#include <AP_PID.h> // ArduPilot Mega RC Library
 
 long radio_in;
 long radio_trim;
 
-PID pid();
+Arduino_Mega_ISR_Registry isr_registry;
+AP_PID pid;
+APM_RC_APM1 APM_RC;
 
 void setup()
 {
-	Serial.begin(38400);
-	Serial.println("ArduPilot Mega PID library test");
-	APM_RC.Init();		// APM Radio initialization
+	Serial.begin(115200);
+	Serial.println("ArduPilot Mega AP_PID library test");
+
+	isr_registry.init();
+	APM_RC.Init(&isr_registry);	 // APM Radio initialization
 
 	delay(1000);
 	//rc.trim();
@@ -27,12 +32,10 @@ void setup()
 	pid.kI(0);
 	pid.kD(0.5);
 	pid.imax(50);
-	pid.save_gains();
 	pid.kP(0);
 	pid.kI(0);
 	pid.kD(0);
 	pid.imax(0);
-	pid.load_gains();
 	Serial.printf("P %f  I %f  D %f  imax %f\n", pid.kP(), pid.kI(), pid.kD(), pid.imax());
 }
 
diff --git a/libraries/AP_RC_Channel/AP_RC_Channel.cpp b/libraries/AP_RC_Channel/AP_RC_Channel.cpp
index eea2e91b3..af9365dd8 100644
--- a/libraries/AP_RC_Channel/AP_RC_Channel.cpp
+++ b/libraries/AP_RC_Channel/AP_RC_Channel.cpp
@@ -88,11 +88,14 @@ AP_RC_Channel::set_pwm(int pwm)
 		control_in = pwm_to_angle();
 		control_in = (abs(control_in) < dead_zone) ? 0 : control_in;
 
+		/*
+		// coming soon ??
 		if(expo) {
 			long temp = control_in;
 			temp = (temp * temp) / (long)_high;
 			control_in = (int)((control_in >= 0) ? temp : -temp);
 		}
+		*/
 	}
 }
 
diff --git a/libraries/AP_RC_Channel/examples/AP_RC_Channel/AP_RC_Channel.pde b/libraries/AP_RC_Channel/examples/AP_RC_Channel/AP_RC_Channel.pde
index f636c37aa..a7de6e0fd 100644
--- a/libraries/AP_RC_Channel/examples/AP_RC_Channel/AP_RC_Channel.pde
+++ b/libraries/AP_RC_Channel/examples/AP_RC_Channel/AP_RC_Channel.pde
@@ -29,7 +29,6 @@ AP_RC rc;
 void setup()
 {
 	Serial.begin(115200);
-	//Serial.begin(38400);
 
 	Serial.println("ArduPilot RC Channel test");
 	rc.init();		// APM Radio initialization
diff --git a/libraries/FastSerial/examples/FastSerial/FastSerial.pde b/libraries/FastSerial/examples/FastSerial/FastSerial.pde
index 4a9ae94b5..a1af76523 100644
--- a/libraries/FastSerial/examples/FastSerial/FastSerial.pde
+++ b/libraries/FastSerial/examples/FastSerial/FastSerial.pde
@@ -17,8 +17,9 @@
 #undef PROGMEM 
 #define PROGMEM __attribute__(( section(".progmem.data") )) 
 
-#undef PSTR 
-#define PSTR(s) (__extension__({static prog_char __c[] PROGMEM = (s); &__c[0];})) 
+# undef PSTR
+# define PSTR(s) (__extension__({static prog_char __c[] PROGMEM = (s); \
+                (prog_char_t *)&__c[0];}))
 
 //
 // Create a FastSerial driver that looks just like the stock Arduino
@@ -38,7 +39,7 @@ void setup(void)
         //
         // Set the speed for our replacement serial port.
         //
-	Serial.begin(38400);
+	Serial.begin(115200);
 
         //
         // Test printing things
-- 
GitLab