Join the Conversation

7 Comments

  1. The firmware of the watch is kinda “messy”. I mean, it’s made in a way that makes adding new funcions without screwing the rest really really easy, and it’s very very well thought, but you must read and understand the whole code to know which places need modifications to add a new function, and that takes time and mental effort. The “messyness” comes from the fact that the watch makes heavy usage of interrupts, and the code is sort of “asynchronous”. When an interrupt happens, the ISR sets some flags ands saves some data in global variables. Then, the functions of the watch asynchronously check for active flags and take the data. That architecture makes things really independent and modular, but requires you to fully understand how everuthing works in order to figure out what things need to change to add a new funcion. It is an architecture much more similar to what a computer program would do. But me likes it!

    1. All good embedded firmware is written like that, because it’s the most efficient and reliable. So, I guess that means the open source watch sets a good example for budding embedded developers.

      As you say, though, it’s very important to be aware that you probably can’t just jump right in and hack without taking the time to understand everything. Thanks for the heads-up.

    2. It’s probably build like that to work like an RTOS because it’s a watch. After the testing I’ve done with it that’s what I’ve come up with. The code is chaotic at first, but once you understand what they are doing it’s fairly easy to work with.

  2. interesting :o)
    i hope there will be enough watches available at the next sale…
    im gonna buy one for sure :o)

Leave a comment

Your email address will not be published. Required fields are marked *

Notify me of followup comments via e-mail. You can also subscribe without commenting.