- Sat Jan 20, 2018 1:50 pm
#73340
tele_player wrote:Have you actually run any GPS code on the 8266?
In fact, I've never used GPS on ESP8266 (specifically, on Arduino) because by analyzing the system as a whole, at first glance, I would have to deal with the issues previously reported (namelly, the lack of serial ISR). Before starting a project, I usually do a mind essay to check if a chosen architecture will work with the available firmware resources.
Regarding the example you presented, think on this: When adopting devices using synchronous communication (in this case, SPI for the Adafruit1306), this has the advantage that this communication can be interrupted at any time without having any impact on the communication itself, unlike a serial communication of the UART among the GPS, on which it is expected a sequence of dozens bytes within a well-defined frame. As mentioned bofore, the sentence of interest occurs at intervals of 557 bytes, and we don't have any indication of When, so the buffer size should be almost twice this size.
Note that at that code on Github, it isn't called any Wi-fi routines, which represents an almost ideal scenario, although the ESP8266 major atribute is this RF capability. In addition, the author makes use of the Soft serial, which would waste the built-in UART peripheral available on the uC, and worse, via polling, which would require to allocate the giant RAM buffer above mentioned.
tele_player wrote:You’re still stuck on the insistence that the NMEA handling must be done in the ISR. This is incorrect
I agree, but just when nothing else is called, I mean, if it is not expected any heavy task to run in the same program.
Anyway, thanks for the interest on this question.
"part of the world that you live in, you are the part that you're giving" - Renaissance