mirror of
https://github.com/arendst/Tasmota.git
synced 2025-04-20 04:47:19 +00:00
Compare commits
192 Commits
developmen
...
v12.1.1
Author | SHA1 | Date | |
---|---|---|---|
![]() |
e71235ea3a | ||
![]() |
930e659915 | ||
![]() |
8d52722941 | ||
![]() |
ca10e7b909 | ||
![]() |
806c5762bc | ||
![]() |
f5b2216361 | ||
![]() |
dfa2c25c03 | ||
![]() |
eed11319ac | ||
![]() |
e5310ad6e5 | ||
![]() |
9eb42b41d0 | ||
![]() |
4074d82ac7 | ||
![]() |
dc1605f96a | ||
![]() |
4ff60deafc | ||
![]() |
24757be59e | ||
![]() |
b44a87a3d8 | ||
![]() |
7bc7be56ee | ||
![]() |
fa03edbeb4 | ||
![]() |
c9cd367e53 | ||
![]() |
1cdd2be008 | ||
![]() |
d157b1c5e0 | ||
![]() |
ffc2352cd6 | ||
![]() |
41f7580210 | ||
![]() |
6e2592fe02 | ||
![]() |
0b25206f90 | ||
![]() |
4f2a59d27d | ||
![]() |
0cbc1681d2 | ||
![]() |
00227a45c6 | ||
![]() |
e8988e4b31 | ||
![]() |
64ea803ef1 | ||
![]() |
078fb0ea3a | ||
![]() |
efc2f54610 | ||
![]() |
942ebe1cf4 | ||
![]() |
c22d936f8c | ||
![]() |
a955827db9 | ||
![]() |
f09d6b5452 | ||
![]() |
9dd05501a8 | ||
![]() |
5254a26145 | ||
![]() |
02659ff1a5 | ||
![]() |
50f0101e59 | ||
![]() |
1ee598cefd | ||
![]() |
0c22b69bd0 | ||
![]() |
5057314977 | ||
![]() |
71c146ab35 | ||
![]() |
e5d576b507 | ||
![]() |
329d76346f | ||
![]() |
6d5227ba75 | ||
![]() |
0ccf7de945 | ||
![]() |
8c4ab12e9a | ||
![]() |
6decedbb31 | ||
![]() |
8d61740a9f | ||
![]() |
388db0e795 | ||
![]() |
d696c00d3f | ||
![]() |
1e3bc9f8be | ||
![]() |
b3a1fa99f2 | ||
![]() |
d7847061b9 | ||
![]() |
e2a8e39646 | ||
![]() |
9482079573 | ||
![]() |
f100430125 | ||
![]() |
c1d61c9eb0 | ||
![]() |
e96ce2f637 | ||
![]() |
838ab4f553 | ||
![]() |
cbc74ab873 | ||
![]() |
92994455c4 | ||
![]() |
1fe0160ef6 | ||
![]() |
15b75422b5 | ||
![]() |
1b40bfb336 | ||
![]() |
aacb37ecfc | ||
![]() |
9ac9e0460a | ||
![]() |
6f03368c85 | ||
![]() |
330a12efe4 | ||
![]() |
fab0cd88c2 | ||
![]() |
ed23cd8d95 | ||
![]() |
7defc325f1 | ||
![]() |
30cbc1b1e5 | ||
![]() |
61adb53da6 | ||
![]() |
9e008008c3 | ||
![]() |
f5d1594a6b | ||
![]() |
80d72ecbf5 | ||
![]() |
0150c9e809 | ||
![]() |
7e532a87f9 | ||
![]() |
4052903810 | ||
![]() |
04c1262bc2 | ||
![]() |
851c839c53 | ||
![]() |
c88152c14e | ||
![]() |
08fa219a88 | ||
![]() |
adbb5f8d53 | ||
![]() |
71268e5aae | ||
![]() |
9f21938c2c | ||
![]() |
ebb998ea06 | ||
![]() |
e6e00c80cc | ||
![]() |
7e3b7ddc69 | ||
![]() |
31c6075a84 | ||
![]() |
92c0eb000f | ||
![]() |
3f7071c6b9 | ||
![]() |
cabe894933 | ||
![]() |
b6f283d8d8 | ||
![]() |
5e3c1b6415 | ||
![]() |
96d4e60680 | ||
![]() |
488edab49c | ||
![]() |
45cd73940d | ||
![]() |
25033908cd | ||
![]() |
b75520cde9 | ||
![]() |
3374990115 | ||
![]() |
2b34c6843a | ||
![]() |
e7a27893b3 | ||
![]() |
d37b9db08d | ||
![]() |
c74c0d9d10 | ||
![]() |
4cc0f05cb1 | ||
![]() |
ec14623169 | ||
![]() |
dc73b67a61 | ||
![]() |
fa0e8867af | ||
![]() |
6afb2767f7 | ||
![]() |
6cb9b3ce80 | ||
![]() |
39f31d8cdf | ||
![]() |
e1d44b9dfa | ||
![]() |
0c36bcb25c | ||
![]() |
0489d3fc9a | ||
![]() |
3ba19e1552 | ||
![]() |
08ec5cecda | ||
![]() |
0d505baa0e | ||
![]() |
fd6a9fdc90 | ||
![]() |
386dbbd878 | ||
![]() |
797f82dc27 | ||
![]() |
c09f966f41 | ||
![]() |
829397f4ed | ||
![]() |
198ec55473 | ||
![]() |
1c24df6df8 | ||
![]() |
83f76e2432 | ||
![]() |
fa8a6bc0e5 | ||
![]() |
603f08291a | ||
![]() |
ae793c8f2d | ||
![]() |
556156f73f | ||
![]() |
e035bdb71f | ||
![]() |
16ffdb6f49 | ||
![]() |
76decfaa43 | ||
![]() |
b369e87385 | ||
![]() |
4f92d4984f | ||
![]() |
68f8ea6f39 | ||
![]() |
1838c582b3 | ||
![]() |
8255468f9c | ||
![]() |
e217ab49d9 | ||
![]() |
a73b2d1e09 | ||
![]() |
584ae41cb7 | ||
![]() |
e076b50dfc | ||
![]() |
e1df24be17 | ||
![]() |
b1782f32ca | ||
![]() |
61d6a1240b | ||
![]() |
c987f4357e | ||
![]() |
ed50401812 | ||
![]() |
ec4bc1fb98 | ||
![]() |
4c906a794a | ||
![]() |
20d545e873 | ||
![]() |
e84bbe9e64 | ||
![]() |
43b0831cb2 | ||
![]() |
92766df1a5 | ||
![]() |
8bac4981ea | ||
![]() |
a89f208da0 | ||
![]() |
3041f9dccb | ||
![]() |
fe3f705448 | ||
![]() |
33a44f7a39 | ||
![]() |
efd4a6b542 | ||
![]() |
69765f5706 | ||
![]() |
3195ce7b14 | ||
![]() |
b59a8a7966 | ||
![]() |
da704f4ecb | ||
![]() |
f14f1d7798 | ||
![]() |
99feefba84 | ||
![]() |
9a3307a73f | ||
![]() |
5b3d673dea | ||
![]() |
fddc15db70 | ||
![]() |
04263f3969 | ||
![]() |
e66f17c6bb | ||
![]() |
f10257fd29 | ||
![]() |
ae2c50cbe4 | ||
![]() |
c6b02fb1e1 | ||
![]() |
b5fb079228 | ||
![]() |
7e5f3aa006 | ||
![]() |
0fa559d143 | ||
![]() |
f2f8b5efa9 | ||
![]() |
11d37cc15b | ||
![]() |
99b15fe056 | ||
![]() |
19836d1136 | ||
![]() |
3e4975831a | ||
![]() |
cc8ae7c7a7 | ||
![]() |
10f2d17a5a | ||
![]() |
1198246572 | ||
![]() |
7138ddd80a | ||
![]() |
27bcc29421 | ||
![]() |
4c7283c292 | ||
![]() |
257f3d2808 | ||
![]() |
5e4c5f67e6 | ||
![]() |
4dab991d09 |
366
.github/workflows/Tasmota_build_master.yml
vendored
366
.github/workflows/Tasmota_build_master.yml
vendored
@ -1,183 +1,183 @@
|
||||
name: Build_firmware_master
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: master
|
||||
paths-ignore:
|
||||
- '.github/**' # Ignore changes towards the .github directory
|
||||
- '**.md' # Do no build if *.md files changes
|
||||
|
||||
# Ensures that only one deploy task per branch/environment will run at a time.
|
||||
concurrency:
|
||||
group: environment-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
base-images:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.repository == 'arendst/Tasmota'
|
||||
continue-on-error: true
|
||||
strategy:
|
||||
matrix:
|
||||
variant:
|
||||
- tasmota
|
||||
- tasmota4M
|
||||
- tasmota-minimal
|
||||
- tasmota-display
|
||||
- tasmota-ir
|
||||
- tasmota-knx
|
||||
- tasmota-lite
|
||||
- tasmota-sensors
|
||||
- tasmota-zbbridge
|
||||
- tasmota-zigbee
|
||||
- tasmota32
|
||||
- tasmota32-zbbrdgpro
|
||||
- tasmota32-webcam
|
||||
- tasmota32-bluetooth
|
||||
- tasmota32-nspanel
|
||||
- tasmota32-display
|
||||
- tasmota32-ir
|
||||
- tasmota32-lvgl
|
||||
- tasmota32c3
|
||||
- tasmota32c3cdc
|
||||
- tasmota32s2
|
||||
- tasmota32s2cdc
|
||||
- tasmota32s3
|
||||
- tasmota32s3cdc
|
||||
- tasmota32solo1
|
||||
- tasmota32solo1-safeboot
|
||||
- tasmota32-safeboot
|
||||
- tasmota32c3-safeboot
|
||||
- tasmota32c3cdc-safeboot
|
||||
- tasmota32s2-safeboot
|
||||
- tasmota32s2cdc-safeboot
|
||||
- tasmota32s3-safeboot
|
||||
- tasmota32s3cdc-safeboot
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
ref: master
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v2
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
pip install -U platformio
|
||||
- name: Run PlatformIO
|
||||
run: platformio run -e ${{ matrix.variant }}
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
language-images:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.repository == 'arendst/Tasmota'
|
||||
continue-on-error: true
|
||||
strategy:
|
||||
matrix:
|
||||
variant: [ tasmota, tasmota32 ]
|
||||
language: [ AD, AF, BG, BR, CN, CZ, DE, ES, FR, FY, GR, HE, HU, IT, KO, NL, PL, PT, RO, RU, SE, SK, TR, TW, UK, VN ]
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
ref: master
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v2
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
pip install -U platformio
|
||||
- name: Run PlatformIO
|
||||
run: platformio run -e ${{ matrix.variant }}-${{ matrix.language }}
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
Upload:
|
||||
needs: [base-images, language-images]
|
||||
runs-on: ubuntu-latest
|
||||
continue-on-error: true
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/download-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./mv_firmware
|
||||
- name: Display structure of downloaded files
|
||||
run: ls -R ./mv_firmware/
|
||||
- name: Release
|
||||
uses: softprops/action-gh-release@v1
|
||||
#if: startsWith(github.ref, 'refs/tags/')
|
||||
with:
|
||||
tag_name: ${{ github.run_number }}
|
||||
files: ./mv_firmware/firmware/*
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Move firmware files in sub-folders
|
||||
run: |
|
||||
mkdir -p ./release-firmware/tasmota/languages
|
||||
mkdir -p ./release-firmware/tasmota32/languages
|
||||
mkdir -p ./release-firmware/map
|
||||
[ ! -f ./mv_firmware/map/* ] || mv ./mv_firmware/map/* ./release-firmware/map/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota.* ] || mv ./mv_firmware/firmware/tasmota.* ./release-firmware/tasmota/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota4M.* ] || mv ./mv_firmware/firmware/tasmota4M.* ./release-firmware/tasmota/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota-sensors.* ] || mv ./mv_firmware/firmware/tasmota-sensors.* ./release-firmware/tasmota/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota-minimal.bin.gz ] || mv ./mv_firmware/firmware/tasmota-minimal.bin.gz ./release-firmware/tasmota/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota-lite.* ] || mv ./mv_firmware/firmware/tasmota-lite.* ./release-firmware/tasmota/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota-ir*.* ] || mv ./mv_firmware/firmware/tasmota-ir*.* ./release-firmware/tasmota/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota-display.* ] || mv ./mv_firmware/firmware/tasmota-display.* ./release-firmware/tasmota/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota-knx.* ] || mv ./mv_firmware/firmware/tasmota-knx.* ./release-firmware/tasmota/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota-zbbridge.* ] || mv ./mv_firmware/firmware/tasmota-zbbridge.* ./release-firmware/tasmota/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota-zigbee.* ] || mv ./mv_firmware/firmware/tasmota-zigbee.* ./release-firmware/tasmota/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota32.* ] || mv ./mv_firmware/firmware/tasmota32.* ./release-firmware/tasmota32/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota32solo1*.* ] || mv ./mv_firmware/firmware/tasmota32solo1*.* ./release-firmware/tasmota32/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota32-ir*.* ] || mv ./mv_firmware/firmware/tasmota32-ir*.* ./release-firmware/tasmota32/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota32-display.* ] || mv ./mv_firmware/firmware/tasmota32-display.* ./release-firmware/tasmota32/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota32-lvgl.* ] || mv ./mv_firmware/firmware/tasmota32-lvgl.* ./release-firmware/tasmota32/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota32-web*.* ] || mv ./mv_firmware/firmware/tasmota32-web*.* ./release-firmware/tasmota32/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota32-zbbrdgpro.* ] || mv ./mv_firmware/firmware/tasmota32-zbbrdgpro.* ./release-firmware/tasmota32/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota32-nspanel.* ] || mv ./mv_firmware/firmware/tasmota32-nspanel.* ./release-firmware/tasmota32/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota32-odroidgo.* ] || mv ./mv_firmware/firmware/tasmota32-odroidgo.* ./release-firmware/tasmota32/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota32-core2.* ] || mv ./mv_firmware/firmware/tasmota32-core2.* ./release-firmware/tasmota32/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota32-bluetooth.* ] || mv ./mv_firmware/firmware/tasmota32-bluetooth.* ./release-firmware/tasmota32/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota32c3*.* ] || mv ./mv_firmware/firmware/tasmota32c3*.* ./release-firmware/tasmota32/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota32s2*.* ] || mv ./mv_firmware/firmware/tasmota32s2*.* ./release-firmware/tasmota32/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota32s3*.* ] || mv ./mv_firmware/firmware/tasmota32s3*.* ./release-firmware/tasmota32/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota32-safeboot* ] || mv ./mv_firmware/firmware/tasmota32-safeboot* ./release-firmware/tasmota32/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota32-* ] || mv ./mv_firmware/firmware/tasmota32-* ./release-firmware/tasmota32/languages/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota32* ] || mv ./mv_firmware/firmware/tasmota32* ./release-firmware/tasmota32/languages/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota-minimal.bin ] || rm -rf ./mv_firmware/firmware/tasmota-minimal.bin
|
||||
[ ! -f ./mv_firmware/firmware/* ] || mv ./mv_firmware/firmware/* ./release-firmware/tasmota/languages/
|
||||
- name: Display files to transfer
|
||||
run: ls -R ./*
|
||||
- name: Push Firmware files to tmp_copy repo
|
||||
uses: Jason2866/copy_file_to_another_repo_action@main
|
||||
env:
|
||||
API_TOKEN_GITHUB: ${{ secrets.API_TOKEN_GITHUB }}
|
||||
with:
|
||||
source_file: 'release-firmware'
|
||||
destination_repo: 'arendst/tmp_copy'
|
||||
destination_branch: 'firmware'
|
||||
user_email: 'github-actions@github.com'
|
||||
user_name: 'github-actions'
|
||||
|
||||
Start_final_copy:
|
||||
needs: Upload
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Creat trigger.txt
|
||||
run: |
|
||||
echo ${GITHUB_SHA} &> trigger.txt
|
||||
echo "$(<trigger.txt)"
|
||||
- name: Push trigger.txt to start workflow copy in tmp repo
|
||||
uses: Jason2866/copy_file_to_another_repo_action@main
|
||||
env:
|
||||
API_TOKEN_GITHUB: ${{ secrets.API_TOKEN_GITHUB }}
|
||||
with:
|
||||
source_file: 'trigger.txt'
|
||||
destination_repo: 'arendst/tmp_copy'
|
||||
destination_branch: 'action-master'
|
||||
user_email: 'github-actions@github.com'
|
||||
user_name: 'github-actions'
|
||||
name: Build_firmware_master
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: master
|
||||
paths-ignore:
|
||||
- '.github/**' # Ignore changes towards the .github directory
|
||||
- '**.md' # Do no build if *.md files changes
|
||||
|
||||
# Ensures that only one deploy task per branch/environment will run at a time.
|
||||
concurrency:
|
||||
group: environment-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
base-images:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.repository == 'arendst/Tasmota'
|
||||
continue-on-error: true
|
||||
strategy:
|
||||
matrix:
|
||||
variant:
|
||||
- tasmota
|
||||
- tasmota4M
|
||||
- tasmota-minimal
|
||||
- tasmota-display
|
||||
- tasmota-ir
|
||||
- tasmota-knx
|
||||
- tasmota-lite
|
||||
- tasmota-sensors
|
||||
- tasmota-zbbridge
|
||||
- tasmota-zigbee
|
||||
- tasmota32
|
||||
- tasmota32-zbbrdgpro
|
||||
- tasmota32-webcam
|
||||
- tasmota32-bluetooth
|
||||
- tasmota32-nspanel
|
||||
- tasmota32-display
|
||||
- tasmota32-ir
|
||||
- tasmota32-lvgl
|
||||
- tasmota32c3
|
||||
- tasmota32c3cdc
|
||||
- tasmota32s2
|
||||
- tasmota32s2cdc
|
||||
- tasmota32s3
|
||||
- tasmota32s3cdc
|
||||
- tasmota32solo1
|
||||
- tasmota32solo1-safeboot
|
||||
- tasmota32-safeboot
|
||||
- tasmota32c3-safeboot
|
||||
- tasmota32c3cdc-safeboot
|
||||
- tasmota32s2-safeboot
|
||||
- tasmota32s2cdc-safeboot
|
||||
- tasmota32s3-safeboot
|
||||
- tasmota32s3cdc-safeboot
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
ref: master
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v2
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
pip install -U platformio
|
||||
- name: Run PlatformIO
|
||||
run: platformio run -e ${{ matrix.variant }}
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
language-images:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.repository == 'arendst/Tasmota'
|
||||
continue-on-error: true
|
||||
strategy:
|
||||
matrix:
|
||||
variant: [ tasmota, tasmota32 ]
|
||||
language: [ AD, AF, BG, BR, CN, CZ, DE, ES, FR, FY, GR, HE, HU, IT, KO, NL, PL, PT, RO, RU, SE, SK, TR, TW, UK, VN ]
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
ref: master
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v2
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
pip install -U platformio
|
||||
- name: Run PlatformIO
|
||||
run: platformio run -e ${{ matrix.variant }}-${{ matrix.language }}
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./build_output
|
||||
|
||||
Upload:
|
||||
needs: [base-images, language-images]
|
||||
runs-on: ubuntu-latest
|
||||
continue-on-error: true
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/download-artifact@v2
|
||||
with:
|
||||
name: firmware
|
||||
path: ./mv_firmware
|
||||
- name: Display structure of downloaded files
|
||||
run: ls -R ./mv_firmware/
|
||||
- name: Release
|
||||
uses: softprops/action-gh-release@v1
|
||||
#if: startsWith(github.ref, 'refs/tags/')
|
||||
with:
|
||||
tag_name: ${{ github.run_number }}
|
||||
files: ./mv_firmware/firmware/*
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Move firmware files in sub-folders
|
||||
run: |
|
||||
mkdir -p ./release-firmware/tasmota/languages
|
||||
mkdir -p ./release-firmware/tasmota32/languages
|
||||
mkdir -p ./release-firmware/map
|
||||
[ ! -f ./mv_firmware/map/* ] || mv ./mv_firmware/map/* ./release-firmware/map/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota.* ] || mv ./mv_firmware/firmware/tasmota.* ./release-firmware/tasmota/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota4M.* ] || mv ./mv_firmware/firmware/tasmota4M.* ./release-firmware/tasmota/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota-sensors.* ] || mv ./mv_firmware/firmware/tasmota-sensors.* ./release-firmware/tasmota/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota-minimal.bin.gz ] || mv ./mv_firmware/firmware/tasmota-minimal.bin.gz ./release-firmware/tasmota/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota-lite.* ] || mv ./mv_firmware/firmware/tasmota-lite.* ./release-firmware/tasmota/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota-ir*.* ] || mv ./mv_firmware/firmware/tasmota-ir*.* ./release-firmware/tasmota/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota-display.* ] || mv ./mv_firmware/firmware/tasmota-display.* ./release-firmware/tasmota/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota-knx.* ] || mv ./mv_firmware/firmware/tasmota-knx.* ./release-firmware/tasmota/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota-zbbridge.* ] || mv ./mv_firmware/firmware/tasmota-zbbridge.* ./release-firmware/tasmota/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota-zigbee.* ] || mv ./mv_firmware/firmware/tasmota-zigbee.* ./release-firmware/tasmota/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota32.* ] || mv ./mv_firmware/firmware/tasmota32.* ./release-firmware/tasmota32/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota32solo1*.* ] || mv ./mv_firmware/firmware/tasmota32solo1*.* ./release-firmware/tasmota32/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota32-ir*.* ] || mv ./mv_firmware/firmware/tasmota32-ir*.* ./release-firmware/tasmota32/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota32-display.* ] || mv ./mv_firmware/firmware/tasmota32-display.* ./release-firmware/tasmota32/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota32-lvgl.* ] || mv ./mv_firmware/firmware/tasmota32-lvgl.* ./release-firmware/tasmota32/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota32-web*.* ] || mv ./mv_firmware/firmware/tasmota32-web*.* ./release-firmware/tasmota32/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota32-zbbrdgpro.* ] || mv ./mv_firmware/firmware/tasmota32-zbbrdgpro.* ./release-firmware/tasmota32/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota32-nspanel.* ] || mv ./mv_firmware/firmware/tasmota32-nspanel.* ./release-firmware/tasmota32/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota32-odroidgo.* ] || mv ./mv_firmware/firmware/tasmota32-odroidgo.* ./release-firmware/tasmota32/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota32-core2.* ] || mv ./mv_firmware/firmware/tasmota32-core2.* ./release-firmware/tasmota32/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota32-bluetooth.* ] || mv ./mv_firmware/firmware/tasmota32-bluetooth.* ./release-firmware/tasmota32/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota32c3*.* ] || mv ./mv_firmware/firmware/tasmota32c3*.* ./release-firmware/tasmota32/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota32s2*.* ] || mv ./mv_firmware/firmware/tasmota32s2*.* ./release-firmware/tasmota32/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota32s3*.* ] || mv ./mv_firmware/firmware/tasmota32s3*.* ./release-firmware/tasmota32/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota32-safeboot* ] || mv ./mv_firmware/firmware/tasmota32-safeboot* ./release-firmware/tasmota32/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota32-* ] || mv ./mv_firmware/firmware/tasmota32-* ./release-firmware/tasmota32/languages/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota32* ] || mv ./mv_firmware/firmware/tasmota32* ./release-firmware/tasmota32/languages/
|
||||
[ ! -f ./mv_firmware/firmware/tasmota-minimal.bin ] || rm -rf ./mv_firmware/firmware/tasmota-minimal.bin
|
||||
[ ! -f ./mv_firmware/firmware/* ] || mv ./mv_firmware/firmware/* ./release-firmware/tasmota/languages/
|
||||
- name: Display files to transfer
|
||||
run: ls -R ./*
|
||||
- name: Push Firmware files to tmp_copy repo
|
||||
uses: Jason2866/copy_file_to_another_repo_action@main
|
||||
env:
|
||||
API_TOKEN_GITHUB: ${{ secrets.API_TOKEN_GITHUB }}
|
||||
with:
|
||||
source_file: 'release-firmware'
|
||||
destination_repo: 'arendst/tmp_copy'
|
||||
destination_branch: 'firmware'
|
||||
user_email: 'github-actions@github.com'
|
||||
user_name: 'github-actions'
|
||||
|
||||
Start_final_copy:
|
||||
needs: Upload
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Creat trigger.txt
|
||||
run: |
|
||||
echo ${GITHUB_SHA} &> trigger.txt
|
||||
echo "$(<trigger.txt)"
|
||||
- name: Push trigger.txt to start workflow copy in tmp repo
|
||||
uses: Jason2866/copy_file_to_another_repo_action@main
|
||||
env:
|
||||
API_TOKEN_GITHUB: ${{ secrets.API_TOKEN_GITHUB }}
|
||||
with:
|
||||
source_file: 'trigger.txt'
|
||||
destination_repo: 'arendst/tmp_copy'
|
||||
destination_branch: 'action-master'
|
||||
user_email: 'github-actions@github.com'
|
||||
user_name: 'github-actions'
|
||||
|
21
CHANGELOG.md
21
CHANGELOG.md
@ -1,7 +1,20 @@
|
||||
# Changelog
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
## [Unreleased] - Development
|
||||
## [Released]
|
||||
|
||||
## [12.1.1] 20220825
|
||||
- Release Patricia
|
||||
|
||||
## [12.1.0.1] 20220825
|
||||
### Fixed
|
||||
- RTC not detected when lights are present (#16242)
|
||||
- DNS lookup for .local domains (#16273)
|
||||
- Button response delay regression from v12.0.2.4 (#16319)
|
||||
- Lost module name in GUI regression from v12.0.2.4 - 20220803 (#16324)
|
||||
|
||||
## [12.1.0] 20220818
|
||||
- Release Patricia
|
||||
|
||||
## [12.0.2.4] 20220818
|
||||
### Added
|
||||
@ -25,8 +38,6 @@ All notable changes to this project will be documented in this file.
|
||||
- Fixed IR crash on ESP32 (#16173)
|
||||
- Zigbee fix Tuya for writing attributes
|
||||
|
||||
### Removed
|
||||
|
||||
## [12.0.2.3] 20220716
|
||||
### Added
|
||||
- Support for Sonoff POWR3xxD and THR3xxD (#15856)
|
||||
@ -38,7 +49,7 @@ All notable changes to this project will be documented in this file.
|
||||
- Driver DHT v6 consolidation for both ESP8266 and ESP32 to support SI7021, THS01 and MS01 on ESP32 (#15856)
|
||||
- Tasmota ESP32 Arduino core from v2.0.3 to v2.0.4 (#15940)
|
||||
|
||||
## [12.0.2.2]
|
||||
## [12.0.2.2] 20220701
|
||||
### Added
|
||||
- Command ``GlobalTemp2 1..250`` to select Global Temperature source indexed from teleperiod occurance data (#15834)
|
||||
- Command ``GlobalHum2 1..250`` to select Global Humidity source indexed from teleperiod occurance data (#15834)
|
||||
@ -51,8 +62,6 @@ All notable changes to this project will be documented in this file.
|
||||
### Fixed
|
||||
- ESP32 SendMail not working over ethernet (#15794)
|
||||
|
||||
## [Released]
|
||||
|
||||
## [12.0.2] 20220620
|
||||
- Release Paul
|
||||
|
||||
|
@ -18,7 +18,7 @@ See [CHANGELOG.md](https://github.com/arendst/Tasmota/blob/development/tasmota/C
|
||||
|
||||
## Development
|
||||
|
||||
[](https://github.com/arendst/Tasmota)
|
||||
[](https://github.com/arendst/Tasmota)
|
||||
[](http://ota.tasmota.com/tasmota/)
|
||||
[](https://github.com/arendst/Tasmota/actions?query=workflow%3A%22Tasmota+CI%22)
|
||||
[](https://github.com/arendst/Tasmota/actions?query=workflow%3A%22Tasmota+ESP32+CI%22)
|
||||
|
@ -31,7 +31,7 @@ Firmware binaries can be downloaded from http://ota.tasmota.com/tasmota/release/
|
||||
|
||||
## Development
|
||||
|
||||
[](https://github.com/arendst/Tasmota)
|
||||
[](https://github.com/arendst/Tasmota)
|
||||
[](http://ota.tasmota.com/tasmota/)
|
||||
[](https://github.com/arendst/Tasmota/actions/workflows/build_all_the_things.yml)
|
||||
[](https://github.com/arendst/Tasmota/actions/workflows/Tasmota_build_devel.yml)
|
||||
|
@ -72,7 +72,7 @@ Latest released binaries can be downloaded from
|
||||
- http://ota.tasmota.com/tasmota/release
|
||||
|
||||
Historical binaries can be downloaded from
|
||||
- http://ota.tasmota.com/tasmota/release-12.0.2
|
||||
- http://ota.tasmota.com/tasmota/release-12.1.1
|
||||
|
||||
The latter links can be used for OTA upgrades too like ``OtaUrl http://ota.tasmota.com/tasmota/release/tasmota.bin.gz``
|
||||
|
||||
@ -97,7 +97,7 @@ Latest released binaries can be downloaded from
|
||||
- http://ota.tasmota.com/tasmota32/release
|
||||
|
||||
Historical binaries can be downloaded from
|
||||
- http://ota.tasmota.com/tasmota32/release-12.0.2
|
||||
- http://ota.tasmota.com/tasmota32/release-12.1.1
|
||||
|
||||
The latter links can be used for OTA upgrades too like ``OtaUrl http://ota.tasmota.com/tasmota32/release/tasmota32.bin``
|
||||
|
||||
@ -107,7 +107,7 @@ The latter links can be used for OTA upgrades too like ``OtaUrl http://ota.tasmo
|
||||
|
||||
[Complete list](BUILDS.md) of available feature and sensors.
|
||||
|
||||
## Changelog v12.0.2.4
|
||||
## Changelog v12.1.1 Patricia
|
||||
### Added
|
||||
- Command ``SetOption45 1..250`` to change default bistable latching relay pulse length of 40 milliseconds
|
||||
- Command ``SetOption144 1`` includes a timestamp in zigbee `ZbReceived` messages
|
||||
@ -137,5 +137,10 @@ The latter links can be used for OTA upgrades too like ``OtaUrl http://ota.tasmo
|
||||
### Fixed
|
||||
- Restore EnergyToday after using command ``restart 2`` and power cycle [#16118](https://github.com/arendst/Tasmota/issues/16118)
|
||||
- ESP32 SendMail not working over ethernet [#15794](https://github.com/arendst/Tasmota/issues/15794)
|
||||
- RTC not detected when lights are present [#16242](https://github.com/arendst/Tasmota/issues/16242)
|
||||
- DNS lookup for .local domains [#16273](https://github.com/arendst/Tasmota/issues/16273)
|
||||
- Button response delay regression from v12.0.2.4 [#16319](https://github.com/arendst/Tasmota/issues/16319)
|
||||
- Lost module name in GUI regression from v12.0.2.4 - 20220803 [#16324](https://github.com/arendst/Tasmota/issues/16324)
|
||||
|
||||
### Removed
|
||||
- Arduino IDE support
|
||||
|
@ -70,7 +70,6 @@
|
||||
#include "driver/ledc.h"
|
||||
#include "sensor.h"
|
||||
#include "sys/time.h"
|
||||
#include "sdkconfig.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
@ -92,19 +91,6 @@ typedef enum {
|
||||
CAMERA_FB_IN_DRAM /*!< Frame buffer is placed in internal DRAM */
|
||||
} camera_fb_location_t;
|
||||
|
||||
#if CONFIG_CAMERA_CONVERTER_ENABLED
|
||||
/**
|
||||
* @brief Camera RGB\YUV conversion mode
|
||||
*/
|
||||
typedef enum {
|
||||
CONV_DISABLE,
|
||||
RGB565_TO_YUV422,
|
||||
|
||||
YUV422_TO_RGB565,
|
||||
YUV422_TO_YUV420
|
||||
} camera_conv_mode_t;
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Configuration structure for camera initialization
|
||||
*/
|
||||
@ -138,9 +124,6 @@ typedef struct {
|
||||
size_t fb_count; /*!< Number of frame buffers to be allocated. If more than one, then each frame will be acquired (double speed) */
|
||||
camera_fb_location_t fb_location; /*!< The location where the frame buffer will be allocated */
|
||||
camera_grab_mode_t grab_mode; /*!< When buffers should be filled */
|
||||
#if CONFIG_CAMERA_CONVERTER_ENABLED
|
||||
camera_conv_mode_t conv_mode; /*!< RGB<->YUV Conversion mode */
|
||||
#endif
|
||||
} camera_config_t;
|
||||
|
||||
/**
|
||||
|
@ -26,10 +26,6 @@ typedef enum {
|
||||
GC2145_PID = 0x2145,
|
||||
GC032A_PID = 0x232a,
|
||||
GC0308_PID = 0x9b,
|
||||
BF3005_PID = 0x30,
|
||||
BF20A6_PID = 0x20a6,
|
||||
SC101IOT_PID = 0xda4a,
|
||||
SC030IOT_PID = 0x9a46,
|
||||
} camera_pid_t;
|
||||
|
||||
typedef enum {
|
||||
@ -42,10 +38,6 @@ typedef enum {
|
||||
CAMERA_GC2145,
|
||||
CAMERA_GC032A,
|
||||
CAMERA_GC0308,
|
||||
CAMERA_BF3005,
|
||||
CAMERA_BF20A6,
|
||||
CAMERA_SC101IOT,
|
||||
CAMERA_SC030IOT,
|
||||
CAMERA_MODEL_MAX,
|
||||
CAMERA_NONE,
|
||||
} camera_model_t;
|
||||
@ -60,16 +52,11 @@ typedef enum {
|
||||
GC2145_SCCB_ADDR = 0x3C,// 0x78 >> 1
|
||||
GC032A_SCCB_ADDR = 0x21,// 0x42 >> 1
|
||||
GC0308_SCCB_ADDR = 0x21,// 0x42 >> 1
|
||||
BF3005_SCCB_ADDR = 0x6E,
|
||||
BF20A6_SCCB_ADDR = 0x6E,
|
||||
SC101IOT_SCCB_ADDR = 0x68,// 0xd0 >> 1
|
||||
SC030IOT_SCCB_ADDR = 0x68,// 0xd0 >> 1
|
||||
} camera_sccb_addr_t;
|
||||
|
||||
typedef enum {
|
||||
PIXFORMAT_RGB565, // 2BPP/RGB565
|
||||
PIXFORMAT_YUV422, // 2BPP/YUV422
|
||||
PIXFORMAT_YUV420, // 1.5BPP/YUV420
|
||||
PIXFORMAT_GRAYSCALE, // 1BPP/GRAYSCALE
|
||||
PIXFORMAT_JPEG, // JPEG/COMPRESSED
|
||||
PIXFORMAT_RGB888, // 3BPP/RGB888
|
||||
|
@ -371,7 +371,7 @@ enum LightSubtypes { LST_NONE, LST_SINGLE, LST_COLDWARM, LST_RGB, LST_RGBW, LS
|
||||
enum LightTypes { LT_BASIC, LT_PWM1, LT_PWM2, LT_PWM3, LT_PWM4, LT_PWM5, LT_PWM6, LT_PWM7,
|
||||
LT_NU8, LT_SERIAL1, LT_SERIAL2, LT_RGB, LT_RGBW, LT_RGBWC, LT_NU14, LT_NU15 }; // Do not insert new fields
|
||||
|
||||
enum XsnsFunctions {FUNC_SETTINGS_OVERRIDE, FUNC_PIN_STATE, FUNC_MODULE_INIT, FUNC_PRE_INIT, FUNC_INIT,
|
||||
enum XsnsFunctions {FUNC_SETTINGS_OVERRIDE, FUNC_PIN_STATE, FUNC_I2C_INIT, FUNC_MODULE_INIT, FUNC_PRE_INIT, FUNC_INIT,
|
||||
FUNC_LOOP, FUNC_EVERY_50_MSECOND, FUNC_EVERY_100_MSECOND, FUNC_EVERY_200_MSECOND, FUNC_EVERY_250_MSECOND, FUNC_EVERY_SECOND,
|
||||
FUNC_SAVE_SETTINGS, FUNC_SAVE_AT_MIDNIGHT, FUNC_SAVE_BEFORE_RESTART,
|
||||
FUNC_AFTER_TELEPERIOD, FUNC_JSON_APPEND, FUNC_WEB_SENSOR, FUNC_WEB_COL_SENSOR, FUNC_COMMAND, FUNC_COMMAND_SENSOR, FUNC_COMMAND_DRIVER,
|
||||
|
@ -20,6 +20,6 @@
|
||||
#ifndef _TASMOTA_VERSION_H_
|
||||
#define _TASMOTA_VERSION_H_
|
||||
|
||||
const uint32_t VERSION = 0x0C000204; // 12.0.2.4
|
||||
const uint32_t VERSION = 0x0C010100; // 12.1.1.0
|
||||
|
||||
#endif // _TASMOTA_VERSION_H_
|
||||
|
@ -43,9 +43,7 @@ struct BUTTON {
|
||||
uint16_t hold_timer[MAX_KEYS] = { 0 }; // Timer for button hold
|
||||
uint16_t dual_code = 0; // Sonoff dual received code
|
||||
|
||||
uint8_t debounce_phase = 0; // 0 = regular iteration; 1 = read data for debouncing only
|
||||
uint8_t last_state[MAX_KEYS]; // Last button states
|
||||
uint8_t last_state_between[MAX_KEYS]; // Last button states at the half time read
|
||||
uint8_t window_timer[MAX_KEYS] = { 0 }; // Max time between button presses to record press count
|
||||
uint8_t press_counter[MAX_KEYS] = { 0 }; // Number of button presses within Button.window_timer
|
||||
|
||||
@ -93,7 +91,6 @@ void ButtonInit(void) {
|
||||
#endif // ESP8266
|
||||
for (uint32_t i = 0; i < MAX_KEYS; i++) {
|
||||
Button.last_state[i] = NOT_PRESSED;
|
||||
Button.last_state_between[i] = NOT_PRESSED;
|
||||
if (PinUsed(GPIO_KEY1, i)) {
|
||||
Button.present++;
|
||||
#ifdef ESP8266
|
||||
@ -207,18 +204,6 @@ void ButtonHandler(void) {
|
||||
button = AdcGetButton(Pin(GPIO_ADC_BUTTON_INV, button_index));
|
||||
}
|
||||
#endif // USE_ADC
|
||||
if (Button.debounce_phase == 1) {
|
||||
// adjust values
|
||||
Button.last_state_between[button_index] = button;
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
if (button != Button.last_state_between[button_index]) {
|
||||
// no clean signal, just keep the previous one
|
||||
button = Button.last_state[button_index];
|
||||
}
|
||||
|
||||
if (button_present) {
|
||||
XdrvMailbox.index = button_index;
|
||||
XdrvMailbox.payload = button;
|
||||
@ -389,8 +374,6 @@ void ButtonHandler(void) {
|
||||
}
|
||||
Button.last_state[button_index] = button;
|
||||
}
|
||||
|
||||
Button.debounce_phase = (Button.debounce_phase + 1) & 1;
|
||||
}
|
||||
|
||||
/*
|
||||
@ -426,7 +409,7 @@ void MqttButtonTopic(uint32_t button_id, uint32_t action, uint32_t hold) {
|
||||
void ButtonLoop(void) {
|
||||
if (Button.present) {
|
||||
if (TimeReached(Button.debounce)) {
|
||||
SetNextTimeInterval(Button.debounce, Settings->button_debounce / 2);
|
||||
SetNextTimeInterval(Button.debounce, Settings->button_debounce); // ButtonDebounce (50)
|
||||
ButtonHandler();
|
||||
}
|
||||
}
|
||||
|
@ -2173,6 +2173,8 @@ void GpioInit(void)
|
||||
#endif
|
||||
#endif // USE_I2C
|
||||
|
||||
XdrvCall(FUNC_I2C_INIT); // Init RTC
|
||||
|
||||
TasmotaGlobal.devices_present = 0;
|
||||
TasmotaGlobal.light_type = LT_BASIC; // Use basic PWM control if SetOption15 = 0
|
||||
|
||||
|
@ -807,14 +807,25 @@ void wifiKeepAlive(void) {
|
||||
#endif // ESP8266
|
||||
|
||||
bool WifiHostByName(const char* aHostname, IPAddress& aResult) {
|
||||
// DnsClient can't do one-shot mDNS queries so use WiFi.hostByName() for *.local
|
||||
size_t hostname_len = strlen(aHostname);
|
||||
if (strstr_P(aHostname, PSTR(".local")) == &aHostname[hostname_len] - 6) {
|
||||
if (WiFi.hostByName(aHostname, aResult)) {
|
||||
// Host name resolved
|
||||
if (0xFFFFFFFF != (uint32_t)aResult) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// Use this instead of WiFi.hostByName or connect(host_name,.. to block less if DNS server is not found
|
||||
uint32_t dns_address = (!TasmotaGlobal.global_state.eth_down) ? Settings->eth_ipv4_address[3] : Settings->ipv4_address[3];
|
||||
DnsClient.begin((IPAddress)dns_address);
|
||||
if (DnsClient.getHostByName(aHostname, aResult) != 1) {
|
||||
AddLog(LOG_LEVEL_DEBUG, PSTR("DNS: Unable to resolve '%s'"), aHostname);
|
||||
return false;
|
||||
uint32_t dns_address = (!TasmotaGlobal.global_state.eth_down) ? Settings->eth_ipv4_address[3] : Settings->ipv4_address[3];
|
||||
DnsClient.begin((IPAddress)dns_address);
|
||||
if (1 == DnsClient.getHostByName(aHostname, aResult)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
AddLog(LOG_LEVEL_DEBUG, PSTR("DNS: Unable to resolve '%s'"), aHostname);
|
||||
return false;
|
||||
}
|
||||
|
||||
bool WifiDnsPresent(const char* aHostname) {
|
||||
|
@ -602,7 +602,7 @@ void StartWebserver(int type, IPAddress ipweb)
|
||||
#endif // Not FIRMWARE_MINIMAL
|
||||
|
||||
if (!Web.initial_config) {
|
||||
Web.initial_config = !strlen(SettingsText(SET_STASSID1)) || !strlen(SettingsText(SET_STASSID2));
|
||||
Web.initial_config = (!strlen(SettingsText(SET_STASSID1)) && !strlen(SettingsText(SET_STASSID2)));
|
||||
if (Web.initial_config) { AddLog(LOG_LEVEL_DEBUG, PSTR(D_LOG_HTTP "Blank Device - Initial Configuration")); }
|
||||
}
|
||||
}
|
||||
|
@ -446,7 +446,7 @@ bool Xdrv56(uint8_t function) {
|
||||
}
|
||||
#endif // RTC_NTP_SERVER
|
||||
|
||||
if (FUNC_MODULE_INIT == function) {
|
||||
if (FUNC_I2C_INIT == function) {
|
||||
RtcChipDetect();
|
||||
}
|
||||
else if (RtcChip.detected) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user