• I mean to get time from GPS.

    The clock get its time from GPS when started or re-started (bootloader.js)

    Bangle.on('GPS',function cb(g) {
          Bangle.setGPSPower(0);
          Bangle.removeListener("GPS",cb);
          if (!g.time || (g.time.getFullYear()<2000) ||
             (g.time.getFullYear()==2250)) {
            // GPS receiver's time not set - just boot clock anyway
            eval(clockApp);delete clockApp;
            return;
          }
          // We have a GPS time. Set time and reboot (to load alarms properly)
          setTime(g.time.getTime()/1000);
          load();
        });
    

    Here g.time returns an time object in UTC, which I guess is fine.

    My assumption was the GPS will detect the location and convert the time to local timezone. But I may be wrong...

    Another though, can we have event emitter defined in bootloader.js that emit global events when-

    • A second elapsed
    • A minute elapsed
    • An hour elapsed

    Any app will subscribe to these events to process the clock time update.
    This way we don't have to write separate timers in clock app to capture the time update.

    what is "The GPS Time app"

About

Avatar for DerGuteWolf @DerGuteWolf started