Simple Pomodoro Timer

I made a dead simple pomodoro timer out of a single blink. It’s not as battery friendly as it could be, but it works!

4 Likes

This is great. Were you able to bypass the ten-minute power down on the blinks?

Not sure if the OP managed to do it (did not look at the code yet), but the only secret around doing it FOR A SINGLE BLINK (it is like a couple of lines of code only) is pretending there was a button click when there was none. You just need to be sure you reset both the hardware sleep timer and the software (warm) sleep timer.

And now I looked at the code and… There you go:

  if (state == 1) {
    // These two lines will postpone sleeping. The first one postpones cold sleep and
    // the second one postpones warm sleep. Note that this will also keep any neighbooring
    // blinks from warm sleeping as well (they will still cold sleep).

    BLINKBIOS_POSTPONE_SLEEP_VECTOR();
    blinkbios_button_block.bitflags |= BUTTON_BITFLAG_PRESSED;
  }

Note that you can actually also make the other Blinks be kept awake if you really want to by directly sending a datagram (using BLINKBIOS_IRDATA_SEND_PACKET_VECTOR) making sure a specific bit is set in the first byte. Figuring out how to actually do it correctly is left as an exercise to the reader.

But do note that doing this time of thing has the potential to kill the battery really fast (compared to the several days they usually last, in any case).

Thanks, this is really helpful I am brand new to coding and every piece of help and advice is huge for me.