Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Documentation and standardized approach to have ability to chain modules #6

Open
sadekbaroudi opened this issue Apr 24, 2024 · 0 comments

Comments

@sadekbaroudi
Copy link
Owner

sadekbaroudi commented Apr 24, 2024

Think through options and approaches to chaining modules in VIK

I2C - Already supports chaining, but pull up resistors are currently the responsibility of the module. When chaining, how do I ensure that the pull ups aren't too strong or too weak for the intended purpose?
SPI - Unlike I2C, no concern about pull up resistors. However, it does require a CS pin per component. This would likely mean that a module would have to use a general GPIO as a CS pin. A module could support this by routing that to a VIK IN connector (which another module plugs into). However, this creates more complexity for standardizing firmware, since the CS pin for the second module would actually be on the GPIO AD1 or GPIO AD2 as far as the microcontroller is concerned. Another option for SPI would be to require that all modules that use SPI (and don't need GPIO AD1 or AD2 for any other purpose) provide a selection jumper for the USER to decide which of the 3 general purpose IO pins will be used. This would grant the user flexibility to chain up to 3 SPI modules in a situation like this.
RGB - I think this one is straight forward. Addressable LEDs already support chaining, and firmware considerations are fairly straight forward
GPIO AD1 / GPIO AD2 - This is a challenge, as a second module wouldn't know if the previous module is using it or not. That said, I think it's reasonable (given there are VIK module certification cards) for the end user to determine whether or not there is a conflict to identify if two modules can be chained together.

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

No branches or pull requests

1 participant