-
Notifications
You must be signed in to change notification settings - Fork 0
/
fifo.h
49 lines (37 loc) · 993 Bytes
/
fifo.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
/*
* fifo.h
*
* Created on: 16 janv. 2011
* Author: HoHen
*/
#ifndef FIFO_H_
#define FIFO_H_
#include "parameters.h"
#include "control.h"
/*Constantes pour la liste des taches*/
#define NO_ID -1
#define TYPE_SPEED 0
#define TYPE_ANGLE 1
#define TYPE_POSITION 2
#define TYPE_PWM 7
typedef struct {
int type; /*1,2,3 selon le type d'asserv*/
int id; /* identifiant de la demande, utile pour envoyer une confirmation a la strategie, -1 si pas besoin de message */
double data_1; /*speed (pour but en vitesse) ou x ou angle*/
double data_2; /* y ou speed (pour but en angle) ou period*/
double data_3; /* speed (pour but en position)*/
} Goal;
typedef struct {
Goal* goal;
int in;
int out;
} Fifo;
void initGoals();
void pushGoalPosition(int,double,double,double);
void pushGoalOrientation(int,double,double);
void pushGoalSpeed(int,double,double);
void pushGoalPwm(int,double,double,double);
void popGoal();
void clearGoals();
bool fifoIsEmpty();
#endif /* FIFO_H_ */