testing gps
This commit is contained in:
parent
4f2139a715
commit
b43834a962
@ -58,7 +58,7 @@ typedef struct {
|
||||
uint16_t altitude;
|
||||
} gpsStatus_t;
|
||||
extern gpsStatus_t gps_status; // struct for storing gps data
|
||||
extern TinyGPSPlus gps; // Make TinyGPS++ instance globally availabe
|
||||
//extern TinyGPSPlus gps; // Make TinyGPS++ instance globally availabe
|
||||
#endif
|
||||
|
||||
extern configData_t cfg;
|
||||
|
@ -4,9 +4,8 @@
|
||||
|
||||
// Local logging tag
|
||||
static const char TAG[] = "main";
|
||||
|
||||
/*
|
||||
// GPS read data to global struct
|
||||
|
||||
void gps_read(){
|
||||
gps_status.latitude = gps.location.lat();
|
||||
gps_status.longitude = gps.location.lng();
|
||||
@ -15,7 +14,7 @@ void gps_read(){
|
||||
gps_status.altitude = (uint16_t) gps.altitude.meters();
|
||||
}
|
||||
|
||||
// GPS serial feed FreeRTos Task
|
||||
/// GPS serial feed FreeRTos Task
|
||||
void gps_loop(void * pvParameters) {
|
||||
|
||||
configASSERT( ( ( uint32_t ) pvParameters ) == 1 ); // FreeRTOS check
|
||||
@ -33,5 +32,5 @@ void gps_loop(void * pvParameters) {
|
||||
vTaskDelay(1/portTICK_PERIOD_MS); // reset watchdog
|
||||
}
|
||||
}
|
||||
|
||||
*/
|
||||
#endif // HAS_GPS
|
@ -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, 12, 15
|
||||
//#define HAS_GPS 9600, SERIAL_8N1, 12, 15
|
||||
#define HAS_GPS 1
|
||||
|
||||
// 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
|
||||
|
@ -136,6 +136,7 @@ void do_send(osjob_t* j){
|
||||
ESP_LOGI(TAG, "%d bytes queued to send", sizeof(mydata));
|
||||
sprintf(display_lmic, "PACKET QUEUED");
|
||||
|
||||
/*
|
||||
#ifdef HAS_GPS
|
||||
if (cfg.gpsmode && gps.location.isValid()) {
|
||||
gps_read();
|
||||
@ -143,6 +144,7 @@ void do_send(osjob_t* j){
|
||||
ESP_LOGI(TAG, "HDOP=%d, SATS=%d, LAT=%d, LON=%d", gps_status.hdop, gps_status.satellites, gps_status.latitude, gps_status.longitude );
|
||||
}
|
||||
#endif
|
||||
*/
|
||||
|
||||
// clear counter if not in cumulative counter mode
|
||||
if (cfg.countermode != 1) {
|
||||
|
21
src/main.cpp
21
src/main.cpp
@ -57,7 +57,7 @@ u1_t rcmd_data_size; // buffer for rcommand results size
|
||||
|
||||
#ifdef HAS_GPS
|
||||
gpsStatus_t gps_status; // struct for storing gps data
|
||||
TinyGPSPlus gps; // create TinyGPS++ instance
|
||||
TinyGPSPlus gps; // create TinyGPS++ instance
|
||||
#endif
|
||||
|
||||
portMUX_TYPE timerMux = portMUX_INITIALIZER_UNLOCKED; // sync main loop and ISR when modifying IRQ handler shared variables
|
||||
@ -482,7 +482,6 @@ void setup() {
|
||||
#ifdef HAS_RGB_LED
|
||||
rgb_set_color(COLOR_PINK);
|
||||
strcat(features, " RGB");
|
||||
delay(1000);
|
||||
#endif
|
||||
|
||||
// initialize button handling if needed
|
||||
@ -582,10 +581,10 @@ xTaskCreatePinnedToCore(sniffer_loop, "wifisniffer", 2048, ( void * ) 1, 1, NULL
|
||||
|
||||
// if device has GPS and GPS function is enabled, start GPS reader task on core 0
|
||||
#ifdef HAS_GPS
|
||||
if (cfg.gpsmode) {
|
||||
ESP_LOGI(TAG, "Starting GPS task on core 0");
|
||||
xTaskCreatePinnedToCore(gps_loop, "gpsreader", 2048, ( void * ) 1, 1, NULL, 0);
|
||||
}
|
||||
//if (cfg.gpsmode) {
|
||||
//ESP_LOGI(TAG, "Starting GPS task on core 0");
|
||||
//xTaskCreatePinnedToCore(gps_loop, "gpsreader", 2048, ( void * ) 1, 1, NULL, 0);
|
||||
//}
|
||||
#endif
|
||||
|
||||
// kickoff sendjob -> joins network and rescedules sendjob for cyclic transmitting payload
|
||||
@ -599,6 +598,9 @@ do_send(&sendjob);
|
||||
|
||||
void loop() {
|
||||
|
||||
HardwareSerial GPS_Serial(1);
|
||||
GPS_Serial.begin(9600, SERIAL_8N1, 12, 15 );
|
||||
|
||||
while (1) {
|
||||
|
||||
// simple state machine for controlling uptime, display, LED, button, memory.
|
||||
@ -626,8 +628,13 @@ void loop() {
|
||||
reset_salt(); // get new salt for salting hashes
|
||||
}
|
||||
|
||||
// read gps
|
||||
while (GPS_Serial.available()) {
|
||||
gps.encode(GPS_Serial.read());
|
||||
}
|
||||
|
||||
if ( (uptime() % 10000) == 0 )
|
||||
ESP_LOGI(TAG, "GPS NMEA data passed %d / failed: %d / with fix: %d || Sats: %d / HDOP: %d", gps.passedChecksum(), gps.failedChecksum(), gps.sentencesWithFix(), gps.satellites.value(), gps.hdop.value());
|
||||
ESP_LOGI(TAG, "GPS NMEA data passed %d / failed: %d / with fix: %d || Sats: %d / HDOP: %d || m/s: %d / %d", gps.passedChecksum(), gps.failedChecksum(), gps.sentencesWithFix(), gps.satellites.value(), gps.hdop.value(), gps.time.minute(), gps.time.second() );
|
||||
|
||||
vTaskDelay(1/portTICK_PERIOD_MS); // reset watchdog
|
||||
|
||||
|
@ -259,6 +259,7 @@ void get_voltage (uint8_t val) {
|
||||
|
||||
void get_gps (uint8_t val) {
|
||||
ESP_LOGI(TAG, "Remote command: get gps status");
|
||||
/*
|
||||
#ifdef HAS_GPS
|
||||
if (gps.location.isValid()) {
|
||||
gps_read();
|
||||
@ -266,6 +267,7 @@ void get_gps (uint8_t val) {
|
||||
ESP_LOGI(TAG, "HDOP=%d, SATS=%d, LAT=%d, LON=%d", gps_status.hdop, gps_status.satellites, gps_status.latitude, gps_status.longitude );
|
||||
}
|
||||
#endif
|
||||
*/
|
||||
};
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user