🐛 Add timeout ctor to hal::stm32f1::can_peripheral_manager
#91
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
hal::stm32f1::can_peripheral_manager
has its original constructor deprecated and a new constructor accepting ahal::steady_clock
and timeout time. If exiting initialization takes longer than the time out time, ahal::timed_out
exception will be thrown.In order to prevent applications unassociated from the can application to continue to work as usual, a try/catch is put around the construction of the
hal::stm32f1::can_peripheral_manager
object. If construction fails, then none of the can interface optionals will be set and the program will run without them. If the can application is executed and the optionals are nullopt, then access will throw and will terminate the application which is the intended behavior.