DeuxVis / Lora-TTNMapper-T-Beam

TTNMapper on the TTGO T-Beam
GNU General Public License v3.0
109 stars 47 forks source link

No GPS fix #20

Open rogerdahl opened 4 years ago

rogerdahl commented 4 years ago

Thank you for this sketch!

I'm in the U.S. and trying your sketch with a TTGO T-BEAM module marked as follows:

T22_v1.0
20190612
GPS ESP32
TX IO34
RX IO12

With the default firmware (SoftRF), the module was able to get a GPS fix in short order. With this sketch, I'm unable to get a GPS fix at all. "No gps Fix." (man, that capitalization...) is written to the serial console at regular intervals.

I set up the dependencies as according to the README.md, using the versions listed. I'm on Linux and modified ~/Arduino/libraries/IBM_LMIC_framework/src/lmic/config.h by changing CFG_eu868 to CFG_eu915.

Questions:

Have you tested the sketch with a v1.0 module?

Should I expect the red LED to start flashing when/if a GPS fix is obtained?

Should I be able to turn the module off without removing the battery?

Will any LoRa packets be transmitted before there is a GPS fix?

DeuxVis commented 4 years ago

Hello,

I will update my code to support recent T-Beams at some point.

In the meantime, @noppingen reported the changes needed to have that sketch work on the T-Beam v1.0 - in your case I suspect the change of GPS pins is needed.

see https://github.com/DeuxVis/Lora-TTNMapper-T-Beam/issues/19#issuecomment-579457096

rogerdahl commented 4 years ago

Thanks! I'll just leave this open for others that may end up here in the meantime.

JulesFDR commented 4 years ago

Good day to everyone,

I would like to ask for help because like @rogerdahl I am also getting the "No gps Fix." issue, yet I am able to get updating GPS coordinates on the default firmware.

I am using the following TTGO T-Beam module: T22_V07 20180711 GPS ESP32 TX IO12 RX IO15

I set up the dependencies as prescribed and the sketch compiles without issue of course. I've updated the _deviceconfig.h with my TTN details, as well as the gps.h file with my board's TX/RX pin.

I've searched regarding this issue elsewhere and have also updated the Arduino_LMIC library file hal.cpp as prescribed for my particular board version, see here, which you referenced in #6

Thanks in advance for your time and effort.

DeuxVis commented 4 years ago

I've updated [...] the gps.h file with my board's TX/RX pin.

You shouldn't have had to do this : the default gps.h already is configured for that board gps pins. Can you double check that you didn't mess something up there please ?

JulesFDR commented 4 years ago

Thank you for your quick reply and apologies for the confusion, I didn't change the gps.h file for your library, I was thinking of a different library that I was working with previously.

Double checked to see that it is the same with:

define GPS_TX 12

define GPS_RX 15

Restarted the Arduino program and checked again on the Serial Monitor, still displaying "No gps Fix." at regular intervals.

DeuxVis commented 4 years ago

Can you list me the exact versions of the arduino ide, boards definition and librarys you use ? I can try to reproduce it here as I have the same board.

DeuxVis commented 4 years ago

Oh and by the way as far as I remember I didn't have to change hal.cpp for that board to work.

JulesFDR commented 4 years ago

Arduino IDE 1.8.12 ESP32 Extension 1.0.4 (IDF 3.2) TinyGPSPlus 1.0.2b

Ohh, I only tried editing hal.cpp after I was already getting the "No gps Fix." error, I tried different things before finally coming here to ask for your help.

Glad you have the same board, hopefully can get to the bottom of this without taking too much of your time. Thanks for the help!

DeuxVis commented 4 years ago

Before testing on my side, can you confirm that you are testing outside, with a clear view of the sky ? A GPS fix won't happen inside usually.

Sorry if that was already obvious to you.

On the same note, the T-Beam provided GPS antenna is far from ideal. Gps reception will improve a lot by upgrading it.

JulesFDR commented 4 years ago

No offense taken, first step of troubleshooting is the obvious things like did you turn it off and on again, haha.

Anyway yes, I've tried it both indoors and outdoors, and I got an updating GPS fix (with number of satellites) in both testing locations with the default firmware. And I've also upgraded to a larger compatible antenna. :)

thearduinoguy commented 4 years ago

Any update on this please? I also have the T-Beam and cannot get a GPS fix although other apps get a GPS fix just fine.

DeuxVis commented 4 years ago

@JulesFDR I just tested - sorry for the delay - and it has worked flawlessly for me.

Hardware exactly the same as yours : T22_V07 20180711 T-Beam Stock cheap GPS antenna Note the GPS chip is a Neo-8M, I think some boards are delivered with a 6M instead that might be the difference ?

Software : Fresh install of Arduino IDE 1.8.12 on Linux LMIC 1.5.0+arduino-2 installed from Arduino IDE Library Manager ESP32 Extension 1.0.4 installed using the Library manager too. TinyGPSPlus 1.0.2b installed by extracting the zip file in the Arduino libraries folder

Settings : This repository, master branch. Only changed the device identification in device_config.h (NWKSKEY, APPSKEY and DEVADDR).

Flashed to the board, put a battery in, got outside and switched it on. After a few seconds (like 15 or 20) the red light just under the gps chip started flashing on a regular basis, meaning it got the gps fix and is transmitting. Reception of packets confirmed on the TTN console, and if I got back inside without switching it off, it will continue working and I can plug its usb to my PC read the serial output :

ets Jun  8 2016 00:22:57

rst:0x5 (DEEPSLEEP_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:1044
load:0x40078000,len:8896
load:0x40080400,len:5816
entry 0x400806ac
TTN Mapper
Restored counters as 9/0
No gps Fix.
Valid gps Fix.
Lat: 45.167752
Lng: 5.713052
Packet queued
EV_TXCOMPLETE (includes waiting for RX windows)
Counters stored as 10/0
Good night...

So at this point I don't know how to help you... Have you made any progress on your side ?

DeuxVis commented 4 years ago

@thearduinoguy Can you share the specifics of your setup please ? T-Beam version, etc...

thearduinoguy commented 4 years ago

It is a T-Beam version 1.0 with the NEO-6M

DeuxVis commented 4 years ago

It is a T-Beam version 1.0 with the NEO-6M

Ok then I haven't upgraded this sketch to support this recent version of the T-Beam yet. Will do at some point but don't know when.

If you want to try that on your own, first you'll have to change the GPS pins assignments since they are wired differently. Some other changes related to the energy management IC that was added in 1.0 are probably to be expected...