• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

dangernoodle-io / breadboard
100%

Build:
DEFAULT BRANCH: main
Repo Added 19 Apr 2026 02:09AM UTC
Files 34
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH main
branch: SELECT
CHANGE BRANCH
x
  • No branch selected
  • jae/ap-password
  • jae/ap-ssid-prefix
  • jae/apa102-led
  • jae/api-health
  • jae/arduino-backend
  • jae/b1-216-prehttp-guard
  • jae/b1-223-step1-tls-sem-prealloc
  • jae/b1-234-convert-bb-internal-callers
  • jae/b1-234-delete-buffered-send-apis
  • jae/b1-234-streaming-json-obj-helpers
  • jae/b1-48-bb-ntp
  • jae/b1-50-bb-system-reset-reason
  • jae/b1-51-log-level-set
  • jae/b1-53-mdns-build-hostname
  • jae/b1-63-ota-pull-hardening
  • jae/b1-64-api-ping
  • jae/b1-65-sse-eviction-nonblocking
  • jae/b1-68-strlcpy
  • jae/b1-70-host-test-scaffold
  • jae/bb-api-diag-boot
  • jae/bb-api-ota-consolidate
  • jae/bb-api-small
  • jae/bb-audit-docs
  • jae/bb-board-accessors
  • jae/bb-board-drop-esp-http-server
  • jae/bb-board-firmware-board-quoting
  • jae/bb-board-largest-free-block
  • jae/bb-button-events
  • jae/bb-button-events-smoke
  • jae/bb-button-events-unify
  • jae/bb-button-gpio
  • jae/bb-button-smoke
  • jae/bb-cleanup-mechanical
  • jae/bb-clock-constants
  • jae/bb-consolidate-bb-json
  • jae/bb-core
  • jae/bb-core-err-not-found
  • jae/bb-coredump-reliability
  • jae/bb-diag-component
  • jae/bb-diag-coredump-deps-guard
  • jae/bb-diag-defer-tap
  • jae/bb-diag-panic-scrub
  • jae/bb-diag-panic-trigger
  • jae/bb-diag-reset-count-on-fw-change
  • jae/bb-diag-route-count
  • jae/bb-diag-sockets
  • jae/bb-diag-sockets-endpoint
  • jae/bb-display-arduino-ili9341
  • jae/bb-display-arduino-ssd1306
  • jae/bb-display-arduino-st77xx
  • jae/bb-display-backend-registry
  • jae/bb-display-fonts-and-default
  • jae/bb-display-ili9341
  • jae/bb-display-ili9341-fixes
  • jae/bb-display-memory
  • jae/bb-display-rotation
  • jae/bb-display-spi-extract
  • jae/bb-display-ssd1306
  • jae/bb-display-ssd1306-default-64
  • jae/bb-display-ssd1306-mono-espidf
  • jae/bb-display-st77xx-probe
  • jae/bb-display-two-tier-doc
  • jae/bb-embed-configure-time
  • jae/bb-embed-helper
  • jae/bb-embed-site
  • jae/bb-err-macros
  • jae/bb-event-host-gnu-source
  • jae/bb-event-include-hoist
  • jae/bb-event-port-private
  • jae/bb-event-ring-cmake
  • jae/bb-event-ring-decouple
  • jae/bb-event-routes
  • jae/bb-event-routes-lock
  • jae/bb-factory-reset
  • jae/bb-fan
  • jae/bb-fan-autofan
  • jae/bb-fan-get-config
  • jae/bb-health
  • jae/bb-http-405-route-lifetime
  • jae/bb-http-api-dispatch
  • jae/bb-http-asset-api
  • jae/bb-http-asset-wildcard
  • jae/bb-http-assets
  • jae/bb-http-auto-size
  • jae/bb-http-client
  • jae/bb-http-cmake
  • jae/bb-http-config-audit
  • jae/bb-http-drop-bb-system-dep
  • jae/bb-http-handle-opaque
  • jae/bb-http-json-array-stream
  • jae/bb-http-leak-fix-phase1
  • jae/bb-http-openapi-truncation-fix
  • jae/bb-http-reserve-kconfig
  • jae/bb-http-route-descriptors
  • jae/bb-http-route-table
  • jae/bb-http-server-start-void
  • jae/bb-http-set-status-set-type-fix
  • jae/bb-http-stream-json
  • jae/bb-http-task-core-id
  • jae/bb-hw-consumer-headers
  • jae/bb-hw-remove-bundled-boards
  • jae/bb-i2c
  • jae/bb-info-memory-regions
  • jae/bb-info-narrow
  • jae/bb-json
  • jae/bb-json-parse-accessors
  • jae/bb-led-anim
  • jae/bb-led-anim-avr-clock
  • jae/bb-led-anim-smoke
  • jae/bb-led-anim-transition
  • jae/bb-led-anim-unify
  • jae/bb-led-apa102
  • jae/bb-led-apa102-cpp-casts
  • jae/bb-led-apa102-smoke
  • jae/bb-led-button-dedup
  • jae/bb-led-enabled
  • jae/bb-led-phase-a
  • jae/bb-led-phase-b
  • jae/bb-led-rgb-pwm
  • jae/bb-led-smooth-breathe
  • jae/bb-log-async-console
  • jae/bb-log-bb-system-gate-routes-reqs
  • jae/bb-log-keepalive
  • jae/bb-log-macros
  • jae/bb-log-panic-boots-since
  • jae/bb-log-panic-capture
  • jae/bb-log-panic-coredump
  • jae/bb-log-panic-crc-fresh
  • jae/bb-log-skip-final-chunk-on-err
  • jae/bb-log-split-routes
  • jae/bb-log-sse-disconnect
  • jae/bb-log-sse-keepalive-knob
  • jae/bb-log-sse-no-evict
  • jae/bb-log-timeout-ms
  • jae/bb-log-udp-sink
  • jae/bb-manifest
  • jae/bb-manifest-schema-fix
  • jae/bb-mdns-announce
  • jae/bb-mdns-batch-kconfig
  • jae/bb-mdns-browse
  • jae/bb-mdns-browse-match-tolerant
  • jae/bb-mdns-browse-refresh
  • jae/bb-mdns-coalesce
  • jae/bb-mdns-coalesce-txt-fixup
  • jae/bb-mdns-deferred-txt
  • jae/bb-mdns-dispatch-worker
  • jae/bb-mdns-evt-pool-size
  • jae/bb-mdns-inline-peer-strings
  • jae/bb-mdns-ip4-fill
  • jae/bb-mdns-lifecycle-extract
  • jae/bb-mdns-overflow-flush
  • jae/bb-mdns-query-txt
  • jae/bb-mdns-rearm-on-reconnect
  • jae/bb-mdns-shutdown-race-fix
  • jae/bb-mdns-task-prio
  • jae/bb-memory-diet
  • jae/bb-ntp-status
  • jae/bb-ntp-tz
  • jae/bb-nv-batch
  • jae/bb-nv-config-manifest-register
  • jae/bb-nv-creds-rtc-backup
  • jae/bb-nv-helpers
  • jae/bb-nv-hostname
  • jae/bb-nv-not-found-translate
  • jae/bb-nv-priv-log
  • jae/bb-nv-u16-accessors
  • jae/bb-openapi-cjson
  • jae/bb-openapi-descriptor-audit
  • jae/bb-openapi-emitter
  • jae/bb-openapi-fidelity-audit
  • jae/bb-openapi-validate
  • jae/bb-ota-board-unify
  • jae/bb-ota-boot
  • jae/bb-ota-boot-status
  • jae/bb-ota-check-failed-retrigger
  • jae/bb-ota-check-retry
  • jae/bb-ota-led
  • jae/bb-ota-pull-config
  • jae/bb-ota-pull-heap-guard
  • jae/bb-ota-pull-heap-guard-default
  • jae/bb-ota-pull-migrate
  • jae/bb-ota-pull-prealloc-api-buf
  • jae/bb-ota-pull-progress-log
  • jae/bb-ota-pull-retry
  • jae/bb-ota-pull-retry-success-log
  • jae/bb-ota-pull-streaming-parser
  • jae/bb-ota-pull-user-agent
  • jae/bb-ota-push-cap
  • jae/bb-ota-push-progress
  • jae/bb-ota-push-recv-size-fix
  • jae/bb-ota-push-stall
  • jae/bb-ota-recover
  • jae/bb-ota-state-machine
  • jae/bb-ota-strategy-244
  • jae/bb-ota-timeout-knobs
  • jae/bb-ota-wdt-extend
  • jae/bb-partition
  • jae/bb-periph-info
  • jae/bb-platform-seam-move
  • jae/bb-power
  • jae/bb-power-tps546-best-effort
  • jae/bb-prov-assets
  • jae/bb-prov-captive-finalize
  • jae/bb-prov-comment-fix
  • jae/bb-prov-default-form-extract
  • jae/bb-prov-default-form-gzip-script
  • jae/bb-prov-doc-comment-fix
  • jae/bb-prov-extract
  • jae/bb-prov-stop
  • jae/bb-registry-phase-2
  • jae/bb-registry-phase-2-1
  • jae/bb-registry-phase-2-2
  • jae/bb-registry-phase-2-3
  • jae/bb-registry-phase-2-4-mdns
  • jae/bb-registry-phase-2-5-early-init
  • jae/bb-registry-phase-2-6-nv
  • jae/bb-release-manifest
  • jae/bb-requires-spiram
  • jae/bb-requires-sweep
  • jae/bb-route-dup-safeguard
  • jae/bb-route-extenders
  • jae/bb-route-registry-overflow
  • jae/bb-route-sizing-declared
  • jae/bb-routes-optin
  • jae/bb-small-extracts
  • jae/bb-system-app-info
  • jae/bb-system-die-temp
  • jae/bb-system-get-version
  • jae/bb-thermal
  • jae/bb-timer
  • jae/bb-timer-host-posix
  • jae/bb-timer-oneshot
  • jae/bb-timer-periodic
  • jae/bb-tps546-protection
  • jae/bb-update-check
  • jae/bb-update-check-auto-attach
  • jae/bb-update-check-default-core-1
  • jae/bb-update-check-strategy-default
  • jae/bb-update-check-task-core
  • jae/bb-wdt
  • jae/bb-wifi-arduino
  • jae/bb-wifi-autoinit-hardened
  • jae/bb-wifi-concurrency
  • jae/bb-wifi-drop-bb-hw
  • jae/bb-wifi-fire-late-got-ip
  • jae/bb-wifi-mdns-split
  • jae/bb-wifi-openapi-reqbody
  • jae/bb-wifi-prov-wait-signal
  • jae/bb-wifi-reconfigure
  • jae/bb-wifi-set-hostname
  • jae/bb-wifi-skip-empty-ssid
  • jae/bb-wifi-transport-api
  • jae/bb_diag-drop-perwrite-crc
  • jae/bb_event
  • jae/bb_http-oneshot-json
  • jae/bb_http-sem-per-thread-cmake
  • jae/byte-order-helpers
  • jae/ci
  • jae/ci-add-esp32-smoke
  • jae/ci-summary-rename-minimal
  • jae/clamp-http-sockets-to-lwip-cap
  • jae/collapse-bb-ota-led
  • jae/component-dep-scoping
  • jae/component-rename
  • jae/decouple-prov-ui
  • jae/diag-coredump-bytes
  • jae/diag-counters-heap-tasks
  • jae/diag-events
  • jae/display-direct-mode
  • jae/display-ek79007
  • jae/display-lvgl
  • jae/display-st77xx-tiled-blit
  • jae/docs-post-decoupling
  • jae/docs-readme-refresh
  • jae/docs-refresh-v0.5.0
  • jae/embed-leak-fix
  • jae/ensure-netif
  • jae/esp32-smoke-network-probe
  • jae/esp32-wroom-32-smoke
  • jae/event-cmake-split
  • jae/event-pool-no-dma
  • jae/event-ring-retained
  • jae/event-ring-snapshot-size
  • jae/event-routes-tighten-defaults
  • jae/event-routes-topic-filter
  • jae/fix-270-manifest-memory
  • jae/fix-bb-nv-config-manifest-tier
  • jae/http-404-unregistered
  • jae/http-no-content
  • jae/http-parse-extract
  • jae/ili9341-probe-read-clock
  • jae/knot-fleet-update
  • jae/log-ringbuf-lazy-alloc
  • jae/lower-http-max-open-sockets-default
  • jae/lwip-sse-hardening
  • jae/manifest-merge-namespace-keys
  • jae/mdns-deinit
  • jae/mdns-flush-txt-reloc
  • jae/mdns-instance-buffer-overflow
  • jae/mdns-setters
  • jae/mdns-stability
  • jae/mdns-start
  • jae/mdns-txt-replay-on-reinit
  • jae/native-scaffold-transitive-deps
  • jae/nv-config-drop-knot-en
  • jae/nv-config-generic
  • jae/nv-config-mdns-knot-en
  • jae/nv-config-tests
  • jae/opaque-http-handle
  • jae/openapi-fidelity-audit
  • jae/openapi-route-parameters
  • jae/openapi-streaming
  • jae/ota-boot-progress
  • jae/ota-pull-log-order
  • jae/ota-pull-partial-download
  • jae/ota-pull-skip-check
  • jae/ota-pull-stream
  • jae/ota-push
  • jae/ota-push-recv-buf
  • jae/ota-push-yield
  • jae/ota-single-core-yield
  • jae/phase-c-board-info
  • jae/phase-c-common-routes
  • jae/phase-c-info-extender
  • jae/phase-c-logs-sse
  • jae/phase-c-wifi-info
  • jae/portable-http-server
  • jae/prov-done-bit
  • jae/prov-save-callback
  • jae/r4-display-showcase
  • jae/r4-ssd1306-validate
  • jae/readme
  • jae/registry-init-no-server
  • jae/registry-order
  • jae/registry-phase-2.8
  • jae/release-automation
  • jae/release-no-wait
  • jae/rename-bb-prefix
  • jae/requires-sweep-2
  • jae/restore-update-status-coverage
  • jae/right-size-sweep
  • jae/route-descriptors
  • jae/scaffold-anchor-fix
  • jae/scrub-ticket-refs-from-logs
  • jae/single-core-bringup
  • jae/smoke-drop-ensure-netif
  • jae/smoke-elecrow
  • jae/smoke-esp32
  • jae/smoke-esp32c3
  • jae/smoke-example
  • jae/smoke-tdongle
  • jae/smoke-uno-cc3000
  • jae/sse-event-notify
  • jae/st77xx-fix-double-offset
  • jae/system-arch-dispatch
  • jae/ta-226-ota-pin-and-pm-lock
  • jae/ta-338-ota-push-no-resume-on-reboot
  • jae/ta-56-bb-wifi-nonblocking-info
  • jae/test-fidelity-msg-buf
  • jae/timer-now-iram
  • jae/unify-ota-check-via-update-check
  • jae/update-check-6h-default-plus-jitter
  • jae/update-check-attach-log
  • jae/update-check-firmware-board
  • jae/update-check-hook-types
  • jae/update-check-hooks
  • jae/update-check-kick-non-blocking
  • jae/update-check-lazy-body
  • jae/update-check-now-endpoint
  • jae/update-check-outcomes
  • jae/update-check-publish-after-attach
  • jae/update-check-runtime-optout
  • jae/update-check-stack-size
  • jae/update-check-stream
  • jae/update-check-task-priority
  • jae/update-check-toggle-endpoint
  • jae/url-parse-helpers
  • jae/use-shared-pio-test
  • jae/v0.9-conventions-doc
  • jae/v0.9-http-portability
  • jae/v0.9-nv-flash-init
  • jae/v0.9-return-types
  • jae/validator-strategy
  • jae/wifi-outage-keep-creds
  • jae/wifi-prov-hosted-mac-fix
  • jae/wifi-reconn-policy-extract
  • main

11 Jun 2026 03:28PM UTC coverage: 100.0%. Remained the same
27358074672

push

github

web-flow
feat(bb_ntp): manual timezone — POSIX-TZ setter + bb_nv persistence (#389)

NTP gives only UTC; let breadboard own a timezone so consumers (TM/CYD,
snugfeather) render local civil time via libc localtime(). API only — no
breadboard route; consumers own their settings UI.

- bb_nv: typed `timezone` POSIX-TZ field (bb_nv_config_timezone /
  _set_timezone), NVS-persisted, <=64 chars, NULL/empty clears.
- bb_ntp_set_timezone(posix_tz): persist via bb_nv + setenv("TZ")/tzset()
  immediately. bb_ntp_apply_saved_timezone() applies the stored TZ at
  boot. UTC default when unset.

host-tested end-to-end including DST: with EST5EDT,M3.2.0,M11.1.0 a
winter UTC time renders EST and a summer one EDT.

geo-IP auto-detect is split to B1-268 (opt-in convenience; manual
override always wins).

verified: 1723 host tests pass; coverage 100%; smoke green on esp32,
esp32c3, esp32-p4, tdongle-s3.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>

1665 of 1665 branches covered (100.0%)

Branch coverage included in aggregate %.

2772 of 2772 relevant lines covered (100.0%)

1002.01 hits per line

Relevant lines Covered
Build:
Build:
2772 RELEVANT LINES 2772 COVERED LINES
1002.01 HITS PER LINE
Source Files on main
  • Tree
  • List 34
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
27358074672 main feat(bb_ntp): manual timezone — POSIX-TZ setter + bb_nv persistence (#389) NTP gives only UTC; let breadboard own a timezone so consumers (TM/CYD, snugfeather) render local civil time via libc localtime(). API only — no breadboard route; consumer... push 11 Jun 2026 03:29PM UTC web-flow github
100.0
27357763352 jae/bb-ntp-tz Merge 5c256f0af into 5a75b3ecd Pull #389 11 Jun 2026 03:24PM UTC web-flow github
100.0
27352713474 main feat(bb_ntp_info): surface NTP sync state on /api/info (#388) read-only sync indicator so web UI / taipan-cli / displays can show a clock-synced state. NTP is UTC-only; timezone is a separate item (B1-267). - bb_ntp: stash last-sync unix in the ... push 11 Jun 2026 02:08PM UTC web-flow github
100.0
27352333720 jae/bb-ntp-status Merge d66defbd6 into 02ecf97d4 Pull #388 11 Jun 2026 02:02PM UTC web-flow github
100.0
27351305459 main feat(bb_health): extract from bb_info + surface device-health faults on /api/events (#387) closes B1-249 (P0). a CYD main_task stack overflow once aborted silently deep in init — bb_log is device-only/ephemeral, so a crashing task can't report it... push 11 Jun 2026 01:46PM UTC web-flow github
100.0
27350581888 jae/bb-health Merge b23dac854 into 38e78c57b Pull #387 11 Jun 2026 01:35PM UTC web-flow github
100.0
27325630166 main feat(bb_nv): factory-reset endpoint — full NVS wipe + RTC-mirror invalidate (#386) POST /api/factory-reset (Kconfig CONFIG_BB_NV_FACTORY_RESET, default off) requires a confirm body {"confirm":"factory-reset"} -> 202 + deferred 500ms reboot; devic... push 11 Jun 2026 05:20AM UTC web-flow github
100.0
27325423924 jae/bb-factory-reset Merge b822003c8 into b8c3fc121 Pull #386 11 Jun 2026 05:14AM UTC web-flow github
100.0
27324299439 main feat(bb_i2c): portable I2C bus+device abstraction (esp + host mock) (#385) first PR of B1-42. gives consumers an I2C surface with no esp types, so the i2c-using drivers (bb_display_ssd1306, bb_fan_emc2101, bb_power_tps546) can stop exposing i2c_m... push 11 Jun 2026 04:43AM UTC web-flow github
100.0
27324115510 jae/bb-i2c Merge f59288b98 into 652f82ac6 Pull #385 11 Jun 2026 04:37AM UTC web-flow github
100.0
See All Builds (922)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc