Kim Youngsik / Mbed 2 deprecated 1TEST_Flight_Protocol_v1

Dependencies:   mbed

Fork of 1TEST_Flight_Protocol by Kim Youngsik

Committer:
skyyoungsik
Date:
Wed May 17 11:02:27 2017 +0000
Revision:
0:c466d770ffa7
Child:
1:e8a99f19604e
test1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
skyyoungsik 0:c466d770ffa7 1 #include "mbed.h"
skyyoungsik 0:c466d770ffa7 2 #include "ROBOFRIEN_GUI.h"
skyyoungsik 0:c466d770ffa7 3 #include <math.h>
skyyoungsik 0:c466d770ffa7 4
skyyoungsik 0:c466d770ffa7 5 #define PI 3.14159265359 // This value will be used when calculating angles
skyyoungsik 0:c466d770ffa7 6
skyyoungsik 0:c466d770ffa7 7 Timer MainTimer;
skyyoungsik 0:c466d770ffa7 8 DigitalOut myled1(LED1);
skyyoungsik 0:c466d770ffa7 9 DigitalOut myled2(LED2);
skyyoungsik 0:c466d770ffa7 10 DigitalOut myled3(LED3);
skyyoungsik 0:c466d770ffa7 11 DigitalOut myled4(LED4);
skyyoungsik 0:c466d770ffa7 12 ROBOFRIEN_GUI GUI;
skyyoungsik 0:c466d770ffa7 13 int cnt;
skyyoungsik 0:c466d770ffa7 14 int main() {
skyyoungsik 0:c466d770ffa7 15 GUI.Configuration_init();
skyyoungsik 0:c466d770ffa7 16 while(1) {
skyyoungsik 0:c466d770ffa7 17 GUI.pc_rx_update();
skyyoungsik 0:c466d770ffa7 18 if(GUI.rx_bool() == true){
skyyoungsik 0:c466d770ffa7 19 cnt ++;
skyyoungsik 0:c466d770ffa7 20 /////////////////////////////////////////////////////////////////////////////////////////////////////////
skyyoungsik 0:c466d770ffa7 21 //////////////////////////////////////////// [M/S] Mode and State ///////////////////////////////////////
skyyoungsik 0:c466d770ffa7 22 /////////////////////////////////////////////////////////////////////////////////////////////////////////
skyyoungsik 0:c466d770ffa7 23 GUI.Mode1 = 8 * sin( PI/180 + cnt/50.0) + 8;
skyyoungsik 0:c466d770ffa7 24 GUI.Mode2 = 8 * cos( PI/180 + cnt/50.0) + 8;
skyyoungsik 0:c466d770ffa7 25 GUI.MissionState = 8 * sin( PI/180 + cnt/50.0) + 8;
skyyoungsik 0:c466d770ffa7 26 GUI.CurrentMarker = 11 * cos( PI/180 + cnt/100.0) + 10;
skyyoungsik 0:c466d770ffa7 27 GUI.Bat1 = 50 * sin(PI/180 + cnt/50.0) + 50; // 21.6 ~ 24.6 ( 6cell )
skyyoungsik 0:c466d770ffa7 28 GUI.Bat2 = 50 * cos(PI/180 + cnt/50.0) + 50; // 11.1 ~ 12.6 ( 3cell )
skyyoungsik 0:c466d770ffa7 29 // Button State is change automatically in "ROBOFRIEN_GUI.cpp" //
skyyoungsik 0:c466d770ffa7 30 // You Can not change this setting, just use it ///
skyyoungsik 0:c466d770ffa7 31 if(GUI.button[0] == true) myled1 = 1;
skyyoungsik 0:c466d770ffa7 32 else myled1 = 0;
skyyoungsik 0:c466d770ffa7 33 if(GUI.button[1] == true) myled2 = 1;
skyyoungsik 0:c466d770ffa7 34 else myled2 = 0;
skyyoungsik 0:c466d770ffa7 35 if(GUI.button[2] == true) myled3 = 1;
skyyoungsik 0:c466d770ffa7 36 else myled3 = 0;
skyyoungsik 0:c466d770ffa7 37 if(GUI.button[3] == true) myled4 = 1;
skyyoungsik 0:c466d770ffa7 38 else myled4 = 0;
skyyoungsik 0:c466d770ffa7 39 // if(GUI.button[4] == true) myled5 = 1;
skyyoungsik 0:c466d770ffa7 40 // else myled5 = 0;
skyyoungsik 0:c466d770ffa7 41
skyyoungsik 0:c466d770ffa7 42 /////////////////////////////////////////////////////////////////////////////////////////////////////////
skyyoungsik 0:c466d770ffa7 43 //////////////////////////////////////////////// [GPS] GPS //////////////////////////////////////////////
skyyoungsik 0:c466d770ffa7 44 /////////////////////////////////////////////////////////////////////////////////////////////////////////
skyyoungsik 0:c466d770ffa7 45 // GUI.utc_time = cnt * 10;
skyyoungsik 0:c466d770ffa7 46 // GUI.latitude = 35117030 + 10000 * sin( PI/180 + cnt/50.0);
skyyoungsik 0:c466d770ffa7 47 // GUI.longitude = 129087896 + 10000 * cos( PI/180 + cnt/50.0);
skyyoungsik 0:c466d770ffa7 48 // GUI.altitude = 22768 + 32768 * sin( PI/180 + cnt/50.0);
skyyoungsik 0:c466d770ffa7 49 GUI.utc_time = GUI.Marker_Speed[0];
skyyoungsik 0:c466d770ffa7 50 GUI.latitude = GUI.Marker_Lat[0];
skyyoungsik 0:c466d770ffa7 51 GUI.longitude = GUI.Marker_Lng[0];
skyyoungsik 0:c466d770ffa7 52 GUI.altitude = GUI.Marker_Alt[0];
skyyoungsik 0:c466d770ffa7 53 GUI.SatNum = 10 + 10 * sin( PI/180 + cnt/50.0);
skyyoungsik 0:c466d770ffa7 54
skyyoungsik 0:c466d770ffa7 55 /////////////////////////////////////////////////////////////////////////////////////////////////////////
skyyoungsik 0:c466d770ffa7 56 ///////////////////////////////////////////////// AHRS //////////////////////////////////////////////////
skyyoungsik 0:c466d770ffa7 57 /////////////////////////////////////////////////////////////////////////////////////////////////////////
skyyoungsik 0:c466d770ffa7 58 GUI.rollx100 = 4500 * sin( PI/180 + cnt/50.0);
skyyoungsik 0:c466d770ffa7 59 GUI.pitchx100 = -4500 * sin( PI/180 + cnt/50.0);
skyyoungsik 0:c466d770ffa7 60 GUI.yawx100 = 18000 * sin( PI/180 + cnt/50.0) + 18000;
skyyoungsik 0:c466d770ffa7 61 GUI.roll_ratex100 = 30000 * sin( PI/180 + cnt/50.0);
skyyoungsik 0:c466d770ffa7 62 GUI.pitch_ratex100 = 30000 * sin( PI/180 + cnt/50.0 + PI/4);
skyyoungsik 0:c466d770ffa7 63 GUI.yaw_ratex100 = 30000 * sin( PI/180 + cnt/50.0 + PI*3/4);
skyyoungsik 0:c466d770ffa7 64 GUI.VXx100 = 1000 * sin(PI/180 + cnt/50.0);
skyyoungsik 0:c466d770ffa7 65 GUI.VYx100 = 1000 * cos(PI/180 + cnt/50.0);
skyyoungsik 0:c466d770ffa7 66 GUI.VZx100 = 1000 * sin(PI/180 + cnt/50.0 + PI/4);
skyyoungsik 0:c466d770ffa7 67
skyyoungsik 0:c466d770ffa7 68 /////////////////////////////////////////////////////////////////////////////////////////////////////////
skyyoungsik 0:c466d770ffa7 69 ////////////////////////////////////////////// [C/P] CAP/PWM ////////////////////////////////////////////
skyyoungsik 0:c466d770ffa7 70 /////////////////////////////////////////////////////////////////////////////////////////////////////////
skyyoungsik 0:c466d770ffa7 71 GUI.cap[0] = 100 * sin(PI/180 + cnt/50.0);
skyyoungsik 0:c466d770ffa7 72 GUI.cap[1] = 100 * sin(PI/180 + cnt/50.0 + PI/8);
skyyoungsik 0:c466d770ffa7 73 GUI.cap[2] = 100 * sin(PI/180 + cnt/50.0 + 2*PI/8);
skyyoungsik 0:c466d770ffa7 74 GUI.cap[3] = 100 * sin(PI/180 + cnt/50.0 + 3*PI/8);
skyyoungsik 0:c466d770ffa7 75 GUI.cap[4] = 100 * sin(PI/180 + cnt/50.0 + 4*PI/8);
skyyoungsik 0:c466d770ffa7 76 GUI.cap[5] = 100 * sin(PI/180 + cnt/50.0 + 5*PI/8);
skyyoungsik 0:c466d770ffa7 77 GUI.cap[6] = 100 * sin(PI/180 + cnt/50.0 + 6*PI/8);
skyyoungsik 0:c466d770ffa7 78 GUI.cap[7] = 100 * sin(PI/180 + cnt/50.0 + 7*PI/8);
skyyoungsik 0:c466d770ffa7 79 GUI.pwm[0] = 100 * sin(PI/180 + cnt/50.0) + 100;
skyyoungsik 0:c466d770ffa7 80 GUI.pwm[1] = 100 * sin(PI/180 + cnt/50.0 + PI/8) + 100;
skyyoungsik 0:c466d770ffa7 81 GUI.pwm[2] = 100 * sin(PI/180 + cnt/50.0 + 2*PI/8) + 100;
skyyoungsik 0:c466d770ffa7 82 GUI.pwm[3] = 100 * sin(PI/180 + cnt/50.0 + 3*PI/8) + 100;
skyyoungsik 0:c466d770ffa7 83 GUI.pwm[4] = 100 * sin(PI/180 + cnt/50.0 + 4*PI/8) + 100;
skyyoungsik 0:c466d770ffa7 84 GUI.pwm[5] = 100 * sin(PI/180 + cnt/50.0 + 5*PI/8) + 100;
skyyoungsik 0:c466d770ffa7 85 GUI.pwm[6] = 100 * sin(PI/180 + cnt/50.0 + 6*PI/8) + 100;
skyyoungsik 0:c466d770ffa7 86 GUI.pwm[7] = 100 * sin(PI/180 + cnt/50.0 + 7*PI/8) + 100;
skyyoungsik 0:c466d770ffa7 87
skyyoungsik 0:c466d770ffa7 88 /////////////////////////////////////////////////////////////////////////////////////////////////////////
skyyoungsik 0:c466d770ffa7 89 /////////////////////////////////////////// [E/D] Extra & Debug /////////////////////////////////////////
skyyoungsik 0:c466d770ffa7 90 /////////////////////////////////////////////////////////////////////////////////////////////////////////
skyyoungsik 0:c466d770ffa7 91 GUI.DEBUGx100[0] = 9000 * sin(PI/180 + cnt/50.0) + 9000;
skyyoungsik 0:c466d770ffa7 92 GUI.DEBUGx100[1] += 100;
skyyoungsik 0:c466d770ffa7 93 if(GUI.DEBUGx100[1] >= 36000) GUI.DEBUGx100[1] = 0;
skyyoungsik 0:c466d770ffa7 94 GUI.DEBUGx100[2] = 25000 * sin(PI/180 + cnt/50.0) + 25000;
skyyoungsik 0:c466d770ffa7 95 GUI.DEBUGx100[3] = 11111;
skyyoungsik 0:c466d770ffa7 96 GUI.DEBUGx100[4] = 22222;
skyyoungsik 0:c466d770ffa7 97 GUI.DEBUGx100[5] = 33333;
skyyoungsik 0:c466d770ffa7 98 GUI.DEBUGx100[6] = 44444;
skyyoungsik 0:c466d770ffa7 99 GUI.DEBUGx100[7] = 55555;
skyyoungsik 0:c466d770ffa7 100
skyyoungsik 0:c466d770ffa7 101 /////////////////////////////////////////////////////////////////////////////////////////////////////////
skyyoungsik 0:c466d770ffa7 102 //////////////////////////////////////////////// Refresh ////////////////////////////////////////////////
skyyoungsik 0:c466d770ffa7 103 /////////////////////////////////////////////////////////////////////////////////////////////////////////
skyyoungsik 0:c466d770ffa7 104 GUI.Refresh();
skyyoungsik 0:c466d770ffa7 105
skyyoungsik 0:c466d770ffa7 106 }
skyyoungsik 0:c466d770ffa7 107
skyyoungsik 0:c466d770ffa7 108 }
skyyoungsik 0:c466d770ffa7 109 }