代码拉取完成,页面将自动刷新
同步操作将从 慕炎/ESP32 MPPT降压或升压同步整流 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
void System_Processes() {
///////////////// FAN COOLING /////////////////
if (enableFan == true) {
if (enableDynamicCooling == false) { //STATIC PWM COOLING MODE (2-PIN FAN - no need for hysteresis, temp data only refreshes after 'avgCountTS' or every 500 loop cycles)
if (overrideFan == true) {
fanStatus = true; //Force on fan
}
else if (temperature >= temperatureFan) {
fanStatus = 1; //Turn on fan when set fan temp reached
}
else if (temperature < temperatureFan) {
fanStatus = 0; //Turn off fan when set fan temp reached
}
digitalWrite(FAN, fanStatus); //Send a digital signal to the fan MOSFET
}
else {} //DYNAMIC PWM COOLING MODE (3-PIN FAN - coming soon)
}
else {
digitalWrite(FAN, LOW); //Fan Disabled
}
//////////// LOOP TIME STOPWATCH ////////////
loopTimeStart = micros(); //Record Start Time
loopTime = (loopTimeStart - loopTimeEnd) / 1000.000; //Compute Loop Cycle Speed (mS)
loopTimeEnd = micros(); //Record End Time
///////////// AUTO DATA RESET /////////////
if (telemCounterReset == 0) {} //Never Reset
else if (telemCounterReset == 1 && daysRunning > 1) {
resetVariables(); //Daily Reset
}
else if (telemCounterReset == 2 && daysRunning > 7) {
resetVariables(); //Weekly Reset
}
else if (telemCounterReset == 3 && daysRunning > 30) {
resetVariables(); //Monthly Reset
}
else if (telemCounterReset == 4 && daysRunning > 365) {
resetVariables(); //Yearly Reset
}
///////////// LOW POWER MODE /////////////
if (lowPowerMode == 1) {}
else {}
}
void factoryReset() {
EEPROM.begin(eeprom_size);
EEPROM.write(MPPT_Mode_add, 1); //STORE: Charging Algorithm (1 = MPPT Mode)
EEPROM.write(voltageBatteryMax_add, 12); //STORE: Max Battery Voltage (whole)
EEPROM.write(voltageBatteryMax2_add, 0); //STORE: Max Battery Voltage (decimal)
EEPROM.write(voltageBatteryMin_add, 9); //STORE: Min Battery Voltage (whole)
EEPROM.write(voltageBatteryMin2_add, 0); //STORE: Min Battery Voltage (decimal)
EEPROM.write(currentCharging_add, 1); //STORE: Charging Current (whole)
EEPROM.write(currentCharging2_add, 0); //STORE: Charging Current (decimal)
EEPROM.write(enableFan_add, 1); //STORE: Fan Enable (Bool)
EEPROM.write(temperatureFan_add, 60); //STORE: Fan Temp (Integer)
EEPROM.write(temperatureMax_add, 90); //STORE: Shutdown Temp (Integer)
EEPROM.write(enableWiFi_add, 1); //STORE: Enable WiFi (Boolean)
EEPROM.write(flashMemLoad_add, 1); //STORE: Enable autoload (on by default)
EEPROM.write(output_Mode_add, 1); //STORE: Charger/PSU Mode Selection (1 = Charger Mode)
EEPROM.write(backlightSleepMode_add, 0); //STORE: LCD backlight sleep timer (default: 0 = never)
EEPROM.commit();
loadSettings();
EEPROM.end();
}
void loadSettings() {
MPPT_Mode = EEPROM.read(MPPT_Mode_add); // Load saved charging mode setting
voltageBatteryMax = EEPROM.read(voltageBatteryMax_add) + (EEPROM.read(voltageBatteryMax2_add) * .01); // Load saved maximum battery voltage setting
voltageBatteryMin = EEPROM.read(voltageBatteryMin_add) + (EEPROM.read(voltageBatteryMin2_add) * .01); // Load saved minimum battery voltage setting
currentCharging = EEPROM.read(currentCharging_add) + (EEPROM.read(currentCharging2_add) * .01); // Load saved charging current setting
enableFan = EEPROM.read(enableFan_add); // Load saved fan enable settings
temperatureFan = EEPROM.read(temperatureFan_add); // Load saved fan temperature settings
temperatureMax = EEPROM.read(temperatureMax_add); // Load saved shutdown temperature settings
enableWiFi = EEPROM.read(enableWiFi_add); // Load saved WiFi enable settings
flashMemLoad = EEPROM.read(flashMemLoad_add); // Load saved flash memory autoload feature
output_Mode = EEPROM.read(output_Mode_add); // Load saved charging mode setting
backlightSleepMode = EEPROM.read(backlightSleepMode_add); // Load saved lcd backlight sleep timer
}
void saveSettings() {
EEPROM.begin(eeprom_size);
EEPROM.write(MPPT_Mode_add, MPPT_Mode); //STORE: Algorithm
conv1 = voltageBatteryMax * 100; //STORE: Maximum Battery Voltage (gets whole number)
conv2 = conv1 % 100; //STORE: Maximum Battery Voltage (gets decimal number and converts to a whole number)
EEPROM.write(voltageBatteryMax_add, voltageBatteryMax);
EEPROM.write(voltageBatteryMax2_add, conv2);
conv1 = voltageBatteryMin * 100; //STORE: Minimum Battery Voltage (gets whole number)
conv2 = conv1 % 100; //STORE: Minimum Battery Voltage (gets decimal number and converts to a whole number)
EEPROM.write(voltageBatteryMin_add, voltageBatteryMin);
EEPROM.write(voltageBatteryMin2_add, conv2);
conv1 = currentCharging * 100; //STORE: Charging Current
conv2 = conv1 % 100;
EEPROM.write(currentCharging_add, currentCharging);
EEPROM.write(currentCharging2_add, conv2);
EEPROM.write(enableFan_add, enableFan); //STORE: Fan Enable
EEPROM.write(temperatureFan_add, temperatureFan); //STORE: Fan Temp
EEPROM.write(temperatureMax_add, temperatureMax); //STORE: Shutdown Temp
EEPROM.write(enableWiFi_add, enableWiFi); //STORE: Enable WiFi
//EEPROM.write(flashMemLoad_add, flashMemLoad); //STORE: Enable autoload (must be excluded from bulk save, uncomment under discretion)
EEPROM.write(output_Mode_add, output_Mode); //STORE: Charge/PSU Mode Selection
EEPROM.write(backlightSleepMode_add, backlightSleepMode); //STORE: LCD backlight sleep timer
EEPROM.commit(); //Saves setting changes to flash memory
EEPROM.end();
}
void saveAutoloadSettings() {
EEPROM.begin(eeprom_size);
EEPROM.write(flashMemLoad_add, flashMemLoad); //STORE: Enable autoload
EEPROM.commit(); //Saves setting changes to flash memory
EEPROM.end();
Serial.println("Saves setting changes");
}
void initializeFlashAutoload() {
if (disableFlashAutoLoad == 0) {
flashMemLoad = EEPROM.read(flashMemLoad_add); //Load saved autoload (must be excluded from bulk save, uncomment under discretion)
if (flashMemLoad == 1) {
loadSettings(); //Load stored settings from flash memory
}
EEPROM.end();
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。