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

I2C sub-system #138

Open
14 of 19 tasks
Ivan-Velickovic opened this issue Dec 12, 2023 · 0 comments
Open
14 of 19 tasks

I2C sub-system #138

Ivan-Velickovic opened this issue Dec 12, 2023 · 0 comments

Comments

@Ivan-Velickovic
Copy link
Collaborator

Ivan-Velickovic commented Dec 12, 2023

I2C sub-system

  • REQ_BUF_CLIENT and REQ_BUF_ADDR should be part of the shared ring buffer protocol instead as metadata.
  • Too many files exist, it should really just be driver.c and server.c
  • Clean up example system description file - lots of unused memory regions, needs comments as well
  • Getting timeout IRQs way too frequently - these should never happen if everything is going smoothly
    to my understanding. (only happens on the card reader though)
  • The I2C server needs to be fully designed and implemented. Right now the client talks directly to the driver.
  • Remove all @ivanv notes.
    * [ ] Currently the I2C driver is responsible for setting up the clocks, etc. This is obviously wrong and should be
    done in pinctrl/regulator/clock drivers. However, this is not something we have right now.
  • Should we abstract over doing things like writing to an I2C bus (e.g setting up all the transaction tokens)
  • We should write a little client side API for claiming and release a bus.
    sDDF I2C example should use queue Makefile no more queue.c, no more Makefile!

Example client notes

  • Timer driver integrated so we're not busy-waiting
  • Figure out that extra response dequeue when we read_response
  • What to do about just copying libco into the source
  • More error-checking and cleanup is needed
  • We are running out of return buffers fairly quickly, we must have a leak somewhere.
  • Remove all warnings when compiling the example.

Driver notes

  • Get rid of popBufRet abstractions, etc
  • Too much global state and it's too fragile

Documentation

  • The documentation is a great start but is a bit too verbose.
  • Need picture of card-reader working and exactly what card reader is used (with links)
  • Need to document that the card-reader client code is based of the Arduino PN532 library.
@Ivan-Velickovic Ivan-Velickovic transferred this issue from au-ts/lionsos Jun 27, 2024
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