Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
117 commits
Select commit Hold shift + click to select a range
934080b
WIP on beautifying examples
Jul 1, 2025
a31270a
fixed language in md file
Jul 1, 2025
da691ce
minor changes
Jul 1, 2025
c6ff141
Added doxygen documentation
TeaCupMe Jul 3, 2025
9ce6d74
Added action to automatically compile all examples
TeaCupMe Jul 3, 2025
a70f85f
Added new bootloader logic
TeaCupMe Jul 3, 2025
f3cfb94
WIP on implementing hw interfaces
TeaCupMe Jul 3, 2025
982b79e
WIP on new architecture
TeaCupMe Jul 4, 2025
cbac9ec
WIP on I2C rework
Jul 4, 2025
a551034
Finished I2C interface and WIP in SPI
TeaCupMe Jul 5, 2025
5de3119
Updated platform-dependent includes for adapters
Jul 5, 2025
9459949
Updated platform-dependent includes for adapters
Jul 5, 2025
a1e7df6
Merge branch 'dev/new-architecture' of https://github.com/TeaCupMe/In…
Jul 5, 2025
1c8fa06
WIP on reworking library
TeaCupMe Jul 6, 2025
6a0ff27
Adapters for SPI and I2C created, WIP on moving devices to new archit…
TeaCupMe Jul 6, 2025
52acf11
First successfull compile
TeaCupMe Jul 7, 2025
6df6419
Debugging Arduino IDE compilation
TeaCupMe Jul 7, 2025
bad1c6f
Debugging Arduino IDE compilation
TeaCupMe Jul 7, 2025
6318f5c
Debugging Arduino IDE compilation
TeaCupMe Jul 7, 2025
45ce3f4
Debugging Arduino IDE compilation
TeaCupMe Jul 7, 2025
62d7932
Debugging Arduino IDE compilation
TeaCupMe Jul 7, 2025
79a5fa8
Debugging Arduino IDE compilation
TeaCupMe Jul 8, 2025
d05bfe7
Altered Devices' constructors to accept const references in order for…
TeaCupMe Jul 8, 2025
005a4c5
Prioritize Arduino IDE api
Jul 8, 2025
4c45600
interfaces overhaul
TeaCupMe Jul 8, 2025
34a28c5
Merge branch 'dev/new-architecture' of https://github.com/TeaCupMe/In…
TeaCupMe Jul 8, 2025
763bb95
Prioritize Arduino IDE api
Jul 9, 2025
46eaa80
interfaces overhaul
TeaCupMe Jul 10, 2025
b4e6d0d
WIP on prioritizing Arduino API
Jul 13, 2025
18bf384
WIP
Jul 13, 2025
d96144e
WIP
Jul 13, 2025
8b9eab4
WIP
Jul 13, 2025
f78dfe0
WIP
Jul 13, 2025
2b460af
WIP
Jul 13, 2025
91aa81c
WIP
Jul 13, 2025
bb0ebc4
WIP
Jul 14, 2025
2405fa8
WIP
Jul 14, 2025
775676f
WIP
Jul 14, 2025
a5c5b26
WIP
Jul 14, 2025
c854260
WIP
Jul 14, 2025
4f9a9db
WIP
Jul 14, 2025
c15447b
Cleanup and fix I2C adressing
Jul 25, 2025
791f0b9
IntroStratLib integrated into IntroSatLib
TeaCupMe Aug 30, 2025
b555b42
actions modified
TeaCupMe Aug 30, 2025
2005b10
minor cleanup
TeaCupMe Aug 30, 2025
be8d5e7
Added doxygen documentation
TeaCupMe Jul 3, 2025
b5f1d7e
Added action to automatically compile all examples
TeaCupMe Jul 3, 2025
2fea761
Added new bootloader logic
TeaCupMe Jul 3, 2025
76e149d
WIP on implementing hw interfaces
TeaCupMe Jul 3, 2025
f2e4f6d
WIP on new architecture
TeaCupMe Jul 4, 2025
1ace65c
WIP on I2C rework
Jul 4, 2025
bc67892
Finished I2C interface and WIP in SPI
TeaCupMe Jul 5, 2025
32bb60f
Updated platform-dependent includes for adapters
Jul 5, 2025
691901e
Updated platform-dependent includes for adapters
Jul 5, 2025
81bbd90
WIP on reworking library
TeaCupMe Jul 6, 2025
93fe502
Adapters for SPI and I2C created, WIP on moving devices to new archit…
TeaCupMe Jul 6, 2025
b740f71
First successfull compile
TeaCupMe Jul 7, 2025
2304151
Debugging Arduino IDE compilation
TeaCupMe Jul 7, 2025
3fce1ea
Debugging Arduino IDE compilation
TeaCupMe Jul 7, 2025
c0f24eb
Debugging Arduino IDE compilation
TeaCupMe Jul 7, 2025
57a5bcb
Debugging Arduino IDE compilation
TeaCupMe Jul 7, 2025
687ed37
Debugging Arduino IDE compilation
TeaCupMe Jul 7, 2025
54e2534
Debugging Arduino IDE compilation
TeaCupMe Jul 8, 2025
662e649
Altered Devices' constructors to accept const references in order for…
TeaCupMe Jul 8, 2025
6f9c91f
Prioritize Arduino IDE api
Jul 8, 2025
2371e4b
Prioritize Arduino IDE api
Jul 9, 2025
443a718
interfaces overhaul
TeaCupMe Jul 10, 2025
6fa4ad0
WIP on prioritizing Arduino API
Jul 13, 2025
e7a7041
WIP
Jul 13, 2025
c161ee3
WIP
Jul 13, 2025
22d44f6
WIP
Jul 13, 2025
dd20361
WIP
Jul 13, 2025
5b023c4
WIP
Jul 13, 2025
39dd28f
WIP
Jul 13, 2025
9779bdb
WIP
Jul 14, 2025
df26b62
WIP
Jul 14, 2025
107e51f
WIP
Jul 14, 2025
7141964
WIP
Jul 14, 2025
5eee043
WIP
Jul 14, 2025
0f5d66c
WIP
Jul 14, 2025
0726731
Cleanup and fix I2C adressing
Jul 25, 2025
9644a6e
IntroStratLib integrated into IntroSatLib
TeaCupMe Aug 30, 2025
38ddd11
actions modified
TeaCupMe Aug 30, 2025
7e98f74
minor cleanup
TeaCupMe Aug 30, 2025
40b8a99
Accelerometer examples modified to fit new architecture
TeaCupMe Aug 30, 2025
c6cf039
Merge branch 'staging' into dev/examples
TeaCupMe Aug 30, 2025
5e19704
Code compiles in both Arduino IDE and CubeIDE
TeaCupMe Aug 30, 2025
b68788d
Minor tweaks
TeaCupMe Sep 2, 2025
f6ccee6
actions fixed
TeaCupMe Sep 2, 2025
faa12f8
actions tweaked
TeaCupMe Sep 2, 2025
f3efd4b
actions tweaked
TeaCupMe Sep 2, 2025
2456873
Backwards compatibility implemented
TeaCupMe Sep 2, 2025
66d07ce
Merge branch 'dev/examples' into dev/new-architecture
TeaCupMe Sep 2, 2025
398b12a
Новая архитектура, примеры (#23)
TeaCupMe Sep 3, 2025
d325872
Actions fixed (#27)
TeaCupMe Sep 10, 2025
22ac94c
[#40] fix conflicting guard defines (#41)
TeaCupMe Oct 3, 2025
5308221
Added Vector3
TeaCupMe Oct 6, 2025
de491b2
[FIX] Fixed #46, #37, #35
TeaCupMe Oct 7, 2025
1bd96aa
Добавление платформонезависимого UART (#34)
TeaCupMe Oct 7, 2025
f71ea70
Новая структура папки examples, новые примеры (#39)
TeaCupMe Oct 7, 2025
197a13d
[CLEANUP] fix compiler warnings (#42)
TeaCupMe Oct 8, 2025
1fd0e38
Merge branch 'dev/vector3' into staging
TeaCupMe Oct 8, 2025
3b111d2
STM32CubeIDE compatibility for blank .ioc
TeaCupMe Oct 8, 2025
37e6884
hotfix for hal uart
TeaCupMe Oct 8, 2025
c8433e1
Удалил файлы документации
TeaCupMe Oct 14, 2025
717d99f
Исправления для LM75A (#60)
TeaCupMe Oct 16, 2025
66077be
Изменение CI/CD (#74)
TeaCupMe Nov 6, 2025
72f3baa
[FIX] Исправлены битовые сдвиги в MS5611 (#57)
TeaCupMe Nov 6, 2025
7c29029
Добавлен I2CScanner (#66)
TeaCupMe Nov 6, 2025
4b59c98
[FIX] Исправлена инициализация LightSensor (#67)
TeaCupMe Nov 6, 2025
2ec8057
Обновление CI/CD (#76)
TeaCupMe Nov 6, 2025
610e232
[FIX] Файлы Bootloader.h и .cpp переименованы в ISL_Bootloader (#82)
TeaCupMe Nov 27, 2025
ee18c7f
[FIX] Исправлена ошибка пересчёта показаний при низких температурах. …
unflesh Nov 27, 2025
20ba2e9
[FIX] Исправления в I2CScanner.h (#80)
irongamer54 Nov 27, 2025
0b53638
[FIX] Исправил опечатку в CI/CD (#85)
TeaCupMe Nov 28, 2025
2c64c75
[FEAT] Добавил поддержку EnterBootloader для IntroSat.Pico (#89)
TeaCupMe Nov 28, 2025
7eb2f01
[CI/CD] Изменения в CI/CD (#92)
TeaCupMe Dec 4, 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
258 changes: 258 additions & 0 deletions .github/workflows/compile-examples.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,258 @@
name: Compile Examples

on:
push:
paths:
- ".github/workflows/compile-examples.yml"
- "examples/**"
- "src/**"
branches:
- main
- examples
- dev/*
- actions
pull_request:
paths:
- ".github/workflows/compile-examples.yml"
- "examples/**"
- "src/**"
branches:
- main
- staging
schedule:
# Run every Tuesday at 8 AM UTC to catch breakage caused by changes to external resources (stm32duino).
- cron: "0 8 * * TUE"
workflow_dispatch:
repository_dispatch:

jobs:
build-legacy-codes:
name: Build Legacy codes in Arduino IDE (F103C8, F103CB)
runs-on: ubuntu-latest
strategy:
matrix:
fqbn:
- STMicroelectronics:stm32:GenF1:pnum=BLUEPILL_F103C8
- STMicroelectronics:stm32:GenF1:pnum=BLUEPILL_F103CB
steps:
- uses: actions/checkout@v4

- name: Compile sketches
uses: arduino/compile-sketches@v1
with:
verbose: false
enable-warnings-report: true
enable-deltas-report: true
github-token: ${{ secrets.GITHUB_TOKEN }}
fqbn: ${{ matrix.fqbn }}
sketch-paths:
"- legacy_codes"
platforms: |
- name: STMicroelectronics:stm32
source-url: https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json
cli-compile-flags: |
- --warnings="default"

- name: Transform fqbn with awk
id: get_fqbn
run: |
fqbn=$(echo "${{ matrix.fqbn }}" | awk 'gsub(/:/, "_")')
echo "fqbn=$fqbn" >> $GITHUB_OUTPUT

- name: Upload reports of generated sketches
uses: actions/upload-artifact@v4
with:
name: 'introsat-legacy-codes-reports-${{ steps.get_fqbn.outputs.fqbn }}'
path: sketches-reports

build-examples-introsat:
name: Build IntroSat examples for Arduino IDE (F103C8)
runs-on: ubuntu-latest
needs: build-legacy-codes
strategy:
matrix:
fqbn:
- STMicroelectronics:stm32:GenF1:pnum=BLUEPILL_F103C8
- STMicroelectronics:stm32:GenF1:pnum=BLUEPILL_F103CB
steps:
- uses: actions/checkout@v4

- name: Compile sketches
uses: arduino/compile-sketches@v1
with:
verbose: false
enable-warnings-report: true
enable-deltas-report: true
github-token: ${{ secrets.GITHUB_TOKEN }}
fqbn: ${{ matrix.fqbn }}
sketch-paths:
"- examples/IntroSat"
platforms: |
- name: STMicroelectronics:stm32
source-url: https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json
cli-compile-flags: |
- --warnings="default"

- name: Transform fqbn with awk
id: get_fqbn
run: |
fqbn=$(echo "${{ matrix.fqbn }}" | awk 'gsub(/:/, "_")')
echo "fqbn=$fqbn" >> $GITHUB_OUTPUT

- name: Upload reports of generated sketches
uses: actions/upload-artifact@v4
with:
name: 'introsat-examples-reports-${{ steps.get_fqbn.outputs.fqbn }}'
path: sketches-reports

build-examples-introsat-platform:
name: Build IntroSat.Platform examples for Arduino IDE (H750VBx)
runs-on: ubuntu-latest
needs: build-legacy-codes
strategy:
matrix:
fqbn:
- STMicroelectronics:stm32:GenH7:pnum=GENERIC_H750VBTX
steps:
- uses: actions/checkout@v4

- name: Compile sketches
uses: arduino/compile-sketches@v1
with:
verbose: false
enable-warnings-report: true
enable-deltas-report: true
github-token: ${{ secrets.GITHUB_TOKEN }}
fqbn: ${{ matrix.fqbn }}
sketch-paths:
"- examples/IntroSat.Platform"
platforms: |
- name: STMicroelectronics:stm32
source-url: https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json
cli-compile-flags: |
- --warnings="default"

- name: Transform fqbn with awk
id: get_fqbn
run: |
fqbn=$(echo "${{ matrix.fqbn }}" | awk 'gsub(/:/, "_")')
echo "fqbn=$fqbn" >> $GITHUB_OUTPUT

- name: Upload reports of generated sketches
uses: actions/upload-artifact@v4
with:
name: 'introsat-platform-examples-reports-${{ steps.get_fqbn.outputs.fqbn }}'
path: sketches-reports

build-examples-introsat-pico:
name: Build IntroSat.Pico examples for Arduino IDE (ATMega328PB)
runs-on: ubuntu-latest
needs: build-legacy-codes
strategy:
matrix:
fqbn:
- arduino:avr:uno
- MiniCore:avr:328:variant=modelPB
steps:
- uses: actions/checkout@v4

- name: Compile sketches
uses: arduino/compile-sketches@v1
with:
verbose: false
enable-warnings-report: true
enable-deltas-report: true
github-token: ${{ secrets.GITHUB_TOKEN }}
fqbn: ${{ matrix.fqbn }}
sketch-paths:
"- examples/IntroSat.Pico"
platforms: |
- name: MiniCore:avr
source-url: https://mcudude.github.io/MiniCore/package_MCUdude_MiniCore_index.json
- name: arduino:avr
cli-compile-flags: |
- --warnings="default"

- name: Transform fqbn with awk
id: get_fqbn
run: |
fqbn=$(echo "${{ matrix.fqbn }}" | awk 'gsub(/:/, "_")')
echo "fqbn=$fqbn" >> $GITHUB_OUTPUT

- name: Upload reports of generated sketches
uses: actions/upload-artifact@v4
with:
name: 'introsat-pico-examples-reports-${{ steps.get_fqbn.outputs.fqbn }}'
path: sketches-reports

list-examples-cubeide:
name: List available examples for CubeIDE
runs-on: ubuntu-latest
outputs:
folders: ${{ steps.list_examples.outputs.folders }}
steps:
- name: Checkout Obu-IntroSat/Examples-CubeIDE
uses: actions/checkout@v4
with:
repository: Obu-IntroSat/Examples-CubeIDE
token: ${{ secrets.OBU_EXAMPLES_CUBEIDE_TOKEN }}

- name: List examples
id: list_examples
run: |
folders=$(find ./ -maxdepth 1 -mindepth 1 -type d ! -name '.*' ! -name 'IntroSatLib' -printf '%P\n' | jq -R -s -c 'split("\n")[:-1]')
echo "folders=$folders" >> "$GITHUB_OUTPUT"

build-examples-cubeide:
name: Build available examples for CubeIDE
runs-on: ubuntu-latest
needs: list-examples-cubeide
strategy:
matrix:
folder: ${{ fromJson(needs.list-examples-cubeide.outputs.folders) }}
steps:
- name: Checkout Obu-IntroSat/Examples-CubeIDE
uses: actions/checkout@v4
with:
repository: Obu-IntroSat/Examples-CubeIDE
token: ${{ secrets.OBU_EXAMPLES_CUBEIDE_TOKEN }}

- name: Checkout IntroSatLib
uses: actions/checkout@v4
with:
path: IntroSatLib

- name: Build example
uses: xanderhendriks/action-build-stm32cubeide@v16.0
with:
project-path: ${{matrix.folder}}
project-target: '${{matrix.folder}}'

- name: Upload compiled binary
uses: actions/upload-artifact@v4
with:
name: 'Compiled binary for ${{ matrix.folder }}'
path: ${{matrix.folder}}/Debug/*.elf

generate-docs:
runs-on: ubuntu-latest
needs:
- build-examples-introsat
- build-examples-introsat-pico
- build-examples-introsat-platform
- build-examples-cubeide

steps:
- uses: actions/checkout@v4

- name: Generate Doxygen files
uses: mattnotmitt/doxygen-action@edge
with:
working-directory: '.'
doxyfile-path: './doxygen/doxygen.conf'

- uses: actions/upload-artifact@v4
with:
name: 'IntroSatLib-docs'
path: './doxygen/'

32 changes: 32 additions & 0 deletions .github/workflows/publish-docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: Publish Doxygen documentation

on:
push:
tags:
- "v*"
workflow_dispatch:
repository_dispatch:

jobs:
generate-docs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Generate Doxygen files
uses: mattnotmitt/doxygen-action@edge
with:
working-directory: '.'
doxyfile-path: './doxygen/doxygen.conf'

- name: Upload generated docs as artifact
uses: actions/upload-artifact@v4
with:
name: 'IntroSatLib-docs-${{github.ref_name}}'
path: './doxygen/'

- name: Deploy Doxygen files to GH Pages
uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./doxygen/html
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -30,3 +30,11 @@
*.exe
*.out
*.app

# folder with local tools
tools/*

# documentation
doxygen/*
!doxygen/doxygen-style.css
!doxygen/doxygen.conf
12 changes: 10 additions & 2 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,14 @@
"xstring": "cpp",
"xtree": "cpp",
"xutility": "cpp",
"xiosbase": "cpp"
}
"xiosbase": "cpp",
"xmemory": "cpp",
"istream": "cpp",
"cmath": "cpp",
"complex": "cpp",
"cstdlib": "cpp"
},
"C_Cpp.default.defines": [
"ARDUINO"
]
}
Loading
Loading