syndilights/README.md

68 lines
1.9 KiB
Markdown
Raw Normal View History

syndilights v1
==============
This is the first iteration of the syndilights (syn2lights) project code.
Very solid (read complex) C++ implementation of the frameserver.
For the current state of the art please see the 'v2' directory.
For historical reasons see this Video for the initial implementation idea: https://www.youtube.com/watch?v=r5T5VG92JsA (Spoken language is Luxembourgish, sorry no translation available but the images speak for themselves)
2015-02-09 11:21:41 +01:00
Install dependencies
--------------------
2013-07-12 19:53:34 +02:00
2015-02-09 11:21:41 +01:00
```
sudo apt-get install libboost-all-dev libncurses5-dev libglibmm-2.4-dev build-essential
2015-02-09 11:21:41 +01:00
```
setup
-----
2013-07-12 19:53:34 +02:00
2013-09-19 11:30:38 +02:00
The system is set up of various parts. See frameserver.png
Latest setup is:
2015-02-09 11:21:41 +01:00
* displayclient/html/ws_udp.js
2015-02-09 11:21:41 +01:00
-----------------------------
A nodejs server => $ node displayclient/html/ws_udp.js
2013-09-19 11:30:38 +02:00
This listens for UDP packets to show on a virtual building
This server creates a webserver where a browser can connect to see a simulation
of the building. => $ firefox/chromium displayclient/html/visionneuse.html
2013-09-19 11:30:38 +02:00
2015-02-09 11:21:41 +01:00
* frameserver
-------------
A c++ program receiving UDP frames combining them to generate the final display
2013-09-19 11:30:38 +02:00
* clients
2015-02-09 11:21:41 +01:00
---------
2013-09-19 11:30:38 +02:00
Written in any language, creates UDP packets which are sent to the frameserver
2015-02-09 11:21:41 +01:00
Building configuration
----------------------
The main configuration of the frameserver is done in <defines.h>
Main tuneables:
2015-02-09 11:23:09 +01:00
```
2013-09-19 11:30:38 +02:00
// where to send the UDP output of the frameserver
#define REMOTE_IP "127.0.0.1"
#define REMOTE_PORT 1234
2013-09-19 11:30:38 +02:00
// description of the frame this server understands
#define HASH "s2l\n8>18> "
// one byte number + 10 character hash plus newline
#define HEADEROFFSET 12
2013-09-19 11:30:38 +02:00
// 12 windows per floor, 8 floors, Value:Alpha
#define WIDTH 12
2013-09-19 11:30:38 +02:00
#define HEIGHT 8
// always has an alpha channel so for rgb it's 3+1=4
#define CHANNELS 4
2013-09-19 11:30:38 +02:00
// 8 segments per window (7 seg plus dot), 12 segments per floor, RGBA
#define SEGNUM 8
#define SEGWIDTH 12
#define SEGCHANNELS 4
2015-02-09 11:23:09 +01:00
```