Initial commit
Some checks failed
Deploy GitHub Pages / deploy (push) Has been cancelled

This commit is contained in:
Djuri Baars 2024-11-26 01:02:19 +01:00
commit eab668d5eb
72 changed files with 556 additions and 0 deletions

24
.github/workflows/deploy.yml vendored Normal file
View file

@ -0,0 +1,24 @@
name: Deploy GitHub Pages
on:
push:
branches:
- main # Change this to your default branch
jobs:
deploy:
runs-on: ubuntu-latest
permissions:
pages: write # to deploy to Pages
id-token: write # to verify the deployment originates from an appropriate source
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
lfs: true # Fetch LFS files
- uses: actions/upload-pages-artifact@v3
with:
path: .
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4

1
.gitignore vendored Normal file
View file

@ -0,0 +1 @@
.DS_Store

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1 @@
b5fd18f57493fad76699a6f0a7f2f82babfbd7816e0822d50fb34f1b0a4da16d

View file

@ -0,0 +1 @@
46340fb52da96a22298b58c9c112da3a3e387490dbc0938e196d2df56f0013be

Binary file not shown.

View file

@ -0,0 +1 @@
371c78772431f4e8ef49a0c8c532e125bc7f3d39e0180d9b7131750e2ebc3d11

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1 @@
2a322c86089651ca6e14d0a35ff617698c3815d4bc4e72b35d93348822fe0f8b

View file

@ -0,0 +1 @@
7591be2053729db1633347b171a216293eb59203921bbc08bcdb825475cfca12

View file

@ -0,0 +1 @@
7f3074692ca1e5144107770605bbbb407f719097a0bc9f798e2f1392f0312b13

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1 @@
750d53aa3fa15ac401c3c223040f1a7c3e70475aaef913707e5f344b92cb3830

View file

@ -0,0 +1 @@
5cdbc264204322021c6ed79f9b2d39f7c4108cdb787af682a2fa0d200923a27c

View file

@ -0,0 +1 @@
937865e4a8b782e8948ee2948a6e2cb6d86e481ee7e9aeb315ba242d4d56c9ba

File diff suppressed because one or more lines are too long

Binary file not shown.

1
firmware_v3/commit.txt Normal file
View file

@ -0,0 +1 @@
1ccd5f18fbd5f427c6edd6ca641ed132211e223b

1
firmware_v3/date.txt Normal file
View file

@ -0,0 +1 @@
2024-11-25T23:03:00Z

BIN
firmware_v3/littlefs.bin Normal file

Binary file not shown.

93
fonts/antonio/LICENSE Normal file
View file

@ -0,0 +1,93 @@
Copyright 2013 The Antonio Project Authors (https://github.com/googlefonts/antonioFont)
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
http://scripts.sil.org/OFL
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.
The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).
"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.
"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:
1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.
5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are
not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

96
fonts/ubuntu/LICENSE Normal file
View file

@ -0,0 +1,96 @@
-------------------------------
UBUNTU FONT LICENCE Version 1.0
-------------------------------
PREAMBLE
This licence allows the licensed fonts to be used, studied, modified and
redistributed freely. The fonts, including any derivative works, can be
bundled, embedded, and redistributed provided the terms of this licence
are met. The fonts and derivatives, however, cannot be released under
any other licence. The requirement for fonts to remain under this
licence does not require any document created using the fonts or their
derivatives to be published under this licence, as long as the primary
purpose of the document is not to be a vehicle for the distribution of
the fonts.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this licence and clearly marked as such. This may
include source files, build scripts and documentation.
"Original Version" refers to the collection of Font Software components
as received under this licence.
"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to
a new environment.
"Copyright Holder(s)" refers to all individuals and companies who have a
copyright ownership of the Font Software.
"Substantially Changed" refers to Modified Versions which can be easily
identified as dissimilar to the Font Software by users of the Font
Software comparing the Original Version with the Modified Version.
To "Propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification and with or without charging
a redistribution fee), making available to the public, and in some
countries other activities as well.
PERMISSION & CONDITIONS
This licence does not grant any rights under trademark law and all such
rights are reserved.
Permission is hereby granted, free of charge, to any person obtaining a
copy of the Font Software, to propagate the Font Software, subject to
the below conditions:
1) Each copy of the Font Software must contain the above copyright
notice and this licence. These can be included either as stand-alone
text files, human-readable headers or in the appropriate machine-
readable metadata fields within text or binary files as long as those
fields can be easily viewed by the user.
2) The font name complies with the following:
(a) The Original Version must retain its name, unmodified.
(b) Modified Versions which are Substantially Changed must be renamed to
avoid use of the name of the Original Version or similar names entirely.
(c) Modified Versions which are not Substantially Changed must be
renamed to both (i) retain the name of the Original Version and (ii) add
additional naming elements to distinguish the Modified Version from the
Original Version. The name of such Modified Versions must be the name of
the Original Version, with "derivative X" where X represents the name of
the new work, appended to that name.
3) The name(s) of the Copyright Holder(s) and any contributor to the
Font Software shall not be used to promote, endorse or advertise any
Modified Version, except (i) as required by this licence, (ii) to
acknowledge the contribution(s) of the Copyright Holder(s) or (iii) with
their explicit written permission.
4) The Font Software, modified or unmodified, in part or in whole, must
be distributed entirely under this licence, and must not be distributed
under any other licence. The requirement for fonts to remain under this
licence does not affect any document created using the Font Software,
except any version of the Font Software extracted from a document
created using the Font Software may only be distributed under this
licence.
TERMINATION
This licence becomes null and void if any of the above conditions are
not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER
DEALINGS IN THE FONT SOFTWARE.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

264
index.html Normal file
View file

@ -0,0 +1,264 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>BTClock Web Tools</title>
<meta name="description" content="Easily allow users to flash new firmware for the BTClock." />
<meta name="viewport" content="width=device-width" />
<meta name="color-scheme" content="dark light" />
<style>
/* antonio-latin-400-normal */
@font-face {
font-family: 'Antonio';
font-style: normal;
font-display: swap;
font-weight: 600;
src:
url(fonts/antonio/webfonts/antonio-latin-600-normal.woff2) format('woff2'),
url(fonts/antonio/webfonts/antonio-latin-600-normal.woff2) format('woff');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Ubuntu';
font-style: normal;
font-display: auto;
font-weight: 400;
src: url(fonts/ubuntu/webfonts/ubuntu-latin-400-normal.woff2) format('woff2'),
url(fonts/ubuntu/webfonts/ubuntu-latin-400-normal.woff2) format('woff');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Ubuntu';
font-style: normal;
font-display: auto;
font-weight: 700;
src: url(fonts/ubuntu/webfonts/ubuntu-latin-700-normal.woff2) format('woff2'),
url(fonts/ubuntu/webfonts/ubuntu-latin-700-normal.woff2) format('woff');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
body {
font-family: 'Ubuntu', sans-serif;
padding: 0;
margin: 0;
line-height: 1.4;
}
.content {
max-width: 600px;
margin: 0 auto;
padding: 12px;
}
h1 {
font-family: 'Antonio';
}
h2 {
margin-top: 2em;
}
h3 {
margin-top: 1.5em;
}
.projects a {
color: initial;
text-decoration: none;
}
.project .logo img {
height: 50px;
}
.project .name {
margin-top: 8px;
}
a {
color: #03a9f4;
}
.screenshot img {
max-width: 100%;
box-shadow: rgb(0 0 0 / 20%) 0px 2px 1px -1px,
rgb(0 0 0 / 14%) 0px 1px 1px 0px, rgb(0 0 0 / 12%) 0px 1px 3px 0px;
border-radius: 4px;
}
.screenshot i {
margin-top: 4px;
display: block;
}
.hidden {
display: none;
}
.footer {
margin-top: 24px;
border-top: 1px solid #ccc;
padding-top: 24px;
text-align: center;
}
.footer .initiative {
font-style: italic;
margin-top: 16px;
}
@media (prefers-color-scheme: dark) {
body {
background-color: #333;
color: #fff;
}
a {
color: #58a6ff;
}
}
</style>
<script module>
import(
"https://unpkg.com/esp-web-tools/dist/web/install-button.js?module"
);
</script>
</head>
<body>
<div class="content">
<h1>BTClock Web Installer</h1>
<!-- V3 start -->
<h2>Version 3</h2>
<h3>2.13 inch displays (rev. A)</h3>
<p><small>In most cases you have this version. All versions before block #841273 (2024-04-28) are rev. A.</small></p>
<esp-web-install-button manifest="manifest_btclock_v3_213.json">
<i slot="unsupported">
The flasher is not available because your browser does not support Web
Serial. Open this page in Google Chrome or Microsoft Edge instead<span class="not-supported-i hidden">
(but not on your iOS device)</span>.
</i>
<slot name="activate">Install using multiple parts</slot>
</esp-web-install-button>
<h3>2.13 inch displays (rev. B)</h3>
<p><small>First released on block #841273 (2024-04-28). If on the back it shows rev. B below the block hash, and you have a BOOT button next to the RESET button you have rev. B.</small></p>
<esp-web-install-button manifest="manifest_btclock_v3_213_revb.json">
<i slot="unsupported">
The flasher is not available because your browser does not support Web
Serial. Open this page in Google Chrome or Microsoft Edge instead<span class="not-supported-i hidden">
(but not on your iOS device)</span>.
</i>
<button slot="activate">I'm 100% sure I have the rev. B version, install it</button>
<slot name="activate">Install using multiple parts</slot>
</esp-web-install-button>
<h4>2.9 inch displays (custom, experimental)</h4>
<p><small>Offered as a courtesy, if you have the kit or bought it pre-built, you need the 2.13 inch version.</small></p>
<esp-web-install-button manifest="manifest_btclock_v3_29.json">
<i slot="unsupported">
The flasher is not available because your browser does not support Web
Serial. Open this page in Google Chrome or Microsoft Edge instead<span class="not-supported-i hidden">
(but not on your iOS device)</span>.
</i>
<slot name="activate">Install using multiple parts</slot>
<button slot="activate">I know what I'm doing. Install 2.9 inch version</button>
</esp-web-install-button>
<ul>
<li><a href="https://git.rof.tools/mirrors/btclock_v3/src/branch/main/.github/workflows/tagging.yml">GitHub action compiling the
V3
firmware</a></li>
<li><a href="https://git.rof.tools/mirrors/btclock_v3/releases">Release to be flashed</a><br>
<code id="commitHashV3"></code> / <code id="buildDateV3"></code>
</li>
<li><a href="https://git.rof.tools/mirrors/btclock_v3">V3 Source</a></li>
</ul>
<!-- V3 end -->
<hr>
<h3>Verify, don't trust</h2>
<ul>
<li><a href="https://git.rof.tools/mirrors/btclock-web-flasher">Source code of this website</a></li>
</ul>
<hr>
<p>When you are building it yourself, the first time you have to put the S3 mini in to boot mode: Press both side buttons at the same time
(RST/BOOT),
then first release the RST button and then the boot button.</p>
<p>
If this website does not work, you can download <code>full-firmware.bin</code> from the releases page and use <a
href="https://web.esphome.io/">ESPHome Web Flasher</a> to flash it instead.
</p>
<h2>How it works</h2>
<p>
ESP Web Tools works by using
<a href="https://developer.mozilla.org/docs/Web/API/Web_Serial_API">Web Serial</a> and a manifest which
describes
the firmware. ESP Web Tools detects the
chipset of the connected ESP device and automatically selects the right
firmware variant from the manifest.
</p>
<p>
Web Serial is available in Google Chrome and Microsoft Edge
browsers<span class="not-supported-i hidden">
(but not on your iOS device)</span>. Android support should be possible but has not been implemented yet.
</p>
<div class="footer">
<div class="initiative">
ESP Web Tools is a project by
<a href="https://esphome.io">ESPHome</a>.<br />
Development is funded by
<a href="https://www.nabucasa.com">Nabu Casa</a>.
</div>
<div>
ESP Web Tools is
<a href="https://github.com/esphome/esp-web-tools">open source</a>.
</div>
</div>
</div>
<script>
if (/iPad|iPhone|iPod/.test(navigator.userAgent)) {
document.querySelector(".not-supported-i").classList.remove("hidden");
}
fetch("firmware/commit.txt")
.then(response => response.text())
.then((response) => {
document.getElementById('commitHash').innerHTML = response;
})
.catch(err => console.log(err))
fetch("firmware/date.txt")
.then(response => response.text())
.then((response) => {
document.getElementById('buildDate').innerHTML = new Date(response.trim()).toLocaleString();
})
.catch(err => console.log(err))
fetch("firmware_v3/commit.txt")
.then(response => response.text())
.then((response) => {
document.getElementById('commitHashV3').innerHTML = response;
})
.catch(err => console.log(err))
fetch("firmware_v3/date.txt")
.then(response => response.text())
.then((response) => {
document.getElementById('buildDateV3').innerHTML = new Date(response.trim()).toLocaleString();
})
.catch(err => console.log(err))
</script>
</body>
</html>

13
manifest_btclock.json Normal file
View file

@ -0,0 +1,13 @@
{
"name": "BTClock",
"version": "latest",
"new_install_prompt_erase": true,
"builds": [
{
"chipFamily": "ESP32-S3",
"parts": [
{ "path": "firmware/full-firmware.bin", "offset": 0 }
]
}
]
}

View file

@ -0,0 +1,17 @@
{
"name": "BTClock (Rev. A, 2.13 inch)",
"version": "V3",
"new_install_prompt_erase": true,
"builds": [
{
"chipFamily": "ESP32-S3",
"parts": [
{ "path": "firmware_v3/build-lolin_s3_mini-213epd/bootloader.bin", "offset": "0" },
{ "path": "firmware_v3/build-lolin_s3_mini-213epd/partitions.bin", "offset": "32768" },
{ "path": "firmware_v3/build-lolin_s3_mini-213epd/ota_data_initial.bin", "offset": "57344" },
{ "path": "firmware_v3/build-lolin_s3_mini-213epd/lolin_s3_mini_213epd_firmware.bin", "offset": "65536" },
{ "path": "firmware_v3/build-lolin_s3_mini-213epd/littlefs.bin", "offset": "3624960" }
]
}
]
}

View file

@ -0,0 +1,17 @@
{
"name": "BTClock (Rev. B)",
"version": "V3",
"new_install_prompt_erase": true,
"builds": [
{
"chipFamily": "ESP32-S3",
"parts": [
{ "path": "firmware_v3/build-btclock_rev_b-213epd/bootloader.bin", "offset": "0" },
{ "path": "firmware_v3/build-btclock_rev_b-213epd/partitions.bin", "offset": "32768" },
{ "path": "firmware_v3/build-btclock_rev_b-213epd/ota_data_initial.bin", "offset": "57344" },
{ "path": "firmware_v3/build-btclock_rev_b-213epd/btclock_rev_b_213epd_firmware.bin", "offset": "65536" },
{ "path": "firmware_v3/build-btclock_rev_b-213epd/littlefs.bin", "offset": "3624960" }
]
}
]
}

View file

@ -0,0 +1,17 @@
{
"name": "BTClock (Rev. A, 2.9 inch)",
"version": "V3",
"new_install_prompt_erase": true,
"builds": [
{
"chipFamily": "ESP32-S3",
"parts": [
{ "path": "firmware_v3/build-lolin_s3_mini-29epd/bootloader.bin", "offset": "0" },
{ "path": "firmware_v3/build-lolin_s3_mini-29epd/partitions.bin", "offset": "32768" },
{ "path": "firmware_v3/build-lolin_s3_mini-29epd/ota_data_initial.bin", "offset": "57344" },
{ "path": "firmware_v3/build-lolin_s3_mini-29epd/lolin_s3_mini_29epd_firmware.bin", "offset": "65536" },
{ "path": "firmware_v3/build-lolin_s3_mini-29epd/littlefs.bin", "offset": "3624960" }
]
}
]
}