Your new topic does not fit any of the above??? Check first. Then post here. Thanks.

Moderator: igrr

User avatar
By andre_teprom
#73313
tele_player wrote:None of what you wrote indicates you would benefit by writing your own ISR for the UART RX interrupt


This would not represent any issue at all if the only heavy job of the ESP8266 were the GPS reception, but there are many other tasks being called in the meantime, particularly the Wi-fi libraries, which are very sensitive.
User avatar
By andre_teprom
#73317
tele_player wrote:There is still no indication that you would benefit from writing your own ISR for UART RX.


When we parse a word during each received byte, we have the chance to dilute the decode processing over each received byte, instead of doing so in a single event. This is analogous to a state machine where each received value is allocated in corresponding variables, or received frame indicates the function of the following value. All this processing though is less intelligible, is extremely fast, consuming few machine instructions, besides not requiring a big RAM buffer to store the raw data to be afterwardly checked.

If we consider that most GPS comes with factory 4800 or 9600 baud rate, it would give us a ~10ms or ~20ms window between each interrupt, a quite reasonable interval. Trust me, I've already used this approach in a project based on another core with 3 UARTs running in parallel, each with its own interrupt vector, and it worked like a charm.