• ...with 0 length, you would actually toss the value or the whole measurement... or you should not even get there, because the chechsume failed it? ...or did the gps assume the sentence to be correct? - I assume the information may get lost in transmission and not in generation/calculation in GPS... because why would the other values show?

    N-copters use these GPS for their flight navigation and consume 10 sentences/sec. May be to offload Espruino from parsing and getting the proper values - and then tranferred as binaries into typed arrays, one needs to think of having a slave processor, such as a tiny85 or so... will just do the job... Espruino would still monitor what's going on and also control the power of that device. @DrAzzy went down a similar route with some of his RF and other projects... Eventhough Espruino gives compiled and is fast (32 vs 8 bit etc), but certain apps are just not its ballpark. The challenge though to find that limit, push the envelop, and (may be) still make it, is what is the driving force and excitement!

  • Using try catch is indeed to stop any further computation when checksum fails...
    Nmea sentences should never be assumed to be correct.
    At 10 hz, depending upon ublox parameters, you could have a 100 nmea sentences to analyse per second. And a lot of duplicated data...
    There is, of course, the thrill of the challenge. I could do that natively in bare metal C😉
    Now, I think, getting down to multi processors's system, which is the case here, shows how tricky it can be.
    Now, my last observations of failures cases has shown that the neo-6m is resetting on its own.
    The usual suspects are: power supply (very plausible on the Espruino board), heat and hardware.

    Approaches are:
    a- use another power regulator to feed the gps
    b- attempt to evacuate this by software as it should not be critical

About

Avatar for allObjects @allObjects started