Skip to content

spi_transfer Refactor Pointers into std::array#3755

Open
adrianchan787 wants to merge 8 commits into
UBC-Thunderbots:masterfrom
adrianchan787:adrian/refactor_spitransfer_pointers
Open

spi_transfer Refactor Pointers into std::array#3755
adrianchan787 wants to merge 8 commits into
UBC-Thunderbots:masterfrom
adrianchan787:adrian/refactor_spitransfer_pointers

Conversation

@adrianchan787
Copy link
Copy Markdown
Contributor

@adrianchan787 adrianchan787 commented May 30, 2026

Description

Refactored pointers into arrays. Also changed the C-style casts for the relevant code, used uintptr instead of unsigned long for the casts, and made the receive buffers not constant.

Testing Done

No more pointers.

Resolved Issues

resolves #3751

Length Justification and Key Files to Review

Review Checklist

It is the reviewers responsibility to also make sure every item here has been covered

  • [ x ] Function & Class comments: All function definitions (usually in the .h file) should have a javadoc style comment at the start of them. For examples, see the functions defined in thunderbots/software/geom. Similarly, all classes should have an associated Javadoc comment explaining the purpose of the class.
  • [ x ] Remove all commented out code
  • [ x ] Remove extra print statements: for example, those just used for testing
  • [ x ] Resolve all TODO's: All TODO (or similar) statements should either be completed or associated with a github issue

Copy link
Copy Markdown
Contributor

@someone2060 someone2060 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've noticed that spi_utils.cpp241:: static const inline std::unordered_map<MotorIndex, const char*> SPI_PATHS still contains a pointer.
Is it possible to remove this pointer, or is it unnecessary to remove it?

@adrianchan787
Copy link
Copy Markdown
Contributor Author

I've noticed that spi_utils.cpp241:: static const inline std::unordered_map<MotorIndex, const char*> SPI_PATHS still contains a pointer. Is it possible to remove this pointer, or is it unnecessary to remove it?

I wanna say it's not necessary? way I interpreted the issue, it was just changing the spiTransfer functions in spi_utils. Maybe Grayson could clarify though

@adrianchan787 adrianchan787 marked this pull request as draft May 31, 2026 01:20
@adrianchan787 adrianchan787 marked this pull request as ready for review May 31, 2026 06:25
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

Successfully merging this pull request may close these issues.

Use std::array instead of a raw pointer in spi transfers

2 participants