Format Markdown for better GitHub rendering

This includes:
 - Spacing after headers (on line, after line)
 - Dashes before bullet lists
 - Code examples surrounded by triple-backticks
This commit is contained in:
Simon Shine 2020-08-17 01:20:45 +02:00 committed by GitHub
parent 07cd3eb9ed
commit a932a1210a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -11,21 +11,25 @@ The header of a pixelvloed packet consists of two bytes. The first byte defines
The data of a pixelvloed packet contains information on which pixels should get what color. The representation of this information is heavily dependent on the protocol used and is explained below.
## Protocol: 0 (0x00)
Protocol 0 is the simplest and easiest to use. Full 24 bit colors can be used with optional alpha.
###Header
### Header
| Byte | Bit | Contents |
|--------|---------|-------------------------------------------------------------------------------|
| byte 0 | bit 7-0 | Protocol version. (For this protocol always 0x00.) |
| byte 1 | bit 7-1 | Not used. |
| | bit 0 | Alpha enable bit. (0: alpha is disabled. 1: alpha is enabled.) |
###Data
### Data
The data describes the X and Y coordinates and the R, G, B and optional alpha color values. Multiple pixels can be send in one message.
####Alpha disabled
Bytes/pixel: 7
Pixels/message: 160
#### Alpha disabled
- Bytes/pixel: 7
- Pixels/message: 160
| Byte | Bit | Contents |
|--------|---------|-------------------------------------------------------------------------------|
@ -37,9 +41,10 @@ Pixels/message: 160
| byte 5 | bit 7-0 | G color value. |
| byte 6 | bit 7-0 | B color value. |
####Alpha enabled
Bytes/pixel: 8
Pixels/message: 140
#### Alpha enabled
- Bytes/pixel: 8
- Pixels/message: 140
| Byte | Bit | Contents |
|--------|---------|-------------------------------------------------------------------------------|
@ -53,21 +58,25 @@ Pixels/message: 140
| byte 7 | bit 7-0 | Alpha color value. |
## Protocol: 1 (0x01) Only supported on the C server
Protocol 1 compresses the coordinates so more pixels may be send in one message. Full 24 bit colors can be used with optinal alpha.
###Header
### Header
| Byte | Bit | Contents |
|--------|---------|-------------------------------------------------------------------------------|
| byte 0 | bit 7-0 | Protocol version. (For this protocol always 0x01.) |
| byte 1 | bit 7-1 | Not used. |
| | bit 0 | Alpha enable bit. (0: alpha is disabled. 1: alpha is enabled.) |
###Data
### Data
The data describes the X and Y coordinates and the R, G, B and optional alpha color values. Multiple pixels can be send in one message.
####Alpha disabled
Bytes/pixel: 6
Pixels/message: 186
#### Alpha disabled
- Bytes/pixel: 6
- Pixels/message: 186
| Byte | Bit | Contents |
|--------|---------|-------------------------------------------------------------------------------|
@ -79,9 +88,10 @@ Pixels/message: 186
| byte 4 | bit 7-0 | G color value. |
| byte 5 | bit 7-0 | B color value. |
####Alpha enabled
Bytes/pixel: 7
Pixels/message: 160
#### Alpha enabled
- Bytes/pixel: 7
- Pixels/message: 160
| Byte | Bit | Contents |
|--------|---------|-------------------------------------------------------------------------------|
@ -95,21 +105,25 @@ Pixels/message: 160
| byte 6 | bit 7-0 | Alpha color value. |
## Protocol: 2 (0x02) Only supported on the C server
Protocol 2 compresses the coordinates and colors so more pixels may be send in one message. Only 8 bit colors can be used with optinal alpha.
###Header
### Header
| Byte | Bit | Contents |
|--------|---------|-------------------------------------------------------------------------------|
| byte 0 | bit 7-0 | Protocol version. (For this protocol always 0x02.) |
| byte 1 | bit 7-1 | Not used. |
| | bit 0 | Alpha enable bit. (0: alpha is disabled. 1: alpha is enabled.) |
###Data
### Data
The data describes the X and Y coordinates and the R, G, B and optional alpha color values. Multiple pixels can be send in one message.
####Alpha disabled
Bytes/pixel: 4
Pixels/message: 280
#### Alpha disabled
- Bytes/pixel: 4
- Pixels/message: 280
| Byte | Bit | Contents |
|--------|---------|-------------------------------------------------------------------------------|
@ -121,9 +135,10 @@ Pixels/message: 280
| byte 3 | bit 4-2 | 3 bit G color value. |
| byte 3 | bit 1-0 | 2 bit B color value. |
####Alpha enabled
Bytes/pixel: 4
Pixels/message: 280
#### Alpha enabled
- Bytes/pixel: 4
- Pixels/message: 280
| Byte | Bit | Contents |
|--------|---------|-------------------------------------------------------------------------------|
@ -137,9 +152,11 @@ Pixels/message: 280
| byte 3 | bit 1-0 | 2 bit alpha color value. |
## Protocol: 3 (0x03) Only supported on the C server
Protocol 3 compresses the coordinates and colors so more pixels may be send in one message. Only 8 bit colors can be used with optinal alpha.
###Header
### Header
| Byte | Bit | Contents |
|--------|---------|-------------------------------------------------------------------------------|
| byte 0 | bit 7-0 | Protocol version. (For this protocol always 0x03.) |
@ -147,11 +164,12 @@ Protocol 3 compresses the coordinates and colors so more pixels may be send in o
| | bit 4-2 | 3 bit G color value for all pixels in this message. |
| | bit 1-0 | 2 bit B color value for all pixels in this message. |
###Data
### Data
The data describes the X and Y coordinates. Multiple pixels can be send in one message.
Bytes/pixel: 3
Pixels/message: 373
- Bytes/pixel: 3
- Pixels/message: 373
| Byte | Bit | Contents |
|--------|---------|-------------------------------------------------------------------------------|
@ -164,10 +182,14 @@ Pixels/message: 373
A pixelvloed server should broadcast a package advertising its settings with the following string content
```
"%s:%f %s:%d %d*%d" % (PROTOCOL_PREAMBLE, PROTOCOL_VERSION, UDP_IP, UDP_PORT, width, height)
```
A client should listen for these packages, split it on spaces and check the preample and protocol_version to see if it is capable of speaking the requested protocol.
An example of a broadcasted packet would be:
```
pixelvloed:1.00 192.168.0.1:5005 1920*1080
```