Class pour trame Nmea.
Dependents: Test_gps_event_vitesse_bluetooth gpsmpu60500 Test_gps_event_vitesse_bluetooth_ok
Fork of gps_event_vitesse by
gps_event_vitesse.h@1:dfc738d8aba1, 2016-05-20 (annotated)
- Committer:
- schnf30
- Date:
- Fri May 20 16:24:50 2016 +0000
- Revision:
- 1:dfc738d8aba1
- Parent:
- 0:ba9bedfe1044
Driver adapt? au EM-40- et 506.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
schnf30 | 0:ba9bedfe1044 | 1 | #ifndef _Sf_gps_rs232_ |
schnf30 | 0:ba9bedfe1044 | 2 | #define _Sf_gps_rs232_ |
schnf30 | 0:ba9bedfe1044 | 3 | #include "mbed.h" |
schnf30 | 0:ba9bedfe1044 | 4 | #define trame_nmea_max 84 |
schnf30 | 0:ba9bedfe1044 | 5 | |
schnf30 | 0:ba9bedfe1044 | 6 | const double pi = 3.14159265; |
schnf30 | 0:ba9bedfe1044 | 7 | const double rayon = 6378137.0; |
schnf30 | 0:ba9bedfe1044 | 8 | |
schnf30 | 0:ba9bedfe1044 | 9 | class Gps : public Serial |
schnf30 | 0:ba9bedfe1044 | 10 | { |
schnf30 | 0:ba9bedfe1044 | 11 | public: |
schnf30 | 0:ba9bedfe1044 | 12 | Gps(PinName Txd, PinName Rxd); |
schnf30 | 0:ba9bedfe1044 | 13 | void receive(); //recoit les data gps et les stocks puis produit les donnees en cas de reception |
schnf30 | 0:ba9bedfe1044 | 14 | double time(); // date |
schnf30 | 0:ba9bedfe1044 | 15 | double latitude(); |
schnf30 | 0:ba9bedfe1044 | 16 | char ns(); // nombre satellite. |
schnf30 | 0:ba9bedfe1044 | 17 | double longitude(); |
schnf30 | 0:ba9bedfe1044 | 18 | char ew(); |
schnf30 | 0:ba9bedfe1044 | 19 | int lock(); |
schnf30 | 0:ba9bedfe1044 | 20 | int nbsattelite(); |
schnf30 | 0:ba9bedfe1044 | 21 | char sample(); |
schnf30 | 0:ba9bedfe1044 | 22 | float vitesse(); |
schnf30 | 0:ba9bedfe1044 | 23 | char vitesse_ok(); |
schnf30 | 0:ba9bedfe1044 | 24 | float vitesse_gps(); |
schnf30 | 0:ba9bedfe1044 | 25 | char vitesse_gps_ok(); |
schnf30 | 0:ba9bedfe1044 | 26 | private: |
schnf30 | 0:ba9bedfe1044 | 27 | unsigned int _num; // nombre caractere recu dans la phrase gps en court |
schnf30 | 0:ba9bedfe1044 | 28 | char _msg[trame_nmea_max+1]; // |
schnf30 | 0:ba9bedfe1044 | 29 | float _time; // date |
schnf30 | 0:ba9bedfe1044 | 30 | float _old_time; |
schnf30 | 0:ba9bedfe1044 | 31 | float _latitude; |
schnf30 | 0:ba9bedfe1044 | 32 | float _old_latitude; |
schnf30 | 0:ba9bedfe1044 | 33 | char _ns; |
schnf30 | 0:ba9bedfe1044 | 34 | float _longitude; |
schnf30 | 0:ba9bedfe1044 | 35 | float _old_longitude; |
schnf30 | 0:ba9bedfe1044 | 36 | char _ew; |
schnf30 | 0:ba9bedfe1044 | 37 | int _lock; |
schnf30 | 0:ba9bedfe1044 | 38 | int _old_lock; |
schnf30 | 0:ba9bedfe1044 | 39 | int _nbsattelite; |
schnf30 | 0:ba9bedfe1044 | 40 | char _gps_data_ok; |
schnf30 | 0:ba9bedfe1044 | 41 | double _trunc(double v); |
schnf30 | 0:ba9bedfe1044 | 42 | double _time_sec(double time); |
schnf30 | 0:ba9bedfe1044 | 43 | float _vitesse_gps; |
schnf30 | 0:ba9bedfe1044 | 44 | char _vitesse_gps_ok; |
schnf30 | 0:ba9bedfe1044 | 45 | }; |
schnf30 | 0:ba9bedfe1044 | 46 | #endif |