Jonathan Goret / Servoloop

Dependents:   pixyMajordhome

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers Servoloop.h Source File

Servoloop.h

00001 //==========================================================================
00002 //
00003 // Pixy Pet Robot
00004 //
00005 // Adafruit invests time and resources providing this open source code,
00006 // please support Adafruit and open-source hardware by purchasing
00007 // products from Adafruit!
00008 //
00009 // Written by: Bill Earl for Adafruit Industries
00010 //
00011 //==========================================================================
00012 // begin license header
00013 //
00014 // All Pixy Pet source code is provided under the terms of the
00015 // GNU General Public License v2 (http://www.gnu.org/licenses/gpl-2.0.html).
00016 //
00017 // end license header
00018 //
00019 //==========================================================================
00020 //
00021 // Portions of this code are derived from the Pixy CMUcam5 pantilt example code.
00022 //
00023 //==========================================================================
00024 #ifndef SERVOLOOP_H
00025 #define SERVOLOOP_H
00026 #include <SPI.h>
00027 #include <Pixy.h>
00028 #include <MD25.h>
00029 
00030 
00031 #define X_CENTER 160L
00032 #define Y_CENTER 100L
00033 #define RCS_MIN_POS 0L
00034 #define RCS_MAX_POS 1000L
00035 #define RCS_CENTER_POS ((RCS_MAX_POS-RCS_MIN_POS)/2)
00036 //---------------------------------------
00037 // Servo Loop Class
00038 // A Proportional/Derivative feedback
00039 // loop for pan/tilt servo tracking of
00040 // blocks.
00041 // (Based on Pixy CMUcam5 example code)
00042 //---------------------------------------
00043 class Servoloop
00044 {
00045 public:
00046 Servoloop(int32_t proportionalGain, int32_t derivativeGain);
00047 void update(int32_t error);
00048 int32_t m_pos;
00049 int32_t m_prevError;
00050 int32_t m_proportionalGain;
00051 int32_t m_derivativeGain;
00052 
00053 };
00054 #endif
00055 // End Servo Loop Class
00056 //---------------------------------------