DP

Dependencies:   FastAnalogIn mbed-rtos mbed

Fork of dipl_prace_v10 by Roman Krejci

Committer:
romankrej
Date:
Tue Apr 28 18:48:50 2015 +0000
Revision:
1:28d74f044818
Parent:
0:f3b355df6f26
DP

Who changed what in which revision?

UserRevisionLine numberNew contents of line
romankrej 0:f3b355df6f26 1 #ifndef _COMMON_H
romankrej 0:f3b355df6f26 2 #define _COMMON_H
romankrej 0:f3b355df6f26 3
romankrej 0:f3b355df6f26 4
romankrej 0:f3b355df6f26 5 #include "mbed.h"
romankrej 0:f3b355df6f26 6 #include "rtos.h"
romankrej 0:f3b355df6f26 7 #include "can.h"
romankrej 0:f3b355df6f26 8 #include "ultrasonic.h"
romankrej 0:f3b355df6f26 9 #include "ledsensor.h"
romankrej 0:f3b355df6f26 10 #include "control.h"
romankrej 0:f3b355df6f26 11 #include "print.h"
romankrej 0:f3b355df6f26 12
romankrej 0:f3b355df6f26 13 /* PROGRAM MODES */
romankrej 0:f3b355df6f26 14 #define WAITING 0x01
romankrej 0:f3b355df6f26 15 #define STARTING 0x02
romankrej 0:f3b355df6f26 16 #define RUNNING 0x03
romankrej 0:f3b355df6f26 17 #define STOP 0x04
romankrej 0:f3b355df6f26 18
romankrej 0:f3b355df6f26 19
romankrej 0:f3b355df6f26 20 #define ULTRA 0
romankrej 0:f3b355df6f26 21 #define LASER 1
romankrej 0:f3b355df6f26 22
romankrej 0:f3b355df6f26 23
romankrej 0:f3b355df6f26 24 #define PID 0
romankrej 0:f3b355df6f26 25 #define ST_FEEDBACK 1
romankrej 0:f3b355df6f26 26
romankrej 0:f3b355df6f26 27 typedef struct states_t {
romankrej 0:f3b355df6f26 28 float phi1;
romankrej 0:f3b355df6f26 29 float omega1;
romankrej 0:f3b355df6f26 30 float phi2;
romankrej 0:f3b355df6f26 31 float omega2;
romankrej 0:f3b355df6f26 32 float current;
romankrej 0:f3b355df6f26 33 } states_t;
romankrej 0:f3b355df6f26 34
romankrej 0:f3b355df6f26 35
romankrej 0:f3b355df6f26 36
romankrej 0:f3b355df6f26 37 extern InterruptIn butOff;
romankrej 0:f3b355df6f26 38
romankrej 0:f3b355df6f26 39 extern cUltrasonic us100;
romankrej 0:f3b355df6f26 40 extern cCan can;
romankrej 0:f3b355df6f26 41 extern cPrint pc;
romankrej 0:f3b355df6f26 42 extern cLedSensor baumer;
romankrej 0:f3b355df6f26 43 extern cControl control;
romankrej 0:f3b355df6f26 44
romankrej 0:f3b355df6f26 45 extern float K[4];
romankrej 0:f3b355df6f26 46 extern char first;
romankrej 0:f3b355df6f26 47 extern states_t states;
romankrej 0:f3b355df6f26 48 extern Mutex mutex1;
romankrej 0:f3b355df6f26 49 extern char programMode;
romankrej 0:f3b355df6f26 50 extern char stisknut;
romankrej 0:f3b355df6f26 51 extern char sensor;
romankrej 0:f3b355df6f26 52 extern char controller;
romankrej 0:f3b355df6f26 53
romankrej 0:f3b355df6f26 54
romankrej 0:f3b355df6f26 55 void stopProg();
romankrej 0:f3b355df6f26 56
romankrej 0:f3b355df6f26 57
romankrej 0:f3b355df6f26 58 /*
romankrej 0:f3b355df6f26 59 * Thread for inicialization
romankrej 0:f3b355df6f26 60 */
romankrej 0:f3b355df6f26 61 void initThread(void const *args);
romankrej 0:f3b355df6f26 62
romankrej 0:f3b355df6f26 63 /*
romankrej 0:f3b355df6f26 64 * Thread for led diodes
romankrej 0:f3b355df6f26 65 */
romankrej 0:f3b355df6f26 66 void ledThread(void const *args);
romankrej 0:f3b355df6f26 67
romankrej 0:f3b355df6f26 68 /*
romankrej 0:f3b355df6f26 69 * Thread for ultrasonic sensor
romankrej 0:f3b355df6f26 70 */
romankrej 0:f3b355df6f26 71 void usThread(void const *args);
romankrej 0:f3b355df6f26 72
romankrej 0:f3b355df6f26 73 /*
romankrej 0:f3b355df6f26 74 * Thread for baumer sensor
romankrej 0:f3b355df6f26 75 */
romankrej 0:f3b355df6f26 76 void laserThread(void const *args);
romankrej 0:f3b355df6f26 77
romankrej 0:f3b355df6f26 78 /*
romankrej 0:f3b355df6f26 79 * Thread for control
romankrej 0:f3b355df6f26 80 */
romankrej 0:f3b355df6f26 81 void controlThread(void const *args);
romankrej 0:f3b355df6f26 82
romankrej 0:f3b355df6f26 83 /*
romankrej 0:f3b355df6f26 84 * Thread for collect data
romankrej 0:f3b355df6f26 85 */
romankrej 0:f3b355df6f26 86 void collectThread(void const *args);
romankrej 0:f3b355df6f26 87
romankrej 0:f3b355df6f26 88 /*
romankrej 0:f3b355df6f26 89 * Thread for sending synchronization
romankrej 0:f3b355df6f26 90 */
romankrej 0:f3b355df6f26 91 void syncThread(void const *args);
romankrej 0:f3b355df6f26 92
romankrej 0:f3b355df6f26 93 /*
romankrej 0:f3b355df6f26 94 * Thread for print results
romankrej 0:f3b355df6f26 95 */
romankrej 0:f3b355df6f26 96 void printThread(void const *args);
romankrej 0:f3b355df6f26 97
romankrej 0:f3b355df6f26 98 #endif