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

TWI (I2C) Driver #2

Open
13 tasks
IbixD97 opened this issue Oct 23, 2024 · 0 comments
Open
13 tasks

TWI (I2C) Driver #2

IbixD97 opened this issue Oct 23, 2024 · 0 comments
Assignees
Labels
embedded Embedded team responsible medium priority This issue should be addressed eventually medium ~ a couple days to complete

Comments

@IbixD97
Copy link
Contributor

IbixD97 commented Oct 23, 2024

Description of task

Implement an I2C driver for a controller that can talk to any target MCU successfully for both read and write operations.
The driver will be further developed to suit the ATSAM 32bit MCU that the AUV will have but at the start can be tested using the 8bit AVR128DA48 MCU instead.

Time estimate (Hours)
20h

Deadline (DD.MM)
17.11

Suggested Workflow

  • Write a TWI write function that can send 1 byte at a time
  • Write a TWI read function that can read 1 byte from the target at a time
  • Expand the write function so that it can send as many bytes as wanted
  • Expand the read function so that it can read as many bytes as wanted
  • Use interrupts instead of polling for both write and read functions.
  • Implement a case for every possible error or issue that can arise during an interaction

Specifications

  • Can detect and print the address of any connected devices on the bus
  • Can send as many data as wanted to any target MCU on the bus without needing to re-establish the communication
  • Can request as many data as wanted from any target MCU on the bus without needing to re-establish the communication
  • Core independent, aka. interrupt based, system.

Contacts

Code Quality

  • Every function in header files are documented (inputs/returns/exceptions)
  • The project has automated tests that cover MOST of the functions and branches in functions (pytest/gtest)
  • The code is documented on the wiki (provide link)
@IbixD97 IbixD97 added embedded Embedded team responsible medium ~ a couple days to complete medium priority This issue should be addressed eventually labels Oct 23, 2024
@IbixD97 IbixD97 changed the title [TASK] TWI (I2C) Driver TWI (I2C) Driver Oct 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
embedded Embedded team responsible medium priority This issue should be addressed eventually medium ~ a couple days to complete
Projects
None yet
Development

No branches or pull requests

2 participants