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