justin solarski / Gyro
Committer:
jsolarski
Date:
Tue Dec 21 06:05:59 2010 +0000
Revision:
0:c06aa9ff9c62
Child:
1:a3822b798d67

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jsolarski 0:c06aa9ff9c62 1 /* mbed analog gyro Library
jsolarski 0:c06aa9ff9c62 2 * Copyright (c) 2010 Justin Solarski
jsolarski 0:c06aa9ff9c62 3 * justinsolarski@gmail.com
jsolarski 0:c06aa9ff9c62 4 *
jsolarski 0:c06aa9ff9c62 5 * Permission is hereby granted, free of charge, to any person obtaining a copy
jsolarski 0:c06aa9ff9c62 6 * of this software and associated documentation files (the "Software"), to deal
jsolarski 0:c06aa9ff9c62 7 * in the Software without restriction, including without limitation the rights
jsolarski 0:c06aa9ff9c62 8 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
jsolarski 0:c06aa9ff9c62 9 * copies of the Software, and to permit persons to whom the Software is
jsolarski 0:c06aa9ff9c62 10 * furnished to do so, subject to the following conditions:
jsolarski 0:c06aa9ff9c62 11 *
jsolarski 0:c06aa9ff9c62 12 * The above copyright notice and this permission notice shall be included in
jsolarski 0:c06aa9ff9c62 13 * all copies or substantial portions of the Software.
jsolarski 0:c06aa9ff9c62 14 *
jsolarski 0:c06aa9ff9c62 15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
jsolarski 0:c06aa9ff9c62 16 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
jsolarski 0:c06aa9ff9c62 17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
jsolarski 0:c06aa9ff9c62 18 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
jsolarski 0:c06aa9ff9c62 19 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
jsolarski 0:c06aa9ff9c62 20 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
jsolarski 0:c06aa9ff9c62 21 * THE SOFTWARE.
jsolarski 0:c06aa9ff9c62 22 */
jsolarski 0:c06aa9ff9c62 23
jsolarski 0:c06aa9ff9c62 24 #ifndef GYRO_H
jsolarski 0:c06aa9ff9c62 25 #define GYRO_H
jsolarski 0:c06aa9ff9c62 26
jsolarski 0:c06aa9ff9c62 27 #include "mbed.h"
jsolarski 0:c06aa9ff9c62 28 /** Class: Gyro
jsolarski 0:c06aa9ff9c62 29 *
jsolarski 0:c06aa9ff9c62 30 * Used for reading from an analog Gyro Tested with LISY300Al spark fun breakout board
jsolarski 0:c06aa9ff9c62 31 * http://www.sparkfun.com/products/8955
jsolarski 0:c06aa9ff9c62 32 * 300o/S
jsolarski 0:c06aa9ff9c62 33 *
jsolarski 0:c06aa9ff9c62 34 * Example:
jsolarski 0:c06aa9ff9c62 35 *
jsolarski 0:c06aa9ff9c62 36 * > #include "mbed.h"
jsolarski 0:c06aa9ff9c62 37 * > #include "gyro.h"
jsolarski 0:c06aa9ff9c62 38 * > Gyro mygyro(p20, p19, p18);
jsolarski 0:c06aa9ff9c62 39 */
jsolarski 0:c06aa9ff9c62 40 class Gyro {
jsolarski 0:c06aa9ff9c62 41 public:
jsolarski 0:c06aa9ff9c62 42 /** constructor Gyro - create Gyro object
jsolarski 0:c06aa9ff9c62 43 *
jsolarski 0:c06aa9ff9c62 44 * @param g_pin = analog in pin
jsolarski 0:c06aa9ff9c62 45 * @param st = self test pin
jsolarski 0:c06aa9ff9c62 46 * @param pd = powerdown
jsolarski 0:c06aa9ff9c62 47 */
jsolarski 0:c06aa9ff9c62 48 Gyro (PinName g_pin, PinName st, PinName pd);
jsolarski 0:c06aa9ff9c62 49 /** read gyros analog pin
jsolarski 0:c06aa9ff9c62 50 *
jsolarski 0:c06aa9ff9c62 51 * outputs 0.0-1.0
jsolarski 0:c06aa9ff9c62 52 *
jsolarski 0:c06aa9ff9c62 53 */
jsolarski 0:c06aa9ff9c62 54 float read();
jsolarski 0:c06aa9ff9c62 55 /** Use the self test mode to test if the gyro is working
jsolarski 0:c06aa9ff9c62 56 *
jsolarski 0:c06aa9ff9c62 57 * Returns 0 for test passed 1 for test failed
jsolarski 0:c06aa9ff9c62 58 */
jsolarski 0:c06aa9ff9c62 59 int test();
jsolarski 0:c06aa9ff9c62 60 /** put gyro into sleep mode
jsolarski 0:c06aa9ff9c62 61 * Incomplete
jsolarski 0:c06aa9ff9c62 62 */
jsolarski 0:c06aa9ff9c62 63 void sleep();
jsolarski 0:c06aa9ff9c62 64 /** wake gyro up from sleep mode (default)
jsolarski 0:c06aa9ff9c62 65 *
jsolarski 0:c06aa9ff9c62 66 */
jsolarski 0:c06aa9ff9c62 67 void wakeup();
jsolarski 0:c06aa9ff9c62 68
jsolarski 0:c06aa9ff9c62 69 private :
jsolarski 0:c06aa9ff9c62 70 AnalogIn _g_pin;
jsolarski 0:c06aa9ff9c62 71 DigitalInOut _st;
jsolarski 0:c06aa9ff9c62 72 DigitalInOut _pd;
jsolarski 0:c06aa9ff9c62 73
jsolarski 0:c06aa9ff9c62 74 }; //end of class sensor
jsolarski 0:c06aa9ff9c62 75
jsolarski 0:c06aa9ff9c62 76 #endif