Skip to content

amyboard: spawn i2c_check_for_data task so I2C follower input works#917

Merged
bwhitman merged 2 commits into
mainfrom
amyboard-i2c-follower-task
May 11, 2026
Merged

amyboard: spawn i2c_check_for_data task so I2C follower input works#917
bwhitman merged 2 commits into
mainfrom
amyboard-i2c-follower-task

Conversation

@bwhitman
Copy link
Copy Markdown
Collaborator

Summary

  • i2c_follower_init() sets up the amyboard's I2C slave hardware on address 0x3F, and i2c_check_for_data() is the polling loop that reads incoming I2C packets and feeds them to amy_add_message(). But the FreeRTOS task to run i2c_check_for_data() was never created — so bytes sent to the amyboard over I2C piled up in the driver buffer and never reached AMY. This explains user reports that the docs example (Tulip CC → amyboard I2C follower port → AMY playback) stopped working.
  • Adds the missing xTaskCreatePinnedToCore() call right after i2c_follower_init() in app_main(), using the existing i2c_check_for_data_handle already declared in amyboard_support.c.
  • Minimal one-file change: 3 lines added in tulip/amyboard/main.c.

Test plan

  • idf.py -DMICROPY_BOARD=AMYBOARD build succeeds cleanly.
  • Flash an amyboard and connect a Tulip CC (or other I2C master) to the follower port; send AMY messages and confirm playback per the example in docs/amyboard/README.md.

🤖 Generated with Claude Code

bwhitman and others added 2 commits May 11, 2026 10:45
i2c_follower_init() configures the I2C slave hardware on address 0x3F,
and i2c_check_for_data() polls the slave buffer and feeds incoming
packets to amy_add_message(). But the FreeRTOS task running
i2c_check_for_data() was never created, so bytes received over I2C
sat in the driver buffer and never reached AMY.

Add the missing xTaskCreatePinnedToCore() call right after
i2c_follower_init() in app_main(), using the existing
i2c_check_for_data_handle declared in amyboard_support.c.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@bwhitman bwhitman merged commit 4e9b3c2 into main May 11, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant