New version of quadcopter software written to OO principles

Dependencies:   mbed MODSERIAL filter mbed-rtos ConfigFile PID PPM FreeIMU_external_magnetometer TinyGPS

Committer:
joe4465
Date:
Wed Mar 04 18:50:37 2015 +0000
Revision:
0:c6a85bb2a827
New version of quadcopter software, written following OO principles

Who changed what in which revision?

UserRevisionLine numberNew contents of line
joe4465 0:c6a85bb2a827 1 #include "mbed.h"
joe4465 0:c6a85bb2a827 2
joe4465 0:c6a85bb2a827 3 #ifndef GLOBAL_H
joe4465 0:c6a85bb2a827 4 #define GLOBAL_H
joe4465 0:c6a85bb2a827 5
joe4465 0:c6a85bb2a827 6 #if 1
joe4465 0:c6a85bb2a827 7 #define DEBUG(a) printf(a)
joe4465 0:c6a85bb2a827 8 #else
joe4465 0:c6a85bb2a827 9 #define DEBUG(a) (void)0
joe4465 0:c6a85bb2a827 10 #endif
joe4465 0:c6a85bb2a827 11
joe4465 0:c6a85bb2a827 12 #define IMU_YAW_ANGLE_MAX 180
joe4465 0:c6a85bb2a827 13 #define IMU_YAW_ANGLE_MIN -180
joe4465 0:c6a85bb2a827 14 #define IMU_ROLL_ANGLE_MAX 90
joe4465 0:c6a85bb2a827 15 #define IMU_ROLL_ANGLE_MIN -90
joe4465 0:c6a85bb2a827 16 #define IMU_PITCH_ANGLE_MAX 90
joe4465 0:c6a85bb2a827 17 #define IMU_PITCH_ANGLE_MIN -90
joe4465 0:c6a85bb2a827 18 #define IMU_YAW_RATE_MAX 360
joe4465 0:c6a85bb2a827 19 #define IMU_YAW_RATE_MIN -360
joe4465 0:c6a85bb2a827 20 #define IMU_ROLL_RATE_MAX 360
joe4465 0:c6a85bb2a827 21 #define IMU_ROLL_RATE_MIN -360
joe4465 0:c6a85bb2a827 22 #define IMU_PITCH_RATE_MAX 360
joe4465 0:c6a85bb2a827 23 #define IMU_PITCH_RATE_MIN -360
joe4465 0:c6a85bb2a827 24
joe4465 0:c6a85bb2a827 25 #define RC_CHANNELS 8
joe4465 0:c6a85bb2a827 26 #define RC_THROTTLE_CHANNEL 3
joe4465 0:c6a85bb2a827 27 #define RC_IN_MAX 1900
joe4465 0:c6a85bb2a827 28 #define RC_IN_MIN 1000
joe4465 0:c6a85bb2a827 29 #define RC_OUT_MAX 1
joe4465 0:c6a85bb2a827 30 #define RC_OUT_MIN 0
joe4465 0:c6a85bb2a827 31 #define RC_YAW_RATE_MAX 180
joe4465 0:c6a85bb2a827 32 #define RC_YAW_RATE_MIN -180
joe4465 0:c6a85bb2a827 33 #define RC_ROLL_RATE_MAX 90
joe4465 0:c6a85bb2a827 34 #define RC_ROLL_RATE_MIN -90
joe4465 0:c6a85bb2a827 35 #define RC_PITCH_RATE_MAX 90
joe4465 0:c6a85bb2a827 36 #define RC_PITCH_RATE_MIN -90
joe4465 0:c6a85bb2a827 37 #define RC_ROLL_ANGLE_MAX 20
joe4465 0:c6a85bb2a827 38 #define RC_ROLL_ANGLE_MIN -20
joe4465 0:c6a85bb2a827 39 #define RC_PITCH_ANGLE_MAX 20
joe4465 0:c6a85bb2a827 40 #define RC_PITCH_ANGLE_MIN -20
joe4465 0:c6a85bb2a827 41 #define RC_THRUST_MAX 1
joe4465 0:c6a85bb2a827 42 #define RC_THRUST_MIN 0
joe4465 0:c6a85bb2a827 43 #define RC_VELOCITY_MAX 2.5
joe4465 0:c6a85bb2a827 44 #define RC_VELOCITY_MIN 2.5
joe4465 0:c6a85bb2a827 45
joe4465 0:c6a85bb2a827 46 #define MOTORS_OFF 0
joe4465 0:c6a85bb2a827 47 #define MOTORS_ARMED 1000
joe4465 0:c6a85bb2a827 48 #define MOTORS_MIN 1060
joe4465 0:c6a85bb2a827 49 #define MOTORS_MAX 1860
joe4465 0:c6a85bb2a827 50
joe4465 0:c6a85bb2a827 51 #define RATE_PID_CONTROLLER_OUTPUT_MAX 100
joe4465 0:c6a85bb2a827 52 #define RATE_PID_CONTROLLER_OUTPUT_MIN -100
joe4465 0:c6a85bb2a827 53
joe4465 0:c6a85bb2a827 54 #define FLIGHT_CONTROLLER_FREQUENCY 500
joe4465 0:c6a85bb2a827 55
joe4465 0:c6a85bb2a827 56 #endif