From 39b86313a2dff53ea60746cf15c01a70e970e0a3 Mon Sep 17 00:00:00 2001 From: "rmackay9@yahoo.com" Date: Mon, 22 Nov 2010 12:53:55 +0000 Subject: [PATCH] APM_Compass - added InitialiseWireLib parameter to Init function. This allows us to skip the Wire.begin which should only be called once. git-svn-id: https://arducopter.googlecode.com/svn/trunk@883 f9c3cf11-9bcb-44bc-f272-b75c42450872 --- libraries/APM_Compass/APM_Compass.cpp | 7 ++++--- libraries/APM_Compass/APM_Compass.h | 4 ++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/libraries/APM_Compass/APM_Compass.cpp b/libraries/APM_Compass/APM_Compass.cpp index 3114c1ce6e..d596805cef 100644 --- a/libraries/APM_Compass/APM_Compass.cpp +++ b/libraries/APM_Compass/APM_Compass.cpp @@ -66,13 +66,14 @@ APM_Compass_Class::APM_Compass_Class() : orientation(0), declination(0.0) } // Public Methods ////////////////////////////////////////////////////////////// -bool APM_Compass_Class::Init(void) +bool APM_Compass_Class::Init(int initialiseWireLib) { unsigned long currentTime = millis(); // record current time int numAttempts = 0; int success = 0; - Wire.begin(); + if( initialiseWireLib != 0 ) + Wire.begin(); delay(10); @@ -245,7 +246,7 @@ APM_Compass_HIL_Class::APM_Compass_HIL_Class() : orientation(0), declination(0.0 } // Public Methods ////////////////////////////////////////////////////////////// -bool APM_Compass_HIL_Class::Init(void) +bool APM_Compass_HIL_Class::Init(int initialiseWireLib) { unsigned long currentTime = millis(); // record current time int numAttempts = 0; diff --git a/libraries/APM_Compass/APM_Compass.h b/libraries/APM_Compass/APM_Compass.h index a29e87ac15..876ec93d2a 100644 --- a/libraries/APM_Compass/APM_Compass.h +++ b/libraries/APM_Compass/APM_Compass.h @@ -75,7 +75,7 @@ class APM_Compass_Class unsigned long lastUpdate; APM_Compass_Class(); // Constructor - bool Init(); + bool Init(int initialiseWireLib = 1); void Read(); void Calculate(float roll, float pitch); void SetOrientation(const Matrix3f &rotationMatrix); @@ -101,7 +101,7 @@ class APM_Compass_HIL_Class unsigned long lastUpdate; APM_Compass_HIL_Class(); // Constructor - bool Init(); + bool Init(int initialiseWireLib = 1); void Read(); void Calculate(float roll, float pitch); void SetOrientation(const Matrix3f &rotationMatrix);