Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
c60d11a
Full library: wrapper, shim, 11 hw_tests, 6 examples, webserial, CI
Apr 7, 2026
c17fd04
Fix clang-format excludes for ams driver files
Apr 7, 2026
f482d10
Move library source files to src/
Apr 7, 2026
b0321d4
Remove INT pin from library, EN pin defaults to -1
Apr 7, 2026
31ce7b4
Fix PROGMEM/pgmspace for non-AVR platforms
Apr 7, 2026
38d2a42
Retrigger CI (gh-pages now on fork)
Apr 7, 2026
fcaeb5b
Refactor: EN_PIN default -1, add i2cSpeed to begin(), simplify examples
Apr 7, 2026
6354f3f
Fix Doxygen CI: hide badge from parser
Apr 7, 2026
a173fdd
Fix Doxygen: move cond block off heading line
Apr 7, 2026
b5fcb73
Fix Doxygen CI: exclude README.md from input
Apr 7, 2026
5723723
Refactor: extract halt() function in hw_tests and examples
Apr 7, 2026
42c65ee
Add EN_PIN and begin() comments to hw_tests and examples
Apr 7, 2026
67ab009
Fix begin() to work after MCU reset without power cycle
Apr 7, 2026
0cd6a89
Simplify 01_simpletest, add SPAD map enum
Apr 7, 2026
d45ff8a
Replace snprintf with Serial.print in 01_simpletest
Apr 7, 2026
47c40ec
Add readFrame() for 8x8 subcapture accumulation
Apr 7, 2026
d3ccaf8
Real 8x8 grid: strip reference channels, assemble from 4 subcaptures
Apr 7, 2026
99044e8
Fix 8x8 zone mapping: use subcapture number for row placement
Apr 7, 2026
565b527
Fix 8x8 zone map: use correct checkerboard interleave from ams spec
Apr 7, 2026
8d23a49
Fix 8x8 zone mapping: use official ams-OSRAM remap table
Apr 7, 2026
3a5534f
Side-by-side distance + confidence display, EN pin as #define
Apr 7, 2026
0ca1a1e
Revert direct pushes - will re-submit via PR
Apr 7, 2026
0c90af1
Fix 8x8 zone mapping: use official ams-OSRAM remap table
Apr 7, 2026
ed72b8b
Side-by-side distance + confidence display, EN pin as #define
Apr 7, 2026
dcd98f7
Rotate 8x8 grid output 90° CCW to match physical sensor orientation
Apr 7, 2026
4d9bb1a
Update examples 02+03: EN pin define, ANSI display, readFrame for 03
Apr 7, 2026
36bc5aa
Update examples 04-06: consistent TMF8828_EN_PIN define
Apr 7, 2026
335aba7
Add GPIO0/GPIO1 support: set/get modes, VCSEL sync, hw_test + example
Apr 8, 2026
aeec235
Add interrupt-driven ranging example (08)
Apr 8, 2026
fea8b23
Add active range, ambient/photon/ref counts, status readback + clear
Apr 8, 2026
d2657e5
Standardize hw_test pins: EN=3, INT=2; fix 02 validResults threshold
Apr 9, 2026
eaa60a4
Fix hw_tests 03 (stack overflow) and 09 (spurious edge tolerance)
Apr 9, 2026
9ced3f8
Fix test 02 validResults threshold for 8x8 open-air
Apr 12, 2026
cd9f133
Fix example 04: use readDeviceInfo instead of begin after address change
Apr 12, 2026
4fc83b3
Fix example 04: EN recovery + verify without begin after address change
Apr 12, 2026
3a2dd32
Rewrite example 05: low-power periodic 8x8 sensing with standby
Apr 12, 2026
8e67dad
Fix webserial: use ams remap table for 8x8 grid assembly
Apr 12, 2026
d9b3e5d
Rewrite webserial: send pre-assembled 8x8 frames from readFrame()
Apr 12, 2026
fc6dda2
Add 16x16 bicubic interpolation toggle to webserial visualizer
Apr 13, 2026
a1fcb77
Fix webserial: rotate grid 90 CCW to correct sensor orientation
Apr 13, 2026
51bcd01
Fix webserial: rotate grid 180 to match sensor orientation
Apr 13, 2026
6eabac4
Remove webserial from main (served from gh-pages only)
Apr 13, 2026
ff4b819
Rewrite GPIO example: button input + LED blink; add VCSEL sync to sim…
Apr 13, 2026
bd9a27d
Set EN_PIN=3 in GPIO example
Apr 13, 2026
aaa67e2
Remove unused GPIO1_PIN define from GPIO example
Apr 13, 2026
aa6ca35
Simplify GPIO example: alternate toggle of GPIO0 and GPIO1
Apr 13, 2026
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
13 changes: 13 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
Language: Cpp
BasedOnStyle: Google
IndentWidth: 2
ColumnLimit: 80
AllowShortFunctionsOnASingleLine: Empty
AllowShortIfStatementsOnASingleLine: false
AllowShortLoopsOnASingleLine: false
BinPackArguments: true
BinPackParameters: true
BreakBeforeBraces: Attach
DerivePointerAlignment: false
PointerAlignment: Left
SpacesBeforeTrailingComments: 1
45 changes: 45 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Arduino Library CI
#
# Copyright 2026 Adafruit Industries (Limor 'ladyada' Fried with assistance
# from Claude Code)
#
# MIT License

name: Arduino Library CI

on: [pull_request, push, repository_dispatch]

jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/setup-python@v4
with:
python-version: "3.x"
- uses: actions/checkout@v3
- uses: actions/checkout@v3
with:
repository: adafruit/ci-arduino
path: ci

- name: pre-install
run: bash ci/actions_install.sh

- name: clang
run: >-
python3 ci/run-clang-format.py -e "ci/*" -e "bin/*"
-e "*/tmf8828.c" -e "*/tmf8828.h"
-e "*/tmf8828_image.*" -e "*/tmf8828_calib.*"
-e "*/tmf882x_image.*" -e "*/tmf882x_calib.*"
-r .

- name: test platforms
run: python3 ci/build_platform.py esp32 feather_m4_express pico_rp2040 feather_rp2350 feather_esp32s3

- name: doxygen
env:
GH_REPO_TOKEN: ${{ secrets.GH_REPO_TOKEN }}
PRETTYNAME: "Adafruit TMF8828 Library"
PRESERVE_FOLDERS: "webserial"
run: bash ci/doxy_gen_and_deploy.sh
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
output.txt
Loading
Loading