fifo_full message in BangleRun

Posted on
  • Hi,
    I have noticed that the BangleRun app does not seem to be able to acquire a GPS fix or measure heart rates. When the app starts up, the green hrm LED briefly lights up (presumably per the call to Bangle.setHRMPower(1) in the app), but then goes off almost instantly. For a brief moment, the message 'fifo_full' flashes on the bottom of the screen in red and disappears. Furthermore, the GPS receiver never seems to acquire a position fix (admittedly I only waited - outside, with a clear view of the sky - for about 10 minutes, but other apps demonstrable get a fix more quickly; incidentally is every call to Bangle.setGPSPower(1) a cold start or a warm start of the ublox chipset?).
    I don't know if these two events (the fifo message and the turning off of the hrm) are related, but I suspect they might be.
    I am running firmware version 2v05.171.
    Any advise on what might be causing this?

  • Quick update:
    I was able to get it to work by starting up the hrm one second after GPS startup (via 'setTimeout') and by reducing the calls to 'draw()' to once a second (instead of every 500ms; not sure if this second change was strictly necessary).
    It seems that the system gets overwhelmed when too many potentially call-back producing services get started simultaneously?

  • Hi - there was a recent issue with the 'FIFO_FULL' message appearing which got fixed yesterday, so that'd probably your issue. It was harmless though - just warning that some 'raw' NMEA GPS data got lost (but the app was never looking for the raw NMEA data so it didn't matter).

    The actual GPS coordinates are parsed in an IRQ so are never lost regardless of whether there's a FIFO_FULL or not.

    is every call to Bangle.setGPSPower(1) a cold start or a warm start of the ublox chipset?

    It's a warm start, so should acquire a lot faster. Although the time taken depends on how long it's been since the last fix. If it's a day or two it'll be slower than if it was only an hour ago.

    Maybe you could try again with a totally standard BangleRun and just leave it a bit longer to get a fix?

  • Hi all.
    I'm very happy to be a bangle.js owner.
    I've searched so long a real free and open smartwatch with no luck.
    In the meanwhile I was a not so proud Garmin Vivosport owner.

    Sorry for the introduction.

    Today I've installed for the first time the BangleRun app.
    No issues with measurements during run.
    All went well and with good measurements.
    But whenever the app starts, with debug level on, for less than 1s I can see in the bottom of the screen the following message:

    "New interpreter error: FIFO_FULL"

    Message could also appear stopping/starting/pausing timer pressing BTN3 randomly.
    After error screen remains in a strange state with old screen freezed overlapping current screen (with timer running).
    Real screen could be seen only after sleep and wake on turning wrist.

    My firmware version is: 2v08

    1 Attachment

    • IMG_20210106_231806.jpg
  • Hi - thanks! Yes, I noticed this is still happening yesterday too.

    Basically BangleRun attempts to extract information from the raw GPS data, but initially when it updates the whole screen it takes long enough that some of the raw GPS data is missed.

    It's nothing to worry about but the reporting does look a bit ugly - I'll see what I can do to fix this as it seems there's no need to use the raw GPS data any more (the processed data should work fine, and would avoid the message).

  • Post a reply
    • Bold
    • Italics
    • Link
    • Image
    • List
    • Quote
    • code
    • Preview

fifo_full message in BangleRun

Posted by Avatar for user113695 @user113695