User Tools

Site Tools


hiq:components:cr-d-tgp_app:comm

TGP communication protocol

Data model

  • project consists of multiple pages
  • each page contains a list of objects
  • each object may have one or more associated parameters
  • a parameter can be of type: bit, nibble, byte, integer, or long
  • sending page command displays the page with objects and their values
  • changing an object sends event with parameter index and new value

Message frame

  • uart parameters: 115200 8n1
  • integers are little endian (low byte first)
A0h device page pp0_lo pp0_hi pp1_lo pp1_hi pp2_lo pp2_hi checksum
0 1 2 3 4 5 6 7 8 9
  • A0h - page frame, cybro-to-display
  • device - device receiving the message (00h-broadcast, 01h..FFh-device number)
  • page - request to display specified page
  • pp0..pp2 - parameters (optional)
  • checksum - sum of all bytes before the checksum mod 256
A1h device event ep0_lo ep0_hi ep1_lo ep1_hi ep2_lo ep2_hi checksum
0 1 2 3 4 5 6 7 8 9
  • A1h - event frame, display-to-cybro
  • device - device sending the message (00h-not defined, 01h..FFh-device number)
  • event - event triggered by user
  • ep0..ep2 - parameters (optional)
  • checksum - sum of all bytes before the checksum mod 256

Parameter encoding

1x long long0 = pp0 + pp1«16
3x int int0 = pp0,
int1 = pp1,
int2 = pp2
6x byte byte0 = pp0lo,
byte1 = pp0hi,
byte2 = pp1lo,
byte3 = pp1hi,
byte4 = pp2lo,
byte5 = pp2hi
12x nib nib0 = pp0n0,
nib1 = pp0n1,
nib2 = pp0n2,
nib3 = pp0n3,
nib4 = pp1n0,
nib5 = pp1n1,
48x bit bit0 = pp0b0,
bit1 = pp0b1,
bit2 = pp0b2,
bit3 = pp0b3,
bit4 = pp0b4,
bit5 = pp0b5,

Any combination of types can be used.

Object specifications

page event
decimal number enable, value none
multi-state indicator enable, value none
push button enable 1 = press,
2 = release,
3 = long press
toggle button enable, value value
slider input enable, value value (on change, max 200ms)
numeric input enable, value value (update on enter)

Cybro-to-Display

page pp0 pp1 pp2 description
0 0 0 0 none
1 0 0 0 ping, used to check the connection
2 parameter index parameter value 0 generic write when the page has too many parameters
10+ project-specific pages

Display-to-Cybro

event ep0 ep1 ep2 description
0 0 0 0 none
1 0 0 0 ping, used to check the connection
2 page 0 0 page request
10+
page
object index object value 0 object change

Example

A0 00 page=22 pp0=220 (setpoint) pp1=-1 (disable) pp2=-1 (disable)

⇒ set page 22, setpoint 22.0°C, disable fan, disable ventilator

A1 00 page=22 ep0=0 (setpoint) ep1=225 (value)

⇒ setpoint changed to 22.5°C

hiq/components/cr-d-tgp_app/comm.txt · Last modified: by goran.kocjancic