Update Payload_BME280_MPU6050_XS_Extended.ino harmonized with non extended after changes

pull/295/head
Alan Johnston 2 years ago committed by GitHub
parent c46fe0f721
commit 93181451e5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -6,8 +6,13 @@
#include <Adafruit_Sensor.h> #include <Adafruit_Sensor.h>
#include <Adafruit_BME280.h> #include <Adafruit_BME280.h>
#include <MPU6050_tockn.h> #include <MPU6050_tockn.h>
#include <EEPROM.h>
#include <TinyGPS++.h> #include <TinyGPS++.h>
#ifdef ARDUINO_ARCH_RP2040
UART Serial2(8, 9, 0, 0);
#else
#include <EEPROM.h>
#endif
#define SEALEVELPRESSURE_HPA (1013.25) #define SEALEVELPRESSURE_HPA (1013.25)
@ -60,16 +65,16 @@ bool show_gps = true; // set to false to not see all messages
float flon = 0.0, flat = 0.0, flalt = 0.0; float flon = 0.0, flat = 0.0, flalt = 0.0;
void get_gps(); void get_gps();
extern void payload_setup(); // sensor extension setup function defined in payload_extension.cpp extern void payload_setup(); // sensor extension setup function defined in payload_extension.cpp
extern void payload_loop(); // sensor extension read function defined in payload_extension.cpp extern void payload_loop(); // sensor extension read function defined in payload_extension.cpp
void setup() { void setup() {
#ifdef ARDUINO_ARCH_RP2040 #ifdef ARDUINO_ARCH_RP2040
Serial1.setRX(1); // Serial1.setRX(1);
delay(100); // delay(100);
Serial1.setTX(0); // Serial1.setTX(0);
delay(100); // delay(100);
#endif #endif
Serial.begin(115200); // Serial Monitor for testing Serial.begin(115200); // Serial Monitor for testing
@ -101,7 +106,7 @@ void setup() {
#endif #endif
blink_setup(); // sensor extension setup function defined in payload_extension.cpp blink_setup();
blink(500); blink(500);
delay(250); delay(250);
@ -158,7 +163,7 @@ void setup() {
Serial.println(((float)eeprom_word_read(3)) / 100.0, DEC); Serial.println(((float)eeprom_word_read(3)) / 100.0, DEC);
#endif #endif
} }
payload_setup(); payload_setup(); // sensor extension setup function defined in payload_extension.cpp
} }
void loop() { void loop() {
@ -323,20 +328,24 @@ void loop() {
Serial.println(digitalRead(15)); Serial.println(digitalRead(15));
#endif #endif
// delay(1000); not needed due to gps 1 second polling delay // delay(1000); // not needed due to gps 1 second polling delay
get_gps(); get_gps();
} }
void eeprom_word_write(int addr, int val) void eeprom_word_write(int addr, int val)
{ {
#ifndef ARDUINO_ARCH_RP2040
EEPROM.write(addr * 2, lowByte(val)); EEPROM.write(addr * 2, lowByte(val));
EEPROM.write(addr * 2 + 1, highByte(val)); EEPROM.write(addr * 2 + 1, highByte(val));
#endif
} }
short eeprom_word_read(int addr) short eeprom_word_read(int addr)
{ {
#ifndef ARDUINO_ARCH_RP2040
return ((EEPROM.read(addr * 2 + 1) << 8) | EEPROM.read(addr * 2)); return ((EEPROM.read(addr * 2 + 1) << 8) | EEPROM.read(addr * 2));
#endif
} }
void blink_setup() void blink_setup()
@ -356,7 +365,7 @@ void blink_setup()
#endif #endif
#if defined ARDUINO_ARCH_RP2040 #if defined ARDUINO_ARCH_RP2040
if (check_for_wifi()) { /* if (check_for_wifi()) {
wifi = true; wifi = true;
led_builtin_pin = LED_BUILTIN; // use default GPIO for Pico W led_builtin_pin = LED_BUILTIN; // use default GPIO for Pico W
pinMode(LED_BUILTIN, OUTPUT); pinMode(LED_BUILTIN, OUTPUT);
@ -364,11 +373,13 @@ void blink_setup()
} else { } else {
led_builtin_pin = 25; // manually set GPIO 25 for Pico board led_builtin_pin = 25; // manually set GPIO 25 for Pico board
// pinMode(25, OUTPUT); // pinMode(25, OUTPUT);
pinMode(led_builtin_pin, OUTPUT); */
led_builtin_pin = LED_BUILTIN; // use default GPIO for Pico W
pinMode(LED_BUILTIN, OUTPUT);
wifi = true;
pinMode(18, OUTPUT); pinMode(18, OUTPUT);
pinMode(19, OUTPUT); pinMode(19, OUTPUT);
} // }
#endif #endif
} }
@ -438,6 +449,7 @@ int read_analog()
#if defined __AVR_ATmega32U4__ #if defined __AVR_ATmega32U4__
sensorValue = analogRead(A3); sensorValue = analogRead(A3);
#endif #endif
#if defined(ARDUINO_ARCH_STM32F0) || defined(ARDUINO_ARCH_STM32F1) || defined(ARDUINO_ARCH_STM32F3) || defined(ARDUINO_ARCH_STM32F4) || defined(ARDUINO_ARCH_STM32L4) #if defined(ARDUINO_ARCH_STM32F0) || defined(ARDUINO_ARCH_STM32F1) || defined(ARDUINO_ARCH_STM32F3) || defined(ARDUINO_ARCH_STM32F4) || defined(ARDUINO_ARCH_STM32L4)
sensorValue = analogRead(PA7); sensorValue = analogRead(PA7);
#endif #endif
@ -459,8 +471,14 @@ bool check_for_wifi() {
pinMode(29, INPUT); pinMode(29, INPUT);
const float conversion_factor = 3.3f / (1 << 12); const float conversion_factor = 3.3f / (1 << 12);
uint16_t result = analogRead(29); uint16_t result = analogRead(29);
/*
// Serial.printf("ADC3 value: 0x%03x, voltage: %f V\n", result, result * conversion_factor); // Serial.printf("ADC3 value: 0x%03x, voltage: %f V\n", result, result * conversion_factor);
Serial.print("ADC3 value and voltage: ");
Serial.print(result);
Serial.print(" ");
Serial.println(result * conversion_factor);
*/
if (result < 0x10) { if (result < 0x10) {
Serial.println("\nPico W detected!\n"); Serial.println("\nPico W detected!\n");
return(true); return(true);
@ -472,7 +490,7 @@ bool check_for_wifi() {
} }
void get_gps() { void get_gps() {
//#ifndef ARDUINO_ARCH_RP2040
bool newData = false; bool newData = false;
unsigned long start = millis(); unsigned long start = millis();
@ -489,7 +507,9 @@ void get_gps() {
} }
} }
if (newData) { if (newData) {
Serial.printf("GPS read new data in ms: %d\n", millis() - start); Serial.print("GPS read new data in ms: ");
Serial.println(millis() - start);
// float flon = 0.0, flat = 0.0, flalt = 0.0; // float flon = 0.0, flat = 0.0, flalt = 0.0;
// unsigned long age; // unsigned long age;
// starting = millis(); // starting = millis();
@ -515,5 +535,5 @@ void get_gps() {
} else } else
// Serial.printf("GPS read no new data: %d\n", millis() - start); // Serial.printf("GPS read no new data: %d\n", millis() - start);
; ;
//#endif
} }

Loading…
Cancel
Save

Powered by TurnKey Linux.