-
Notifications
You must be signed in to change notification settings - Fork 39
Feature Request: Generic QWIIC/Wire.h + SPI interfaces #1
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
Comments
Yes! Happy to work on this one. I2C and SPI (as you seem to know) both use the IO Master peripherals on the Apollo3. Timeline is probably shortly after we get a working "Serial" interface. |
@karma0 I just pushed preliminary I2C support. For now it only supports master mode. Will you give it a try and tell me what you think? The example to start out with is For now you'll want to use the Edge board variant -- it has Wire (on the Qwiic connector) and Wire1 (attached to the onboard Accelerometer) defined. Right now the other variants may not have any TwoWire objects pre-defined (but you can always declare your own like SPI support is up next on the list! |
And now I've pushed preliminary SPI support. Both of these features are bare-bones at the moment. For example I2C is master-only and SPI does not handle any interrupt functions. Since these are part of the Arduino IDE we expect to get to them eventually, however at the moment there are other more pressing developments to be made. If incompatibilities/missing features are found let's make an issue and address them as they arise. Thanks for this issue BTW! |
Thanks @oclyke! I haven't had the opportunity to try these out, but I can always just open another issue if I can't get it to work. |
Bringing up to date with release1.1.2
Subject of the issue
I2C and SPI interfaces as a drop-in replacement for the Wire.h Arduino library with the QWIIC ecosystem would allow users to interface with relays, sensors, displays, and plenty of other external devices.
Expected behaviour
I should be able to write code to a device's implementation as described. As many devices use the Wire.h library, it should be as easy as porting this to the Apollo3.
Actual behaviour
No such library exists, requiring users to have to research the Apollo3 SPI/I2C interfaces and create their own custom drivers for selected hardware that typically already has an implementation in existence.
The text was updated successfully, but these errors were encountered: