Claude/explain codebase mlk9o584mfw0iezv mh0 nt#7
Merged
Conversation
Adds a new consumer class where a group of GPIO outputs are mutually exclusive: receiving an event for any output in the group turns that output on and turns off all others. Useful for signal masts, route indicators, or any application where only one output should be active at a time. Includes CDI configuration support (ExclusiveConsumerConfig) with one event per output (rather than an on/off pair), and unit tests covering exclusive switching, identify consumer, and global identify behavior. https://claude.ai/code/session_01178EKqcoikwTtUC9ybWow1
Modifies the nucleo_io application's STM32F303RE Nucleo target to use ConfiguredExclusiveConsumer for Port D and Port E output lines 1-6: - Port D lines 1,2,3: exclusive group 1 (one active at a time) - Port D lines 4,5,6: exclusive group 2 (one active at a time) - Port E lines 1,2,3: exclusive group 1 (one active at a time) - Port E lines 4,5,6: exclusive group 2 (one active at a time) - Port D/E lines 7,8: remain as standard on/off consumers Breaks the main.cxx symlink to the F091RC target to create a target-specific main.cxx. Updates config.hxx CDI layout with ExclusiveGroup3 entries and bumps CANONICAL_VERSION to force EEPROM reset on existing boards. https://claude.ai/code/session_01178EKqcoikwTtUC9ybWow1
Increases exclusive consumer group size from 3 to 4 outputs, which aligns with the shift register divisibility and supports signal mast use cases with a marker light (4 aspects). All 8 lines per port are now covered by two exclusive groups with no remainder: - Port D group 1: lines 1,2,3,4 (mutually exclusive) - Port D group 2: lines 5,6,7,8 (mutually exclusive) - Port E group 1: lines 1,2,3,4 (mutually exclusive) - Port E group 2: lines 5,6,7,8 (mutually exclusive) The ConfiguredExclusiveConsumer class itself already supports any group size (2, 3, 4, etc.) since it is templated on N. https://claude.ai/code/session_01178EKqcoikwTtUC9ybWow1
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adding exclusive to master to be able to reference it in the work on Cue with Claude. This code has been tested on F303 hardware via the DevKit successfully.