Skip to content

Slater Mini Software

Eric Skogen edited this page Apr 28, 2020 · 2 revisions

Slater Mini Software

Slater Mini is a small remote control and status display device for Shot Core. It's mounted to a camera used by a director to control the flow of a Shot Core organized production.

The device has single mode states that it is in. It receives events. And it sends out requests.

States

* Start up

Slater is powered on.

Displays a "wonder unit" logo.

Displays a "shot core" logo.

If the record button is held down, it will go into network AP state.

If there is no configuration on the board (first time use), it will go into network AP state

Otherwise, it will go to connecting state.

Network AP

In this mode, slater is running a network AP. The AP will be something like "slaterMini"

The display will show the AP name and direct the user to connect to the AP to configure the slater device.

At this time, the user can configure the slater on their computer: set wifi, set shot core server ip, etc.

Connecting

Display will indicate that it is trying to connect to wifi.

During this state, the device is trying to connect to the preconfigured wifi access point.

If it can not, it will error beep 3 times, It will go to Network AP Mode.

If it can, it will connect to WS for shot core.

If it can not, it will error beep 3 times, It will go to Network AP Mode.

If everything connects, it will go to Load Shot Mode.

Load Shot

Request api for current shot.

If it can not reach the the server, it will beep 3 times and display a warning.

It will request an image for the current shot

It will decode image

It will display the image and the shot meta data.

It will go to Idle mode.

Idle

Idle mode is the normal ready state. It is waiting for WS events or button presses.

It will be displaying the current shot.

Recording

Upon entering recording mode, a timer will start.

The display will show red and display the timer, updating every second.

Star mode

After the user presses the start button, the device is in star mode.

User can press star multiple times to set how many stars should be set for the previous take.

A timer is started everytime the star button is pressed waiting until timeout. When it times out, it will send the number of stars to the server and go back to idle mode.

Warning

When a warning event comes in from Shot Core, if in idle mode, the device should display the warning on the screen and beep.

After 3 seconds, it should go back to idle mode.

Waiting - waiting for record or next shot

After the user clicks record or stop record or advance shot, the device should be waiting for the servers response. In this mode, the user can't click anything until the response happens.

Standby

Shot Core has gone into standby mode.

Display will reflect this in minimal display.

Pressing any button will send a command to shot core to wake up.

Incoming events

Start recording

External event that recording has started.

Go to recording mode.

stop recording

External even that recording has stopped.

Go to idle mode.

shot change

External event that the shot has changed. This will occur if the user pressed advance shot, impromptu shot.

Go to Load Shot Mode.

warnings:

Event for warnings from shot core: cant record, low battery, no audio recording levels, etc.

go to warning mode

standby

go to standby mode.

back_from_standby

go to idle mode.

Button Presses

NOTE: use one button arduino library.

1 - Record Button

On Click:

If idle, send a record request to shot core.

Go to waiting mode.

If recording, send a stop request to shot core.

Go into waiting mode.

2 - Star

On click:

if idle: set one star

update screen

set timer for 2 seconds

if star pressed again, add one star reset timer

if star > 5 set one star

update screen

if timer run out, set star rating, go to idle screen

On double click:

Set 4 stars

On long hold:

Set 5 stars.

3 - Next

CLICK: If idle, send a next shot request

go into waiting

DOUBLECLICK: If idle, send a previous shot request

go into waiting

LONG PRESS: If idle, send a impromptu shot request

go into waiting