Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 4 additions & 17 deletions .github/workflows/build_environment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,26 +15,13 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
submodules: true

- name: Initialize Arduino CLI
run: |
& "$Env:RUNNER_TOOL_CACHE\arduino-cli\arduino-cli.exe" --config-file "$Env:RUNNER_TOOL_CACHE\arduino-cli\config.yaml" core update-index

- name: Install required board core
run: |
& "$Env:RUNNER_TOOL_CACHE\arduino-cli\arduino-cli.exe" --config-file "$Env:RUNNER_TOOL_CACHE\arduino-cli\config.yaml" core install arduino:avr@1.8.7

- name: Install custom Arduino libraries (Windows)
shell: powershell
run: |
& "$Env:RUNNER_TOOL_CACHE\arduino-cli\arduino-cli.exe" --config-file "$Env:RUNNER_TOOL_CACHE\arduino-cli\config.yaml" lib update-index
& "$Env:RUNNER_TOOL_CACHE\arduino-cli\arduino-cli.exe" --config-file "$Env:RUNNER_TOOL_CACHE\arduino-cli\config.yaml" lib install "Ds1302@1.1.0"
& "$Env:RUNNER_TOOL_CACHE\arduino-cli\arduino-cli.exe" --config-file "$Env:RUNNER_TOOL_CACHE\arduino-cli\config.yaml" lib install "LiquidCrystal_I2C@2.0.0"
& "$Env:RUNNER_TOOL_CACHE\arduino-cli\arduino-cli.exe" --config-file "$Env:RUNNER_TOOL_CACHE\arduino-cli\config.yaml" lib install "DallasTemperature@4.0.6"
& "$Env:RUNNER_TOOL_CACHE\arduino-cli\arduino-cli.exe" --config-file "$Env:RUNNER_TOOL_CACHE\arduino-cli\config.yaml" lib install "OneWire@2.3.8"
& "$Env:RUNNER_TOOL_CACHE\arduino-cli\arduino-cli.exe" --config-file "$Env:RUNNER_TOOL_CACHE\arduino-cli\config.yaml" lib install "TX07K-TXC@1.0.4"
& "$Env:RUNNER_TOOL_CACHE\arduino-cli\arduino-cli.exe" --config-file "$Env:RUNNER_TOOL_CACHE\arduino-cli\config.yaml" lib install "MQTTESP8266@5.1.2"

- name: Generate configs from secrets repo
shell: powershell
env:
Expand Down Expand Up @@ -81,7 +68,7 @@ jobs:

- name: Compile Arduino project
run: |
& "$Env:RUNNER_TOOL_CACHE\arduino-cli\arduino-cli.exe" --config-file "$Env:RUNNER_TOOL_CACHE\arduino-cli\config.yaml" compile --fqbn arduino:avr:mega ./ --output-dir build
& "$Env:RUNNER_TOOL_CACHE\arduino-cli\arduino-cli.exe" --config-file "$Env:RUNNER_TOOL_CACHE\arduino-cli\config.yaml" compile --profile Heater_Mega ./ --output-dir build

- name: Upload firmware to Arduino
env:
Expand All @@ -91,5 +78,5 @@ jobs:
Write-Error "Invalid serial port format: $env:SERIAL_PORT"
exit 1
}
& "$Env:RUNNER_TOOL_CACHE\arduino-cli\arduino-cli.exe" --config-file "$Env:RUNNER_TOOL_CACHE\arduino-cli\config.yaml" upload --fqbn arduino:avr:mega --port $env:SERIAL_PORT --input-dir build
& "$Env:RUNNER_TOOL_CACHE\arduino-cli\arduino-cli.exe" --config-file "$Env:RUNNER_TOOL_CACHE\arduino-cli\config.yaml" upload --profile Heater_Mega --port $env:SERIAL_PORT --input-dir build

16 changes: 3 additions & 13 deletions .github/workflows/pull_request_build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
submodules: true

- name: Install Arduino CLI
uses: arduino/setup-arduino-cli@81d310742121c928ea9c8bbd407b4217b432ae02 # v2.0.0
Expand All @@ -24,18 +26,6 @@ jobs:
arduino-cli config init
arduino-cli core update-index

- name: Install required board core
run: arduino-cli core install arduino:avr@1.8.7 # např. pro Arduino Uno

- name: Install libraries
run: |
arduino-cli lib install "Ds1302@1.1.0"
arduino-cli lib install "LiquidCrystal_I2C@2.0.0"
arduino-cli lib install "DallasTemperature@4.0.6"
arduino-cli lib install "OneWire@2.3.8"
arduino-cli lib install "MQTTESP8266@5.1.2"
arduino-cli lib install "TX07K-TXC@1.0.4"

- name: Set configs
run: |
cp config_default.h config.h
Expand All @@ -49,4 +39,4 @@ jobs:

- name: Compile Arduino project
run: |
arduino-cli compile --fqbn arduino:avr:mega ./
arduino-cli compile --profile Heater_Mega ./
8 changes: 8 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
[submodule "MQTTESP8266"]
path = MQTTESP8266
url = https://github.com/Zefek/MQTTESP8266.git
branch = 6.0
[submodule "TX07K-TXC"]
path = TX07K-TXC
url = https://github.com/Zefek/TX07K-TXC.git
branch = main
19 changes: 17 additions & 2 deletions HeatingTemperatureRegulator.ino
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@

void OutsideTemperatureChanged(double temperature, uint8_t channel, uint8_t sensorId, uint8_t* rawData, bool transmitedByButton);
void MQTTMessageReceive(char* topic, uint8_t* payload, uint16_t length);
void OnBusy(uint8_t count);
void computeRequiredTemperature();
void DataTimeout();

Expand Down Expand Up @@ -180,6 +181,7 @@ unsigned long heaterStartTimeoutBegin = 0;
bool checkHeaterStartTimeout = false;
unsigned long lastWasteGasReadMillis = 0;
unsigned short wasteGasGradientCount = 0;
bool closedRequired = false;

int freeRam() {
extern int __heap_start, *__brkval;
Expand All @@ -204,6 +206,7 @@ void setup() {
tempSensors.Init();
drv.Init(64);
drv.DataTimeout = DataTimeout;
drv.OnBusy = OnBusy;
delay(1000);
pinMode(MOREHEATINGRELAYPIN, OUTPUT);
pinMode(LESSHEATINGRELAYPIN, OUTPUT);
Expand Down Expand Up @@ -303,7 +306,15 @@ bool IsLeapYear(int year)

void DataTimeout()
{
drv.Close();
closedRequired = true;
}

void OnBusy(uint8_t count)
{
if(count > 10)
{
closedRequired = true;
}
}

void MQTTMessageReceive(char* topic, uint8_t* payload, unsigned int length)
Expand Down Expand Up @@ -852,7 +863,11 @@ void CheckHeaterStartTimeout()
void loop() {
currentMillis = millis();
wdt_reset();

if(closedRequired)
{
drv.Close();
closedRequired = false;
}
if(!client.Loop())
{
MQTTConnect();
Expand Down
1 change: 1 addition & 0 deletions MQTTESP8266
Submodule MQTTESP8266 added at 0fc63a
1 change: 1 addition & 0 deletions TX07K-TXC
Submodule TX07K-TXC added at 31d400
13 changes: 13 additions & 0 deletions sketch.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
profiles:
Heater_Mega:
fqbn: arduino:avr:mega
platforms:
- platform: arduino:avr (1.8.7)
libraries:
- Ds1302 (1.1.0)
- LiquidCrystal_I2C (2.0.0)
- DallasTemperature (4.0.6)
- OneWire (2.3.8)
- dir: MQTTESP8266
- dir: TX07K-TXC
default_profile: Heater_Mega
Loading