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

Use embedded-hal 1.0 in tests and examples #436

Merged
merged 2 commits into from Mar 10, 2024
Merged

Conversation

qwandor
Copy link
Member

@qwandor qwandor commented Mar 6, 2024

No description provided.

Choose a reason for hiding this comment

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

Can you comment on the change here?

The change from:

use embedded_hal::blocking::spi::Write;

to:

use embedded_hal::spi::SpiBus;

Copy link
Member Author

Choose a reason for hiding this comment

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

The SPI traits changed significantly in embedded-hal 1.0. You can read more about it in the embedded-hal documentation, but one difference is that there is now a single trait for a bus or a device, rather than separate traits for read vs. write vs. transfer.

Copy link

Choose a reason for hiding this comment

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

Can you please comment on the change of the use of timer and PWM?

Copy link
Member Author

Choose a reason for hiding this comment

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

What about it? embedded-hal 1.0 no longer includes traits for timers, so we have intrinsic methods instead. The names of some of the PWM methods have changed.

Copy link

Choose a reason for hiding this comment

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

line 46: Can you please comment on the change to make pulldown_pin mutuable?

Copy link
Member Author

Choose a reason for hiding this comment

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

embedded_hal::digital::InputPin::is_low takes &mut self, so it needs to be mutable for the call on line 49.

Copy link

Choose a reason for hiding this comment

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

line 53-54: Can you please comment on the change made from:

(state.input_pin.as_ref().unwrap().is_low().unwrap());

to:

(state.input_pin.as_mut().unwrap().is_low().unwrap());

Copy link
Member Author

Choose a reason for hiding this comment

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

Again, embedded_hal::digital::InputPin::is_low takes &mut self, so we need a mutable reference.

Copy link

@CodingInGreen CodingInGreen left a comment

Choose a reason for hiding this comment

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

Responses to comments are reasonable as are code changes. Tested on micro:bit V2, ran into some limitations with certain examples being built for other nrf hals for other chips. Overall, looks great! Approved!

@qwandor qwandor merged commit 4730554 into master Mar 10, 2024
4 checks passed
@qwandor qwandor deleted the embedded-hal-examples branch March 10, 2024 17:38
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.

None yet

2 participants