у меня такая проблема при загрузке скетча выдает такую ошибку text section exceeds available space in boardСкетч использует 37540 байт (116%) памяти устройства. Всего доступно 32256 байт. Глобальные переменные используют 2314 байт (112%) динамической памяти, оставляя -266 байт для локальных переменных. Максимум: 2048 байт.
сам скетч :
#define _LCD_TYPE 1
#include "RT_HW_BASE.h"
#include "flprogUtilites.h"
#include <Wire.h>
#include "flprogEepromMenu.h"
#include "flprogInternalEEPROM.h"
#include "LCD_1602_RUS_ALL.h"
FLProgInternalEEPROM InternalEEPROM_51937444(14, 67);
FLProgEepromIntegerMenuItem menuItem_180834729("Kg", &InternalEEPROM_51937444, 9, false, 0);
FLProgEepromFloatMenuItem menuItem_170397857("Gramm", &InternalEEPROM_51937444, 5, false, 0);
FLProgEepromIntegerMenuItem menuItem_148623915("Sensor", &InternalEEPROM_51937444, 11, false, 0);
FLProgIntegerMenuItem menuItem_248847417("Calib", 0);
FLProgMenu Menu_234695947("Menu ", 4, FLPROG_MENU_SINGLE_IMPULSE_VALUE_CONTROLLER);
uint8_t Ch_Gain_24562827_2;
int32_t Zero_24562827_2;
uint32_t Scale_24562827_2;
bool En_24562827_2;
bool Err_Min_24562827_2;
bool Err_Max_24562827_2;
int32_t HX711_Out_24562827_2;
byte HX711_N_Read_Cnt_24562827_2=0;
long HX711_SumValue_24562827_2=0;
long HX711_Value_24562827_2=0;
int32_t _gtv1;
bool _gtv3;
bool _gtv2;
bool _gtv5;
bool _gtv4;
int16_t _gtv6;
float _gtv7;
String _gtv10 = "";
bool _gtv12;
bool _gtv13;
int16_t _gtv14;
bool _gtv15;
bool _gtv16;
float _gtv8;
FlprogBounceDiscreteInputPin FLProgControllerPin_10(10, FLPROG_PULL_UP_MODE, 0);
FlprogBounceDiscreteInputPin FLProgControllerPin_9(9, FLPROG_PULL_UP_MODE, 0);
FlprogBounceDiscreteInputPin FLProgControllerPin_8(8, FLPROG_PULL_UP_MODE, 0);
FlprogDiscreteOutputPin FLProgControllerPin_13(13, 0, 0);
FlprogDiscreteOutputPin FLProgControllerPin_7(7, 0, 0);
bool _trgrt8 = 0;
bool _trgrt8I = 0;
bool _trgrt2 = 0;
bool _trgrt2I = 0;
bool _trgrt5 = 0;
bool _trgrt5I = 0;
bool _trgrt7 = 0;
bool _trgrt7I = 0;
bool Menu_234695947_EnableInputOldStatus = 0;
bool Menu_234695947_MenuUpOldStatus = 0;
bool Menu_234695947_MenuDownOldStatus = 0;
String _mux1;
bool _tim4I = 0;
bool _tim4O = 0;
uint32_t _tim4P = 0UL;
bool _trgrt3 = 0;
bool _trgrt3I = 0;
String _swi2;
bool _tim3I = 0;
bool _tim3O = 0;
uint32_t _tim3P = 0UL;
bool _trgrt12 = 0;
bool _trgrt12I = 0;
bool _tim1I = 0;
bool _tim1O = 0;
uint32_t _tim1P = 0UL;
bool _tim5I = 0;
bool _tim5O = 0;
uint32_t _tim5P = 0UL;
float _swi1;
bool _trgs2 = 0;
int16_t _mux2;
bool _trgs1 = 0;
bool _trgrt1 = 0;
bool _trgrt1I = 0;
bool _trgs3 = 0;
bool _tim2I = 0;
bool _tim2O = 0;
uint32_t _tim2P = 0UL;
bool _trgrt4 = 0;
bool _trgrt4I = 0;
LCD_1602_RUS _rusLCD1(0x27 , 16, 2);
boolean _ollRestart50300400 = 0;
boolean _flagRestsrt50300400 = 0;
bool _sleep50300400 = 0;
bool restartSlep50300400 = 0;
unsigned long int _oldTimeFlashingSymbol;
boolean _FlashingSymbol;
String dispVoidStr50300400 = "";
int startByteScroll;
int endBytelScroll;
int _dispoldLength231324505 = 0;
boolean _flagStop231324505 = 0;
String _eraseSymbol231324505;
String _dispoldString231324505;
byte _column231324505;
boolean _key231324505 = 0;
byte _tempColumn231324505;
byte _oldTempColumn231324505;
int _dispoldLength117410779 = 0;
boolean _flagStop117410779 = 0;
String _eraseSymbol117410779;
String _dispoldString117410779;
byte _column117410779;
boolean _key117410779 = 0;
byte _tempColumn117410779;
byte _oldTempColumn117410779;
int _dispoldLength125276604 = 0;
boolean _flagStop125276604 = 0;
String _eraseSymbol125276604;
String _dispoldString125276604;
byte _column125276604;
boolean _key125276604 = 0;
byte _tempColumn125276604;
byte _oldTempColumn125276604;
int _dispoldLength83920953 = 0;
boolean _flagStop83920953 = 0;
String _eraseSymbol83920953;
String _dispoldString83920953;
byte _column83920953;
boolean _key83920953 = 0;
byte _tempColumn83920953;
byte _oldTempColumn83920953;
int _dispoldLength76051775 = 0;
boolean _flagStop76051775 = 0;
String _eraseSymbol76051775;
String _dispoldString76051775;
byte _column76051775;
boolean _key76051775 = 0;
byte _tempColumn76051775;
byte _oldTempColumn76051775;
int _dispoldLength179181373 = 0;
boolean _flagStop179181373 = 0;
String _eraseSymbol179181373;
String _dispoldString179181373;
byte _column179181373;
boolean _key179181373 = 0;
byte _tempColumn179181373;
byte _oldTempColumn179181373;
unsigned long timerScroll338331;
int strLenScroll338331;
int startSimbolScroll338331;
String fullStrScroll338331 = "";
bool flagStartScroll338331;
bool flagStopScroll338331;
int _dispoldLength109687503 = 0;
boolean _flagStop109687503 = 0;
String _eraseSymbol109687503;
String _dispoldString109687503;
byte _column109687503;
boolean _key109687503 = 0;
byte _tempColumn109687503;
byte _oldTempColumn109687503;
int _dispoldLength106981766 = 0;
boolean _flagStop106981766 = 0;
String _eraseSymbol106981766;
String _dispoldString106981766;
byte _column106981766;
boolean _key106981766 = 0;
byte _tempColumn106981766;
byte _oldTempColumn106981766;
int _dispoldLength88819196 = 0;
boolean _flagStop88819196 = 0;
String _eraseSymbol88819196;
String _dispoldString88819196;
byte _column88819196;
boolean _key88819196 = 0;
byte _tempColumn88819196;
byte _oldTempColumn88819196;
int _dispoldLength214445864 = 0;
boolean _flagStop214445864 = 0;
String _eraseSymbol214445864;
String _dispoldString214445864;
byte _column214445864;
boolean _key214445864 = 0;
byte _tempColumn214445864;
byte _oldTempColumn214445864;
int _dispoldLength130781457 = 0;
boolean _flagStop130781457 = 0;
String _eraseSymbol130781457;
String _dispoldString130781457;
byte _column130781457;
boolean _key130781457 = 0;
byte _tempColumn130781457;
byte _oldTempColumn130781457;
void setup()
{
Wire.begin();
delay(10);
_rusLCD1.init();
_rusLCD1.backlight();
FLProgControllerPin_13.digitalWrite(false);
FLProgControllerPin_7.digitalWrite(true);
RT_HW_Base.shed.quick.qnt = 5;
RT_HW_Base.shed.fast.qnt = 4;
RT_HW_Base.shed.slow.qnt = 4;
RT_HW_Base.shed.back.qnt = 5;
RT_HW_Base.shed.frdm.qnt = 5;
InternalEEPROM_51937444.setLongStartValue(1, 0);
InternalEEPROM_51937444.setIntegerStartValue(9, 0);
InternalEEPROM_51937444.setIntegerStartValue(11, 1);
InternalEEPROM_51937444.setSkippingEvents(0);
InternalEEPROM_51937444.begin();
menuItem_170397857.initValue();
menuItem_180834729.initValue();
menuItem_148623915.initValue();
pinMode(11, OUTPUT);
pinMode(12, INPUT_PULLUP);
Menu_234695947.isRingControl(1);
menuItem_180834729.setStep(1);
menuItem_180834729.setIntegeMaxValue(200);
menuItem_180834729.setIntegeMinValue(0);
menuItem_180834729.setConverType(FLPROG_MENU_DEC_CONVERT_TYPE);
Menu_234695947.setItem(0, &menuItem_180834729);
menuItem_170397857.setStep(0.01);
menuItem_170397857.setFloatMaxValue(0.9);
menuItem_170397857.setFloatMinValue(0);
menuItem_170397857.setConverType(2);
Menu_234695947.setItem(1, &menuItem_170397857);
menuItem_148623915.setStep(1);
menuItem_148623915.setIntegeMaxValue(5);
menuItem_148623915.setIntegeMinValue(1);
menuItem_148623915.setConverType(FLPROG_MENU_DEC_CONVERT_TYPE);
Menu_234695947.setItem(2, &menuItem_148623915);
menuItem_248847417.setStep(1);
menuItem_248847417.setConverType(FLPROG_MENU_DEC_CONVERT_TYPE);
Menu_234695947.setItem(3, &menuItem_248847417);
for (byte i = 0; i < 16; i++) dispVoidStr50300400 = dispVoidStr50300400 + " ";
}
void loop()
{
RT_HW_Base.sheduler();
RT_HW_Base.unixUpdateTime();
if(RT_HW_Base.shed.eventSec)
{
}
if (millis() - _oldTimeFlashingSymbol > 500)
{
_FlashingSymbol = !_FlashingSymbol;
_oldTimeFlashingSymbol = millis();
}
if (_ollRestart50300400)
_ollRestart50300400 = 0;
if (_flagRestsrt50300400)
{
_flagRestsrt50300400 = 0;
_ollRestart50300400 = 1;
_rusLCD1.ResetAllIndex();
}
if(RT_HW_Base.shed.frdm.num == 5)
{
InternalEEPROM_51937444.pool();
}
//Плата:1
//Наименование:Весы
if (RT_HW_Base.shed.frdm.num == 1)
{
Ch_Gain_24562827_2 = 1;
Zero_24562827_2 = 0;
Scale_24562827_2 = 100UL;
En_24562827_2 = !(0);
if (En_24562827_2==1) // Проверить вход "Вкл. АЦП" (0=Off, 1=On)
{
HX711_GetValue_24562827_2();
// если "En_24562827_2" равен 1, то считать данные с НХ711
}
if (((_gtv4) && ((!((FLProgControllerPin_9.digitalRead()))))))
{
if (_trgrt7I)
{
_trgrt7 = 0;
}
else
{
_trgrt7 = 1;
_trgrt7I = 1;
}
}
else
{
_trgrt7 = 0;
_trgrt7I = 0;
}
;
_gtv13 = _trgrt7;
if (_trgrt7)
{
InternalEEPROM_51937444.saveLong(1, (((HX711_Out_24562827_2)-(_gtv1))));
}
_gtv14 = (map(((HX711_Out_24562827_2)-(_gtv1)), (0), (((((InternalEEPROM_51937444.readLong(1))))*((menuItem_148623915.integerValue())))), (0), ((((menuItem_148623915.integerValue()))*(1000L)))));
if ((!((FLProgControllerPin_10.digitalRead()))))
{
if (_trgrt3I)
{
_trgrt3 = 0;
}
else
{
_trgrt3 = 1;
_trgrt3I = 1;
}
}
else
{
_trgrt3 = 0;
_trgrt3I = 0;
}
;
if (_trgrt3)
{
_gtv1 = HX711_Out_24562827_2;
}
}
//Плата:2
//Наименование:Меню
if (RT_HW_Base.shed.frdm.num == 2)
{
if ((!((FLProgControllerPin_10.digitalRead()))))
{
if (_tim1I)
{
if (flprog::isTimer(_tim1P, 3000))
{
_tim1O = 1;
}
}
else
{
_tim1I =1;
_tim1P = millis();
}
}
else
{
_tim1O = 0;
_tim1I = 0;
}
if (_tim1O)
{
if (_trgrt1I)
{
_trgrt1 = 0;
}
else
{
_trgrt1 = 1;
_trgrt1I = 1;
}
}
else
{
_trgrt1 = 0;
_trgrt1I = 0;
}
;
if ((((!((FLProgControllerPin_10.digitalRead())))) || ((!((FLProgControllerPin_9.digitalRead())))) || ((!((FLProgControllerPin_8.digitalRead()))))))
{
if (_trgrt12I)
{
_trgrt12 = 0;
}
else
{
_trgrt12 = 1;
_trgrt12I = 1;
}
}
else
{
_trgrt12 = 0;
_trgrt12I = 0;
}
;
if(_trgrt12)
{
_tim4O = 1;
_tim4I = 1;
}
else
{
if(_tim4I)
{
_tim4I = 0;
_tim4P = millis();
}
else
{
if (_tim4O)
{
if (flprog::isTimer(_tim4P, 10000)) _tim4O = 0;
}
}
}
if(_trgrt1) _trgs2 = 1;
if(((((((_trgrt1) && (_gtv2))) || (!(_tim4O)))) && (!(_gtv4)))) _trgs2 = 0;
_gtv2 = _trgs2;
if ((!((FLProgControllerPin_10.digitalRead()))))
{
if (_trgrt2I)
{
_trgrt2 = 0;
}
else
{
_trgrt2 = 1;
_trgrt2I = 1;
}
}
else
{
_trgrt2 = 0;
_trgrt2I = 0;
}
;
if (_gtv2)
{
if (! Menu_234695947_EnableInputOldStatus)
{
Menu_234695947_EnableInputOldStatus = 1;
}
if(0)
{
if(! Menu_234695947_MenuUpOldStatus)
{
Menu_234695947_MenuUpOldStatus = 1;
Menu_234695947.menuItemUp();
}
}
else
{
Menu_234695947_MenuUpOldStatus = 0;
}
if(_trgrt2)
{
if(! Menu_234695947_MenuDownOldStatus)
{
Menu_234695947_MenuDownOldStatus = 1;
Menu_234695947.menuItemDown();
}
}
else
{
Menu_234695947_MenuDownOldStatus = 0;
}
Menu_234695947.valueUpButtonStatus((!((FLProgControllerPin_9.digitalRead()))));
Menu_234695947.valueDownButtonStatus((!((FLProgControllerPin_8.digitalRead()))));
}
else
{
if(Menu_234695947_EnableInputOldStatus)
{
Menu_234695947_EnableInputOldStatus = 0;
Menu_234695947.resetController();
Menu_234695947.saveBuffer();
}
}
if (!_sleep50300400)
{
if (((Menu_234695947.getCurrentMenuIntem() == (&menuItem_248847417))))
{
_flagStop130781457 = 1;
if (_key130781457)
{
String _tempPostfix = (0 ? : "");
if(_dispoldString130781457 != (String("Вс 1kg наж кн +")) + _tempPostfix || restartSlep50300400)
{
int _dispTempLength = rusStrlen(((String("Вс 1kg наж кн +")) + _tempPostfix).c_str());
_column130781457 =(16 - _dispTempLength)/ 2;
_tempColumn130781457 = _column130781457;
_rusLCD1.setCursor (_oldTempColumn130781457, (2 - 1));
_oldTempColumn130781457 = _tempColumn130781457;
if (_dispoldLength130781457 > _dispTempLength)
{
_rusLCD1.print(_eraseSymbol130781457);
}
_eraseSymbol130781457 = "";
for (byte i = 0; i < _dispTempLength; i ++)
{
_eraseSymbol130781457 = _eraseSymbol130781457 + " ";
}
_eraseSymbol130781457 = _eraseSymbol130781457 + (0 == 1 ? " " : "");
_dispoldLength130781457 = _dispTempLength;
_flagRestsrt50300400 = 1;
}
if (_ollRestart50300400)
{
_dispoldString130781457 = (String("Вс 1kg наж кн +")) + _tempPostfix;
_rusLCD1.setCursor (_tempColumn130781457, (2 - 1));
_rusLCD1.print(_dispoldString130781457);
}
}
_key130781457 = 1;
}
else if (_flagStop130781457)
{
_flagStop130781457 = 0;
_rusLCD1.setCursor ((_column130781457), (2 - 1));
_rusLCD1.print(_eraseSymbol130781457);
_dispoldLength130781457 = 0;
_dispoldString130781457 = "";
_eraseSymbol130781457 = "";
_key130781457 = 0;
}
}
_gtv4 = (Menu_234695947.getCurrentMenuIntem() == (&menuItem_248847417));
if (!_sleep50300400)
{
if (((Menu_234695947.getCurrentMenuIntem() == (&menuItem_248847417))))
{
_flagStop214445864 = 1;
if (_key214445864)
{
String _tempPostfix = (0 ? : "");
if(_dispoldString214445864 != (String("Калибровка")) + _tempPostfix || restartSlep50300400)
{
int _dispTempLength = rusStrlen(((String("Калибровка")) + _tempPostfix).c_str());
_column214445864 =(16 - _dispTempLength)/ 2;
_tempColumn214445864 = _column214445864;
_rusLCD1.setCursor (_oldTempColumn214445864, (1 - 1));
_oldTempColumn214445864 = _tempColumn214445864;
if (_dispoldLength214445864 > _dispTempLength)
{
_rusLCD1.print(_eraseSymbol214445864);
}
_eraseSymbol214445864 = "";
for (byte i = 0; i < _dispTempLength; i ++)
{
_eraseSymbol214445864 = _eraseSymbol214445864 + " ";
}
_eraseSymbol214445864 = _eraseSymbol214445864 + (0 == 1 ? " " : "");
_dispoldLength214445864 = _dispTempLength;
_flagRestsrt50300400 = 1;
}
if (_ollRestart50300400)
{
_dispoldString214445864 = (String("Калибровка")) + _tempPostfix;
_rusLCD1.setCursor (_tempColumn214445864, (1 - 1));
_rusLCD1.print(_dispoldString214445864);
}
}
_key214445864 = 1;
}
else if (_flagStop214445864)
{
_flagStop214445864 = 0;
_rusLCD1.setCursor ((_column214445864), (1 - 1));
_rusLCD1.print(_eraseSymbol214445864);
_dispoldLength214445864 = 0;
_dispoldString214445864 = "";
_eraseSymbol214445864 = "";
_key214445864 = 0;
}
}
if(((menuItem_148623915.integerValue())) == 0)
{
_mux2 = 0;
}
if(((menuItem_148623915.integerValue())) == 1)
{
_mux2 = 10;
}
if(((menuItem_148623915.integerValue())) == 2)
{
_mux2 = 50;
}
if(((menuItem_148623915.integerValue())) == 3)
{
_mux2 = 100;
}
if(((menuItem_148623915.integerValue())) == 4)
{
_mux2 = 200;
}
_gtv6 = _mux2;
if(((menuItem_148623915.integerValue())) == 0)
{
_mux1 = String("Нет");
}
if(((menuItem_148623915.integerValue())) == 1)
{
_mux1 = String("10 кг");
}
if(((menuItem_148623915.integerValue())) == 2)
{
_mux1 = String("50 кг");
}
if(((menuItem_148623915.integerValue())) == 3)
{
_mux1 = String("100 кг");
}
if(((menuItem_148623915.integerValue())) == 4)
{
_mux1 = String("200 кг");
}
if (!_sleep50300400)
{
if (((Menu_234695947.getCurrentMenuIntem() == (&menuItem_148623915))))
{
_flagStop117410779 = 1;
if (_key117410779)
{
String _tempPostfix = (0 ? : "");
if(_dispoldString117410779 != (_mux1) + _tempPostfix || restartSlep50300400)
{
int _dispTempLength = rusStrlen(((_mux1) + _tempPostfix).c_str());
_column117410779 =(16 - _dispTempLength)/ 2;
_tempColumn117410779 = _column117410779;
_rusLCD1.setCursor (_oldTempColumn117410779, (2 - 1));
_oldTempColumn117410779 = _tempColumn117410779;
if (_dispoldLength117410779 > _dispTempLength)
{
_rusLCD1.print(_eraseSymbol117410779);
}
_eraseSymbol117410779 = "";
for (byte i = 0; i < _dispTempLength; i ++)
{
_eraseSymbol117410779 = _eraseSymbol117410779 + " ";
}
_eraseSymbol117410779 = _eraseSymbol117410779 + (0 == 1 ? " " : "");
_dispoldLength117410779 = _dispTempLength;
_flagRestsrt50300400 = 1;
}
if (_ollRestart50300400)
{
_dispoldString117410779 = (_mux1) + _tempPostfix;
_rusLCD1.setCursor (_tempColumn117410779, (2 - 1));
_rusLCD1.print(_dispoldString117410779);
}
}
_key117410779 = 1;
}
else if (_flagStop117410779)
{
_flagStop117410779 = 0;
_rusLCD1.setCursor ((_column117410779), (2 - 1));
_rusLCD1.print(_eraseSymbol117410779);
_dispoldLength117410779 = 0;
_dispoldString117410779 = "";
_eraseSymbol117410779 = "";
_key117410779 = 0;
}
}
if (!_sleep50300400)
{
if (((Menu_234695947.getCurrentMenuIntem() == (&menuItem_148623915))))
{
_flagStop231324505 = 1;
if (_key231324505)
{
String _tempPostfix = (0 ? : "");
if(_dispoldString231324505 != (String("Тип датчика")) + _tempPostfix || restartSlep50300400)
{
int _dispTempLength = rusStrlen(((String("Тип датчика")) + _tempPostfix).c_str());
_column231324505 =(16 - _dispTempLength)/ 2;
_tempColumn231324505 = _column231324505;
_rusLCD1.setCursor (_oldTempColumn231324505, (1 - 1));
_oldTempColumn231324505 = _tempColumn231324505;
if (_dispoldLength231324505 > _dispTempLength)
{
_rusLCD1.print(_eraseSymbol231324505);
}
_eraseSymbol231324505 = "";
for (byte i = 0; i < _dispTempLength; i ++)
{
_eraseSymbol231324505 = _eraseSymbol231324505 + " ";
}
_eraseSymbol231324505 = _eraseSymbol231324505 + (0 == 1 ? " " : "");
_dispoldLength231324505 = _dispTempLength;
_flagRestsrt50300400 = 1;
}
if (_ollRestart50300400)
{
_dispoldString231324505 = (String("Тип датчика")) + _tempPostfix;
_rusLCD1.setCursor (_tempColumn231324505, (1 - 1));
_rusLCD1.print(_dispoldString231324505);
}
}
_key231324505 = 1;
}
else if (_flagStop231324505)
{
_flagStop231324505 = 0;
_rusLCD1.setCursor ((_column231324505), (1 - 1));
_rusLCD1.print(_eraseSymbol231324505);
_dispoldLength231324505 = 0;
_dispoldString231324505 = "";
_eraseSymbol231324505 = "";
_key231324505 = 0;
}
}
if (!_sleep50300400)
{
if (((Menu_234695947.getCurrentMenuIntem() == (&menuItem_170397857))))
{
_flagStop76051775 = 1;
if (_key76051775)
{
String _tempPostfix = (0 ? : "");
if(_dispoldString76051775 != (String("Грамм")) + _tempPostfix || restartSlep50300400)
{
int _dispTempLength = rusStrlen(((String("Грамм")) + _tempPostfix).c_str());
_column76051775 =(16 - _dispTempLength)/ 2;
_tempColumn76051775 = _column76051775;
_rusLCD1.setCursor (_oldTempColumn76051775, (1 - 1));
_oldTempColumn76051775 = _tempColumn76051775;
if (_dispoldLength76051775 > _dispTempLength)
{
_rusLCD1.print(_eraseSymbol76051775);
}
_eraseSymbol76051775 = "";
for (byte i = 0; i < _dispTempLength; i ++)
{
_eraseSymbol76051775 = _eraseSymbol76051775 + " ";
}
_eraseSymbol76051775 = _eraseSymbol76051775 + (0 == 1 ? " " : "");
_dispoldLength76051775 = _dispTempLength;
_flagRestsrt50300400 = 1;
}
if (_ollRestart50300400)
{
_dispoldString76051775 = (String("Грамм")) + _tempPostfix;
_rusLCD1.setCursor (_tempColumn76051775, (1 - 1));
_rusLCD1.print(_dispoldString76051775);
}
}
_key76051775 = 1;
}
else if (_flagStop76051775)
{
_flagStop76051775 = 0;
_rusLCD1.setCursor ((_column76051775), (1 - 1));
_rusLCD1.print(_eraseSymbol76051775);
_dispoldLength76051775 = 0;
_dispoldString76051775 = "";
_eraseSymbol76051775 = "";
_key76051775 = 0;
}
}
if (!_sleep50300400)
{
if (((Menu_234695947.getCurrentMenuIntem() == (&menuItem_180834729))))
{
_flagStop125276604 = 1;
if (_key125276604)
{
String _tempPostfix = (0 ? : "");
if(_dispoldString125276604 != (String("Килограмм")) + _tempPostfix || restartSlep50300400)
{
int _dispTempLength = rusStrlen(((String("Килограмм")) + _tempPostfix).c_str());
_column125276604 =(16 - _dispTempLength)/ 2;
_tempColumn125276604 = _column125276604;
_rusLCD1.setCursor (_oldTempColumn125276604, (1 - 1));
_oldTempColumn125276604 = _tempColumn125276604;
if (_dispoldLength125276604 > _dispTempLength)
{
_rusLCD1.print(_eraseSymbol125276604);
}
_eraseSymbol125276604 = "";
for (byte i = 0; i < _dispTempLength; i ++)
{
_eraseSymbol125276604 = _eraseSymbol125276604 + " ";
}
_eraseSymbol125276604 = _eraseSymbol125276604 + (0 == 1 ? " " : "");
_dispoldLength125276604 = _dispTempLength;
_flagRestsrt50300400 = 1;
}
if (_ollRestart50300400)
{
_dispoldString125276604 = (String("Килограмм")) + _tempPostfix;
_rusLCD1.setCursor (_tempColumn125276604, (1 - 1));
_rusLCD1.print(_dispoldString125276604);
}
}
_key125276604 = 1;
}
else if (_flagStop125276604)
{
_flagStop125276604 = 0;
_rusLCD1.setCursor ((_column125276604), (1 - 1));
_rusLCD1.print(_eraseSymbol125276604);
_dispoldLength125276604 = 0;
_dispoldString125276604 = "";
_eraseSymbol125276604 = "";
_key125276604 = 0;
}
}
if (!_sleep50300400)
{
if (((Menu_234695947.getCurrentMenuIntem() == (&menuItem_170397857))))
{
_flagStop179181373 = 1;
if (_key179181373)
{
String _tempPostfix = (0 ? : "");
if(_dispoldString179181373 != ((Menu_234695947.valueString())) + _tempPostfix || restartSlep50300400)
{
int _dispTempLength = rusStrlen((((Menu_234695947.valueString())) + _tempPostfix).c_str());
_column179181373 =(16 - _dispTempLength)/ 2;
_tempColumn179181373 = _column179181373;
_rusLCD1.setCursor (_oldTempColumn179181373, (2 - 1));
_oldTempColumn179181373 = _tempColumn179181373;
if (_dispoldLength179181373 > _dispTempLength)
{
_rusLCD1.print(_eraseSymbol179181373);
}
_eraseSymbol179181373 = "";
for (byte i = 0; i < _dispTempLength; i ++)
{
_eraseSymbol179181373 = _eraseSymbol179181373 + " ";
}
_eraseSymbol179181373 = _eraseSymbol179181373 + (0 == 1 ? " " : "");
_dispoldLength179181373 = _dispTempLength;
_flagRestsrt50300400 = 1;
}
if (_ollRestart50300400)
{
_dispoldString179181373 = ((Menu_234695947.valueString())) + _tempPostfix;
_rusLCD1.setCursor (_tempColumn179181373, (2 - 1));
_rusLCD1.print(_dispoldString179181373);
}
}
_key179181373 = 1;
}
else if (_flagStop179181373)
{
_flagStop179181373 = 0;
_rusLCD1.setCursor ((_column179181373), (2 - 1));
_rusLCD1.print(_eraseSymbol179181373);
_dispoldLength179181373 = 0;
_dispoldString179181373 = "";
_eraseSymbol179181373 = "";
_key179181373 = 0;
}
}
if (!_sleep50300400)
{
if (((Menu_234695947.getCurrentMenuIntem() == (&menuItem_180834729))))
{
_flagStop83920953 = 1;
if (_key83920953)
{
String _tempPostfix = (0 ? : "");
if(_dispoldString83920953 != ((Menu_234695947.valueString())) + _tempPostfix || restartSlep50300400)
{
int _dispTempLength = rusStrlen((((Menu_234695947.valueString())) + _tempPostfix).c_str());
_column83920953 =(16 - _dispTempLength)/ 2;
_tempColumn83920953 = _column83920953;
_rusLCD1.setCursor (_oldTempColumn83920953, (2 - 1));
_oldTempColumn83920953 = _tempColumn83920953;
if (_dispoldLength83920953 > _dispTempLength)
{
_rusLCD1.print(_eraseSymbol83920953);
}
_eraseSymbol83920953 = "";
for (byte i = 0; i < _dispTempLength; i ++)
{
_eraseSymbol83920953 = _eraseSymbol83920953 + " ";
}
_eraseSymbol83920953 = _eraseSymbol83920953 + (0 == 1 ? " " : "");
_dispoldLength83920953 = _dispTempLength;
_flagRestsrt50300400 = 1;
}
if (_ollRestart50300400)
{
_dispoldString83920953 = ((Menu_234695947.valueString())) + _tempPostfix;
_rusLCD1.setCursor (_tempColumn83920953, (2 - 1));
_rusLCD1.print(_dispoldString83920953);
}
}
_key83920953 = 1;
}
else if (_flagStop83920953)
{
_flagStop83920953 = 0;
_rusLCD1.setCursor ((_column83920953), (2 - 1));
_rusLCD1.print(_eraseSymbol83920953);
_dispoldLength83920953 = 0;
_dispoldString83920953 = "";
_eraseSymbol83920953 = "";
_key83920953 = 0;
}
}
_gtv8 = (_gtv14)/(1000.00);
if (!_sleep50300400)
{
if ((_gtv5))
{
_flagStop88819196 = 1;
if (_key88819196)
{
String _tempPostfix = (0 ? : "");
if(_dispoldString88819196 != (String("Наполнение")) + _tempPostfix || restartSlep50300400)
{
int _dispTempLength = rusStrlen(((String("Наполнение")) + _tempPostfix).c_str());
_column88819196 =(16 - _dispTempLength)/ 2;
_tempColumn88819196 = _column88819196;
_rusLCD1.setCursor (_oldTempColumn88819196, (1 - 1));
_oldTempColumn88819196 = _tempColumn88819196;
if (_dispoldLength88819196 > _dispTempLength)
{
_rusLCD1.print(_eraseSymbol88819196);
}
_eraseSymbol88819196 = "";
for (byte i = 0; i < _dispTempLength; i ++)
{
_eraseSymbol88819196 = _eraseSymbol88819196 + " ";
}
_eraseSymbol88819196 = _eraseSymbol88819196 + (0 == 1 ? " " : "");
_dispoldLength88819196 = _dispTempLength;
_flagRestsrt50300400 = 1;
}
if (_ollRestart50300400)
{
_dispoldString88819196 = (String("Наполнение")) + _tempPostfix;
_rusLCD1.setCursor (_tempColumn88819196, (1 - 1));
_rusLCD1.print(_dispoldString88819196);
}
}
_key88819196 = 1;
}
else if (_flagStop88819196)
{
_flagStop88819196 = 0;
_rusLCD1.setCursor ((_column88819196), (1 - 1));
_rusLCD1.print(_eraseSymbol88819196);
_dispoldLength88819196 = 0;
_dispoldString88819196 = "";
_eraseSymbol88819196 = "";
_key88819196 = 0;
}
}
if(_gtv5)
{
_swi2=_gtv10;
}
else
{
_swi2=(((String(_gtv6, DEC))) + (String("kg")));
}
if (!_sleep50300400)
{
if ((!(_gtv2)))
{
_flagStop106981766 = 1;
if (_key106981766)
{
String _tempPostfix = (0 ? : "");
if(_dispoldString106981766 != (_swi2) + _tempPostfix || restartSlep50300400)
{
int _dispTempLength = rusStrlen(((_swi2) + _tempPostfix).c_str());
_column106981766 = 16 - _dispTempLength;
_tempColumn106981766 = _column106981766;
_rusLCD1.setCursor (_oldTempColumn106981766, (2 - 1));
_oldTempColumn106981766 = _tempColumn106981766;
if (_dispoldLength106981766 > _dispTempLength)
{
_rusLCD1.print(_eraseSymbol106981766);
}
_eraseSymbol106981766 = "";
for (byte i = 0; i < _dispTempLength; i ++)
{
_eraseSymbol106981766 = _eraseSymbol106981766 + " ";
}
_eraseSymbol106981766 = _eraseSymbol106981766 + (0 == 1 ? " " : "");
_dispoldLength106981766 = _dispTempLength;
_flagRestsrt50300400 = 1;
}
if (_ollRestart50300400)
{
_dispoldString106981766 = (_swi2) + _tempPostfix;
_rusLCD1.setCursor (_tempColumn106981766, (2 - 1));
_rusLCD1.print(_dispoldString106981766);
}
}
_key106981766 = 1;
}
else if (_flagStop106981766)
{
_flagStop106981766 = 0;
_rusLCD1.setCursor ((_column106981766), (2 - 1));
_rusLCD1.print(_eraseSymbol106981766);
_dispoldLength106981766 = 0;
_dispoldString106981766 = "";
_eraseSymbol106981766 = "";
_key106981766 = 0;
}
}
if(_gtv5)
{
_swi1=(_gtv14)/(1000.00);
}
else
{
_swi1=((menuItem_180834729.integerValue()))+((menuItem_170397857.floatValue()));
}
if (!_sleep50300400)
{
if ((!(_gtv2)))
{
_flagStop109687503 = 1;
if (_key109687503)
{
String _tempPostfix = (0 ? : "");
if(_dispoldString109687503 != ((((_floatToStringWitRaz(_swi1,2))) + (String("kg")))) + _tempPostfix || restartSlep50300400)
{
int _dispTempLength = rusStrlen((((((_floatToStringWitRaz(_swi1,2))) + (String("kg")))) + _tempPostfix).c_str());
_column109687503 = + 1 - 1;
_tempColumn109687503 = _column109687503;
_rusLCD1.setCursor (_oldTempColumn109687503, (2 - 1));
_oldTempColumn109687503 = _tempColumn109687503;
if (_dispoldLength109687503 > _dispTempLength)
{
_rusLCD1.print(_eraseSymbol109687503);
}
_eraseSymbol109687503 = "";
for (byte i = 0; i < _dispTempLength; i ++)
{
_eraseSymbol109687503 = _eraseSymbol109687503 + " ";
}
_eraseSymbol109687503 = _eraseSymbol109687503 + (0 == 1 ? " " : "");
_dispoldLength109687503 = _dispTempLength;
_flagRestsrt50300400 = 1;
}
if (_ollRestart50300400)
{
_dispoldString109687503 = ((((_floatToStringWitRaz(_swi1,2))) + (String("kg")))) + _tempPostfix;
_rusLCD1.setCursor (_tempColumn109687503, (2 - 1));
_rusLCD1.print(_dispoldString109687503);
}
}
_key109687503 = 1;
}
else if (_flagStop109687503)
{
_flagStop109687503 = 0;
_rusLCD1.setCursor ((_column109687503), (2 - 1));
_rusLCD1.print(_eraseSymbol109687503);
_dispoldLength109687503 = 0;
_dispoldString109687503 = "";
_eraseSymbol109687503 = "";
_key109687503 = 0;
}
}
if (!_sleep50300400)
{
if ((!(((_gtv2) || (_gtv5)))))
{
flagStopScroll338331 = 1;
fullStrScroll338331 = dispVoidStr50300400 + (String("Вставте тару и нажмите на старт")) + " ";
if (millis() - timerScroll338331>300)
{
timerScroll338331 = millis();
if (startSimbolScroll338331 <= strLenScroll338331)
{
strLenScroll338331 = rusStrlenScroll(fullStrScroll338331.c_str(), startSimbolScroll338331, startSimbolScroll338331 + 16);
startSimbolScroll338331++;
_rusLCD1.setCursor(0, 0);
_rusLCD1.print(fullStrScroll338331.substring(startByteScroll, endBytelScroll));
}
else
{
startSimbolScroll338331 = 0;
}
}
}
else if (flagStopScroll338331)
{
flagStopScroll338331 = 0;
_rusLCD1.setCursor(0, 0);
_rusLCD1.print(dispVoidStr50300400);
startSimbolScroll338331 = 0;
fullStrScroll338331 = "";
}
}
_gtv7 = ((menuItem_180834729.integerValue()))+((menuItem_170397857.floatValue()));
}
//Плата:3
//Наименование:Режим работы
if (RT_HW_Base.shed.frdm.num == 3)
{
_gtv12 = (_gtv8) >= (_gtv7);
if ((!((FLProgControllerPin_10.digitalRead()))))
{
if (_trgrt4I)
{
_trgrt4 = 0;
}
else
{
_trgrt4 = 1;
_trgrt4I = 1;
}
}
else
{
_trgrt4 = 0;
_trgrt4I = 0;
}
;
if(_trgrt4) _trgs1 = 1;
if((((((!((FLProgControllerPin_10.digitalRead())))) && (_gtv5))) || (_gtv2) || ((_gtv8) >= (_gtv7)))) _trgs1 = 0;
if(_trgs1) _trgs3 = 1;
if((((!((FLProgControllerPin_10.digitalRead())))) || (_gtv2) || (!(_trgs1)))) _trgs3 = 0;
FLProgControllerPin_7.digitalWrite(!(_trgs3));
_gtv5 = _trgs3;
}
//Плата:4
//Наименование:Автоматика
if (RT_HW_Base.shed.frdm.num == 4)
{
if ((((!((FLProgControllerPin_10.digitalRead())))) || ((!((FLProgControllerPin_9.digitalRead())))) || ((!((FLProgControllerPin_8.digitalRead()))))))
{
if (_trgrt8I)
{
_trgrt8 = 0;
}
else
{
_trgrt8 = 1;
_trgrt8I = 1;
}
}
else
{
_trgrt8 = 0;
_trgrt8I = 0;
}
;
if(_trgrt8)
{
_tim3O = 1;
_tim3I = 1;
}
else
{
if(_tim3I)
{
_tim3I = 0;
_tim3P = millis();
}
else
{
if (_tim3O)
{
if (flprog::isTimer(_tim3P, 25)) _tim3O = 0;
}
}
}
if (_gtv12)
{
if (_trgrt5I)
{
_trgrt5 = 0;
}
else
{
_trgrt5 = 1;
_trgrt5I = 1;
}
}
else
{
_trgrt5 = 0;
_trgrt5I = 0;
}
;
if(_trgrt5)
{
_tim2O = 1;
_tim2I = 1;
}
else
{
if(_tim2I)
{
_tim2I = 0;
_tim2P = millis();
}
else
{
if (_tim2O)
{
if (flprog::isTimer(_tim2P, 2000)) _tim2O = 0;
}
}
}
if(_gtv13)
{
_tim5O = 1;
_tim5I = 1;
}
else
{
if(_tim5I)
{
_tim5I = 0;
_tim5P = millis();
}
else
{
if (_tim5O)
{
if (flprog::isTimer(_tim5P, 2000)) _tim5O = 0;
}
}
}
FLProgControllerPin_13.digitalWrite(((_tim2O) || (_tim3O) || (_tim5O)));
}
}
String _floatToStringWitRaz(float value, int raz)
{
return String(value,raz);
}
long HX711_GetValue_24562827_2()
{
digitalWrite(11,LOW);
// установить 0 на pin_SCK
if (digitalRead(12) == 0) // подождать окончания преобразования (pin_DOUT=0)
{
byte HX711_data[3] = {0 };
// noInterrupts(); // запретить все прерывания
// подать 24 импульса на SCK и считать состояние с OUT
HX711_data[2] = shiftIn(12, 11, MSBFIRST);
HX711_data[1] = shiftIn(12, 11, MSBFIRST);
HX711_data[0] = shiftIn(12, 11, MSBFIRST);
// установить канал и коэф. усиления при следующем чтении
for (byte i = 0; i < Ch_Gain_24562827_2; i++)
{
digitalWrite(11, HIGH);
digitalWrite(11, LOW);
}
// interrupts(); // разрешить все прерывания
// Задание знака на выходе и определение аварийных значений
byte filler = 0x00;
Err_Min_24562827_2 = 0;
Err_Max_24562827_2 = 0;
if ((0x80 == HX711_data[2]) && (0x00 == HX711_data[1]) && (0x00 == HX711_data[0]))
{
Err_Min_24562827_2 = 1; // -> если значение меньше нижний границы (800000h)
}
else if ((0x7F == HX711_data[2]) && (0xFF == HX711_data[1]) && (0xFF == HX711_data[0]))
{
Err_Max_24562827_2 = 1; // -> если значение превышает вверхнюю границу (7FFFFFh)
}
else if (HX711_data[2] & 0x80)
{
filler = 0xFF; // для отрицательных чисел
}
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Construct a 32-bit signed integer
long ReadValue = (static_cast<unsigned long>(filler) << 24 | static_cast<unsigned long>(HX711_data[2]) << 16 | static_cast<unsigned long>(HX711_data[1]) << 8 | static_cast<unsigned long>(HX711_data[0]));
////////////////////////////////////////////////////////////////////////////////////////////////////////
// Усреднение показаний и установка нуля (вычитание тары)
++HX711_N_Read_Cnt_24562827_2;
// +1 в счётчик числа опросов АЦП
HX711_SumValue_24562827_2+= ReadValue;
// суммировать значение АЦП
if (HX711_N_Read_Cnt_24562827_2 >= 8)
{
// полученную сумму разделить (сдвигами вправо) на число опросов АЦП
switch (8)
{
case 1:
HX711_Value_24562827_2 = HX711_SumValue_24562827_2 >>0; // разделить на 1
break;
case 2:
HX711_Value_24562827_2 = HX711_SumValue_24562827_2 >>1; // разделить на 2
break;
case 4:
HX711_Value_24562827_2 = HX711_SumValue_24562827_2 >>2; // разделить на 4
break;
case 8:
HX711_Value_24562827_2 = HX711_SumValue_24562827_2 >>3; // разделить на 8
break;
case 16:
HX711_Value_24562827_2 = HX711_SumValue_24562827_2 >>4; // разделить на 16
break;
case 32:
HX711_Value_24562827_2 = HX711_SumValue_24562827_2 >>5; // разделить на 32
break;
case 64:
HX711_Value_24562827_2 = HX711_SumValue_24562827_2 >>6; // разделить на 64
break;
case 128:
HX711_Value_24562827_2 = HX711_SumValue_24562827_2 >>7; // разделить на 128
break;
// если будут заданны другие значения количества опросов АЦП, то деление суммы не производить
HX711_Value_24562827_2 = HX711_SumValue_24562827_2;
}
HX711_SumValue_24562827_2 = 0;
HX711_N_Read_Cnt_24562827_2 = 0;
HX711_Value_24562827_2 -= long (Zero_24562827_2);
// Установка нуля (вычитание тары)
HX711_Value_24562827_2 /= long (Scale_24562827_2);
// Установка диапазона
}
}
HX711_Out_24562827_2 = HX711_Value_24562827_2;
}
byte rusStrlen(const char * data)
{
byte i = 0;
byte count = 0;
while (data[i])
{
if ((data[i] & 0xc0) != 0x80) count++;
i++;
}
return count;
}
int rusStrlenScroll(const char * data, int _start, int _end)
{
int i = 0;
int count = 0;
startByteScroll = 0;
endBytelScroll = 0;
while (data[i])
{
if ((data[i] & 0xc0) != 0x80) count++;
i++;
if (count <= _start)
{
startByteScroll++;
}
if (count <= _end)
{
endBytelScroll++;
}
}
return count;
}
Возможно его как нибуть урезать??? я новичек в этом