New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BlinkOS Menu (program, sleep) #41

Open
jbobrow opened this Issue Sep 25, 2018 · 8 comments

Comments

Projects
None yet
3 participants
@jbobrow
Copy link

jbobrow commented Sep 25, 2018

To access the BlinkOS Menu, all one needs to do is:

  1. separate a Blink from the group
  2. hold it down for 3 seconds
  3. from 6-9 seconds, the Blink will animate that it is ready to program, if released in this time frame, it will enter program mode
  4. If held past 9 seconds, the Blink enters force sleep mode (this occurs while part of a group as well)
  5. bring the Blink back in contact with a group of Blinks and all neighboring Blinks will receive the program or sleep command

Note: For programming, it makes sense to separate the single Blinks, since it will have the game label on the bottom... but for force sleep, perhaps you want to do this without re-arranging the board. In this case, we can say that a Blink, alone or not, held for 9+ seconds will send a force sleep command.

Note++: This makes it impossible to make a game that relies on fingers holding down Blinks while in a group... i.e. Blinks Twister or similar. One reason why I like leaving it to only work when a Blink is alone, but I do see how convenient it is to put the entire Blinks group to sleep without needing to remove one.

@jbobrow

This comment has been minimized.

Copy link

jbobrow commented Sep 25, 2018

Worth noting that the timing for this menu was determined through testing a simulation of the menu and suggests that the buttonLongPressed() duration be changed to 2000ms, which still feels appropriate. This way long press events can still occur on alone Blinks, and the user has 1000ms to remove their finger before entering the menu. Could be a bit of deterrent for using that action, but doesn't seem too consequential (famous last words).

@kenj1

This comment has been minimized.

Copy link

kenj1 commented Sep 29, 2018

I like the idea. For clarification on (4), are you really saying (note change of last sentence).

  1. from 6-9 seconds, the Blink will animate that it is ready to force others to sleep, if released in this time frame, it will enter force sleep mode. If held past 9 seconds, it will also automatically enter force sleep mode for itself and all connected Blinks.

Or do you really mean that after 9 seconds you're only forcing that ONE Blink to sleep?

@kenj1

This comment has been minimized.

Copy link

kenj1 commented Sep 30, 2018

Also, can you formally expose the sleep functionality in the API (I don't remember it being there)?
I was using it similar to what you're doing with your menu (although I don't have a programmer mode yet). In addition to sleep, my menu was used to also send a "reset" to the connected blinks so they'd return to game start.

ReluctantPirate pushed a commit to ReluctantPirate/Move38-Arduino-Platform that referenced this issue Oct 15, 2018

@bigjosh

This comment has been minimized.

Copy link
Collaborator

bigjosh commented Nov 13, 2018

@kenj1 Would a function call like sleepNow() do what you are looking for? It would sleep until a button press or a wake single from an adjoining blink. Would you expect this call to also put adjoining blinks to sleep, or only the single local blink?

@bigjosh

This comment has been minimized.

Copy link
Collaborator

bigjosh commented Nov 16, 2018

@jbobrow So you can only do forced sleep mode if all faces are expired?

@bigjosh

This comment has been minimized.

Copy link
Collaborator

bigjosh commented Nov 16, 2018

@jbobrow If so, then how long is a forced sleep blink "contagious"? That is, I isolate a blink and press for 9 seconds. How long do I have to put it back in a group where it will cause the other blinks to sleep also?

@jbobrow

This comment has been minimized.

Copy link

jbobrow commented Nov 16, 2018

@jbobrow

This comment has been minimized.

Copy link

jbobrow commented Nov 16, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment