Configuration files

Structure

:page1
component1
component2
;commentary
:page2
component3

Components

Integer

Field for entering integer number.

integer

I minimum, maximum, name, description, units

minimum: minimal number in field
maximum: maximal number in field
name: unique identification of component
description: description before field
units: description before field

example:

I0,200,distance,distance,mm

String

Field for entering text.

string

S max characters, name, description, units

max characters: maximum number of characters. If it is more than 1000 the field is multi-line.
name: unique identification of component
description: description before field
units: description before field

in example:

S10,date,date of expire,

Checker

Field for entering yes/no value. Return 1 for checked and 0 for unchecked.

checker

C name, description

name: unique identification of component
description: description after field

in example:

Cuse,use this

Radio group

Field for entering multiple choice. Return number of item.

integer

G name, description, item, item1, item2...

name: unique identification of component
description: description over field
items description of individual items

in example:

Gcolor,choose color,white,black,green,blue

UART

Component for control serial port.

U name,number of port, speed,parity, bits, stop bits, time to receive

name: unique identification of component
number of port: port identification (i.e. "2" for COM2)
speed: speed of port in bauds
parity: parity. "n" for no parity
bits: bits of data count
stop bits: number of stop bits
time to receive: pause in milliseconds. If port do not receive any data for this time reactions is called

in example:

Ucom2,2,9600,n,8,1,100

Virtual

Component for storing value.

V name

name: unique identification of component

in example:

Ucount

Button

Component for execute actions.

integer

B label,actions
action1
action2
.
.
.

label: text on button
actions: actions count
action: action witch will be executed

in example:

Bmessage,1
AM=you click on button

Reaction

Component which execute actions if term is true.

R name,term,state,actions
action1
action2
.
.
.

name: unique identification of component
term: boolean term
state: E-enable or D-disable
actions: actions count
action: action which will be executed

in example:

Risequal,a=b,E,1
AM=a is equal b

Actions

Reaction enable

Enable reaction

AE name

name: name of reaction

in example:

AEisequal

Reaction disable

Disable reaction

AD name

name: name of reaction

in example:

ADisequal

Reaction toggle

Toggle reaction (if reaction is enable will be disable. If reaction is disable will be enable.)

AT name

name: name of reaction

in example:

ATisequal

Execute reactions

Execute all reactions.

AR

Message

Show message with custom text

AM=expression

expression: string expression

in example:

AM=message text

Assign

Assign value of expression to a component.

A name=string expression
A name=$integer expression

name: name of component
expression: expression

in example:

Achacker=1

Term

expression sign expression

expression: any type of expression
sign: "=" - equal
"!"- not equal
"<" - lower
"<=" - lower or equal
">" - greater
">="- greater or equal

in example:

a >= 3

Expressions

There are two types of expressions - string and integer

String expression

Constant string

string

string: any string

in example:

this is string

Extract string from component

(name,mask)

name: name of component
mask: mask to extract string (? one char; *some chars; % as the extracted string)

in example:

the day is:(date,%.*)and the month is:(date,*.%.*)

Conversion from integer

(integer expression$bytes count)

integer expression: any integer expression
bytes count: number of result's bytes (0 for text representation)

in example:

the letter A:"(65$1)", distance is (distance$0)mm

Integer expression

Constant integer

integer

integer: number or name of component

in example:

123

Mathematic

(integer expression) sign (integer expression)

integer expression: integer expression
sign: "+" add
"-" subtract
"*" multiply
"/" divide
"%" modulo

in example:

(distance)/(1000)

Conversion from char

string expression,mask

string expression: string expression mask: mask "$" instead converted char

in example:

text,$