|
|
## Getting started on Clock 8001 sdl version
|
|
|
|
|
|
Writen for version 3.7.1
|
|
|
|
|
|
If you have some questions or would like to send pictures of your clock setup, please join
|
|
|
https://www.facebook.com/groups/clock8001/
|
|
|
Or email dr@iki.fi
|
|
|
|
|
|
Full documentation on the [readme file](https://gitlab.com/Depili/clock-8001/blob/master/README.md)
|
|
|
|
|
|
Version [changelog](https://gitlab.com/Depili/clock-8001/blob/master/CHANGELOG.md)
|
|
|
|
|
|
## You need
|
|
|
|
|
|
Raspberry Pi, micro sd memory card, reader for the card and hdmi display or the original Raspberry pi 7" display.
|
|
|
|
|
|
The images support raspberry pi 2B / 3B / 3B+ boards. They need at least 64Mb of space.
|
|
|
|
|
|
## SD-card images
|
|
|
|
|
|
Download latest image from /images folder
|
|
|
https://kissa.depili.fi/clock-8001/
|
|
|
|
|
|
There are three main versions and two subversions of them.
|
|
|
|
|
|
1. `clock-bride-only` Has only the clock bridge function and no clock, useful in more advanced networked setups
|
|
|
2. `sdl-clock-bridge` Has the clock and bridge function, if you plan to use remaining playback time functions. This is the suggested image.
|
|
|
3. `sdl-clock` Has only the clock, useful for slave units in the network if you have a bride already.
|
|
|
|
|
|
### Subversions:
|
|
|
|
|
|
1. `clockworkadmin` Is an image with root logins (ssh and local) enabled. The root password is clockworkadmin. **Since this image uses a known hard coded password, it should be for testing only and considered insecure.**
|
|
|
2. `no_login` This image has root logins disabled and is secure for production use.
|
|
|
|
|
|
Use any desired method of writing images on cards.
|
|
|
One recommended software is
|
|
|
Balena Etcher, cross-platform, free and easy to use.
|
|
|
https://www.balena.io/etcher/
|
|
|
|
|
|
## Boot
|
|
|
|
|
|
::boot gif::
|
|
|
|
|
|
8001 starts in time of day (ToD) view if connected to internet or versions after 3.1.1 will show the current version if no connection is established it will show version number until timers are started. The clock uses ntpd to synchronise its time from the internet. This happens on boot. After that, ntpd will periodically check for clock drift and correct the time if it still has a working internet connection. If no connection is active, it will keep the time as long as it has power.
|
|
|
|
|
|
ToD can be manualy set sending OSC string `/clock/time/set`
|
|
|
|
|
|
The payload in format `01:02:03` where 01 is the hours in 24-hour format, 02 the minutes and 03 the seconds. This will override the ntp time. If you need to set multiple clocks, use broadcast.
|
|
|
|
|
|
Pi doesn't remember the time or any other parameter after a power cycle. This is because the program runs from RAM. The card is read on the start,
|
|
|
but nothing is never written to it. This is for reliability. 1. The clock will start as new every time 2. The memory card does not corrupt if nothing is written to it.
|
|
|
You could even remove the memory card after the boot.
|
|
|
Because of this, you need to provide a connection to the internet or send the time manually on every power-up if you need ToD.
|
|
|
|
|
|
If you don't have wired internet, you can share your wifi from your mac.
|
|
|
Or use wifi bridges. We have tested the following models, but others should work too. tp-link RE200 and tp-link TL-WA850RE
|
|
|
|
|
|
[Internet sharing in OSX](OSX_internet_sharing.md)
|
|
|
|
|
|
## Connecting to 8001
|
|
|
|
|
|
The 8001 tries to get a dhcp address on wired ethernet and also brings up a virtual interface eth0:1 with static IP (default 192.168.10.245 with
|
|
|
255.255.255.0 netmask).
|
|
|
|
|
|
The 8001 sends feedback of the current time to both dhcp and virtual interface broadcast as a default. This can be changed.
|
|
|
|
|
|
You can send commands to the dhcp address or dhcp broadcast address x.x.x.255 or the virtual interface 192.168.10.245 and 192.168.10.255 (virtual
|
|
|
interface broadcast)
|
|
|
|
|
|
## Settings
|
|
|
|
|
|
If you want to change the timezone (default Europe/Helsinki),
|
|
|
colors or network settings, you can go to http://www.svv.fi/clock (Chrome browser recommended). There you can create and download the following setup files and copy them to the memory card root.
|
|
|
|
|
|
### clock_cmd.sh
|
|
|
|
|
|
For timezone, colors and flashing interval.
|
|
|
|
|
|
The flashing is global and will affect the flashing of the colon when 8001 is paused or when the timer reaches zero. If set to 0 the flashing will be disabled.
|
|
|
|
|
|
OSC feedback. You can redirect the feedback to the desired address and port, leave this empty to get defaults.
|
|
|
Default feedback is 255.255.255.255:1245
|
|
|
|
|
|
To disable osc feedback, add:
|
|
|
|
|
|
`--disable-feedback`
|
|
|
|
|
|
To the clock_cmd.sh file and the clock will not send any feedback on its actions, this is useful when you have multiple clocks in your system.
|
|
|
|
|
|
### Interfaces
|
|
|
|
|
|
Contains IP address information for the virtual interface eth0:1
|
|
|
|
|
|
Both files can be edited in a text editor if access to http://svv.fi/clock is not possible.
|
|
|
|
|
|
Copy the files to the memory card and If you want to go back to defaults delete them from the card.
|
|
|
|
|
|
## Controlling the clock
|
|
|
|
|
|
There are many programs to interact with the clock (anything that can send OSC messages). Here are some recommendations.
|
|
|
|
|
|
[Bitfocus Companion](https://bitfocus.io/companion/), cross-platform, open and free. (has 8001 libraries)
|
|
|
|
|
|
[Fridie Universe](https://www.universe-control.com/en/), Windows only, free to try. (has 8001 libraries)
|
|
|
|
|
|
[Octopus](http://noismada.com), macOS only, free.
|
|
|
|
|
|
If you want to send OSC and not use Companion or Universe, send the commands to port 1245
|
|
|
|
|
|
## Basic functions
|
|
|
|
|
|
* Time of day (ToD)
|
|
|
* Presidential mode
|
|
|
* Count up
|
|
|
* Two separate countdown timers
|
|
|
* Modify
|
|
|
* Pause and resume
|
|
|
* Send text
|
|
|
* Display off
|
|
|
|
|
|
### Time of day
|
|
|
|
|
|
![timeofday](uploads/6b90b9d5586e3ff72f463cfd8649d18a/timeofday.gif)
|
|
|
|
|
|
Is displayed in hh:mm:ss and red led circle increases every second.
|
|
|
|
|
|
Command normal will display ToD, it doesn't kill secondary timer.
|
|
|
|
|
|
`/clock/normal`
|
|
|
|
|
|
To set ToD manually
|
|
|
|
|
|
OSC string
|
|
|
|
|
|
`/clock/time/set 01:02:03`
|
|
|
|
|
|
The payload in format `01:02:03` where 01 is the hours in 24-hour format, 02 the minutes and 03 the seconds. This will override the ntp time. If you need to set multiple clocks, use broadcast.
|
|
|
|
|
|
### Presidential mode
|
|
|
|
|
|
![presidental](uploads/bbc37f2166d9953db41af8b85a85c952/presidental.gif)
|
|
|
|
|
|
Hides seconds on the Time of Day
|
|
|
|
|
|
`/clock/seconds/off `
|
|
|
|
|
|
`/clock/seconds/on `
|
|
|
|
|
|
### Count up
|
|
|
|
|
|
![countup](uploads/e326d7b6c2ba232c5ebbcecd2b9b231a/countup.gif)
|
|
|
|
|
|
Is displayed in mm:ss format until the value is over 60minutes after it will be hh:mm:ss. Maximum value 99:59:59. Led circles dot will increase every minute.
|
|
|
Pause/resume can be used for count up.
|
|
|
|
|
|
`/clock/countup/start`
|
|
|
|
|
|
### Primary timer
|
|
|
|
|
|
![primary](uploads/2c368dcf9d74e380157e5f6ea7691c68/primary.gif)
|
|
|
|
|
|
Displays hh:mm:ss if the value is over 60minutes. Everything under is shown in mm:ss format. Led circle represent the total time and is updated if the time is modified. It will do a countdown from longer times, but everything over 99hours will be shown ++:++, and then when eventually it's down to 99h it will start displaying.
|
|
|
|
|
|
integrer <i> int32 timer duration in seconds
|
|
|
|
|
|
`/clock/countdown/start <i>`
|
|
|
|
|
|
`/clock/countdown/stop`
|
|
|
|
|
|
To stop and kill the timer
|
|
|
|
|
|
### Secondary timer
|
|
|
|
|
|
![secondary](uploads/756f97da2f7c2116f71a54ab8697c70b/secondary.gif)
|
|
|
|
|
|
Will display secondary timer on the top segment. Arrow down symbol, two numerals and letter. Can be used in conjunction with the ToD, primary timer and count up.
|
|
|
The top segment has the following priorities:
|
|
|
|
|
|
Top priority ```video playback time``` Shows remaining time of playback from Mitti or Millumin.
|
|
|
|
|
|
Middle priority ```message.```
|
|
|
Four letter messages can be set. They stay 1sec and then fade away.
|
|
|
|
|
|
Low priority ```secondary timer.```
|
|
|
If nothing else displayed on the top segment, the secondary timer will be visible.
|
|
|
|
|
|
If the secondary timer is running and the message is displayed, when message fades away secondary time will be visible again. The countdown is not disturbed by messages or other overlapping display content.
|
|
|
|
|
|
the last letter indicates:
|
|
|
s = seconds
|
|
|
m = minutes
|
|
|
h = hours
|
|
|
d = days
|
|
|
|
|
|
The maximum value for the secondary timer is 99 days.
|
|
|
|
|
|
integrer <i> int32 timer duration in seconds
|
|
|
|
|
|
`/clock/countdown2/start <i>`
|
|
|
|
|
|
`/clock/countdown2/stop`
|
|
|
|
|
|
To stop and kill the timer
|
|
|
|
|
|
### Modify
|
|
|
|
|
|
Commands are used when you want to add or take time from the two countdowns. This can be any amount of seconds, minutes and hours. Timers can be paused or running when modified.
|
|
|
|
|
|
integrer <i> int32 timer duration in seconds
|
|
|
|
|
|
`/clock/countdown/modify <i>
|
|
|
/clock/countdown2/modify <i>`
|
|
|
|
|
|
### Pause and resume
|
|
|
|
|
|
![pause](uploads/61a43df82bc1a1c0b18d285adfaa8da4/pause.gif)
|
|
|
|
|
|
Will effect both timers and count up. You can start new timers when pause is active, but they will begin as paused. Modify works during the pause. Pause is not affected by Stop commands.
|
|
|
|
|
|
Pause indication is flashing the separator colon.
|
|
|
|
|
|
The flashing time is universal and can be edited in the clock_cmd.sh file. If you prefer no flashing set the flashing to 0.
|
|
|
|
|
|
`/clock/pause
|
|
|
/clock/resume`
|
|
|
|
|
|
|
|
|
|
|
|
### Send text
|
|
|
|
|
|
![message](uploads/18ad725f02a60fbcb130aaa7c1c13e27/message.gif)
|
|
|
|
|
|
On the top segment, there is a four character space, and you can send messages to that space. All messages have 1-second default duration, and they will fade out if a new message is sent. For scrolling effect send multiple messages in 250ms intervals (relative delays active) For ```Hello``` you need eight Actions.
|
|
|
```
|
|
|
H
|
|
|
He
|
|
|
Hel
|
|
|
Hell
|
|
|
ello
|
|
|
llo
|
|
|
lo
|
|
|
o
|
|
|
```
|
|
|
|
|
|
`/clock/display <f> <f> <f> <s>`
|
|
|
|
|
|
float32 Red component of the text colour
|
|
|
float32 Green component of the text colour
|
|
|
float32 Blue component of the text colour
|
|
|
string up to 4 characters to display
|
|
|
|
|
|
### Display off
|
|
|
|
|
|
![display_off](uploads/b5cd1fca6eaf32828a9d1b3e68d822f0/display_off.gif)
|
|
|
|
|
|
Will turn all timers and ToD off, leaving only the outer dots and the first dot of the led circle on.
|
|
|
|
|
|
`/clock/kill`
|
|
|
|
|
|
## OSC feedback
|
|
|
|
|
|
The clock sends it's state to the address specified with --osc-dest on _clock_status message. You can modify the feedback address in web form : svv.fi/clock (Chrome browser recommended.) The information is saved in clock_cmd.sh default is 255.255.255.255:1245
|
|
|
|
|
|
The payload is:
|
|
|
|
|
|
* int32 clock display mode
|
|
|
* string: hours display
|
|
|
* string: minutes display
|
|
|
* string: seconds display
|
|
|
* string: "tally" text
|
|
|
|
|
|
OSC feedback can be disabled by including
|
|
|
|
|
|
--disable-feedback
|
|
|
|
|
|
on clock_cmd.sh
|
|
|
|
|
|
|
|
|
|
|
|
## Setting up Mitti
|
|
|
|
|
|
Open project properties, OSC tab.
|
|
|
|
|
|
Enable feedback to Custom.
|
|
|
|
|
|
Give the IP of your bride or clockbridge. default is 192.168.10.245 port 1234
|
|
|
|
|
|
Remember to hit enter after entering the values, you should see a short II 00 in blue blink on the 8001 to confirm you have connection.
|
|
|
|
|
|
![Mitti1](uploads/9ae6b1284887e688cff6699b10e08e14/Mitti1.jpg)
|
|
|
|
|
|
::Mitti gif::
|
|
|
|
|
|
## Setting up Millumin
|
|
|
|
|
|
From the top interactions menu, Manage devices, OSC tab.
|
|
|
|
|
|
Make sure the api feedback is enabled and, the OSC server enabled then type the IP of your bride or clockbridge. Default is 192.168.10.245 port 1234
|
|
|
|
|
|
Remember to hit enter after entering the values.
|
|
|
|
|
|
![Millu1](uploads/68bc41727b50fd18e60192a9f87418ec/Millu1.jpg)
|
|
|
|
|
|
If you have multiple videos on the same column, both will send remaining time, and it will mess the system.
|
|
|
|
|
|
Type ignore on the layer name to exclude those layers from clock 8001
|
|
|
|
|
|
![Millu2](uploads/7de00b6159da8b75a03302b11c39704b/Millu2.jpg)
|
|
|
|
|
|
![millumin](uploads/59e83743bf20586318acab54cacb7959/millumin.gif) |
|
|
\ No newline at end of file |