Login
Timeline
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

21 check-ins related to "mechanical-turk-crystal-build"

2026-11-10
21:01
README: Big Picture link now points to the Markdown page

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TUH8KMkqwN396ebKzNRNvE Leaf check-in: 6a9c3d56a0 user: x86-1-interactor tags: mechanical-turk-crystal-build

20:53
README: open with Interactor's purpose, parts, shape, success items and the four virtues; keep the original proposal below

Checked against the code and cold-read twice; fixed the guessed terms and the hardest sentences. TODO: mark the logger on real traffic and the 100 kHz overlay done.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TUH8KMkqwN396ebKzNRNvE check-in: 37a20c989f user: x86-1-interactor tags: mechanical-turk-crystal-build

2026-11-08
03:41
TODO: the logger is confirmed working on J7 at 100 kHz

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TUH8KMkqwN396ebKzNRNvE check-in: a822b6edd5 user: x86-1-interactor tags: mechanical-turk-crystal-build

03:40
Zepto is on J7 (/dev/i2c-3): move defaults there, run both Qwiic buses at 100 kHz, drop the J6 banner

The logger's cable is in J7, not J6; its fixed 'I2C monitor J6' banner hid that. zepto-bridge, its unit, sao-demo and both flash scripts now default to /dev/i2c-3. The overlay matches the badge: both buses 100 kHz.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TUH8KMkqwN396ebKzNRNvE check-in: ee3ce4c047 user: x86-1-interactor tags: mechanical-turk-crystal-build

02:49
ZeptoFlashing: the maintainer's bb-imager-rs fork is the known-good RESET/BSL reference

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TUH8KMkqwN396ebKzNRNvE check-in: 04d70a8a20 user: x86-1-interactor tags: mechanical-turk-crystal-build

2026-11-06
19:28
ZeptoControlWiring: the Grove RESET/BSL pins are AM62L boot-mode straps (BOOTMODE12/13)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TUH8KMkqwN396ebKzNRNvE check-in: 7b664a529f user: x86-1-interactor tags: mechanical-turk-crystal-build

18:34
SAO README: the maintainer's mpy steps for the Supercon badge

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TUH8KMkqwN396ebKzNRNvE check-in: b27f6940de user: x86-1-interactor tags: mechanical-turk-crystal-build

18:33
Zepto SAO firmware (bare metal): registers at 0x42, snake on the IPS display

sao_target: register file and snake (host-tested), IPS display driver shared from the logger's, register mode in the I2C target driver, EABI division helpers. Controllers: steering commands 3/4. Not run on hardware yet.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TUH8KMkqwN396ebKzNRNvE check-in: e96c2c9606 user: x86-1-interactor tags: mechanical-turk-crystal-build

18:22
SAO Supercon app: plain machine.I2C fallback for MicroPython 1.24

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TUH8KMkqwN396ebKzNRNvE check-in: 9998175e49 user: x86-1-interactor tags: mechanical-turk-crystal-build

18:12
SAO: Supercon 2026 badge controller app (MicroPython, lib.sao.i2c), README section

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TUH8KMkqwN396ebKzNRNvE check-in: 3b59be833b user: x86-1-interactor tags: mechanical-turk-crystal-build

17:13
SAO add-on: register map, BeagleBadge controller (i2c-dev or zepto-bridge), host specs, README

The Zepto firmware waits on the build choice; the map and controller do not.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TUH8KMkqwN396ebKzNRNvE check-in: 157ceac889 user: x86-1-interactor tags: mechanical-turk-crystal-build

2026-11-05
15:09
zepto: fix every IOMUX PINCM address (PINCMn is at IOMUX + 4*n, per the TRM; the datasheet pin table is off by one). Confirmed on hardware by pincm_probe, run 7be0f8520a: no pin was ever muxed as intended, so PA13, the IPS backlight and the I2C target pins never worked

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TUH8KMkqwN396ebKzNRNvE check-in: 6cb92a5d0b user: x86-1-interactor tags: mechanical-turk-crystal-build

15:08
zepto: pincm_probe, which tests which IOMUX address controls PA13 by reading the pin back and resetting into the BSL only if it is high

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TUH8KMkqwN396ebKzNRNvE check-in: 82f42d412f user: x86-1-interactor tags: mechanical-turk-crystal-build

15:06
zepto: bsl_reentry example, which proves code runs by resetting into the BSL (answers at 0x48)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TUH8KMkqwN396ebKzNRNvE check-in: b1ee7b7fc1 user: x86-1-interactor tags: mechanical-turk-crystal-build

05:27
zepto_board_init: power up GPIOA (reset, PWREN) before driving pins; without it every pin write was ignored, so no app could light PA13, the backlight or the panel lines

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TUH8KMkqwN396ebKzNRNvE check-in: e378fc7398 user: x86-1-interactor tags: mechanical-turk-crystal-build

05:08
i2c_sniffer: SNIFF_DIAG_EARLY_BACKLIGHT build flag (backlight and LED on before SPI, LED off after panel_init) to place a dark panel

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TUH8KMkqwN396ebKzNRNvE check-in: 5ba5e66922 user: x86-1-interactor tags: mechanical-turk-crystal-build

05:06
Logger flashed through zepto-bridge from an OCX run; document the resolver bind

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TUH8KMkqwN396ebKzNRNvE check-in: 61a268b5c3 user: x86-1-interactor tags: mechanical-turk-crystal-build

2026-11-04
18:21
badge-demo: zepto-bridge, I2C and BSL flashing over a Unix socket for sandboxed OCX runs on the badge

OCX runs on the badge node can see /dev/i2c-1 but can't open it: the sandbox bind is nodev (interactor runs 27f15fdba0, 360ee9d28c). This root helper does the hardware work for them over a socket until OCX can pass devices into a run (requested in interactor post dbd9c6b21f).

- badge-demo/bridge/src: BSL packets (ported from badge-demo/scripts/flash_zepto_bsl_direct_i2c.py), i2c-dev transfers, pads and control lines, and the server and client - badge-demo/bridge/spec/zepto_bridge_spec.cr: 12 examples pass on x86-1 - badge-demo/scripts/build_zepto_bridge.cr: static aarch64 cross-build, inputs checked by SHA-256 - badge-demo/systemd/zepto-bridge.service, badge-demo/docs/ZeptoBridge.md

Not yet run on the badge.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TUH8KMkqwN396ebKzNRNvE check-in: bbd74274f8 user: x86-1-interactor tags: mechanical-turk-crystal-build

2026-11-03
03:34
badge-demo: snake Zepto firmware (move logic, 0x43 status, BOOT button, WS2812)

New app firmware/zepto/examples/baremetal/badgesnake/, the env zepto_badgesnake already named in platformio.ini: - snake_move.c: reads the Battlesnake move request JSON into a grid and picks a move: stay on the board and out of bodies (own tail free unless stacked), avoid squares next to an equal or longer head, prefer room for the whole body (flood fill), avoid hazards, nearest food, most room. No division, no heap. - snake_button.c: debounced BOOT button; short press toggles the LED and counts in byte 1, a press held 1.5 s counts in byte 2; byte 0 is down/LED flags. - snake_frame.c: docs/Protocol.md frames for info/start/move/end. - ws2812.c: cycle-counted bit-bang on PA15, run from RAM with interrupts off (~30 us). - main.c: polls the target at 0x42, serves the status at 0x43, SysTick ms clock.

src/zepto_i2c_target.c: optional second own address (TOAR2, told apart by TSR.OAR2SEL/ADDRMATCH per SLAU847F 22.3.45/22.3.47); with it on, the TX FIFO is only filled once a read starts. Other apps are unchanged. Buffer sizes can be set with -D; the snake uses a 4 KB request (two snakes of length 20 make about 1960 bytes).

Checked on x86-1: crystal run scripts/test_zepto_badgesnake_host.cr passes (fixture move gets "up", matching move-response.json); sniffer host tests pass. build_zepto.cr with Alpine GCC 15.1: badgesnake 6060 bytes, UNICOMM variant 5868; blink 364, i2c_sniffer 3364, i2c_target_diag 1480 still build. In the image SysTick points at SysTick_Handler, ws2812_send_ram is in RAM with the planned NOP counts, RAM use 7976/16384. Nothing run on hardware.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TUH8KMkqwN396ebKzNRNvE check-in: 1b9ec2e32f user: x86-1-interactor tags: mechanical-turk-crystal-build

02:32
badge-demo: build Zepto firmware with a Crystal script, without PlatformIO

firmware/zepto/scripts/build_zepto.cr calls arm-none-eabi-gcc and objcopy directly with the flags from platformio.ini and platforms/zepto-mspm0/builder/main.py. PlatformIO needs Python, which the maintainer does not want used, and its glibc toolchain will not run on the musl client x86-1. ZEPTO_PROOT="PROOT ROOT" runs the toolchain inside a root such as a scratch Alpine with gcc-arm-none-eabi.

Checked on x86-1 with Alpine 3.22's GCC 15.1 (the handoff used 14.2.1): blink 364 bytes (as before), i2c_sniffer 3364 (handoff: 3380), i2c_sniffer_led 996 (handoff: 1008). Vector 17 points at GROUP1_IRQHandler; no __aeabi_* helpers. Host tests pass. Build check only: nothing run on hardware.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TUH8KJsvFXxaGvYpnQ848p check-in: 484dda70d0 user: x86-1-interactor tags: mechanical-turk-crystal-build

2026-10-29
21:22
badge-demo: Mechanical Turk demo handoff notes and logger bring-up request

docs/MechanicalTurkHandoff.md records branch state, peer sources, decisions made with the maintainer, what is done and verified (host tests, PlatformIO builds; nothing run on hardware), next steps in order and open items. docs/BeagleBadgeRequests.md gains the 2026-10-29 request for the badge-side agent: J6 to 100 kHz, flash zepto_i2c_sniffer, panel bring-up with fallbacks, and a known-traffic check against the OPT3001.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GdX9whiZqXpyoftrFjXKy8 Leaf check-in: f08f72351d user: run-84e1b850 tags: session/f960dfe6a82a156baee65cad3f36d9b726ffd5e6e5bc29adbf6a8252c32dcd31