source: pacpusframework/trunk/include/Pacpus/kernel/pacpus.h@ 3

Last change on this file since 3 was 3, checked in by sgosseli, 12 years ago
  • Add the existing Pacpus files from pacpusdev and pacpuscore.
  • Provide a clean build system based on multiple CMake files.
File size: 2.5 KB
Line 
1#ifndef PACPUS_H
2#define PACPUS_H
3
4#include "road_time.h"
5
6#ifndef PACPUS_PI
7# define PACPUS_PI 3.1415926
8#endif // PACPUS_PI
9
10// Export macro for PacpusLib DLL for Windows only
11#ifdef WIN32
12# ifdef PACPUSLIB_EXPORTS
13// make DLL
14# define PACPUSLIB_API __declspec(dllexport)
15# else
16// use DLL
17# define PACPUSLIB_API __declspec(dllimport)
18# endif
19#else
20// On other platforms, simply ignore this
21# define PACPUSLIB_API
22#endif
23
24#ifdef __GNUC__
25# define PACPUS_DEPRECATED(func) func __attribute__ ((deprecated))
26# define PACPUS_DEPRECATED_MSG(func, msg) func __attribute__ ((deprecated))
27#elif defined(_MSC_VER)
28# define PACPUS_DEPRECATED(func) __declspec(deprecated) func
29# define PACPUS_DEPRECATED_MSG(func, msg) __declspec(deprecated("was declared deprecated: " msg)) func
30#else
31# pragma message("WARNING: You need to implement PACPUS_DEPRECATED for this compiler")
32# define PACPUS_DEPRECATED(func) func
33# define PACPUS_DEPRECATED_MSG(func, msg) func
34#endif
35
36struct donnees_gps
37{
38 int32_t ind_qualite;
39 double x, y;
40 double lon, lat;
41 float a,b,phi,sigma_lat,sigma_lon;
42 road_time_t time;
43 double alt_msl,d_geoidal;
44};
45
46struct donnees_abs_zy
47{
48 float dArD, dArG;
49 float speed;
50 road_time_t time;
51};
52
53struct donnees_gyro
54{
55 // les mesures sont prises par rapport au point C
56 // position de la centrale inertielle
57 // vitesse de lacet (rad.s-1) dans le repère de la masse suspendue
58 float psi_s;
59 road_time_t time;
60};
61
62// Definition of the structure which will be sent for each positioning
63// requests -> MapMatching.cpp
64struct s_MatchedPosition
65{
66 int32_t state; /* Etat du serveur de position absolue hybridée*/
67 double x_match; /* Position Matchée */
68 double y_match; /* en x et y */
69 double x; /* Position du véhicule */
70 double y; /* en x et y */
71 double theta; /* cap (par rapport à l'est) dans le système de la carte */
72 double v; /* vitesse horizontale par rapport à la terre */
73 uint32_t ID; /* ID de la route à laquelle appartient la position matchée */
74 road_time_t time;
75 int32_t way; /* Sens de la route parcourue 1=W2E, 2=E2W*/
76 double dist; /* abscisse curviligne par rapport au début de la route */
77 double pxx, pyy, pxy; /* covariance de l'erreur en position absolue*/
78 double ptheta; /*covariance de l'erreur en cap*/
79 double error;
80 donnees_gyro gyro;
81 donnees_abs_zy odo;
82};
83
84#endif // PACPUS_H
Note: See TracBrowser for help on using the repository browser.