testing GPS (experimental)

This commit is contained in:
Klaus K Wilting 2018-06-09 23:10:40 +02:00
parent 485b4fb2f0
commit 600ba2bd71
5 changed files with 39 additions and 17 deletions

View File

@ -51,8 +51,8 @@ typedef struct {
#ifdef HAS_GPS
typedef struct {
float latitude;
float longitude;
uint32_t latitude;
uint32_t longitude;
uint8_t satellites;
uint16_t hdop;
uint16_t altitude;

View File

@ -7,8 +7,8 @@ static const char TAG[] = "main";
// read GPS data and cast to global struct
void gps_read(){
gps_status.latitude = (float) gps.location.lat();
gps_status.longitude = (float) gps.location.lng();
gps_status.latitude = (uint32_t) gps.location.lat() * 100;
gps_status.longitude = (uint32_t) gps.location.lng() * 100;
gps_status.satellites = (uint8_t) gps.satellites.value();
gps_status.hdop = (uint16_t) gps.hdop.value();
gps_status.altitude = (uint16_t) gps.altitude.meters();
@ -25,8 +25,9 @@ void gps_loop(void * pvParameters) {
if (cfg.gpsmode)
{
// if GPS function is enabled try serial connect to GPS device
GPS_Serial.begin(HAS_GPS);
#ifdef GPS_SERIAL
// serial connect to GPS device
GPS_Serial.begin(GPS_SERIAL);
while(cfg.gpsmode) {
// feed GPS decoder with serial NMEA data from GPS device
@ -37,6 +38,16 @@ void gps_loop(void * pvParameters) {
}
// after GPS function was disabled, close connect to GPS device
GPS_Serial.end();
#endif
#ifdef GPS_I2C
// I2C connect to GPS device
/*
to be done
*/
#endif
}
vTaskDelay(1/portTICK_PERIOD_MS); // reset watchdog

View File

@ -4,6 +4,11 @@
#define HAS_LED NOT_A_PIN // LoPy4 has no on board LED, so we use RGB LED on LoPy4
#define HAS_RGB_LED GPIO_NUM_0 // WS2812B RGB LED on GPIO0
// use only if your LoPy lives on a Pytrack expansion board
//#define HAS_GPS 1
//#define GPS_I2C GPIO_NUM_9, GPIO_NUM_8 // SDA, SCL
//#define HAS_BUTTON GPIO_NUM_4
// Hardware pin definitions for Pycom LoPy board
#define PIN_SPI_SS GPIO_NUM_17
#define PIN_SPI_MOSI GPIO_NUM_27

View File

@ -4,6 +4,11 @@
#define HAS_LED NOT_A_PIN // LoPy4 has no on board LED, so we use RGB LED on LoPy4
#define HAS_RGB_LED GPIO_NUM_0 // WS2812B RGB LED on GPIO0
// use only if your LoPy lives on a Pytrack expansion board
//#define HAS_GPS 1
//#define GPS_I2C GPIO_NUM_9, GPIO_NUM_8 // SDA, SCL
//#define HAS_BUTTON GPIO_NUM_4
// Hardware pin definitions for Pycom LoPy4 board
#define PIN_SPI_SS GPIO_NUM_18
#define PIN_SPI_MOSI GPIO_NUM_27

View File

@ -6,7 +6,8 @@
//#define HAS_BUTTON GPIO_NUM_39 // on board button "BOOT" (next to reset button) !! seems not to work!!
#define HAS_BATTERY_PROBE ADC1_GPIO35_CHANNEL // battery probe GPIO pin -> ADC1_CHANNEL_7
#define BATT_FACTOR 2 // voltage divider 100k/100k on board
#define HAS_GPS 9600, SERIAL_8N1, GPIO_NUM_12, GPIO_NUM_15 // UBlox NEO 6M or 7M
#define HAS_GPS 1 // use on board GPS
#define GPS_SERIAL 9600, SERIAL_8N1, GPIO_NUM_12, GPIO_NUM_15 // UBlox NEO 6M or 7M with default configuration
// re-define pin definitions of pins_arduino.h
#define PIN_SPI_SS GPIO_NUM_18 // ESP32 GPIO18 (Pin18) -- HPD13A NSS/SEL (Pin4) SPI Chip Select Input