Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
6eb4b73
Update for Gecko SDK 4.4.4
Adminiuga Sep 9, 2024
6c65433
Skip bootloader patch
Adminiuga Sep 9, 2024
7d8f372
Deal with some shell craziness
Adminiuga Sep 9, 2024
8f26f6c
Skip sdk patching
Adminiuga Sep 9, 2024
cb92d80
Use find for patching
Adminiuga Sep 10, 2024
a1d4519
Update level-control.c
Adminiuga Sep 10, 2024
7e1acd7
Update checkout & upload actions
Adminiuga Sep 10, 2024
30eaead
Update to SDK 4.4.5
Adminiuga Dec 21, 2024
872054a
update line endings
Adminiuga Jan 4, 2025
b0273b1
Rename level cluster for 4.4.5 gsdk
Adminiuga Jan 5, 2025
b0b7ec3
Use newer Raz1 version, because of the event init changes
Adminiuga Jan 5, 2025
4ec19e2
Fixes to make it work with GSDK 4.4.5
Adminiuga Jan 6, 2025
2a1bd1d
Somewhat simplify post attribute handling
Adminiuga Jan 6, 2025
4ffe32b
Some cleanup
Adminiuga Jan 6, 2025
ac1cce9
Build with the Raz1 extension dev version
Adminiuga Jan 6, 2025
c89383b
Fix hardware state sync on startup
Adminiuga Jan 7, 2025
ef2e786
Merge pull request #18 from Adminiuga/ac/sdk445
Adminiuga Jan 7, 2025
be65567
Refactor how light is turned off.
Adminiuga Jan 7, 2025
d0c95d1
Revert the use of move to level cmd struct
Adminiuga Jan 7, 2025
74cd19a
Update level-control.c patch
Adminiuga Jan 8, 2025
f21ebd4
Log post attribute changes
Adminiuga Jan 8, 2025
35e8505
Fix how the light is turned on or off
Adminiuga Jan 9, 2025
eb7f669
Fix instanteneous transition
Adminiuga Jan 9, 2025
7b63437
Refactor how HW state is synced
Adminiuga Jan 9, 2025
25b185f
use minimal changes to level-control cluster
Adminiuga Jan 9, 2025
f0b5001
Refactor app.c to send commands directly to itself
Adminiuga Jan 9, 2025
ab24520
Use self addressed command for fadein/fadeout
Adminiuga Jan 9, 2025
b021d03
Update patch and level-control to support on transition time and off …
Adminiuga Jan 9, 2025
b090801
Simplify initial hw state sync
Adminiuga Jan 10, 2025
06591a8
Fix fadein/fadeout
Adminiuga Jan 10, 2025
345ee27
Merge pull request #19 from Adminiuga/ac/refactor-light-control-min-l…
Adminiuga Jan 10, 2025
dc49d7c
Fix patch and level-control.c
Adminiuga Jan 10, 2025
102fb2a
Merge pull request #20 from Adminiuga/fixes/light-patch
Adminiuga Jan 11, 2025
f6825b8
Update Project file with component definitions
Adminiuga Jan 11, 2025
68cd62f
Update sl_battery_monitor configuration
Adminiuga Jan 11, 2025
966c51d
Cleanup configuration files
Adminiuga Jan 12, 2025
90030e8
Move app-global.h to the root
Adminiuga Jan 12, 2025
d3ce088
Update gitignore and some project renames
Adminiuga Jan 12, 2025
1128162
Revert app-global rename
Adminiuga Jan 12, 2025
1b55628
Merge pull request #21 from Adminiuga/ac/refactor-prj-gen
Adminiuga Jan 12, 2025
e4f6232
Update bootloader to use internal flash
Adminiuga Jan 12, 2025
410444b
Update action versions
Adminiuga Jan 12, 2025
86af2b7
Overwrite bootloader artifact
Adminiuga Jan 12, 2025
91788ea
Rename bootloader artifact
Adminiuga Jan 12, 2025
2c99d96
Revert "Update bootloader to use internal flash"
Adminiuga Jan 12, 2025
88063d7
Update bootloader version
Adminiuga Jan 12, 2025
5c5a239
Merge pull request #22 from Adminiuga/ac/btl-update
Adminiuga Jan 12, 2025
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
11 changes: 6 additions & 5 deletions .github/workflows/app-btl-build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ jobs:
metadata_extra: "{}"
ota_string: ${{ inputs.app_ota_string }}
sdk_extensions: |
"https://github.com/Adminiuga/Raz1_custom_components_extension#0.0.1"
"https://github.com/Adminiuga/Raz1_custom_components_extension"


bootloader-build:
Expand All @@ -82,7 +82,7 @@ jobs:
)
}}

export_project_name: "app_btl"
export_project_name: "TBS2Torch_btl"
device: ${{ inputs.device }}
components: >
${{ inputs.board != '' && format('{0},', inputs.board) || '' }}
Expand Down Expand Up @@ -127,13 +127,13 @@ jobs:
btl_project_name: ${{ needs.bootloader-build.outputs.project_name }}

steps:
- uses: actions/download-artifact@v3
- uses: actions/download-artifact@v4
name: Download App firmware
with:
name: ${{ env.app_artifact_name }}
path: ${{ env.app_artifact_name }}

- uses: actions/download-artifact@v3
- uses: actions/download-artifact@v4
name: Download bootloader build
with:
name: ${{ env.btl_artifact_name }}
Expand Down Expand Up @@ -182,10 +182,11 @@ jobs:
--tag-id 0x0000 \
--tag-file "${{ env.app_project_name }}-btl.gbl"

- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
name: Upload bootloader & bootloader OTA image artifact
with:
name: ${{ env.btl_project_name }}
overwrite: true
path: |
${{ env.btl_project_name }}/version.json
${{ env.btl_project_name }}/*.gbl
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/buld.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ env:
sdk_version: ${{
vars.sdk_version != ''
&& vars.sdk_version
|| '4.4.0'
|| '4.4.5'
}}
gcc_version: ${{ vars.gcc_version != '' && vars.gcc_version || '12.3.rel1' }}
zap_version: ${{ vars.zap_version != '' && vars.zap_version || 'v2024.12.13' }}
Expand All @@ -51,20 +51,20 @@ jobs:
run: |
echo "repository_owner=$(echo $GITHUB_REPOSITORY_OWNER | tr [:upper:] [:lower:])" >> $GITHUB_OUTPUT

- uses: actions/checkout@v3.3.0
- uses: actions/checkout@v4

- name: Log in to the GitHub container registry
uses: docker/login-action@v2.1.0
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2.2.1
uses: docker/setup-buildx-action@v3

- name: Build and Push
uses: docker/build-push-action@v3.3.0
uses: docker/build-push-action@v6
with:
context: .
file: Dockerfile
Expand All @@ -91,4 +91,4 @@ jobs:
board: ${{ matrix.board }}
build_btl: ${{ github.event.inputs.build_btl != '' && inputs.build_btl || startsWith(github.ref, 'refs/tags/v') || startsWith(github.ref, 'refs/tags/rc') || false }}
image_name: ${{ needs.build-container.outputs.image_name }}
btl_version: ${{ vars.btl_version != '' && vars.btl_version || '4' }}
btl_version: ${{ vars.btl_version != '' && vars.btl_version || '6' }}
12 changes: 6 additions & 6 deletions .github/workflows/silabs-project-builder.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ jobs:
ota_version: ${{ steps.ota_version.outputs.ota_version }}

steps:
- uses: actions/checkout@v3.3.0
- uses: actions/checkout@v4
- name: Adjust permission
shell: bash
run: chown -R builder .
Expand Down Expand Up @@ -218,10 +218,10 @@ jobs:
if: "${{ inputs.sdkpatchpath != '' }}"
run: |
cd ${{ env.PROJECT_NAME }}/gecko_sdk_${{ inputs.sdk_version }}
for patch in "../../${{ inputs.sdkpatchpath }}"/*.patch
for patch in $(find "../../${{ inputs.sdkpatchpath }}" -maxdepth 0 -name *.patch)
do
echo "Applying ${patch}"
patch -p1 < $patch
test -r $patch && patch -p1 < $patch
done

- name: Update OTA version
Expand Down Expand Up @@ -319,7 +319,7 @@ jobs:
--tag-id 0x0000 \
--tag-file "${{ env.PROJECT_NAME}}.gbl"

- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
if: (success() || failure()) && env.IS_BTL != 'yes'
name: Upload application firmware
with:
Expand All @@ -330,7 +330,7 @@ jobs:
${{ env.PROJECT_NAME }}/build/release/*.hex
${{ env.PROJECT_NAME }}/build/release/*.ota

- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
if: (success() || failure()) && env.IS_BTL == 'yes'
name: Upload bootloader firmware
with:
Expand All @@ -339,7 +339,7 @@ jobs:
${{ env.PROJECT_NAME }}/artifact/version.json
${{ env.PROJECT_NAME }}/artifact/*.s37

- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
if: (success() || failure()) && vars.ARTIFACT_UPLOAD_SOURCES != ''
name: Upload generated project sources
with:
Expand Down
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,18 @@ vscode.conf
*/.projectlinkstore
*/*.Makefile
*/GNU ARM */
*/build/
*/*_cmake/
*/config/*.h
!*/config/app-global.h
*/.uceditor
*/autogen/*
*/.trash/
*/*.project.mak
TBS2Torch/gecko_sdk_4.*
!TBS2Torch/gecko_sdk_4.*/protocol/zigbee/app/framework/plugin/level-control/level-control.c
TBS2Torch/raz1_custom_components_*/*


*/.pdm
*.pdf
Expand Down
166 changes: 83 additions & 83 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,83 +1,83 @@
FROM debian:bookworm

ARG DEBIAN_FRONTEND=noninteractive
ARG GCC_ARM_VERSION="12.3.rel1"
ARG ZAP_TOOL_RELEASE="v2024.12.13"
ARG GECKO_SDK_VERSION="v4.4.5"

ARG USERNAME=builder
ARG USER_UID=1000
ARG USER_GID=$USER_UID


RUN \
apt-get update \
&& apt-get install -y --no-install-recommends \
bzip2 \
curl \
git \
git-lfs \
jq \
libgl1 \
make \
default-jre-headless \
patch \
python3 \
unzip \
xz-utils \
less \
&& apt-get clean

WORKDIR /tmp
# Install Simplicity Commander (unfortunately no stable URL available, this
# is known to be working with Commander_linux_x86_64_1v15p0b1306.tar.bz).
RUN \
curl -O https://www.silabs.com/documents/login/software/SimplicityCommander-Linux.zip \
&& unzip -q SimplicityCommander-Linux.zip \
&& tar -C /opt -xjf SimplicityCommander-Linux/Commander_linux_x86_64_*.tar.bz \
&& rm -r SimplicityCommander-Linux \
&& rm SimplicityCommander-Linux.zip

# Install Silicon Labs Configurator (slc)
RUN \
curl -O https://www.silabs.com/documents/login/software/slc_cli_linux.zip \
&& unzip -d /opt -q slc_cli_linux.zip \
&& chmod go-w /opt/slc_cli \
&& rm slc_cli_linux.zip

# Install ARM GCC embedded toolchain
RUN \
curl -L -O https://developer.arm.com/-/media/Files/downloads/gnu/${GCC_ARM_VERSION}/binrel/arm-gnu-toolchain-${GCC_ARM_VERSION}-x86_64-arm-none-eabi.tar.xz \
&& xzcat arm-gnu-toolchain-${GCC_ARM_VERSION}-x86_64-arm-none-eabi.tar.xz | tar -C /opt -xf -\
&& rm arm-gnu-toolchain-${GCC_ARM_VERSION}-x86_64-arm-none-eabi.tar.xz

ENV PATH="$PATH:/opt/arm-gnu-toolchain-${GCC_ARM_VERSION}-x86_64-arm-none-eabi/bin:/opt/slc_cli:/opt/commander"
ENV ARM_GCC_DIR="/opt/arm-gnu-toolchain-${GCC_ARM_VERSION}-x86_64-arm-none-eabi"

# Install ZAP adapter
RUN \
curl -OL https://github.com/project-chip/zap/releases/download/${ZAP_TOOL_RELEASE}/zap-linux-x64.zip \
&& umask 022 \
&& unzip -d /opt/zap -q zap-linux-x64.zip \
&& rm zap-linux-x64.zip

ENV STUDIO_ADAPTER_PACK_PATH="/opt/zap:/opt/commander"
ENV POST_BUILD_EXE="/opt/commander/commander"

RUN \
git clone --depth 1 -b ${GECKO_SDK_VERSION} https://github.com/SiliconLabs/gecko_sdk.git /gecko_sdk \
&& rm -rf /gecko_sdk/.git \
&& chmod 755 /gecko_sdk/protocol/zigbee/tool/image-builder/image-builder-linux

# Create the user
RUN groupadd --gid $USER_GID $USERNAME \
&& useradd --uid $USER_UID --gid $USER_GID -m $USERNAME

USER $USERNAME
WORKDIR /build

RUN \
slc configuration --sdk="/gecko_sdk/" \
&& slc signature trust --sdk "/gecko_sdk/" \
&& slc configuration \
--gcc-toolchain="/opt/arm-gnu-toolchain-${GCC_ARM_VERSION}-x86_64-arm-none-eabi/"
FROM debian:bookworm
ARG DEBIAN_FRONTEND=noninteractive
ARG GCC_ARM_VERSION="12.3.rel1"
ARG ZAP_TOOL_RELEASE="v2024.12.13"
ARG GECKO_SDK_VERSION="v4.4.5"
ARG USERNAME=builder
ARG USER_UID=1000
ARG USER_GID=$USER_UID
RUN \
apt-get update \
&& apt-get install -y --no-install-recommends \
bzip2 \
curl \
git \
git-lfs \
jq \
libgl1 \
make \
default-jre-headless \
patch \
python3 \
unzip \
xz-utils \
less \
&& apt-get clean
WORKDIR /tmp
# Install Simplicity Commander (unfortunately no stable URL available, this
# is known to be working with Commander_linux_x86_64_1v15p0b1306.tar.bz).
RUN \
curl -O https://www.silabs.com/documents/login/software/SimplicityCommander-Linux.zip \
&& unzip -q SimplicityCommander-Linux.zip \
&& tar -C /opt -xjf SimplicityCommander-Linux/Commander_linux_x86_64_*.tar.bz \
&& rm -r SimplicityCommander-Linux \
&& rm SimplicityCommander-Linux.zip
# Install Silicon Labs Configurator (slc)
RUN \
curl -O https://www.silabs.com/documents/login/software/slc_cli_linux.zip \
&& unzip -d /opt -q slc_cli_linux.zip \
&& chmod go-w /opt/slc_cli \
&& rm slc_cli_linux.zip
# Install ARM GCC embedded toolchain
RUN \
curl -L -O https://developer.arm.com/-/media/Files/downloads/gnu/${GCC_ARM_VERSION}/binrel/arm-gnu-toolchain-${GCC_ARM_VERSION}-x86_64-arm-none-eabi.tar.xz \
&& xzcat arm-gnu-toolchain-${GCC_ARM_VERSION}-x86_64-arm-none-eabi.tar.xz | tar -C /opt -xf -\
&& rm arm-gnu-toolchain-${GCC_ARM_VERSION}-x86_64-arm-none-eabi.tar.xz
ENV PATH="$PATH:/opt/arm-gnu-toolchain-${GCC_ARM_VERSION}-x86_64-arm-none-eabi/bin:/opt/slc_cli:/opt/commander"
ENV ARM_GCC_DIR="/opt/arm-gnu-toolchain-${GCC_ARM_VERSION}-x86_64-arm-none-eabi"
# Install ZAP adapter
RUN \
curl -OL https://github.com/project-chip/zap/releases/download/${ZAP_TOOL_RELEASE}/zap-linux-x64.zip \
&& umask 022 \
&& unzip -d /opt/zap -q zap-linux-x64.zip \
&& rm zap-linux-x64.zip
ENV STUDIO_ADAPTER_PACK_PATH="/opt/zap:/opt/commander"
ENV POST_BUILD_EXE="/opt/commander/commander"
RUN \
git clone --depth 1 -b ${GECKO_SDK_VERSION} https://github.com/SiliconLabs/gecko_sdk.git /gecko_sdk \
&& rm -rf /gecko_sdk/.git \
&& chmod 755 /gecko_sdk/protocol/zigbee/tool/image-builder/image-builder-linux
# Create the user
RUN groupadd --gid $USER_GID $USERNAME \
&& useradd --uid $USER_UID --gid $USER_GID -m $USERNAME
USER $USERNAME
WORKDIR /build
RUN \
slc configuration --sdk="/gecko_sdk/" \
&& slc signature trust --sdk "/gecko_sdk/" \
&& slc configuration \
--gcc-toolchain="/opt/arm-gnu-toolchain-${GCC_ARM_VERSION}-x86_64-arm-none-eabi/"
Loading
Loading