LibraryRoot
LibraryGroup-Оформление
LibraryGroup-Триггеры
LibraryGroup-Таймеры
0@-21
0@-1170
106
470
0@0
Groupoutput
GroupglobalVariable
2
UserBlockLibraryRootNode
LibraryGroup-GPv3.5
LibraryGroup-Вспомогательные блоки
LibraryGroup-Компоненты общие для всех режимов
LibraryGroup-Управление компонентами
LibraryGroup-Режим Клик по компоненту
LibraryGroup-Подписи
LibraryGroup-Режим Обновление
0@0
8
0
52c50b63-a50d-441a-9c04-e8d3e4ae9fb2
1
70@20
70@20 corner: 201.0d@80
77724271
Cycles/cec
Cycles/cec
197516785
222674657
253251216
start
declare
168154482
stop
133428405
183489785
setup
43913878
11320104
180800382
loop
79248739
233656372
insert
152270602
92427521
neitral
function
162138486
74926048
148594834
231560425
107720380
unsigned long _cycles157132858 = 0;
bool _flag157132858 = 0;
unsigned long _timer157132858 = 0;
plainText
unsigned
Graphics.ColorValue blue
Graphics.ColorValue black
long
_cycles157132858 = 0;
bool
_flag157132858 = 0;
unsigned
long
_timer157132858 = 0;
none
147497720
173310782
206359953
177977918
98962843
59690425
151985935
102307303
_cycles157132858++;
if(!_flag157132858)
{
_timer157132858 = millis();
_flag157132858 = 1;
}
if(millis() >= _timer157132858 + 1000 )
{
_cycles157132858++;
if
Graphics.ColorValue darkGreen
(!_flag157132858)
{
_timer157132858 =
millis
Graphics.ColorValue orange
();
_flag157132858 = 1;
}
if
(
millis
() >= _timer157132858 + 1000 )
{
80605652
105210276
Cyc/sec
Graphics.ColorValue cyan
r0g31b31
Cyc/s
codeTag
= _cycles157132858;
= _cycles157132858;
112958750
252992095
CycTime
CycTime
= 1000000 / _cycles157132858;
_flag157132858 = 0;
_cycles157132858 = 0;
}
= 1000000 / _cycles157132858;
_flag157132858 = 0;
_cycles157132858 = 0;
}
33029008
77847309
190691863
128551604
34611494
210022391
260366435
11779462
190835228
Блок для подсчета количества циклов программы за 1 секунду.
Так же выводится средне-расчетное время одного цикла в микросекундах.
.
Вставьте блок в любое место проекта.
.
Выходы.
Cyc/sec - циклов за секунду.
CycTime - время одного цикла (mcs)
.
Автор:
Dryundel
260
128282955
192734569
219633665
200163675
Циклы за секунду
90456417
46062978
92885726
45938685
16099327
170599915
171967809
268146558
94091185
46879732
33546593
24601842
44495319
176331044
Cycles/cec
Cycles/cec
unsigned long _cycles157132858 = 0;
bool _flag157132858 = 0;
unsigned long _timer157132858 = 0;
unsigned
long
_cycles157132858 = 0;
bool
_flag157132858 = 0;
unsigned
long
_timer157132858 = 0;
_cycles157132858++;
if(!_flag157132858)
{
_timer157132858 = millis();
_flag157132858 = 1;
}
if(millis() >= _timer157132858 + 1000 )
{
_cycles157132858++;
if
(!_flag157132858)
{
_timer157132858 =
millis
();
_flag157132858 = 1;
}
if
(
millis
() >= _timer157132858 + 1000 )
{
Cyc/sec
Cyc/s
= _cycles157132858;
= _cycles157132858;
CycTime
CycTime
= 1000000 / _cycles157132858;
_flag157132858 = 0;
_cycles157132858 = 0;
}
= 1000000 / _cycles157132858;
_flag157132858 = 0;
_cycles157132858 = 0;
}
Блок для подсчета количества циклов программы за 1 секунду.
Так же выводится средне-расчетное время одного цикла в микросекундах.
.
Вставьте блок в любое место проекта.
.
Выходы.
Cyc/sec - циклов за секунду.
CycTime - время одного цикла (mcs)
.
Автор:
Dryundel
106977682
32366790
97034205
81020441
215698651
MainParametrs
176331044
192734569
MainParametrs_192734569
192734569-MainCode
192734569-InstanceCode
162138486-Declare
231560425
162138486-Loop
151985935
210022391
0@-63
0@0
0@0
107720380
376
180@20
200@20 corner: 240@60
180@20 corner: 260@60
203.5d@33.5d
180@40 corner: 200@60
3
270@40
290@40 corner: 338.0d@60
270@40 corner: 358.0d@60
300@54.5d
270@40 corner: 290@60
270@50
9.0d
28.0d
ЦИКЛ
140@30
160@30 corner: 244.0d@70
140@30 corner: 264.0d@70
165.0d@44.5d
140@50 corner: 160@70
GPv3_TEXT_U
GP_TEXT_U
Text
5f5597c6-5114-4d3b-a7b9-f31381992300
73f4c81b-834b-4b88-8462-bc622106cdfa
1a984a17-eefe-4928-9bc8-fedf63dedeea
GP TEXT_U Вывод текста
Поле для вывода текста
22
Период_обновления
1000
Период_обновления в миллисекундах
8d53c6c1-2ca9-4713-96f5-ea37ffaa1a37
9b704e29-413c-444d-bb31-ba1f74e88e44
Text.toCharArray(textStr, Text.length()+1);
if (portal.update("txt")) portal.answer(textStr);
101
GP.AJAX_UPDATE(PSTR(""), Период_обновления);
GP.TEXT("txt", "text");
75
textStr
[length_str];
char
bd9e25c6-d548-4594-b91d-ec73c82805fe
GPv3_TEXT_U Вывод текста
Поле для вывода текста.
Режим_чтения - режим "только чтение" - true, по умолч false.
Макс длина - длина текста (0 чтобы отключить)
Паттерн - указывает регулярное выражение, согласно которому требуется вводить и проверять данные в поле формы. Если присутствует атрибут pattern, то форма не будет отправляться, пока поле не будет заполнено правильно. http://htmlbook.ru/html/input/pattern.
Режим_чтения - режим "только чтение" - true (умолч. false).
449
Подсказка
текст
a70490c0-0d99-403c-9a7f-5e08d99a3f30
c1afeccc-5b94-4bf0-9cb3-86a77924c41c
Ширина
350px
cb843a65-ee26-4583-840c-41cebe4855f5
25495f13-471d-4157-a668-4b8e61ed2c9f
Макс_длина
44fee76b-c44c-4b43-a9d5-2516538251f0
7d62e4d0-0e3f-4923-97d2-e7100a9cfd84
Паттерн
4571d2d7-edf7-4de1-aa31-aecb2fae7db5
3147c31a-d00d-441c-8b41-1166c6a25cf8
Режим_чтение
94761498-c3c1-462a-96d8-12fa2d16743b
1da10fc3-030a-429d-9f9a-4ca820757c22
portal.updateString("txt",Text);
36
GP.UPDATE(PSTR("txt"), Период_обновления);
GP.TEXT("txt", Подсказка, Text, Ширина, Макс_длина, Паттерн, Режим_чтение);
125
txt
;
String
84.0d
140@60
160@60
290@50
260@50 corner: 260@50
Q
240@50
260@50
240@40 corner: 260@60
180@50
dec
I
200@50
218015099
171.0d
70@0
90@0 corner: 150@40
70@0 corner: 170@40
93.5d@13.5d
5
180@20
200@20 corner: 220.0d@40
180@20 corner: 240.0d@40
204@34.5d
180@30
12.0d
kp
6a928c55-9d70-417a-b1d9-762cc8a493a1
280.0d@30
300.0d@30
200@30
170@30 corner: 170@30
V
10.0d
150@30
170@30
kppam
70@60
90@60 corner: 150@100
70@60 corner: 170@100
93.5d@73.5d
4
6
180@80
200@80 corner: 220.0d@100
180@80 corner: 240.0d@100
204@93.5d
180@90
7.0d
kd
30a5f3cb-7c64-406f-9989-aeb0ad04c0fe
290.0d@90
310.0d@90
200@90
170@90 corner: 170@90
150@90
170@90
150@80 corner: 170@100
kd
70@110
90@110 corner: 150@150
70@110 corner: 170@150
93.5d@123.5d
7
180@130
200@130 corner: 219.0d@150
180@130 corner: 239.0d@150
204@143.5d
180@130 corner: 200@150
180@140
11.0d
KI
5574c89c-4a1b-44cc-90be-89b4843b969b
289.0d@130
309.0d@130
200@140
170@140 corner: 170@140
150@140
170@140
150@130 corner: 170@150
KIPAM
70@160
90@160 corner: 150@200
70@160 corner: 170@200
93.5d@173.5d
180@180
200@180 corner: 274.0d@200
180@180 corner: 294.0d@200
204@193.5d
180@180 corner: 200@200
180@190
66.0d
температура
efe4e955-7588-48f6-8321-0e3ea9fe7bd4
324.0d@220
344.0d@220
200@190
170@190 corner: 170@190
150@190
170@190
150@180 corner: 170@200
ТЕМП ПАМЯТЬ
80
281.0d
280@0
300@0 corner: 340@60
280@0 corner: 360@60
312.5d@13.5d
80@20
100@20 corner: 144.0d@40
80@20 corner: 164.0d@40
104@33.5d
144.0d@20 corner: 164.0d@40
164.0d@30
36.0d
нагр
СТАРТ
791f269f-e295-4147-be1e-97cceb126ad6
140@20
160@20
0.0d
144.0d@30
164.0d@30 corner: 164.0d@30
S
280@30
300@30
280@20 corner: 300@40
190@40
210@40 corner: 250@100
190@40 corner: 270@100
221.5d@53.5d
80@60
100@60 corner: 138.0d@80
80@60 corner: 158.0d@80
104@73.5d
138.0d@60 corner: 158.0d@80
158.0d@70
30.0d
СТОП
803ab21e-e8bd-4602-b53a-0fe14d672b40
40@80
60@80
138.0d@70
158.0d@70 corner: 158.0d@70
190@70
210@70
190@60 corner: 210@80
80@80
100@80 corner: 159.0d@100
80@80 corner: 179.0d@100
104@93.5d
159.0d@80 corner: 179.0d@100
179.0d@90
51.0d
СТОПВСЕ
10
601a30c8-8c68-4e67-b882-9fb4d447779c
10@120
30@120
159.0d@90
179.0d@90 corner: 179.0d@90
190@90
210@90
190@80 corner: 210@100
250@80 corner: 270@100
270@90
Q
250@90
270@50 corner: 270@90
R
280@50
300@50
280@40 corner: 300@60
360@40
380@40 corner: 430.0d@60
360@40 corner: 450.0d@60
384@54.5d
360@40 corner: 380@60
360@50
42.0d
ПИДВКЛ
9
e8a5101c-2559-4be7-9b83-df44e345add5
530.0d@50
550.0d@50
380@50
360@50 corner: 360@50
340@50
360@50
340@40 corner: 360@60
181.0d
PID
==
13
170@40
190@40 corner: 232.0d@60
170@40 corner: 252.0d@60
194@53.0d
21
60@140
80@140 corner: 151.0d@220
60@140 corner: 171.0d@220
94.0d@154.0d
EN
60@170
74@170
ds18b20
in
9810b2b2-212d-44f3-9e90-9b523ad56430
3ccd3543-874f-4e98-8565-35a4b6eb317e
temp
c9908efe-2013-4a9b-abb9-58e30a7ef5c3
416572b7-91eb-40b3-a3ac-f8085d356794
1e6187a7-9a07-4ed4-b404-fdd4811c9bb8
ds18b20
pins
fc90140a-148e-40ab-a389-6fd964f58feb
94c8e289-5ca7-4421-baf5-3674390c0cf2
if(in){
ds.reset();
ds.write(0xCC);
ds.write(0xBE); // Read Scratchpad
for ( i = 0; i < 9; i++) { // we need 9 bytes
data[i] = ds.read();}
int16_t raw = (data[1] << 8) | data[0];
raw = raw << 3; // 9 bit resolution default
raw = raw & ~7; // 9 bit resolution, 93.75 ms
temp = (float)raw / 16.0;
ds.reset();
ds.write(0xCC);
ds.write(0x44, 1); //start
}
395
#include
<OneWire.h>
ds
(pins);
OneWire
i
;
byte
data
[12];
byte
60@160 corner: 74@180
period
60@190
80@190
35.0d@193.5d
ds18b20
4069aebf-9c2e-4efa-8b25-f70b5c51abda
856ac1f0-6399-403a-b6fc-fc3539ae8e83
rraw
79048b32-b1f3-460f-aa19-19b8dcdbcf6d
b37506af-8065-4910-81ac-5f461ddd1dd6
CRC
d672397c-c66c-4d2f-bdba-d92fa20c89fc
81c6777a-22c9-48ca-b2f5-4fb2d235a1ac
5cc9ed5d-09b4-4769-9d45-f6f2c50bdba1
if(in){
ds.reset();
ds.write(0xCC); //SKIP ROM
ds.write(0xBE); // Read Scratchpad
for ( i = 0; i < 9; i++) { // we need 9 bytes
data[i] = ds.read();}
int16_t raw = (data[1] << 8) | data[0];
temp = (float)raw / 16.0;
CRC=OneWire::crc8(data, 8);
ds.reset();
ds.write(0xCC);
ds.write(0x44, 1); //start convert
}
349
#include
<OneWire.h>
ds
(pins);
OneWire
i
;
byte
data
[9];
byte
fa19358d-3dc9-475e-9c58-c6e8d1891599
12
if(in){
ds.reset();
ds.write(0xCC); //SKIP ROM
ds.write(0xBE); // Read Scratchpad
for ( i = 0; i < 9; i++) { // we need 9 bytes
data[i] = ds.read();}
int16_t raw = (data[1] << 8) | data[0];
temp = (float)raw / 16.0;
rraw=raw;
CRC=OneWire::crc8(data, 8);
ds.reset();
ds.write(0xCC);
ds.write(0x44, 1); //start convert
}
358
crc
9bb5c62c-d053-44ab-9be2-25668b52fe91
065962f5-c32e-4677-b5fb-b0ba56f44d22
101c3ab0-8815-421f-90ad-39f45033a472
if(in){
ds.reset();
ds.write(0xCC); //SKIP ROM
ds.write(0xBE); // Read Scratchpad
for ( i = 0; i < 9; i++) { // we need 9 bytes
data[i] = ds.read();}
int16_t raw = (data[1] << 8) | data[0];
temp = (float)raw / 16.0;
rraw=raw;
CRC=OneWire::crc8(data, 8);
crc=data[8];
ds.reset();
ds.write(0xCC);
ds.write(0x44, 1); //start convert
}
370
OK
b03f15d2-a464-4e5f-8e50-21c25384e58e
f82632f8-3b68-4834-af60-73269d40bc3d
3248c2f3-3410-4b88-b09b-f2405c717d5d
if(in){
ds.reset();
ds.write(0xCC); //SKIP ROM
ds.write(0xBE); // Read Scratchpad
for ( i = 0; i < 9; i++) { // we need 9 bytes
data[i] = ds.read();}
int16_t raw = (data[1] << 8) | data[0];
temp = (float)raw / 16.0;
rraw=raw;
CRC=OneWire::crc8(data, 8);
crc=data[8];
ds.reset();
ds.write(0xCC);
ds.write(0x44, 1); //start convert
if(CRC==crc){
OK=true}
else{
OK=false;}
}
410
crcOK
ds18b20 test
RAW
error
a1d6c25f-08e1-4b96-81ce-308ec8ecfcec
5c016a27-b830-4b06-998a-bd5f60485d77
b4da1d56-e9a9-45c1-af2b-3c56c519cf28
ds18b20 test
if(in){
ds.reset();
ds.write(0xCC); //SKIP ROM
ds.write(0xBE); // Read Scratchpad
for ( i = 0; i < 9; i++) { // we need 9 bytes
data[i] = ds.read();}
int16_t raw = (data[1] << 8) | data[0];
temp = (float)raw / 16.0;
RAW=raw;
CRC=OneWire::crc8(data, 8); //расчёт crc из температуры???
crc=data[8]; // получение crc напрямую из датчика???
ds.reset();
ds.write(0xCC);
ds.write(0x44, 1); //start convert
if(CRC==crc){
OK=true;}
else{
OK=false;}
}
error = 0;
if ((data[0] = 255) && (data[1] = 255) && (data[2] = 255) && (data[3] = 255))
{error = 1;}
if ((data[0] = 0) && (data[1] = 0) && (data[2] = 0) && (data[3] = 0))
{error = 1;}
668
8be1881d-a26a-42bf-91e4-bf255d3df6d2
ds18b20 test
if(EN){
time = millis() - time_old;
if (time>period)
{
ds.reset();
ds.write(0xCC); //SKIP ROM
ds.write(0xBE); // Read Scratchpad
for (byte i = 0; i < 9; i++) { // we need 9 bytes
data[i] = ds.read();}
int16_t raw = (data[1] << 8) | data[0];
temp = (float)raw / 16.0;
byte CRC=OneWire::crc8(data, 8); //расчёт crc из температуры???
byte crc=data[8]; // получение crc напрямую из датчика???
ds.reset();
ds.write(0xCC); //SKIP ROM
ds.write(0x44, 1); //start convert
if(CRC==crc){
crcOK=true;}
else{
crcOK=false;}
if ( ((data[0] == 255) && (data[1] == 255) && (data[2] == 255) && (data[3] == 255) && (data[4] == 255) && (data[5] == 255) && (data[6] == 255) && (data[7] == 255) && (data[8] == 255)) ||
((data[0] == 0) && (data[1] == 0) && (data[2] == 0) && (data[3] == 0) && (data[4] == 0) && (data[5] == 0) && (data[6] == 0) && (data[7] == 0) && (data[8] == 0)) )
{error = 1;}
else{error=0;}
} //конец (time>period)
}// конец EN
974
#include
<OneWire.h>
ds
(pins);
OneWire
data
[9];
byte
time
;
unsigned long
time_old
;
unsigned long
минимальный период опроса 750 мс
60@180 corner: 80@200
151.0d@160 corner: 171.0d@180
151.0d@190
171.0d@190
151.0d@180 corner: 171.0d@200
11
20
420@140
440@140 corner: 480@220
420@140 corner: 500@220
448.5d@153.5d
19
170@0
190@0 corner: 240.0d@20
170@0 corner: 260.0d@20
194@14.5d
260.0d@10
390@10
410@10
240.0d@10
290@20
310@20 corner: 390@200
290@20 corner: 410@200
341.0d@33.5d
290@40 corner: 310@60
Value
290@70
310@70
290@60 corner: 310@80
170@80
190@80 corner: 264.0d@100
170@80 corner: 284.0d@100
194@93.5d
284.0d@90
320@90
340@90
264.0d@90
284.0d@90 corner: 284.0d@90
Set
290@90
310@90
290@80 corner: 310@100
Time
290@110
310@110
265.0d@113.5d
290@100 corner: 310@120
16
210@120
230@120 corner: 250.0d@140
210@120 corner: 270.0d@140
234@134.5d
270.0d@130
370@140
390@140
250.0d@130
270.0d@130 corner: 270.0d@130
Kp
290@130
310@130
290@120 corner: 310@140
17
210@140
230@140 corner: 249.0d@160
210@140 corner: 269.0d@160
234@153.5d
249.0d@140 corner: 269.0d@160
269.0d@150
400@160
420@160
249.0d@150
269.0d@150 corner: 269.0d@150
Ki
290@150
310@150
290@140 corner: 310@160
18
210@160
230@160 corner: 250.0d@180
210@160 corner: 270.0d@180
234@173.5d
270.0d@170
350@190
370@190
250.0d@170
270.0d@170 corner: 270.0d@170
Kd
290@170
310@170
290@160 corner: 310@180
SDV
290@190
310@190
282.0d@193.5d
290@180 corner: 310@200
420@190
440@190
410@190 corner: 410@190
R
390@190
410@190
390@180 corner: 410@200
290@50
direct
inputs
100
0.1
255
En
310@50
260.0d@10 corner: 260.0d@170
262.0d@6.5d corner: 274.0d@13.5d
276.0d@46.5d corner: 288.0d@53.5d
406.0d@166.5d corner: 418.0d@173.5d
L1
420@170
440@170
420@210
500@200
520@200 corner: 591.0d@220
500@200 corner: 611.0d@220
524@213.5d
500@210
63.0d
нагреватель
e8326538-99c4-4e9f-a270-2e1c4522cb5a
sda
D2
digital
520@210
500@210 corner: 500@210
480@210
500@210
434@210
171.0d@210 corner: 171.0d@210
23.0d
151.0d@210
171.0d@210
151.0d@200 corner: 171.0d@220
171.0d@170
ds18b20
4b102aeb-5571-4591-b64a-f115f79dce6d
ds18b20 error Ver 0.2
Блок служит для опроса одного датчика (только один датчик на один пин). Реализован контроль работоспособности датчика.
Не требуется прописывать адрес датчика, можно заменять датчик без отключения устройства.
Работает следующим образом: сразу после включения контроллера или подключения датчика происходит частый опрос шины (каждые 800 мс), на выходе "error" при этом высокий уровень, в случае нахождения датчика происходит измерение температуры. Выход "error" будет сброшен после следующего опроса, это нужно что бы пропустить некорректные 85 градусов. Далее опрос происходит с заданным периодом (вход "period"). В случае обрыва датчика поиск снова выполняется с периодом 800 мс независимо от установленного периода опроса. Опрос происходит только при наличии высокого уровня на входе "EN"
Входы:
EN - разрешение опроса
period - период опроса, мс
Выходы:
temp - температура
crcOK - контрольная сумма правильная
error - обрыв линии данных, нет питания датчика, датчик неисправен
Параметры пользователя:
pins - номер пина для подключения датчика
Нужна библиотека OneWire.
1077
номер пина для подключения
15
if(EN){
if( error ) { period = 800; } // если ошибка - частый опрос
time = millis() - time_old; // таймер опросов
if (time>period){ // таймер опросов
time_old = millis(); // таймер опросов
ds.reset(); //сброс шины
ds.write(0xCC); //пропуск ROM
ds.write(0xBE); // прочитать 9 байт из датчика
for (byte i = 0; i < 9; i++) { // прочитать 9 байт из датчика
data[i] = ds.read();} // прочитать 9 байт из датчика
int raw = (data[1] << 8) | data[0]; // прочитать 9 байт из датчика
temp = (float)raw / 16.0; //посчитать температуру
if (OneWire::crc8(data, 8) == data[8]) {crcOK=1;} //сверка контрольной суммы
else {crcOK=0;}
ds.reset(); //сброс шины
ds.write(0xCC); //пропуск ROM
ds.write(0x44, 1); //запуск измерения
if ( ((data[0] == 255) && (data[1] == 255) && (data[2] == 255) && (data[3] == 255) && (data[4] == 255) && (data[5] == 255) && (data[6] == 255) && (data[7] == 255) && (data[8] == 255)) ||
((data[0] == 0) && (data[1] == 0) && (data[2] == 0) && (data[3] == 0) && (data[4] == 0) && (data[5] == 0) && (data[6] == 0) && (data[7] == 0) && (data[8] == 0)) )
{err = 1; count = 0; }
else{err = 0; if ( count < 3) { count++;} }
} //конец __(time>period)__
}// конец EN
error = (err || (count < 2));
1234
#include
<OneWire.h>
ds
(pins);
OneWire
data
[9];
byte
count
;
byte
err
;
bool
time
;
unsigned long
time_old
;
unsigned long
71.0d
26.0d
151.0d@170
170@50 corner: 170@170
170@50
190@50
6.0d
34.0d
датчик
85a2a8d0-0e6f-4443-8cfe-7cf257628494
490.0d@50
510.0d@50
301.0d
180@0
200@0 corner: 260@60
180@0 corner: 280@60
211.5d@14.0d
70@20
90@20 corner: 132.0d@40
70@20 corner: 152.0d@40
94@33.0d
152.0d@30
80@10
100@10
132.0d@30
152.0d@30 corner: 152.0d@30
I1
180@30
200@30
180@20 corner: 200@40
70@40
90@40 corner: 164.0d@60
70@40 corner: 184.0d@60
94@53.5d
164.0d@40 corner: 184.0d@60
184.0d@50
80@60
100@60
164.0d@50
180@50 corner: 180@50
I2
180@50
200@50
180@40 corner: 200@60
280@40
300@40 corner: 359.0d@60
280@40 corner: 379.0d@60
304@53.5d
280@40 corner: 300@60
280@50
439.0d@40
459.0d@40
300@50
280@50 corner: 280@50
260@50
280@50
260@40 corner: 280@60
>=
100@0
120@0 corner: 200@60
100@0 corner: 220@60
122.5d@14.5d
220@60
240@60 corner: 304.0d@80
220@60 corner: 324.0d@80
250@73.5d
60@40
80@40 corner: 171.0d@80
60@40 corner: 191.0d@80
85.0d@54.5d
171.0d@60 corner: 191.0d@80
191.0d@70
GPv3_PASS_CL
GiverPortal_PASS
Passw
e22f22b6-d66e-4e0a-af35-f034a2211290
694d3ec7-57f9-4b8b-a038-743de0681d6a
38a40e27-6451-4398-894d-080297da1753
GP PASS
if (portal.click(""pass")) {
portal.copyStr("pass", valPass);
Passw = String(valPass);
}
103
GP.PASS("pass", "pass", valPass);
37
valPass
[10];
char
578fd300-d643-431c-a88d-c686f16cf027
GPv3_PASS_CL Ввод пароли
Окно для ввода пароли, пароль шифруется звездочками.
Ширина - ширина строкой "100px", "25%" и так далее.
Внимание! В этом блоке имя идентификатора компонента задается вручную в параметре - Имя!
Если используете несколько блоков в проекте, в других измените Имя.
Макс длина - длина пароли ( 0 - чтобы отключить ).
Паттерн - указывает регулярное выражение, согласно которому требуется вводить и проверять данные в поле формы. Если присутствует атрибут pattern, то форма не будет отправляться, пока поле не будет заполнено правильно. http://htmlbook.ru/html/input/pattern.
Режим_чтения - режим "только чтение" - true (умолч. false).
При выборе параметра Окно_подсказка, появляется всплывающее окно при подводе курсора на компонент с текстом , указанным в параметре Подсказка.
774
Буфер
e543174e-7b02-4711-8e6a-00127757d681
f4350f48-dbb5-470b-a5bd-e2562c709853
Имя
cl_pass
Идентификатор блока
6493851b-e1a7-4197-b5e3-1eGP92d690d
176d1d16-6332-4e7f-ac85-74cb0cd8a250
Подсказка_
password
e80d92ad-76a8-4b13-955f-f3d2472b21c8
f4b101d5-881e-4f12-9d6b-2b70c952c05b
Ширина
0fd6a451-1962-42f6-90fd-80b974208f11
8a1dca07-dae5-4d49-a5da-99a5791b310c
Окно_подсказка
364c9592-3711-4423-a01c-7aa9fea942db
ac74367c-807c-4616-b508-5d9b01a64d66
Подсказка
Ввод пароли
1e375e09-df9a-49aa-9174-c59d4a6e73d4
8ebcc01f-25af-497c-a2ce-6347f3e98adc
Макс_длина
14cb50ce-ef4c-4d2b-bb0a-b4f113a7f45b
c9658a71-9f39-4bce-a6c9-4caaf9bc4173
Паттерн
f6a4ab8d-4ff4-4d6d-99d5-542bcdf1aa15
e1f6c8ae-0e0f-4e81-b7b3-3649ce0cc950
Режим_чтения
af76aa1b-7566-44df-9c09-e8130d6a3eca
e969451f-6a8d-47ac-a237-2adf38feeeb4
if(portal.clickStr(Имя, valPass)) Passw = String(valPass);
59
GP.PASS(Имя, Подсказка_, valPass, Ширина, Макс_длина, Паттерн, Режим_чтения);
if(Окно_подсказка) GP.HINT(Имя, Подсказка);
128
valPass
[Буфер];
char
91.0d
171.0d@70
191.0d@70 corner: 191.0d@70
220@70
240@70
220@60 corner: 240@80
44.0d
ПАРОЛЬ
S1
100@30
120@30
100@20 corner: 120@40
S2
12345
100@50
120@50
69.0d@53.5d
100@40 corner: 120@60
230@40
250@40 corner: 302.0d@60
230@40 corner: 322.0d@60
254@53.5d
230@40 corner: 250@60
230@50
ПАРОЛЬ
ace8f4ba-d0d9-40a1-8613-182b3225ee2a
402.0d@50
422.0d@50
250@50
220@50 corner: 220@50
Q
200@50
220@50
200@40 corner: 220@60
=
40@0
60@0 corner: 135.0d@20
40@0 corner: 155.0d@20
65.0d@14.5d
GPv3_BEGIN
889601e9-79df-4672-bdb0-ef0579383503
GPv3_BEGIN Начальный блок
Начальный блок для создания одной страницы с окном лога при его активизации, ставится первым до остальных блоков GP.
Применять вместе с блоком GPv3_END.
Остальные блоки GP должны быть между начальным и конечным блоком.
В параметрах устанавливается:
Тема - GP_LIGHT - светлая тема или GP_DARK - тёмная тема,
Ширина - ширина колонки в пикселях(без надписи рх).
Окно_лога - при активизации стартует окно лога. Использовать совместно с блоками лога из папки Режим обновления.
Плату ESP32 использовать не ниже 2.05.
543
Авторизация
4053247c-ee6c-4b1d-99ac-b75165ac43d2
8206a226-1188-46b0-85d8-ace8a7edba2e
Тема
GP_DARK
GP_LIGHT - светлая тема, GP_DARK - тёмная тема
c76f275c-3c07-432d-9692-3a6099f07e75
GP_LIGHT
0fced30a-28af-4413-ba12-b7fee9ec80d7
Ширина
350
54d72563-17ed-449d-825b-c27a52266ade
0535243f-6d14-41d6-a9b0-bea0773c7c9f
Имя
login
b5af6ae9-79aa-487b-a3f2-67153c4042f4
e730399d-5ec6-4e45-92c3-01e3a4f173f4
Пароль
password
8696be48-ea77-4851-ad39-d46c5a30b262
ba18cb8c-0887-4fe2-8620-f3c2619da72d
host
""
Запуск с поддержкой mDNS, указать адрес. Если mDNS не нужен - передать ""
1bc4a1ba-c844-48a7-8b1b-5b3c2b437fee
9470818f-e7e9-4539-ad0b-cad4caa6a6d2
port
80
Запуск с поддержкой mDNS и указанием порта.
230b4e4f-6b22-4cb5-9486-9106952064e5
edd1ed8e-c7da-465d-b015-dd11a97d6f2b
Окно_лога
84978ac1-cf71-4b2a-95c3-468c8887a7d9
8651c22f-cfdd-4ce5-a2a4-fa0f64f091f4
Буфер
64
bfc3c46f-6014-4925-b2a4-a6dc29c69bd6
89b36769-c257-4b3f-b765-70a3b0599fd1
portal.tick();
}
void action() {
35
if(Авторизация) portal.enableAuth(Имя, Пароль);
portal.attachBuild(build);
portal.attach(action);
portal.start(host, port);
if(Окно_лога) portal.log.start(Буфер);
}
void build() {
GP.BUILD_BEGIN(Ширина);
GP.THEME(Тема);
237
#include
<GyverPortal.h>
portal
;
GyverPortal
75.0d
100@40
120@40 corner: 212.0d@60
100@40 corner: 232.0d@60
125.0d@54.5d
GPv3_SEND_BG
d8722ace-d009-453b-916e-feb4442debbd
GPv3_SEND_BG Цвет фона страницы
Изменение цвета фона страницы.
Цвет в виде Имя цвета (Aqua) или HEX (#00FFFF). Смотрите https://colorscheme.ru/html-colors.html.
После компиляции параметр Цвет оказывается внутри двойных кавычек, это нормально,
и происходит из за особенности классического редактора блоков.
276
Цвет
Aqua
98dda254-2fcd-4c7b-8dd5-7663e634a29a
ec3ad98e-43db-4aff-85d8-c80095af4535
GP.SEND("<body style=background-color:"Цвет"><body>");
56
92.0d
140@70
160@70 corner: 253.0d@90
140@70 corner: 273.0d@90
165.0d@84.5d
GPv3_TITLE_CL
3a1de210-3b52-4e49-af34-b30a993d3117
GPv3 TITLE_CL Титул
Блок выводит титул для страницы.
Свойства в параметрах.
Цвет - из списка или цвет в формате PSTR("#rrggbb").
GP_RED "#bf1e1e"
GP_RED_B "#e11414"
GP_PINK "#bb32aa"
GP_PINK_B "#db13c1"
GP_VIOL "#802ecb"
GP_VIOL_B "#a60cf5"
GP_BLUE "#3b3ebd"
GP_BLUE_B "#353aff"
GP_CYAN "#1f8fa9"
GP_CYAN_B "#06b3db"
GP_GREEN "#37a93c"
GP_GREEN_B "#25d52c"
GP_YELLOW_B "#ffff00"
GP_YELLOW "#b4b700"
GP_ORANGE "#b37f0d"
GP_ORANGE_B "#ff4500"
GP_GRAY "#5e5e5e"
GP_GRAY_B "#9c9ea1"
GP_BLACK "#13161a"
GP_WHITE "#fff"
GP_DEFAULT "#fff"
554
Текст
GP в FLProg
0aa18d7c-489f-499f-8f94-fe4945b7d2c1
ЧАЙНИК
f2bac135-4e81-46f4-a784-d4fba8dc3c57
Цвет
GP_GREEN
6856e73e-525a-4096-bdaf-77f0add50fb7
PSTR("DarkGreen")
e5ba4e60-22a9-402e-9785-b4ed96ba77e2
Размер
24
24px
шрифта
cfac71ba-2dfe-49b3-81dd-42809889e9c1
63d44c74-d204-4831-8e8f-dca9b4538bc6
Жирный
жирный текст
117eba53-8fee-4174-88ba-9ca036c9c3f8
8dcb66c0-a9a6-43c6-a627-efc2dedff3cf
GP.TITLE(Текст, "ttl", Цвет, Размер, Жирный);
51
ttl
;
String
93.0d
0@80
20@80 corner: 72.0d@100
0@80 corner: 92.0d@100
24@93.5d
90@60
110@60 corner: 190@100
90@60 corner: 210@100
123.0d@74.5d
90@80 corner: 110@100
220@60
240@60 corner: 300@100
220@60 corner: 320@100
259.0d@73.5d
220@80 corner: 240@100
330@60
350@60 corner: 435.0d@100
330@60 corner: 455.0d@100
355.0d@74.5d
330@80 corner: 350@100
330@90
GPv3_RELOAD
en_reb
a9989363-1e56-4b2a-a0cc-07762bcbd6fc
1dddea7c-d965-4bfa-b84f-33f9b6b87f35
159ab3f8-cf70-4ec9-930e-97546e7a5d2b
GPv3_RELOAD Cкрый блок перезагрузки страницы
Скрытый блок перезагрузки страницы.
Период- период опроса браузером МК о необходимости перезагрузки страницы.
109
Имя
reboot
b167ea2c-65d2-444b-9938-6e9f3a13cd95
be639f3a-f9de-4475-9325-1e02b5528da4
Период
3000
мс
dfa8b736-bd21-4e27-965f-a68bc321ebee
ebb5325e-d2d9-4b8a-9817-4aab14633eff
if(portal.update(Имя)) portal.answer(en_reb);
49
GP.UPDATE(Имя, Период);
GP.RELOAD(Имя);
46
36a58fa5-0b9e-4125-8c23-dd30d67ede7f
Скрытый блок перезагрузки страницы. Поставить после главного блока.
Вход en_reb -при высоком уровне на нем происходит обновление страницы.
Период- период опроса браузером МК о необходимости перезагрузки страницы.
Пример: можно использовать блоки Форма без кнопки submit и установки режима Форма.
295
Имя
reboot
b167ea2c-65d2-444b-9938-6e9f3a13cd95
Период
мс
dfa8b736-bd21-4e27-965f-a68bc321ebee
if(portal.update(Имя)) portal.answer(en_reb);
53
85.0d
350@90
320@90 corner: 320@90
Q
300@90
320@90
300@80 corner: 320@100
220@90
2000
EN
240@90
210@90 corner: 210@90
Q
190@90
210@90
190@80 corner: 210@100
90@90
Input
110@90
90@90 corner: 90@90
72.0d@90
92.0d@90
72.0d@80 corner: 92.0d@100
0@40
20@40
70@10
70@10 corner: 380.0d@31.0d
left
Перезагрузка страницы когда пароль выставлен правильный
304.0d
3@13.0d
60@40
80@40 corner: 223.0d@60
60@40 corner: 243.0d@60
85.0d@54.5d
GPv3_BLOCK_TAB_BEGIN
dbd084b1-41c9-4469-898e-52e632b7b19d
GPv3_BLOCK_TAB_BEGIN Начать отрисовку блока с подписью на плашке
Отрисовка блока с подписью на плашке и с выбором ширины и цвета для объединения компонентов по вертикали.
Цвет из списка (умолч. GP_GREEN) или цвет в формате PSTR("#rrggbb")
// ============ ЦВЕТА ===========
// цвет с постфиксом _B - яркий
GP_RED
GP_RED_B
GP_PINK
GP_PINK_B
GP_VIOL
GP_VIOL_B
GP_BLUE
GP_BLUE_B
GP_CYAN
GP_CYAN_B
GP_GREEN
GP_GREEN_B
GP_YELLOW
GP_ORANGE
GP_ORANGE_B
GP_GRAY
GP_BLACK
398
Текст
Блок
fa71653e-a132-4ae4-a109-d75831b73f30
УСТАВКА
14cbf387-213a-44d0-afb9-82e0880a95cc
Ширина
Ширина строкой "100px", "25%" и так далее (умолч. 100%)
0e3b8429-2327-4cd1-b682-8e8a299966c7
e9ccc24a-0ab0-4bf9-8cf5-b7d86c9fe0d8
Цвет
""
f7c421bf-d312-45a8-bfab-67b330b97b90
GP_BLUE_B
a9254d5c-fc06-4572-a8c8-d71f93237017
GP.BLOCK_TAB_BEGIN(Текст, Ширина, Цвет);
43
143.0d
50@40
70@40 corner: 193.0d@60
50@40 corner: 213.0d@60
75.0d@54.5d
GPv3_BEGIN_UPDATE
71e76529-5449-4311-adfd-4f4e17549baf
GPv3_BEGIN_UPDATE Обновление в реальном времени
Обновление значений и состояний компонентов в реальном времени без перезагрузки страницы. Удобно для индикации работы и получения текущих численных и текстовых значений из программы, вывод графиков в реальном времени.
Поставить перед компонентами, которые нужно, чтобы передавали данные при нажатии или при изменении значения в веб браузере.
С данным блоком применять обязательно блок GP END_UPDATE, который закрывает открытую фигурную скобку блока GP BEGIN_UPDATE. Блоки , которые передают данные должны быть между вышеуказанными блоками.
539
if (portal.update()) {
25
123.0d
120@60
140@60 corner: 219.0d@80
120@60 corner: 239.0d@80
145.0d@74.5d
GPv3_BREAK
1f8a5c7d-b393-4f1d-8897-a5ad62f38b54
GPv3_BREAK Перевод строки
Перевод строки. Компоненты идущие после этого блока располагаются ниже прежнего компонента.
91
GP.BREAK();
79.0d
120@0
140@0 corner: 229.0d@40
120@0 corner: 249.0d@40
145.0d@14.5d
Text
Температура воды
120@30
140@30
26.0d@34.5d
GiverPortal_LABEL_TEXT
e14d5471-1ed5-4629-9c62-f774c1a1b709
c9e2e5ba-941a-48c3-bc8e-320cb9ccd8f4
488baac5-40d4-4f3b-9192-72d7d0217d7d
GP LABEL Текст
Блок позволяет вывести просто текст со входа.
Можно применить для названия компонента.
88
length_str
Длина строки
d5b3587b-a770-4710-9b81-6020320f0668
427ba928-2970-4c11-80f7-c802e95ce433
TextStr.toCharArray(textStr, TextStr.length()+1);
62
GP.LABEL(textStr, "val");
30
textStr
[length_str];
char
120@20 corner: 140@40
GPv3_LABEL_U
042c390c-0fc6-4a7f-a9f3-776737477ce6
GPv3_LABEL_U Вывод текста со входа
Блок позволяет вывести подписьсо входа. Можно применить для названия компонента (для кнопок, полей, чекбоксов итд).
В режиме Обновление происходит изменение текста через Период_обновления.
Цвет - из списка или цвет в формате PSTR("#rrggbb").
GP_RED "#bf1e1e"
GP_RED_B "#e11414"
GP_PINK "#bb32aa"
GP_PINK_B "#db13c1"
GP_VIOL "#802ecb"
GP_VIOL_B "#a60cf5"
GP_BLUE "#3b3ebd"
GP_BLUE_B "#353aff"
GP_CYAN "#1f8fa9"
GP_CYAN_B "#06b3db"
GP_GREEN "#37a93c"
GP_GREEN_B "#25d52c"
GP_YELLOW_B "#ffff00"
GP_YELLOW "#b4b700"
GP_ORANGE "#b37f0d"
GP_ORANGE_B "#ff4500"
GP_GRAY "#5e5e5e"
GP_GRAY_B "#9c9ea1"
GP_BLACK "#13161a"
GP_WHITE "#fff"
GP_DEFAULT "#fff"
689
Период_обновления
Период_обновления в миллисекундах
e813244b-42f6-41d9-bcf0-9c59a1fbb3de
ddbf89be-40f8-4ad1-9c53-fd4a3833fb26
Цвет
GP_GREEN
69ed1e87-1980-4f0b-be35-9a26f8f27f64
GP_RED
58d9c923-9da9-4371-aa5b-8e48463a480c
Размер
шрифта
befb05b9-894c-424b-b6f5-51a0a05cff15
66c5d227-2ef8-47dc-a361-5c8fea06f8dd
Жирный
шрифт
bfb6638a-9153-4d65-96f4-8134d54cafe6
05875893-03b1-4fb7-9bc2-6027e5c0fde2
Перенос
текста
01ac438d-5b81-4a1c-a49c-73e2ef9377c5
4b67096c-2554-46d3-b63d-1d35b41e63fe
portal.updateString("lb",Text);
33
GP.UPDATE(PSTR("lb"), Период_обновления );
GP.LABEL(Text, "lb", Цвет, Размер, Жирный, Перенос);
105
lb
;
String
89.0d
20@30
40@30 corner: 143.0d@50
20@30 corner: 163.0d@50
45.0d@44.5d
GPv3_BOX_BEGIN
c8110621-7224-4fa3-8020-00f8604bb263
GPv3_BOX_BEGIN Начать объединение компонентов по горизонтали
Начать объединение компонентов по горизонтали.
Выравнивание - (GP_CENTER, GP_LEFT, GP_RIGHT, GP_JUSTIFY), умолч. GP_JUSTIFY
Ширина - строкой "100px", "25%" и так далее (умолч. 100%)
181
Выравнивание
GP_JUSTIFY
3bc33cde-e364-4d98-9428-97c0ac0dfba9
GP_CENTER
b0b60b8e-2e9e-44c9-bbe2-95a0672b1e10
Ширина
100px
Ширина в пикселях (100px)
be05fbb3-8ff9-4cac-a2bc-0f090ef75b57
dd7b0f2c-0bac-4222-a30b-90bb1e924418
GP.BOX_BEGIN(Выравнивание, Ширина);
38
103.0d
20@20
40@20 corner: 82.0d@40
20@20 corner: 102.0d@40
44@33.0d
100@0
120@0 corner: 239.0d@40
100@0 corner: 259.0d@40
125.0d@14.5d
100@20 corner: 120@40
100@30
GPv3_NUM_FLOAT_U
GP_NUM_U
Num
a2069005-909f-437d-bb83-e00a59f539af
0f011132-0fe2-4f4b-b273-41b1fdf6aa88
c277fdf3-3bf9-46c6-b430-52aadc4c127f
GP NUM_U Ввод числа int
Вывод числа в int
Название
Число
51bf193b-f17e-45c4-8edc-da2890078688
79386dd9-0af9-4622-9790-2e0b73bcc1be
Период_обновления
fc83b315-a703-48c3-90ab-791da667c85a
ebaa0dc6-8716-4504-b401-7b982a83464a
if (portal.update("num")) portal.answer( Num );
GP.AJAX_UPDATE(PSTR("num"), Период_обновления);
GP.NUMBER("num",Название, valNum);
89
valNum
;
int
82a921b9-2b8e-4bf3-af56-599649f4a96b
GPv3_NUM_FLOAT_U Вывод числа float
Вывод числа в float.
Режим_чтения - режим "только чтение" - true, по умолч false.
83
Период_обновления
fc83b315-a703-48c3-90ab-791da667c85a
Подсказка
Число
51bf193b-f17e-45c4-8edc-da2890078688
температура
Знаков
после запятой
c499d7bc-7874-45eb-ad3e-6de884abdfe7
5f95658b-13d4-4534-b894-5792b4c4e999
Ширина
350
350px
bee6c8f7-2c73-471f-8c69-e40d9e274928
fd73e7b9-0a84-4f08-a605-0fc09a3d1de6
Режим_чтение
ce7c4026-1c8a-4028-a1de-66fc22571a73
9098996c-9858-4115-99b8-d38870a4953c
portal.updateFloat("num", Num);
GP.UPDATE(PSTR("num"), Период_обновления);
GP.NUMBER_F("num", Подсказка, Num, Знаков, Ширина, Режим_чтение);
115
num
;
String
119.0d
120@30
100@30 corner: 100@30
82.0d@30
102.0d@30
100@50
120@50 corner: 209.0d@90
100@50 corner: 229.0d@90
125.0d@64.5d
С°
100@80
120@80
87.0d@83.5d
100@70 corner: 120@90
GP_RED
20@10
40@10 corner: 132.0d@30
20@10 corner: 152.0d@30
45.0d@24.5d
GPv3_BOX_END
9612c216-cd90-491d-910b-f9364b151b92
GPv3_BOX_END Завершить объединение компонентов по горизонтали
Завершить объединение компонентов по горизонтали.
50
GP.BOX_END();
30@30
50@30 corner: 162.0d@50
30@30 corner: 182.0d@50
55.0d@44.5d
GPv3_END_UPDATE
d7a9eaa6-ee8d-41b8-9166-f562d40b2349
GPv3_END_UPDATE Завершение режима Обновление
Завершает блоки GP START_UPDATE, применять вместе с ними
65
}
112.0d
330@100
350@100 corner: 394.0d@120
330@100 corner: 414.0d@120
354@113.5d
150@60
170@60 corner: 304.0d@120
150@60 corner: 324.0d@120
175.0d@74.5d
Off
150@90
170@90
GPv3_BUTTON_MINI_CL
523a6164-7e55-423e-af6e-f92ad547ed5b
780575cb-a188-4cc1-b913-ffb2cc50c794
Res
b1b88f80-68ba-463c-9cc4-d5eeadb4e8c6
a23c3ef8-e3b3-461c-8478-efda83a3831b
GiverPortal_BUTTON
Button
db2f59db-73bf-4ea6-bd4a-5e7f1229d661
919dd590-093a-43a2-b9a2-564928991706
4586ea05-1892-44ae-816b-ee0575cefb23
GP BUTTON
Список
val 1,val 2,val 3
2e9da45c-af77-4442-87bb-db92d2d21dde
710a1f33-f5ae-4715-b64f-6286ebb27ae0
if (portal.click("btn")) {
if (Button == LOW) Button = HIGH;
else Button = LOW;
}
90
GP.BUTTON("btn", "Button");
31
1fc78b56-6610-4ae0-aade-bec2d1609682
GPv3_BUTTON_MINI_CL Кнопка мини
Кнопка мини с эффектом нажатия и изменения цвета (потемнение) при наведении курсора.
Встроен перенос строки перед кнопкой (кнопка выводится с новой строки), по умолчанию стоит перенос: GP.BREAK(); (точка запятая обязательна), если не нужен - удалить значение параметра.
На выходе Button высокий уровень при нажатии и низкий уровень при его отпускании.
При нажатии кнопки, если указан параметр id, с компонента id кнопка отправит данные (выход Button не работает).
id компонента, с которого кнопка отправит данные вставить в кавычках!
Входы:
Off - отключить кнопку, если true.
Res - перезагрузка страницы после клика, если true.
В параметре можно устанавить Ширину кнопки (150px), его Цвет и надпись Текст.
Цвет из списка или цвет в формате PSTR("#rrggbb").
GP_RED "#bf1e1e"
GP_RED_B "#e11414"
GP_PINK "#bb32aa"
GP_PINK_B "#db13c1"
GP_VIOL "#802ecb"
GP_VIOL_B "#a60cf5"
GP_BLUE "#3b3ebd"
GP_BLUE_B "#353aff"
GP_CYAN "#1f8fa9"
GP_CYAN_B "#06b3db"
GP_GREEN "#37a93c"
GP_GREEN_B "#25d52c"
GP_YELLOW_B "#ffff00"
GP_YELLOW "#b4b700"
GP_ORANGE "#b37f0d"
GP_ORANGE_B "#ff4500"
GP_GRAY "#5e5e5e"
GP_GRAY_B "#9c9ea1"
GP_BLACK "#13161a"
GP_WHITE "#fff"
GP_DEFAULT "#fff"
Внимание! Если хотите, чтобы стиль кнопки устанавливался из файловой системы, цвет не ставить!
1298
Новая_строка
GP.BREAK(); // не забудьте точку с запятой
a4c2ec3b-a396-40d7-be24-94c151f484df
8fe1841d-e670-4e00-9fdc-61a25b2e0e43
Текст
КНОПКА
Кнопка
d1cf6bd9-ffd5-491e-b4bf-4c971067de52
45b7c1bd-6ffd-42e9-9d5e-ff0cfd85484e
id
""
id компонента, с которого кнопка отправит данные вставить в кавычках!
3896e2a9-6ffb-4ebd-adbc-7191a83c7b45
txt
id компонента, с которого кнопка отправит данные по click(eckb txt - с блока TEXT_....)
3b69a94c-2ed5-4900-8412-a5ac2b391fc7
Цвет
89171dfa-4c71-48db-be75-bc7ffa63e6d9
f8ccc52f-0b29-4395-b151-ced621000fb5
Ширина
150px
e27f6a52-2148-4d9c-b3c6-1de96734d69c
78933100-f62b-4b67-a414-65acccd18e0a
if (portal.clickUp("btn_mini")) Button = LOW;
if (portal.clickDown("btn_mini")) Button = HIGH;
Новая_строка
GP.BUTTON_MINI("btn_mini", Текст, id, Цвет, Ширина, Off, Res);
78
btn_mini
;
String
150@80 corner: 170@100
150@110
170@110
150@100 corner: 170@120
304.0d@100 corner: 324.0d@120
324.0d@110
728e7966-ccde-4081-90b8-cf91e59baeb9
ВКЛ
GP_GREEN
150px
134.0d
32.0d
304.0d@110
324.0d@110 corner: 324.0d@110
330@110
350@110
330@100 corner: 350@120
534.0d@80
554.0d@80
150@0
170@0 corner: 266.0d@20
150@0 corner: 286.0d@20
175.0d@14.5d
GPv3_LABEL_CL
cf296919-3ebf-40ab-95e0-7c2c3b770b06
GPv3_LABEL_CL Вывод текста (подписи)
Блок позволяет вывести подпись . Можно применить для названия компонента (для кнопок, полей, чекбоксов итд).
Цвет - из списка или цвет в формате PSTR("#rrggbb").
GP_RED "#bf1e1e"
GP_RED_B "#e11414"
GP_PINK "#bb32aa"
GP_PINK_B "#db13c1"
GP_VIOL "#802ecb"
GP_VIOL_B "#a60cf5"
GP_BLUE "#3b3ebd"
GP_BLUE_B "#353aff"
GP_CYAN "#1f8fa9"
GP_CYAN_B "#06b3db"
GP_GREEN "#37a93c"
GP_GREEN_B "#25d52c"
GP_YELLOW_B "#ffff00"
GP_YELLOW "#b4b700"
GP_ORANGE "#b37f0d"
GP_ORANGE_B "#ff4500"
GP_GRAY "#5e5e5e"
GP_GRAY_B "#9c9ea1"
GP_BLACK "#13161a"
GP_WHITE "#fff"
GP_DEFAULT "#fff"
608
Текст
Название компонента
16973307-ead1-44c8-bd3b-cbb975546e9c
Вкл/Выкл нагревателя
3171a449-a5ba-47c5-8509-74e3ee82bd6b
Цвет
GP_GREEN
f5fbafcf-0ba3-4af6-a8c4-86318dc9b911
315f8fdf-3b5d-4f42-8326-1836403d2dd8
Размер
20px
шрифта
e87727cd-c4e2-41f2-b372-bd754ac51e52
94dc1429-e4fd-429b-a506-77bdc3534ecc
Жирный
шрифт
ab2a50d4-e212-409d-ba0e-3344b83835bc
a7b60f7d-3fe6-4bf9-89d6-1c2e152ba69b
Перенос
строки
da44ec1e-6356-4519-bd3b-0f87ac895c8f
9524a584-11ff-4c50-be82-228232ba228e
GP.LABEL(Текст,"val", Цвет, Размер, Жирный, Перенос);
58
val
;
String
96.0d
340@220
360@220 corner: 398.0d@240
340@220 corner: 418.0d@240
364@233.5d
150@180
170@180 corner: 304.0d@240
150@180 corner: 324.0d@240
175.0d@194.5d
150@210
170@210
150@200 corner: 170@220
150@230
170@230
150@220 corner: 170@240
304.0d@220 corner: 324.0d@240
324.0d@230
ВЫКЛ
GP_RED
304.0d@230
324.0d@230 corner: 324.0d@230
340@230
360@230
340@220 corner: 360@240
398.0d@270
418.0d@270
50@150
70@150 corner: 120.0d@170
50@150 corner: 140.0d@170
74@164.5d
150@130
170@130 corner: 235.0d@170
150@130 corner: 255.0d@170
175.0d@144.5d
150@150 corner: 170@170
150@160
GP_LED_U
Led
7691f609-30f2-4241-a012-8d79b93db4b6
8e20cde1-1b97-4ada-8ffd-4421daaa59ec
0be90d59-05bf-42b1-9cd2-10a71108aeec
GP LED_U Светодиод
Светодиод синий, включается при подаче на вход Led высокого уровня.
Цвет задавать параметром - Цвет.
Цвет
led red
9ec85645-d609-4102-abb5-2c62fcc5a99a
1e0c079b-7a8e-4325-b4f9-09e8b67c3bc8
ID
u_led
Имя блока
6e19e5aa-431c-4ffe-9c0c-b2c0556392b6
46262c6b-c1d7-4395-bb44-a8afc8bf575f
Период_обновления
Период_обновления в миллисекундах
4734d202-33dd-4d87-bdb5-9f197b2c7330
8307e00a-a91b-41ce-b5e2-3b7c0500f3cd
if (portal.update(ID)) portal.answer(Led);
GP.AJAX_UPDATE(PSTR(ID), Цвет, Период_обновления);
GP.LED(ID);
69
c3f6ef39-60ce-4799-a56d-623e70f110e7
Светодиод, при подаче на вход Led высокого уровня светодиод светится выбранным (по умолч.зеленым) цветом, иначе красным.
Период_обновления - в миллисекундах.
Цвет из списка или цвет в формате PSTR("#rrggbb").
GP_RED "#bf1e1e"
GP_RED_B "#e11414"
GP_PINK "#bb32aa"
GP_PINK_B "#db13c1"
GP_VIOL "#802ecb"
GP_VIOL_B "#a60cf5"
GP_BLUE "#3b3ebd"
GP_BLUE_B "#353aff"
GP_CYAN "#1f8fa9"
GP_CYAN_B "#06b3db"
GP_GREEN "#37a93c"
GP_GREEN_B "#25d52c"
GP_YELLOW_B "#ffff00"
GP_YELLOW "#b4b700"
GP_ORANGE "#b37f0d"
GP_ORANGE_B "#ff4500"
GP_GRAY "#5e5e5e"
GP_GRAY_B "#9c9ea1"
GP_BLACK "#13161a"
GP_WHITE "#fff"
GP_DEFAULT "#fff"
655
Период_обновления
Период_обновления в миллисекундах
4734d202-33dd-4d87-bdb5-9f197b2c7330
Цвет
GP_GREEN
adc8f428-2d08-4883-a797-584da1171247
GP_ORANGE_B
cdb52c03-c17a-4260-b527-ec0edc76e9a5
portal.updateBool("led", Led);
39
GP.UPDATE(PSTR("led"), Период_обновления);
GP.LED("led", Led, Цвет);
led
;
String
65.0d
170@160
140.0d@160 corner: 140.0d@160
120.0d@160
140.0d@160
120.0d@150 corner: 140.0d@170
50@150
70@150
30@30
50@30 corner: 153.0d@50
30@30 corner: 173.0d@50
55.0d@44.5d
GPv3_BOX_BEGIN
c8110621-7224-4fa3-8020-00f8604bb263
GPv3_BOX_BEGIN Начать объединение компонентов по горизонтали
Начать объединение компонентов по горизонтали.
Выравнивание - (GP_CENTER, GP_LEFT, GP_RIGHT, GP_JUSTIFY), умолч. GP_JUSTIFY
Ширина - строкой "100px", "25%" и так далее (умолч. 100%)
Выравнивание
GP_JUSTIFY
3bc33cde-e364-4d98-9428-97c0ac0dfba9
GP_CENTER
b0b60b8e-2e9e-44c9-bbe2-95a0672b1e10
Ширина
100px
Ширина в пикселях (100px)
be05fbb3-8ff9-4cac-a2bc-0f090ef75b57
dd7b0f2c-0bac-4222-a30b-90bb1e924418
GP.BOX_BEGIN(Выравнивание, Ширина);
23
40@260
60@260 corner: 152.0d@280
40@260 corner: 172.0d@280
65.0d@274.5d
GPv3_BOX_END
9612c216-cd90-491d-910b-f9364b151b92
GPv3_BOX_END Завершить объединение компонентов по горизонтали
Завершить объединение компонентов по горизонтали.
GP.BOX_END();
361.0d
20@30
40@30 corner: 138.0d@50
20@30 corner: 158.0d@50
45.0d@44.5d
GPv3_BLOK_END
d8142cc2-925a-4703-aaff-df5d60ea987d
GPv3_BLOK_END Завершить отрисовку блока
Завершение отрисовки блока.
27
Название
Название блока
d8596dcd-a42a-49fa-9e41-9eb6033a944d
50d0867e-24d2-461f-b4bb-c02ec026b2ca
GP.BLOCK_END();
98.0d
20@20
40@20 corner: 166.0d@40
20@20 corner: 186.0d@40
45.0d@34.5d
GPv3_SPOILER_BEGIN
2bfd67cb-ccb7-46fb-82d9-e452b83e6559
GPv3_SPOILER_BEGIN Начать спойлер
Начать спойлер.
Цвет из списка (умолч. GP_GREEN) или цвет в формате PSTR("#rrggbb")
// ============ ЦВЕТА ===========
// цвет с постфиксом _B - яркий
GP_RED
GP_RED_B
GP_PINK
GP_PINK_B
GP_VIOL
GP_VIOL_B
GP_BLUE
GP_BLUE_B
GP_CYAN
GP_CYAN_B
GP_GREEN
GP_GREEN_B
GP_YELLOW
GP_ORANGE
GP_ORANGE_B
GP_GRAY
GP_BLACK
308
Text
Спойлер
f827a065-941e-4e50-bbe7-837f1a61b331
Настройка температуры
7687a88e-b2d0-4682-ae20-62774d147a52
Цвет
GP_GREEN
0f1ffb9b-2dcf-4e1c-a168-22cb602f26a3
GP_BLUE_B
6535d59f-3cd7-40e9-a435-edb82c5ad2a5
GP.SPOILER_BEGIN(Text, Цвет);
32
126.0d
Установка температуры нагревателя
200@0
220@0 corner: 316.0d@20
200@0 corner: 336.0d@20
225.0d@14.5d
Температура воды
GP_BLACK
200@30
220@30 corner: 299.0d@50
200@30 corner: 319.0d@50
225.0d@44.5d
GPv3_BREAK
1f8a5c7d-b393-4f1d-8897-a5ad62f38b54
GPv3_BREAK Перевод строки
Перевод строки. Компоненты идущие после этого блока располагаются ниже прежнего компонента.
GP.BREAK();
60@80
80@80 corner: 183.0d@100
60@80 corner: 203.0d@100
85.0d@94.5d
GP_CENTER
100@140
120@140 corner: 194.0d@160
100@140 corner: 214.0d@160
124@153.5d
200@120
220@120 corner: 328.0d@160
200@120 corner: 348.0d@160
225.0d@134.5d
200@140 corner: 220@160
380@100
400@100 corner: 480@140
380@100 corner: 500@140
401.0d@114.5d
380@120 corner: 400@140
530@100
550@100 corner: 610@160
530@100 corner: 630@160
553.5d@113.5d
530@120 corner: 550@140
V
530@150
550@150
530@140 corner: 550@160
530@130
EN
550@130
500@130 corner: 500@130
Q
480@130
500@130
480@120 corner: 500@140
380@130
Value
400@130
348.0d@130 corner: 348.0d@150
Spin
328.0d@150
348.0d@150
GPv3_SLIDER_CL
GP_SLIDER_CL
StartVal
91be7d9f-66f3-42c5-a554-47a50f636f35
a6e26d18-a0b2-40b0-aadf-df30cc2a4dcb
GiverPortal_SLIDER
Slider
43118a1a-623d-4cc8-8c91-24b27921afd5
f659e557-3814-45e3-b898-fbe3fff21764
8fc44cb9-6d15-422b-9a78-7d4cf1030539
GP SLIDER
if (portal.click("sld")) {
valSlider = portal.getInt("sld");
Slider = valSlider;
}
GP.SLIDER("sld", valSlider, 0, 10); GP.BREAK();
valSlider
;
int
8efff754-f057-4c41-b2d9-da5dfc7e4e83
GP SLIDER_CL Ползунок
Ползунок, на выходе числа от Min до Max шагом Step.
Min
00f276cc-c9df-46f1-bd3e-c6064bd31e96
86939ce5-cae6-4788-9ab2-ba6f6a292a4f
Max
9d2e13be-f5e9-4cf4-8666-da606bd5fa73
e5934f7e-b8f6-4e1c-919f-d476b144aab5
Step
Шаг
1bb5be0d-4f51-4d13-89b3-dcf634a83f82
56db92b8-0459-4125-985c-2e95205acf68
ID
sld
Идентификатор блока
c6f7089d-b2da-4139-a9b9-ec0aae5caa68
318f3125-67a7-4993-99c2-9b095ec85b16
Label
Слайдер
Название слайдера
24bd5325-6a00-4ea7-8e60-892a5543cd23
c4a8b9e7-14aa-4d97-9fe8-df1f8ec12a61
if (portal.click(ID)) {
varSlider = StartVal;
valSlider = portal.getInt(ID);
Slider = valSlider;
}
110
GP.SLIDER(ID,Label, valSlider, Min, Max, Step);
valSlider
;
int
StartVal
;
int
Предустановка значений
59f5bcbf-1e87-4b05-b7f9-6a818094ac98
ab359706-c5cd-4543-ac0d-941494a172b7
a6c80e46-4f0c-43cf-9a56-fca2b2788819
GPv3_SLIDER_CL Ползунок
Ползунок, на выходе числа от Min до Max шагом Step.
Параметры:
Знаков - количество знаков после запятой,
Цвет - цвет слайдера,
Режим_чтения - режим "только чтение" - true, по умолч false.
Вход StartVal -предустановка значений, позволяет стартовать компоненту с установленных значений.
// ============ ЦВЕТА ===========
// цвет с постфиксом _B - яркий
GP_RED
GP_RED_B
GP_PINK
GP_PINK_B
GP_VIOL
GP_VIOL_B
GP_BLUE
GP_BLUE_B
GP_CYAN
GP_CYAN_B
GP_GREEN
GP_GREEN_B
GP_YELLOW
GP_ORANGE
GP_ORANGE_B
GP_GRAY
GP_BLACK
508
Мин
00f276cc-c9df-46f1-bd3e-c6064bd31e96
Макс
9d2e13be-f5e9-4cf4-8666-da606bd5fa73
360
Шаг
1bb5be0d-4f51-4d13-89b3-dcf634a83f82
Шаг
Знаков
после запятой
05241ad0-d5d3-4f86-ab27-b8fa8976e967
0259ac6e-7b63-4723-b6ab-0d96a37bad91
Цвет
GP_GREEN
9126a818-7fb6-4221-aea3-2a50d0a39cc8
16342eb1-2b87-4771-b106-948221af9a61
Ширина
350px
32c65f5a-c3fb-4b2b-a4fb-8c659038d7ef
65652419-5487-46f6-9fb4-c5e611d2a7d1
if(start)
{
start = 0;
valSpin = StartVal;
Spin = valSpin ;
}
if (portal.click("cl_spn"))
{
valSpin = portal.getInt("cl_spn");
Spin = valSpin;
}
162
GP.SPINNER("sld", valSpin, Мин, Макс, Шаг, Знаков, Цвет, Ширина);
67
start
= 1;
bool
cl_spn
;
bool
valSpin
;
float
328.0d@140 corner: 348.0d@160
200@150
GPv3_SPINNER_CL
a3281e48-621f-407d-94a7-37adc15893c2
GPv3_SPINNER_CL Спиннер
Спиннер int, на выходе числа от Mин до Maкс шагом Шаг.
Вход StartVal -предустановка значений, позволяет стартовать компоненту с установленных значений.
Окно_подсказка - при выборе параметра , появляется всплывающее окно при подводе курсора на компонент с текстом , указанным в параметре Подсказка.
Цвет - цвет слайдера,
Режим_чтения - режим "только чтение" - true, по умолч false.
Вход StartVal -предустановка значений, позволяет стартовать компоненту с установленных значений.
Цвет из списка или цвет в формате PSTR("#rrggbb").
GP_RED "#bf1e1e"
GP_RED_B "#e11414"
GP_PINK "#bb32aa"
GP_PINK_B "#db13c1"
GP_VIOL "#802ecb"
GP_VIOL_B "#a60cf5"
GP_BLUE "#3b3ebd"
GP_BLUE_B "#353aff"
GP_CYAN "#1f8fa9"
GP_CYAN_B "#06b3db"
GP_GREEN "#37a93c"
GP_GREEN_B "#25d52c"
GP_YELLOW_B "#ffff00"
GP_YELLOW "#b4b700"
GP_ORANGE "#b37f0d"
GP_ORANGE_B "#ff4500"
GP_GRAY "#5e5e5e"
GP_GRAY_B "#9c9ea1"
GP_BLACK "#13161a"
GP_WHITE "#fff"
GP_DEFAULT "#fff"
973
Мин
00f276cc-c9df-46f1-bd3e-c6064bd31e96
Макс
9d2e13be-f5e9-4cf4-8666-da606bd5fa73
300
Шаг
1bb5be0d-4f51-4d13-89b3-dcf634a83f82
Цвет
GP_GREEN
29d7bf3e-b950-4c21-a2c7-b359942b0088
GP_RED
cd26e6bb-c060-45eb-829d-990a3c92e6fd
Ширина
100px
bc575068-6243-44dc-8356-156479b8e675
c00ef531-6725-419e-888b-120912e6d2d4
Режим
1b1e7693-1796-4f38-aab2-dff49d0f55c4
f8eea3b8-5ad9-48d1-b222-7d83543c4848
Период
200
период изменения значения при удержании кнопки спиннера, мс [int]
1f211027-fe6f-451a-a07a-bace32cd9b1a
4f1c0e74-dd66-47ce-b3f8-8ce635088c6e
Окно_подсказка
9580b62f-fdc6-4ec6-a51e-bff4572a1394
2a227891-5503-41fa-aadd-0e86090fde1d
Подсказка
Ввод чисел
6a2336cd-42f6-40f9-8673-9ae03f48e5d6
846715b2-1d74-4589-a0e2-495cd2cd1123
if(start)
{
start = 0;
Spin = StartVal;
}
portal.clickInt("spn", Spin);
82
GP.SPINNER("spn", Spin, Мин, Макс, Шаг, 0, Цвет, Ширина, Режим);
GP.setSpinnerPeriod(Период);
if(Окно_подсказка) GP.HINT("spn", Подсказка);
148
start
= 1;
bool
spn
;
bool
108.0d
220@150
200@150 corner: 200@150
194.0d@150
214.0d@150
194.0d@140 corner: 214.0d@160
0@110
20@110
200@170
220@170 corner: 316.0d@190
200@170 corner: 336.0d@190
225.0d@184.5d
С°
GP_BLACK
70@210
90@210 corner: 182.0d@230
70@210 corner: 202.0d@230
95.0d@224.5d
200@240
220@240 corner: 299.0d@260
200@240 corner: 319.0d@260
225.0d@254.5d
341.0d
20@30
40@30 corner: 155.0d@50
20@30 corner: 175.0d@50
45.0d@44.5d
GPv3_SPOILER_END
03b539d0-1617-4c12-b2b6-2df58b8ff61b
GPv3_SPOILER_END Завершить спойлер
Завершить спойлер.
GP.SPOILER_END();
115.0d
140@80
160@80 corner: 256.0d@100
140@80 corner: 276.0d@100
165.0d@94.5d
GPv3_LABEL_CL
cf296919-3ebf-40ab-95e0-7c2c3b770b06
GPv3_LABEL_CL Вывод текста (подписи)
Блок позволяет вывести подпись . Можно применить для названия компонента (для кнопок, полей, чекбоксов итд).
Цвет - из списка или цвет в формате PSTR("#rrggbb").
GP_RED "#bf1e1e"
GP_RED_B "#e11414"
GP_PINK "#bb32aa"
GP_PINK_B "#db13c1"
GP_VIOL "#802ecb"
GP_VIOL_B "#a60cf5"
GP_BLUE "#3b3ebd"
GP_BLUE_B "#353aff"
GP_CYAN "#1f8fa9"
GP_CYAN_B "#06b3db"
GP_GREEN "#37a93c"
GP_GREEN_B "#25d52c"
GP_YELLOW_B "#ffff00"
GP_YELLOW "#b4b700"
GP_ORANGE "#b37f0d"
GP_ORANGE_B "#ff4500"
GP_GRAY "#5e5e5e"
GP_GRAY_B "#9c9ea1"
GP_BLACK "#13161a"
GP_WHITE "#fff"
GP_DEFAULT "#fff"
Текст
Название компонента
16973307-ead1-44c8-bd3b-cbb975546e9c
Цикл/сек
3171a449-a5ba-47c5-8509-74e3ee82bd6b
Цвет
GP_GREEN
f5fbafcf-0ba3-4af6-a8c4-86318dc9b911
315f8fdf-3b5d-4f42-8326-1836403d2dd8
Размер
20px
шрифта
e87727cd-c4e2-41f2-b372-bd754ac51e52
94dc1429-e4fd-429b-a506-77bdc3534ecc
Жирный
шрифт
ab2a50d4-e212-409d-ba0e-3344b83835bc
a7b60f7d-3fe6-4bf9-89d6-1c2e152ba69b
Перенос
строки
da44ec1e-6356-4519-bd3b-0f87ac895c8f
9524a584-11ff-4c50-be82-228232ba228e
GP.LABEL(Текст,"val", Цвет, Размер, Жирный, Перенос);
val
;
String
140@30
160@30 corner: 235.0d@70
140@30 corner: 255.0d@70
165.0d@44.5d
20@50
40@50 corner: 92.0d@70
20@50 corner: 112.0d@70
44@63.5d
112.0d@60
90@50
110@50
92.0d@60
112.0d@60 corner: 112.0d@60
en_contr
140@60
160@60
Combine_main
en_comb
6566594d-dc05-4651-bcdf-1716cdbb80c9
d9f863e2-136a-4b29-bdb0-008ce856c229
6030c198-c43c-4cce-999d-6bb0699411ce
Объединить компоненты, главный блок
Блок со входом en_comb (boolean), ставится первым до блоков, которые нужно объединитьвместе и управлять ими со входа en_comb.
127
if(en_comb) {
140@50 corner: 160@70
Control_main
0bfe9b88-4d74-4030-bef5-0c2a6740166d
Управление компонентами, главный блок
Блок со входом en_contr(boolean), ставится первым до блоков, которые нужно объединитьвместе и управлять ими со входа en_contr.
В конце блоков последним обязательно поставить блок Control_end.
193
if(en_contr) {
270@40
270@40 corner: 463.0d@61.0d
Начальный блок управления блоками
187.0d
3@13.0d
10@0
30@0 corner: 156.0d@20
10@0 corner: 176.0d@20
35.0d@14.5d
Настройка параметров pid
140@50
160@50 corner: 256.0d@70
140@50 corner: 276.0d@70
165.0d@64.5d
Настр Kp
GP_ORANGE_B
150@80
170@80 corner: 249.0d@100
150@80 corner: 269.0d@100
175.0d@94.5d
130@120
150@120 corner: 258.0d@160
130@120 corner: 278.0d@160
155.0d@134.5d
60@140
80@140 corner: 100.0d@160
60@140 corner: 120.0d@160
84@154.5d
100.0d@140 corner: 120.0d@160
120.0d@150
100.0d@150
120.0d@150 corner: 120.0d@150
130@150
150@150
130@140 corner: 150@160
280@90
300@90 corner: 380@130
280@90 corner: 400@130
301.0d@104.5d
280@120
420@100
440@100 corner: 500@160
420@100 corner: 520@160
443.5d@113.5d
420@120 corner: 440@140
420@150
440@150
420@140 corner: 440@160
420@130
440@130
400@120 corner: 400@130
380@120
400@120
300@120
278.0d@120 corner: 278.0d@150
258.0d@150
278.0d@150
258.0d@140 corner: 278.0d@160
3200
150@190
170@190 corner: 249.0d@210
150@190 corner: 269.0d@210
175.0d@204.5d
140@220
160@220 corner: 256.0d@240
140@220 corner: 276.0d@240
165.0d@234.5d
Настр Kd
150@330
170@330 corner: 249.0d@350
150@330 corner: 269.0d@350
175.0d@344.5d
130@280
150@280 corner: 258.0d@320
130@280 corner: 278.0d@320
155.0d@294.5d
60@300
80@300 corner: 100.0d@320
60@300 corner: 120.0d@320
84@313.5d
120.0d@310
100.0d@310
120.0d@310 corner: 120.0d@310
130@310
150@310
130@300 corner: 150@320
14
300@280
320@280 corner: 400@320
300@280 corner: 420@320
321.0d@294.5d
300@300 corner: 320@320
420@280
440@280 corner: 500@340
420@280 corner: 520@340
443.5d@293.5d
420@300 corner: 440@320
420@330
440@330
420@320 corner: 440@340
420@310
440@310
420@310 corner: 420@310
400@310
420@310
400@300 corner: 420@320
300@310
320@310
278.0d@310 corner: 278.0d@330
258.0d@310
278.0d@310
258.0d@300 corner: 278.0d@320
150@250
170@250 corner: 249.0d@270
150@250 corner: 269.0d@270
175.0d@264.5d
140@370
160@370 corner: 256.0d@390
140@370 corner: 276.0d@390
165.0d@384.5d
Настр Ki
150@450
170@450 corner: 249.0d@470
150@450 corner: 269.0d@470
175.0d@464.5d
300@400
320@400 corner: 400@440
300@400 corner: 420@440
321.0d@414.5d
120@400
140@400 corner: 266.0d@440
120@400 corner: 286.0d@440
145.0d@414.5d
60@420
80@420 corner: 99.0d@440
60@420 corner: 119.0d@440
84@433.5d
119.0d@430
99.0d@430
119.0d@430 corner: 119.0d@430
StartVal
120@430
140@430
GP_SLIDER_CL
91be7d9f-66f3-42c5-a554-47a50f636f35
a6e26d18-a0b2-40b0-aadf-df30cc2a4dcb
GiverPortal_SLIDER
Slider
43118a1a-623d-4cc8-8c91-24b27921afd5
f659e557-3814-45e3-b898-fbe3fff21764
8fc44cb9-6d15-422b-9a78-7d4cf1030539
GP SLIDER
if (portal.click("sld")) {
valSlider = portal.getInt("sld");
Slider = valSlider;
}
GP.SLIDER("sld", valSlider, 0, 10); GP.BREAK();
valSlider
;
int
8efff754-f057-4c41-b2d9-da5dfc7e4e83
GP SLIDER_CL Ползунок
Ползунок, на выходе числа от Min до Max шагом Step.
Min
00f276cc-c9df-46f1-bd3e-c6064bd31e96
86939ce5-cae6-4788-9ab2-ba6f6a292a4f
Max
9d2e13be-f5e9-4cf4-8666-da606bd5fa73
e5934f7e-b8f6-4e1c-919f-d476b144aab5
Step
Шаг
1bb5be0d-4f51-4d13-89b3-dcf634a83f82
56db92b8-0459-4125-985c-2e95205acf68
ID
sld
Идентификатор блока
c6f7089d-b2da-4139-a9b9-ec0aae5caa68
318f3125-67a7-4993-99c2-9b095ec85b16
Label
Слайдер
Название слайдера
24bd5325-6a00-4ea7-8e60-892a5543cd23
c4a8b9e7-14aa-4d97-9fe8-df1f8ec12a61
if (portal.click(ID)) {
varSlider = StartVal;
valSlider = portal.getInt(ID);
Slider = valSlider;
}
GP.SLIDER(ID,Label, valSlider, Min, Max, Step);
valSlider
;
int
StartVal
;
int
Предустановка значений
120@420 corner: 140@440
266.0d@420 corner: 286.0d@440
286.0d@430
GPv3_SPINNER_FL_CL
GPv3_SLIDER_CL
Spin
59f5bcbf-1e87-4b05-b7f9-6a818094ac98
ab359706-c5cd-4543-ac0d-941494a172b7
a6c80e46-4f0c-43cf-9a56-fca2b2788819
GPv3_SLIDER_CL Ползунок
Ползунок, на выходе числа от Min до Max шагом Step.
Параметры:
Знаков - количество знаков после запятой,
Цвет - цвет слайдера,
Режим_чтения - режим "только чтение" - true, по умолч false.
Вход StartVal -предустановка значений, позволяет стартовать компоненту с установленных значений.
// ============ ЦВЕТА ===========
// цвет с постфиксом _B - яркий
GP_RED
GP_RED_B
GP_PINK
GP_PINK_B
GP_VIOL
GP_VIOL_B
GP_BLUE
GP_BLUE_B
GP_CYAN
GP_CYAN_B
GP_GREEN
GP_GREEN_B
GP_YELLOW
GP_ORANGE
GP_ORANGE_B
GP_GRAY
GP_BLACK
Мин
00f276cc-c9df-46f1-bd3e-c6064bd31e96
Макс
9d2e13be-f5e9-4cf4-8666-da606bd5fa73
Шаг
1bb5be0d-4f51-4d13-89b3-dcf634a83f82
Шаг
Знаков
после запятой
05241ad0-d5d3-4f86-ab27-b8fa8976e967
0259ac6e-7b63-4723-b6ab-0d96a37bad91
Цвет
GP_GREEN
9126a818-7fb6-4221-aea3-2a50d0a39cc8
16342eb1-2b87-4771-b106-948221af9a61
Ширина
350px
32c65f5a-c3fb-4b2b-a4fb-8c659038d7ef
65652419-5487-46f6-9fb4-c5e611d2a7d1
if(start)
{
start = 0;
valSpin = StartVal;
Spin = valSpin ;
}
if (portal.click("cl_spn"))
{
valSpin = portal.getInt("cl_spn");
Spin = valSpin;
}
GP.SPINNER("sld", valSpin, Мин, Макс, Шаг, Знаков, Цвет, Ширина);
start
= 1;
bool
cl_spn
;
bool
valSpin
;
float
8d5027a3-58d8-4964-a7b4-92cfdc666872
GPv3_SPINNER_FL_CL Спиннер
Спиннер float, на выходе числа от Mин до Maкс шагом Шаг.
Параметры:
Окно_подсказка - при выборе параметра , появляется всплывающее окно при подводе курсора на компонент с текстом , указанным в параметре Подсказка.
Знаков - количество знаков после запятой,
Цвет - цвет слайдера,
Режим_чтения - режим "только чтение" - true, по умолч false.
Вход StartVal -предустановка значений, позволяет стартовать компоненту с установленных значений.
Цвет из списка или цвет в формате PSTR("#rrggbb").
GP_RED "#bf1e1e"
GP_RED_B "#e11414"
GP_PINK "#bb32aa"
GP_PINK_B "#db13c1"
GP_VIOL "#802ecb"
GP_VIOL_B "#a60cf5"
GP_BLUE "#3b3ebd"
GP_BLUE_B "#353aff"
GP_CYAN "#1f8fa9"
GP_CYAN_B "#06b3db"
GP_GREEN "#37a93c"
GP_GREEN_B "#25d52c"
GP_YELLOW_B "#ffff00"
GP_YELLOW "#b4b700"
GP_ORANGE "#b37f0d"
GP_ORANGE_B "#ff4500"
GP_GRAY "#5e5e5e"
GP_GRAY_B "#9c9ea1"
GP_BLACK "#13161a"
GP_WHITE "#fff"
GP_DEFAULT "#fff"
931
Мин
00f276cc-c9df-46f1-bd3e-c6064bd31e96
Макс
9d2e13be-f5e9-4cf4-8666-da606bd5fa73
Шаг
0.01
1bb5be0d-4f51-4d13-89b3-dcf634a83f82
0.01
Знаков
после запятой
05241ad0-d5d3-4f86-ab27-b8fa8976e967
Цвет
GP_GREEN
9126a818-7fb6-4221-aea3-2a50d0a39cc8
Ширина
100px
32c65f5a-c3fb-4b2b-a4fb-8c659038d7ef
Режим
66695c23-a9f2-4998-953e-f375d7ce39f9
43bfc525-3ae7-468e-8e3c-4a7f2ec3fc59
Период
период изменения значения при удержании кнопки спиннера, мс [int]
45ec54bb-cbb6-4b6e-b354-523bb747816d
42171561-2d09-441e-94ae-8c899c00967d
Окно_подсказка
b633e034-3414-461d-b774-0a1f1918a1e6
9f5b334b-7108-4d81-8633-48e16262c29b
Подсказка
Ввод числа float
18ca7c12-2269-4046-a5fc-00d30892a52f
467e87e7-7e29-4060-a723-bf2deb5d637e
if(start)
{
start = 0;
Spin = StartVal;
}
portal.clickFloat("spn", Spin);
84
GP.SPINNER("spn", Spin, Мин, Макс, Шаг, Знаков, Цвет, Ширина, Режим);
GP.setSpinnerPeriod(Период);
if(Окно_подсказка) GP.HINT("spn", Подсказка);
149
start
= 1;
bool
spn
;
bool
266.0d@430
420@400
440@400 corner: 500@460
420@400 corner: 520@460
443.5d@413.5d
400@430
420@430
420@430 corner: 420@430
420@430
440@430
420@420 corner: 440@440
420@440 corner: 440@460
420@450
440@450
286.0d@430 corner: 286.0d@450
300@430
320@430
300@420 corner: 320@440
400@420 corner: 420@440
0@490
20@490 corner: 135.0d@510
0@490 corner: 155.0d@510
25.0d@504.5d
591.0d
70@20
90@20 corner: 159.0d@40
70@20 corner: 206.0d@40
95.0d@34.5d
Control_end
da70f82b-5a7d-4888-b2a1-1f664853c5d1
Управление компонентами, последний блок
Ставится последним после блоков , которые нужно объединить.
Используется обязательно совместно главным блоком Control_main.
123
}
69.0d
200@20
200@20 corner: 386.0d@40.0d
Конечный блок объединения блоков
180.0d
3@12.0d
70@30
90@30 corner: 154.0d@50
70@30 corner: 174.0d@50
95.0d@44.5d
GPv3_END
c020bd53-2c51-49e8-a7d3-675b1867a922
GPv3_END Конечный блок
Блок закрывающий открытую фигурную скобку блока GPv3_BEGIN, GPv3_BEGIN_, GPv3_BEGIN_FS . Ставится последним после всех блоков GPv3.
Лучше поставить в отдельной плате.
194
GP.BUILD_END();
64.0d
9600
arduinoIDE
222
4096
56995866
108042284
192
168
4
1
12345678
GP
workStatus
ap
mac
ssid
password
ip
subnet
gateway
192
168
1
200
9870378201
MTS_137
client
dns
isDHCP
connectStatus
ESP8266 NodeMcu v3
109802410
default
Contr'1'
ControllerSetting'1'
ESP8266WifiSettingsRoot'1'
ProjectTreeESP8266WifiInterfaceRoot'1'AP
ProjectTreeESP8266WifiInterfaceRoot'1'Client
0@0
374