Teste Flash

Dependencies:   pulga-lorawan-drv Si1133 BME280

Committer:
MatteusCarr
Date:
Mon Sep 13 18:55:32 2021 +0000
Revision:
70:99b7a15c09da
Parent:
67:17addc7bf8c2
Teste Flash

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ruschigo 63:4ec1808fb547 1 #ifndef __GPS_H
ruschigo 63:4ec1808fb547 2
ruschigo 63:4ec1808fb547 3 #define __GPS_H
ruschigo 63:4ec1808fb547 4
ruschigo 63:4ec1808fb547 5 #include "mbed.h"
ruschigo 65:4090220e19d2 6 #include "serial.h"
ruschigo 63:4ec1808fb547 7
ruschigo 63:4ec1808fb547 8 #define SYNC1 0xB5
ruschigo 63:4ec1808fb547 9 #define SYNC2 0x62
ruschigo 63:4ec1808fb547 10
ruschigo 63:4ec1808fb547 11
ruschigo 63:4ec1808fb547 12 #define MAXIMUM_PACKET_SIZE 60
ruschigo 63:4ec1808fb547 13
ruschigo 63:4ec1808fb547 14 //GPS DEclaration
ruschigo 63:4ec1808fb547 15 extern SPI spi_2; // mosi, miso, sclk
ruschigo 63:4ec1808fb547 16 extern DigitalOut cs;
ruschigo 63:4ec1808fb547 17 extern DigitalOut gps_reset;
ruschigo 63:4ec1808fb547 18 extern DigitalOut gps_int;
ruschigo 63:4ec1808fb547 19 extern DigitalOut gps_DSEL;
ruschigo 63:4ec1808fb547 20
ruschigo 63:4ec1808fb547 21 static int lat;
ruschigo 63:4ec1808fb547 22 static int lon;
ruschigo 63:4ec1808fb547 23
ruschigo 63:4ec1808fb547 24
ruschigo 63:4ec1808fb547 25 typedef struct
ruschigo 63:4ec1808fb547 26 {
ruschigo 63:4ec1808fb547 27 uint8_t cls;
ruschigo 63:4ec1808fb547 28 uint8_t id;
ruschigo 63:4ec1808fb547 29 uint16_t len; //Length of the payload. Does not include cls, id, or checksum bytes
ruschigo 63:4ec1808fb547 30 uint8_t *payload;
ruschigo 63:4ec1808fb547 31 uint8_t checksumA; //Given to us from module. Checked against the rolling calculated A/B checksums.
ruschigo 63:4ec1808fb547 32 uint8_t checksumB;
ruschigo 63:4ec1808fb547 33 } gps_ubxPacket;
ruschigo 63:4ec1808fb547 34
ruschigo 63:4ec1808fb547 35 typedef struct
ruschigo 63:4ec1808fb547 36 {
ruschigo 63:4ec1808fb547 37 uint32_t iTOW=0;
ruschigo 63:4ec1808fb547 38 uint16_t year=0;
ruschigo 63:4ec1808fb547 39 uint8_t month=0;
ruschigo 63:4ec1808fb547 40 uint8_t day=0;
ruschigo 63:4ec1808fb547 41 uint8_t hour=0;
ruschigo 63:4ec1808fb547 42 uint8_t min=0;
ruschigo 63:4ec1808fb547 43 uint8_t sec=0;
ruschigo 63:4ec1808fb547 44 int8_t valid=0;
ruschigo 63:4ec1808fb547 45 uint32_t tAcc=0;
ruschigo 63:4ec1808fb547 46 int32_t nano=0;
ruschigo 63:4ec1808fb547 47 uint8_t fixtype=0;
ruschigo 63:4ec1808fb547 48 int8_t flags=0;
ruschigo 63:4ec1808fb547 49 int8_t flags2=0;
ruschigo 63:4ec1808fb547 50 uint8_t numSV=0;
ruschigo 63:4ec1808fb547 51 int32_t lon=0;
ruschigo 63:4ec1808fb547 52 int32_t lat=0;
ruschigo 63:4ec1808fb547 53 int32_t height=0;
ruschigo 63:4ec1808fb547 54 int32_t hMSL=0;
ruschigo 63:4ec1808fb547 55 uint32_t hAcc=0;
ruschigo 63:4ec1808fb547 56 uint32_t vAcc=0;
ruschigo 63:4ec1808fb547 57 int32_t velN=0;
ruschigo 63:4ec1808fb547 58 int32_t velE=0;
ruschigo 63:4ec1808fb547 59 int32_t velD=0;
ruschigo 63:4ec1808fb547 60 int32_t gSpeed=0;
ruschigo 63:4ec1808fb547 61 int32_t headMot=0;
ruschigo 63:4ec1808fb547 62 uint32_t sAcc=0;
ruschigo 63:4ec1808fb547 63 uint32_t headAcc=0;
ruschigo 63:4ec1808fb547 64 uint16_t pDOP=0;
ruschigo 63:4ec1808fb547 65 int32_t headVeh;
ruschigo 63:4ec1808fb547 66 int16_t magDec;
ruschigo 63:4ec1808fb547 67 uint16_t magAcc;
ruschigo 63:4ec1808fb547 68
ruschigo 63:4ec1808fb547 69
ruschigo 63:4ec1808fb547 70 } gps_navPVT;
ruschigo 63:4ec1808fb547 71
ruschigo 63:4ec1808fb547 72
ruschigo 63:4ec1808fb547 73 extern void gps_leBootMsg();
ruschigo 63:4ec1808fb547 74
ruschigo 63:4ec1808fb547 75 extern void gps_le_envia_linha();
ruschigo 63:4ec1808fb547 76
ruschigo 63:4ec1808fb547 77 extern gps_ubxPacket gps_calcula_check(gps_ubxPacket Packet);
ruschigo 63:4ec1808fb547 78
ruschigo 63:4ec1808fb547 79 extern void send_gps_packet(gps_ubxPacket packet);
ruschigo 63:4ec1808fb547 80
ruschigo 63:4ec1808fb547 81 extern gps_navPVT le_nav_pvt ();
ruschigo 63:4ec1808fb547 82
ruschigo 63:4ec1808fb547 83 extern void send_nav_pvt();
ruschigo 63:4ec1808fb547 84
ruschigo 63:4ec1808fb547 85 extern void send_gps_data(uint8_t *packet, uint8_t size);
ruschigo 63:4ec1808fb547 86
ruschigo 63:4ec1808fb547 87 extern void wait_packet_byte (uint8_t *header, uint8_t byte);
ruschigo 63:4ec1808fb547 88
ruschigo 63:4ec1808fb547 89 extern void gps_wait_same_packet();
ruschigo 63:4ec1808fb547 90
ruschigo 63:4ec1808fb547 91 extern void gps_config_gnss();
ruschigo 63:4ec1808fb547 92
ruschigo 63:4ec1808fb547 93 extern void gps_print_local ();
ruschigo 63:4ec1808fb547 94
ruschigo 63:4ec1808fb547 95 extern void gps_get_lat_lon(int *latitude, int *logitude);
ruschigo 63:4ec1808fb547 96
ruschigo 63:4ec1808fb547 97 extern void gps_config();
ruschigo 63:4ec1808fb547 98
ruschigo 63:4ec1808fb547 99 extern int get_latitude();
ruschigo 63:4ec1808fb547 100
ruschigo 63:4ec1808fb547 101 extern int get_longitude();
ruschigo 63:4ec1808fb547 102
pancotinho 67:17addc7bf8c2 103 extern int get_time();
pancotinho 67:17addc7bf8c2 104
pancotinho 67:17addc7bf8c2 105 extern gps_navPVT get_struct();
pancotinho 67:17addc7bf8c2 106
ruschigo 63:4ec1808fb547 107 #endif