Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
395 commits
Select commit Hold shift + click to select a range
1d37ef4
add i2c options
brentru May 7, 2025
734dd60
fix oneof options
brentru May 7, 2025
2ef3b7c
add enable to adjust brightness
brentru May 7, 2025
0a74dc9
this'll simplify the removal subroutine
brentru May 8, 2025
9704f83
oneof the I2cDeviceOutputWrite payload
brentru May 12, 2025
b20a5d0
rm unused fields from initial design
brentru May 13, 2025
31c6906
inc. msg buffer sz
brentru May 13, 2025
a5cadbf
Add OLED commands, refactor towards v1 api
brentru May 20, 2025
13325a9
Merge branch 'master' into api-v2
brentru May 21, 2025
ed54f4d
add OLEDWrite submsg
brentru May 21, 2025
e1112c5
UART revisions
brentru May 22, 2025
31d646d
update .options and signal
brentru May 22, 2025
d12a792
Fix naming in signal
brentru May 22, 2025
8d6fcab
Add UARTWrite/UARTWritten req/resp
brentru May 22, 2025
c6334b8
Add: GPS.proto
brentru May 27, 2025
1a08875
Sort mports alphabetically
brentru May 27, 2025
2aec8f6
Add Options file for GPS
brentru May 27, 2025
969a60b
Update uart.proto, uart.options
brentru May 28, 2025
e6b79ff
Update uart.options
brentru May 28, 2025
4bd2f75
Update uart.proto - include uart_nbr
brentru May 29, 2025
517e1de
Uart.proto - Add more detailed addressing
brentru May 29, 2025
578f208
Uart.proto - Added device_id to UartDeviceConfig
brentru May 29, 2025
627652b
Uart.proto - Add period field to all inputs
brentru May 30, 2025
492e3a0
uart.proto - add sensor.proto event to req/resp
brentru May 30, 2025
4e42234
uart.proto - sort imports
brentru May 30, 2025
5f3ec33
uart.proto - constrain max_count on sensor_types
brentru May 30, 2025
cca78c8
Uart.options - Add UartInputEvent fields
brentru Jun 2, 2025
09bf58e
uart.proto - oneof the device type
brentru Jun 3, 2025
be3dc9d
GPS.proto - Add repeated commands field
brentru Jun 13, 2025
850d73c
Resolve merge conflict
brentru Jun 13, 2025
20cff93
gps NMEA max
brentru Jun 23, 2025
0ee620d
GPS - add Responses
brentru Jun 24, 2025
478e51b
GPS - fix responses error
brentru Jun 24, 2025
aee75b7
GPS - Responses should be calculated on-device rather than passed thr…
brentru Jun 25, 2025
607702e
GPS - remove response options
brentru Jun 25, 2025
6811f7b
GPS - Add Period for polling
brentru Jun 25, 2025
3a7d109
GPS - Add GPSEvent message
brentru Jun 27, 2025
2aad669
GPS - Update GPSEvent compiler directives
brentru Jun 27, 2025
d0fbb8d
GPS - Signal stores GPSEvent
brentru Jul 1, 2025
d54396c
I2C - Include GPS.proto
brentru Jul 2, 2025
6b71dc3
I2c.proto - Sort Imports
brentru Jul 2, 2025
4770cd7
I2c - Remove redundant bool fields within I2cDeviceAddorReplace
brentru Jul 2, 2025
2afb042
I2c.proto - Add back is_output, is_gps fields because they are sent b…
brentru Jul 2, 2025
4ba1574
GPS.proto - Fix invalid field numbers
brentru Jul 8, 2025
8eb4a0a
GPS.proto - Update for UBX commands
brentru Jul 9, 2025
768d607
GPS.options - Change ubx arguments
brentru Jul 9, 2025
9f61c41
GPS.options - Reduce max_sz option
brentru Jul 10, 2025
dc4517e
UART.proto - Incorrectly references i2c sensor types instead of UART
brentru Jul 24, 2025
415b329
UART.options - Fix sensor count pb_callback_t
brentru Jul 24, 2025
6b6d86d
UART.proto - Fix sensor type issue in PM25AQI
brentru Jul 24, 2025
4904d4e
Changes for @lorennorman
brentru Oct 23, 2025
5ff730a
shift -10
brentru Oct 23, 2025
c1c2baa
Merge branch 'master' into api-v2
brentru Oct 23, 2025
fcf755f
Add - Uart.proto device_name field for CPython
brentru Oct 27, 2025
fe9a903
dream a little
lorennorman Nov 5, 2025
6055352
refactor to local b2d/d2b message packing/routing
lorennorman Nov 5, 2025
c5f3f1f
follow established message name prefixing
lorennorman Nov 5, 2025
d80a54b
experiment with protolint
lorennorman Nov 5, 2025
3bf3b3b
fix and disable lints
lorennorman Nov 5, 2025
5eb8585
consolidate write duty/frequency, drop duty multi
lorennorman Nov 5, 2025
f51db6a
checkinresponse adds and checkincomplete
lorennorman Nov 5, 2025
e72ea43
peel off a couple of redundant naming layers
lorennorman Nov 5, 2025
d6aff7d
abbreviate enum field prefixes, disable lint
lorennorman Nov 5, 2025
a0a20dc
crush the toplevel package
lorennorman Nov 5, 2025
49bd9a7
tidy, numbering
lorennorman Nov 6, 2025
8d2050f
all nano refs in .options files
lorennorman Nov 6, 2025
2df0d48
Merge branch 'api-v2' into api-v2-experiment
lorennorman Nov 6, 2025
bd7da8f
fixup for protoc after upstream merge
lorennorman Nov 6, 2025
3c82f51
Merge branch 'api-v2-experiment' into ap-v2-experiment-2
lorennorman Nov 6, 2025
d22eeec
fix options after protoc feedback
lorennorman Nov 6, 2025
7326c4a
extraneous import
lorennorman Nov 6, 2025
0ca9424
Merge branch 'api-v2' into api-v2-experiment
lorennorman Nov 6, 2025
77d8f83
Merge branch 'api-v2-experiment' into ap-v2-experiment-2
lorennorman Nov 6, 2025
ca3b403
bring in mise for tool management, script js wrapper builds
lorennorman Nov 10, 2025
994754d
organize gitignore a bit
lorennorman Nov 10, 2025
9095a16
restore v1 args
lorennorman Nov 10, 2025
5c67e3d
try mise on gh:a
lorennorman Nov 10, 2025
34b468f
oops, react brain
lorennorman Nov 10, 2025
6895929
multiline run clause
lorennorman Nov 10, 2025
29eb97f
try artifacts
lorennorman Nov 10, 2025
053ce88
clean js_out, include nanopb.proto
lorennorman Nov 10, 2025
010d93e
clone js build to arduino, manage python, call from ci
lorennorman Nov 10, 2025
d62afff
enable submodules in gh:a
lorennorman Nov 10, 2025
c9b0158
python dependencies
lorennorman Nov 10, 2025
9744cb0
add some debug info
lorennorman Nov 10, 2025
c5d6cb9
also do pip list
lorennorman Nov 10, 2025
b23983d
try other pip libs, better debug info
lorennorman Nov 10, 2025
ccdf1bd
arduino build works, upload artifacts
lorennorman Nov 10, 2025
2c72a1b
add check for protoc-gen-nanopb plugin submodule
lorennorman Nov 10, 2025
ccd4ac2
comment
lorennorman Nov 10, 2025
c468c9c
try python
lorennorman Nov 10, 2025
7c38e97
more checks, tweaks
lorennorman Nov 10, 2025
74ec583
Merge branch 'unify-builds' into unify-builds-v2
lorennorman Nov 10, 2025
6e5bd71
update all build commands
lorennorman Nov 10, 2025
7548c8a
add linting
lorennorman Nov 10, 2025
54652d4
test a broken lint
lorennorman Nov 10, 2025
1b03da5
fix lint
lorennorman Nov 10, 2025
ac8d854
bash: extract functions, add test script
lorennorman Nov 11, 2025
e7240c3
whitespace
lorennorman Nov 11, 2025
1444ee9
Modify protos to reflect proposed changes
brentru Nov 12, 2025
c9eed56
OUT_PATH is open for override
lorennorman Nov 12, 2025
315fee7
Merge pull request #155 from adafruit/unify-builds-v2
lorennorman Nov 12, 2025
cd37c49
Merge remote-tracking branch 'adafruit/api-v2' into api-v2-experiment
brentru Nov 12, 2025
fb88dfc
Fix bin/build-arduino not respecting plugin
brentru Nov 12, 2025
ac2497e
Fix - checkin.options size to compile correctly
brentru Nov 12, 2025
009e62f
go tool, build-docs script, append to gh:a
lorennorman Nov 13, 2025
5556bdc
add go stuff to debug info step
lorennorman Nov 13, 2025
0441e80
Add - Fill out error.proto, desciptor for uart.proto
brentru Nov 14, 2025
998f4c2
Fix - Uartdescriptor requires comment
brentru Nov 14, 2025
5362320
Merge branch 'api-v2' into api-v2-experiment
lorennorman Nov 14, 2025
d370105
fix go install dep, add comments
lorennorman Nov 14, 2025
52aa368
try some stuff
lorennorman Nov 14, 2025
8495cf5
try stuff on gh:a
lorennorman Nov 14, 2025
8b5cdc0
comment problematic line for now
lorennorman Nov 14, 2025
ee8e022
Merge branch 'api-v2' into api-v2-experiment
lorennorman Nov 14, 2025
af9a040
Merge branch 'api-v2-experiment' into ap-v2-experiment-2
lorennorman Nov 14, 2025
05b91a7
have new commits match experiment 2 style
lorennorman Nov 14, 2025
d7400ec
Merge pull request #153 from adafruit/ap-v2-experiment-2
lorennorman Nov 14, 2025
ac96635
delete all legacy actions
lorennorman Nov 14, 2025
8d1d1d3
[checkin] Remove max_count
brentru Nov 24, 2025
e9b7478
[Add] Sleep Mode Draft PR
brentru Dec 18, 2025
b7b6b0d
Add goodnight message
brentru Dec 18, 2025
60507cf
Implement sleep into checkin.proto
brentru Dec 18, 2025
e88e705
Add sleep to checkin, duration for loop
brentru Dec 19, 2025
f252eff
Removing potentially redundant WakeUpSource field
brentru Dec 29, 2025
b244490
Change Pin to EXT0 to specify clearly what source we're using, confli…
brentru Dec 29, 2025
30cff34
Add Wakeup submessag eto Request
brentru Dec 30, 2025
3cd2fbf
Wake, not Wakeup
brentru Dec 30, 2025
e65baf1
Drop run duration
brentru Jan 6, 2026
c96bff7
Add initial Write for APIs that require it
brentru Feb 9, 2026
29dfcbd
Fix: setuptools-pkg-resources
brentru Feb 9, 2026
1f07627
Put Setuptools back
brentru Feb 9, 2026
c74743b
Drop setuptools to 75.3.4
brentru Feb 9, 2026
1ee99e4
Merge pull request #162 from adafruit/v2-add-nested-xWritexEvent
brentru Feb 18, 2026
b783c2d
try the buf-es builder
lorennorman Feb 19, 2026
ed0463d
run npm before build-js in ci
lorennorman Feb 19, 2026
2b5b75c
use require not import
lorennorman Feb 19, 2026
afe84d7
remove protoc-gen-js
lorennorman Feb 23, 2026
8fe97b5
Merge pull request #163 from adafruit/buf-es
lorennorman Feb 23, 2026
532e33b
add MSG_W_CB type for nanopb generator
brentru Feb 24, 2026
9ee1dc4
Try submsg_callback instead?
brentru Feb 24, 2026
86156ce
drop payload tag
brentru Feb 24, 2026
1df8a96
Merge pull request #159 from adafruit/add-sleep
brentru Feb 24, 2026
941d520
rename analog event event -> value to match digital
lorennorman Feb 26, 2026
b46ce3e
drop wake cause, rename Enter -> SleepConfig, move repeated Component…
lorennorman Feb 27, 2026
defeef8
forgot the `s`!
lorennorman Feb 27, 2026
7805157
please the linter with plurals
lorennorman Feb 27, 2026
2425fdb
oops js brain
lorennorman Feb 27, 2026
a90f52b
Merge pull request #164 from adafruit/sleep-tweaks
lorennorman Mar 2, 2026
09ea57a
Match ext0 field from tweak
brentru Mar 2, 2026
3f0d0e8
remove text message from goodnight pb
lorennorman Mar 3, 2026
dfa81b4
chore(ignore): Avoid Visual Studio internal files
tyeth Jan 28, 2026
854c619
Add v1 display proto
tyeth Feb 5, 2026
5f51a1f
change namespace from v1 to ws.display
tyeth Feb 5, 2026
4b9dc39
Add new display interface types
tyeth Feb 5, 2026
95db1c3
wip: todos
tyeth Feb 5, 2026
61094d2
Add other DisplayWrite message types
tyeth Feb 5, 2026
fc73c0a
add formatting file + format display file
tyeth Feb 6, 2026
ac934cc
Add url option to display write
tyeth Feb 6, 2026
59b055f
Wire display into signal.proto
tyeth Feb 6, 2026
d3d048a
Add I2C interface type
tyeth Feb 6, 2026
5a580e5
link to new display proto before docs regen
tyeth Feb 10, 2026
a7cd6ef
Add v2 docs / update mermaid diagrams
tyeth Feb 10, 2026
fae641f
wip: proposal
tyeth Feb 10, 2026
2383c33
wip: proposal panel string
tyeth Feb 10, 2026
c324593
formatting
tyeth Feb 10, 2026
9dc725c
wip: proposed changes
tyeth Feb 10, 2026
bb473b5
wip: i2c display proto missing mux/bus info
tyeth Feb 10, 2026
d379538
drop nanopb options from display.proto
tyeth Feb 24, 2026
3b2720e
drop sensor.proto import from display.proto
tyeth Feb 24, 2026
e7c33f9
add missing ds18b20 B2D
tyeth Feb 24, 2026
54e16a8
Drop i2c_output
tyeth Mar 3, 2026
fe489f0
Add write to initial message to support write at checkin
tyeth Mar 3, 2026
945af1d
appease linter
lorennorman Mar 9, 2026
d3dbce1
display proto dofaults and callbacks
tyeth Mar 10, 2026
e88ac32
Drop DSI pins, refactor backlight
tyeth Mar 10, 2026
4dc97e2
Fix default true for DisplayWrite->clear_first
tyeth Mar 10, 2026
5f4f0eb
tidy, drop i2c output and datalogging, bus/mux clarity
lorennorman Mar 10, 2026
5a4b820
Add displays back to checkin/componentAdd
tyeth Mar 11, 2026
4dece8a
Migrate to i2c DeviceDescriptor
tyeth Mar 12, 2026
4b2ec4b
rename display type to DisplayClass
tyeth Mar 12, 2026
ca9558a
Base SPI Pin Config, DisplayProperties (w/h/r/txtSz)
tyeth Mar 12, 2026
a46f4ae
Update display.options after SpiPinConfig/DisplayProperties refactor
tyeth Mar 12, 2026
50a1ff4
Refactor common i2c device descriptor to shared file (cyclic dependen…
tyeth Mar 12, 2026
7573e93
fixes
lorennorman Mar 12, 2026
48ef9d5
fix options file
lorennorman Mar 12, 2026
32969a9
more options
lorennorman Mar 12, 2026
834aa72
Lint
brentru Mar 12, 2026
5f719b8
Merge pull request #166 from adafruit/i2c-tweaks
brentru Mar 12, 2026
1c25573
Remove predefined bus, support variables
brentru Mar 16, 2026
26fbdde
Update i2c.options
brentru Mar 16, 2026
7992907
Reduce max_count for scans to 16
brentru Mar 18, 2026
a66f72b
Merge pull request #167 from adafruit/i2c-n-buses
brentru Mar 18, 2026
dd21663
Remove i2c output include from i2c.proto
brentru Mar 18, 2026
a4ee695
[I2C] SDA/SCL pins as ints
brentru Mar 18, 2026
5858d91
readme tweak
tyeth Mar 25, 2026
6691e4a
Refactor around gps.proto
brentru Mar 25, 2026
b411ac5
Missed semicoln
brentru Mar 25, 2026
92e2cad
Refactor around gps.proto
brentru Mar 25, 2026
1930dd5
Add missing message
brentru Mar 25, 2026
7e9e521
Merge remote-tracking branch 'upstream/gps-update' into v2-displays-p…
tyeth Mar 25, 2026
3307d10
Refactor display out of i2c, drop i2c_types
tyeth Mar 25, 2026
5b86b60
lint issues
tyeth Mar 25, 2026
6e258f1
Merge pull request #168 from adafruit/gps-update
brentru Mar 25, 2026
da3cca7
Fix field type
brentru Mar 26, 2026
b0398da
Merge pull request #171 from adafruit/fix-small-gps-issue
brentru Mar 26, 2026
d2cf697
[GPS] Match added, replaced in GPS.proto
brentru Mar 27, 2026
0f8eb8b
[GPS] Fix bug
brentru Mar 27, 2026
c45df9a
[UART] Add Removed message to pair Remove/Removed req/resp
brentru Mar 27, 2026
cc9d0af
Cleanup name, added/remove success, allow gpio/pwm backlight
tyeth Apr 2, 2026
8127ec7
fix rotation comment
tyeth Apr 2, 2026
6152e44
pr feedback
tyeth Apr 2, 2026
9829887
unbreak mermaid diagram
tyeth Apr 2, 2026
70b19e4
Revert changes to package-lock.json from 54e16a8204783f0a4d40ed129940…
tyeth Apr 2, 2026
f383cb3
Update display proto docs after refactor
tyeth Apr 2, 2026
fb2d688
drop progress tracking document
tyeth Apr 2, 2026
4cdee06
refactor(docs): bring inline with v2 proposals
tyeth Apr 2, 2026
0c1843e
[Pixels] Add Removed
brentru Apr 3, 2026
79757ac
Merge pull request #170 from tyeth/v2-displays-plus-i2c
tyeth Apr 9, 2026
3f21028
feat(spi): introduce reusable SPI device configuration and update dis…
tyeth Apr 2, 2026
6340ceb
PR feedback - cleanup SPI / pin comments
tyeth Apr 17, 2026
697f7f5
Checkin - initial expander API
brentru Apr 21, 2026
5f00fb7
reduce ws.spi.DeviceConfig to Config
tyeth Apr 22, 2026
b3411a2
Merge pull request #174 from adafruit/spi-protos
tyeth Apr 22, 2026
a2bbb66
Rename DeviceConfig to Config in spi.options
tyeth Apr 23, 2026
8ca2068
Merge pull request #182 from adafruit/spi-protos
tyeth Apr 23, 2026
0b27f72
split i2c address from address space
lorennorman Apr 29, 2026
d5323c9
Merge pull request #184 from adafruit/v2-i2c-address-space
lorennorman Apr 29, 2026
1ae4dab
Add read mode
brentru May 4, 2026
c702eed
Merge pull request #186 from adafruit/fix-analog
brentru May 4, 2026
0b9c8bc
Increase max_size in pwm.proto
brentru May 5, 2026
6a8781c
fix(proto): description for light type
tyeth May 7, 2026
131ed33
Use cfg_ prefix in prep for SPI expanders
brentru May 8, 2026
9ff01bd
remove digitalio import
brentru May 8, 2026
e60e2a4
Merge pull request #181 from adafruit/add/expanders
brentru May 8, 2026
dc9a4af
remove superfluous message type
lorennorman May 8, 2026
b16ed39
Merge pull request #190 from adafruit/address-as-uint32
lorennorman May 8, 2026
884b46d
Merge pull request #189 from adafruit/proto-tweaks
tyeth May 12, 2026
2d9118d
use map protobuf type
lorennorman May 13, 2026
7939a9c
tidy many noisy message/field prefixes
lorennorman May 14, 2026
6d9aaf2
oops options tidy
lorennorman May 14, 2026
44935c9
call sensor types "types"
lorennorman May 14, 2026
08bf6fd
refactor: reorganize message fields in display.proto and display.options
tyeth May 14, 2026
f453235
Merge pull request #195 from adafruit/display-name-tweak
tyeth May 14, 2026
c56856c
Merge pull request #194 from adafruit/use-maps
lorennorman May 14, 2026
222509c
Add status_bar field to display configuration
tyeth May 15, 2026
7f66304
Add DisplayProperties to display.options for status_bar true default
tyeth May 15, 2026
56e43ec
Merge pull request #198 from adafruit/status-bar-proto
tyeth May 15, 2026
8ed3990
64->16
brentru May 15, 2026
632faac
Merge pull request #188 from adafruit/increase-pwm-name-sz
brentru May 15, 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
11 changes: 11 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# .clang-format
Language: Proto
BasedOnStyle: Google

ColumnLimit: 0
AlignConsecutiveAssignments: Consecutive
AlignTrailingComments:
Kind: Never
SpacesBeforeTrailingComments: 1
IndentWidth: 2
UseTab: Never
20 changes: 0 additions & 20 deletions .github/workflows/buf-checks.yml

This file was deleted.

75 changes: 75 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
name: Build
on:
pull_request:
push:
branches: [master]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: true

- name: Tool Dependencies
uses: jdx/mise-action/@v2

- name: Lib Dependencies
run: |
pip install protobuf
pip install setuptools==75.3.4
go install github.com/pseudomuto/protoc-gen-doc/cmd/protoc-gen-doc@v1.5.1
npm ci

- name: Env Debug Info
continue-on-error: true # this is a purely informational step
run: |
protoc --version # provided by: mise
protolint -v # provided by: mise
go version # provided by: mise
# this line doesn't work, not sure why
# which protoc-gen-doc # provided by: go install ...
python --version # provided by: mise
pip --version # provided by: mise
pip list # provided by: pip install ...
node --version # provided by: mise
npm --version # provided by: mise

- name: Build JS
run: bin/build-js

- name: Build Arduino
run: bin/build-arduino

- name: Build Python
run: bin/build-python

- name: Build Documentation
run: bin/build-docs

- uses: actions/upload-artifact@v4
with:
name: javascript-wrapper
path: ./js_out
if-no-files-found: error

- uses: actions/upload-artifact@v4
with:
name: arduino-wrapper
path: ./arduino_out
if-no-files-found: error

- uses: actions/upload-artifact@v4
with:
name: python-wrapper
path: ./python_out
if-no-files-found: error

- uses: actions/upload-artifact@v4
with:
name: documentation
path: ./docs_out
if-no-files-found: error

- name: Lint
run: bin/lint
134 changes: 0 additions & 134 deletions .github/workflows/protoc-wrapper-generation.yml

This file was deleted.

44 changes: 0 additions & 44 deletions .github/workflows/test-wrapper-arduino.yml

This file was deleted.

24 changes: 21 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,26 @@
## WipperSnapper_Protobuf stuff

# submodule
nanopb/

# npm libs for buf-es
node_modules/

# built wrapper artifacts
python_out
js_out
arduino_out/


## Generic stuff

# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
.DS_Store

.vscode/

# C extensions
*.so
Expand All @@ -25,8 +44,6 @@ share/python-wheels/
.installed.cfg
*.egg
MANIFEST
python_out
js_out

# PyInstaller
# Usually these files are written by a python script from a template
Expand Down Expand Up @@ -139,4 +156,5 @@ dmypy.json
# Cython debug symbols
cython_debug/

.DS_Store

/.vs
5 changes: 5 additions & 0 deletions .tool-versions
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
nodejs 22
python 3.13
protoc 33.0
protolint 0.56.4
go 1.25
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Protocol buffer messages for use with [Adafruit.io WipperSnapper](http://io.adaf

[Documentation](https://adafruit.github.io/Wippersnapper_Protobuf/)

# This code is for research and educational purposes only
## This code is for research and educational purposes only

We use this repository internally for [Adafruit.io WipperSnapper](http://io.adafruit.com/wippersnapper) and published it here. It is not supported, documented, or guaranteed to work outside of WipperSnapper whatsoever!

Expand All @@ -16,7 +16,8 @@ If you would like to request a component or feature to be added into WipperSnapp

This repository includes an automated script for generating the required protocol buffer wrapper messages.

Nanopb header files for Arduino may also be generated by installing `protoc`, cloning this repository, and invoking:
Nanopb header files for Arduino may also be generated by installing `protoc`, cloning this repository, and invoking

```
git submodule init
git submodule update
Expand Down
26 changes: 26 additions & 0 deletions bin/build-arduino
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
#!/usr/bin/env bash

# vars
: ${OUT_PATH=arduino_out}

# move to the directory above this file
cd "${0%/*}/.."

# include helpful functions
source "./bin/functions.sh"

clean
activate_mise
ensure protoc
ensure_nanopb_submodule

# invoke protoc for arduino output
protoc \
--plugin=nanopb/generator/protoc-gen-nanopb \
--proto_path=./proto/wippersnapper \
--proto_path=./nanopb/generator/proto \
--nanopb_opt=-I./proto/wippersnapper --nanopb_opt=-t \
--nanopb_out=$OUT_PATH \
./proto/wippersnapper/*.proto

completed_message "Arduino"
Loading
Loading