added gy80 dcm
Dependencies: mbed DCM_AHRS_GY80 PID MMA8451Q
Fork of quadCommand by
quadCommand/quadCommand.h
- Committer:
- gabdo
- Date:
- 2013-06-10
- Revision:
- 49:f202fb0d4128
- Parent:
- 48:75d06c707414
- Child:
- 50:197a18e49eb4
File content as of revision 49:f202fb0d4128:
/************************* quadCommand.h *********************************/ /* */ /*************************************************************************/ #ifndef QUAD_COMMAND_H #define QUAD_COMMAND_H #include "mbed.h" #include "motor.h" #include "com.h" #include "sensors.h" #include "PID.h" // Motor constants. const PinName MOTOR1 = PTD4; // Pin used for motor 1. const PinName MOTOR2 = PTA12; // Pin used for motor 2. const PinName MOTOR3 = PTA4; // Pin used for motor 3. const PinName MOTOR4 = PTA5; // Pin used for motor 4. // Xbee constants. // Alternative Pins // RX = PTA1, TX PTA2 const PinName TXPIN = PTD3; // Pin used for xbee TX. const PinName RXPIN = PTD2; // Pin used for xbee RX. // Sensor constants. #define MMA8451_I2C_ADDRESS (0x1d<<1) // Address of I2C accelerometer. const PinName ACCSDA = PTE25; // Pin for accelerometer SDA line. const PinName ACCSCL = PTE24; // Pin for accelerometer SCL line. #define SENSSORDELAY 10.0f #define SENDDELAY 10.0f // PID constants. #define DEFAULT_WINDUP_GUARD 20.0f #define MOTOR_UPDATE 10.0f class quadCommand { public: quadCommand(); // Constructor. void run(); // The main loop. void rxInput(); // Receive data from the Xbee. void updateMotors(); // Send PID values to the motors. void updateCurrent(); // Update the current telemetry. void sendTelemetry(); // Transmit the current telemetry. private: motor *myMotors[4]; // Array of motor objects. com *myCom; // The com object. sensors *world; // Sensors used to observe the world. Ticker sensorProcess; Ticker sendProcess; Ticker motorProcess; // Control timer float currentThrottle; float currentPitch; float currentRoll; float currentYaw; float targetThrottle; float targetPitch; float targetRoll; float targetYaw; PID pidThrottle; PID pidPitch; PID pidRoll; PID pidYaw; }; #endif