diff --git a/README.md b/README.md index ae323e94c..c4f844c56 100644 --- a/README.md +++ b/README.md @@ -24,14 +24,16 @@ We currently support three models of radios. - TTGO T-Beam (usually the recommended choice) - [T-Beam V1.1 w/ NEO-6M - special Meshtastic version](https://www.aliexpress.com/item/4001178678568.html) (Includes built-in OLED display and they have **preinstalled** the meshtastic software) - - [T-Beam V1.0 w/ NEO-M8N](https://www.aliexpress.com/item/33047631119.html) (slightly better GPS) + - [T-Beam V1.1 w/ NEO-M8N](https://www.aliexpress.com/item/33047631119.html) (slightly better GPS) - [T-Beam V0.7 w/ NEO-6M](https://www.aliexpress.com/item/4000574335430.html) (will work but **you must use the tbeam0.7 firmware ** - but the T-Beam V1.0 or later are better!) + - board labels "TTGO T22_V07 20180711" - 3D printable cases - [T-Beam V0](https://www.thingiverse.com/thing:3773717) - [T-Beam V1](https://www.thingiverse.com/thing:3830711) - [TTGO LORA32](https://www.aliexpress.com/item/4000211331316.html) - No GPS - + - version 2.1 + - board labels "TTGO T3_V1.6 20180606" - 3D printable case - [TTGO LORA32 v1](https://www.thingiverse.com/thing:3385109) diff --git a/docs/SupportedHardware.md b/docs/SupportedHardware.md new file mode 100644 index 000000000..5cbc46616 --- /dev/null +++ b/docs/SupportedHardware.md @@ -0,0 +1,8 @@ +| Vendor | Product line | Version | Board labels | Notes | URL | +|---|---|---|---|---|---| +| TTGO | T-Beam | 0.7 | T22_V07 20180711 | LoRa 433/470MHz *OR* LoRa 868/915MHz ,
GPS ublox NEO-6M ,
battery holder for Li-Ion 18650 | [buy](https://www.aliexpress.com/item/4000574335430.html) | +| TTGO | T-Beam | 1.0 | | | [buy](https://www.aliexpress.com/item/4001178678568.html) | +| TTGO | T-Beam | 1.1 | T22_V11 20191212 | LoRa 433/470MHz *OR* LoRa 868/915MHz *OR* LoRa 923MHz ,
GPS ublox NEO-M8N ,
battery holder for Li-Ion 18650 | [buy](https://www.aliexpress.com/item/4001178678568.html) | +| TTGO | Lora32 | 2.0 | *missing* | LoRa 433/470MHz *OR* LoRa 868/915MHz ,
OLED SSD1306 ,
SD card holder | [buy](https://www.aliexpress.com/item/4000211331316.html) | +| TTGO | Lora32 | 2.1 | T3_V1.6 20180606 | LoRa 32 (V2) ,
SD card holder | [buy](https://www.aliexpress.com/item/4000119208093.html) | +| Heltec | Lora 32 | V2 | V2 | LoRa 433/470MHz *OR* LoRa 868/915MHz | [buy](https://heltec.org/project/wifi-lora-32/) | diff --git a/src/gps/UBloxGPS.cpp b/src/gps/UBloxGPS.cpp index 142e416f2..b63241c38 100644 --- a/src/gps/UBloxGPS.cpp +++ b/src/gps/UBloxGPS.cpp @@ -141,19 +141,20 @@ The Unix epoch (or Unix time or POSIX time or Unix timestamp) is the number of s perhapsSetRTC(t); } + latitude = ublox.getLatitude(0); + longitude = ublox.getLongitude(0); + altitude = ublox.getAltitude(0) / 1000; // in mm convert to meters + dop = ublox.getPDOP(0); // PDOP (an accuracy metric) is reported in 10^2 units so we have to scale down when we use it + heading = ublox.getHeading(0); + numSatellites = ublox.getSIV(0); + + // bogus lat lon is reported as 0 or 0 (can be bogus just for one) + // Also: apparently when the GPS is initially reporting lock it can output a bogus latitude > 90 deg! + hasValidLocation = (latitude != 0) && (longitude != 0) && (latitude <= 900000000 && latitude >= -900000000) && (numSatellites > 0); + + // we only notify if position has changed due to a new fix if ((fixtype >= 3 && fixtype <= 4) && ublox.getP(maxWait)) // rd fixes only { - // we only notify if position has changed - latitude = ublox.getLatitude(0); - longitude = ublox.getLongitude(0); - altitude = ublox.getAltitude(0) / 1000; // in mm convert to meters - dop = ublox.getPDOP(0); // PDOP (an accuracy metric) is reported in 10^2 units so we have to scale down when we use it - heading = ublox.getHeading(0); - numSatellites = ublox.getSIV(0); - - // bogus lat lon is reported as 0 or 0 (can be bogus just for one) - // Also: apparently when the GPS is initially reporting lock it can output a bogus latitude > 90 deg! - hasValidLocation = (latitude != 0) && (longitude != 0) && (latitude <= 900000000 && latitude >= -900000000); if (hasValidLocation) { wantNewLocation = false; notifyObservers(NULL);