Back to Specification
Back to Level I Events
| CLASS1.DISPLAY |
|---|
This is generic display related functionality. Show info on a screen, LED-display diode, etc.
The New York module is an example on the how this can be implemeneted in a module.
An escape sequency is preceided with a %. As a result to display ”%” %% should be used.
The first character after the % is the escape-type. This character is case sensitive. That is “e” is not the same as “E”.
| Escape character | Description |
|---|---|
| r | Display a register content. The second character tells how the register should be interepreted and it is followed by the register pos. As an example %rn2 can be used to display a nomalized integer that is at register pos=2 and forward. $ zero terminated string ! boolean value b signed char B unsigned char s signed short S unsigned short i Signed int I unsigned int l signed long L unsigned long f floating point decimal value d Date format t Time n Normalized integer The intended use is to have actions that store data from events in registers and that they are displayed by the escape. |
| p | Parameter data Display parameter escapes. The format is %p001 where “001” is the id that identifies the parameter. This escape is used for hard parameters displayed by the display maker. Se Type=6 below. |
| e | Event data Event data escapes. The format is %eclass,type,r where class and type tells which event is of interest and r have the same format as the r escape |
The above is just a recommendation. Anyone can of course use any format they like.
General event.
Clear the display on displays in a certain zone,subzone.
| byte # | Description |
|---|---|
| byte 0 | Code - not yet defined |
| byte 1 | Zone |
| byte 2 | Subzone |
Move the cursor to a specific position on displays in a certain zone,subzone.
| byte # | Description |
|---|---|
| byte 0 | Code - not yet defined |
| byte 1 | Zone |
| byte 2 | Subzone |
| byte 3 | Row to move to (first row is 0). |
| byte 4 | Column to move to (first column is 0). |
Write to display(s) in a certain zone,subzone. The update of the display is immediate.
| byte # | Description |
|---|---|
| byte 0 | index - Increase by one for each event sent for specific text to display. |
| byte 1 | Zone |
| byte 2 | Subzone |
| byte 3-7 | Display data |
Index is increased by one for each event that builds up a specific message. If needed an empty (no data) can be sent as the last event else sending data to fill the display buffer will give the end automatically.
Write to the buffers of displays in a certain zone,subzone. The update of the display is is not done right away but is instead done when the Show Buffer event is received by the display unit.
| byte # | Description |
|---|---|
| byte 0 | index - Increase by one for each event sent for specific text to display. |
| byte 1 | Zone |
| byte 2 | Subzone |
| byte 3-7 | Display data |
Index is increased by one for each event that builds up a specific message. If needed an empty (no data) can be sent as the last event else sending data to fill the display buffer will give the end automatically.
Many LCD displays allow definition of special characters. Use this event to define custom matrixes buy defining a subzone for the user defined matrix(es).
Tells displays in a certain zone,subzone to display the content in their display buffers. The update of the display is immediate.
| byte # | Description |
|---|---|
| byte 0 | index - Increase by one for each event sent for specific text to display. |
| byte 1 | Zone |
| byte 2 | Subzone |
With this call a display buffer parameter can be sent to a display. This parameter is inserted at the escape position %pn in the string in the buffer *when the buffer is transfered to the display*.
Note that there are no zone and subzone defined for this event and the escapes must instead be choosen to be distinct in a system. This means that &p1 will be unique within a system and updating this parameter will update on all displays that has it defined.
| byte # | Description |
|---|---|
| byte 0 | Display parameter index |
| byte 1 | Data coding byte as of VSCP Specification. |
| byte 2 - 7 | Data as of coding. Note that the event have one byte less then standard meaurement events so all coding types can not be used. |
This event contains information that should be displayed on displays pointed out by zone/subzone.
This event can have the same functionality as Write Display or be set on an higher abstraction level.
| byte # | Description |
|---|---|
| byte 0 | Index - Increase by one for each event sent for specific text to display. |
| byte 1 | Zone for which event applies to (0-255). 255 is all zones |
| byte 2 | Sub Zone for which event applies to (0-255). 255 is all sub zones |
| byte 3-7 | Message |
Index is increase by one for each event that builds up a specific message. If needed an empty (no data) can be sent as the last event else sending data to fill the display buffer will give the end automatically.
The text sent to a node can contain escape characters that themself display data or other display events. Se the New York node for examples of this.
For a multi line display one can use different subzones o address diffrent lines. One can also us macro characters to map display events to a line.
This event contains information that should be displayed on LED(s) pointed out by zone/subzone.
| byte # | Description |
|---|---|
| byte 0 | Index |
| byte 1 | Zone for which event applies to (0-255). 255 is all zones |
| byte 2 | Sub Zone for which event applies to (0-255). 255 is all sub zones |
| byte 3 | 0 =off, 1=on, 2=blink |
| byte 4 | Blink period: MSB milliseconds for ON. |
| byte 5 | Blink period: LSB milliseconds for ON. |
| byte 6 | Blink period: MSB milliseconds for OFF. |
| byte 7 | Blink period: LSB milliseconds for OFF. |
Blink period can be omitted if not used or if blink period is defined hard.
This event set the color for LED(s) pointed out by zone/subzone.
| byte # | Description |
|---|---|
| byte 0 | Index |
| byte 1 | Zone for which event applies to (0-255). 255 is all zones |
| byte 2 | Sub Zone for which event applies to (0-255). 255 is all sub zones |
| byte 3 | Color R to display 0-255 |
| byte 4 | Color G to display 0-255 |
| byte 5 | Color B to display 0-255 |
If multi-byte resolution for the colors is needed use index to address the byte where 0 means the MSB byte, 1 MSB+1 byte etc (Big endian).
Discussion