Daniel Egger
Daniel Egger
I see you guys are all very ST centric. ;) Are few things are more awkward in the ST world (like having different GPIO banks and sometimes high/low registers) while...
Other than those two nits LGTM
Re 1) Yes I would say so, e.g. because it already has been started. Re 2) Potentially yes, but I don't think it is of big importance, also because it...
... but does not compile: ``` 122 | pub trait CancellableOneShot: OneShot { | ^^^^^^^^^^^^ unexpected type argument ```
I agree. Real errors should always result in an `Err()` != `Err(nb:WouldBlock)`.
`cancel()` might not always be possible to implement though. A state machine to prevent reading stale values is usually not even necessary because the hardware usually has internally bits indicating...
@HarkonenBade Some hardware does not allow you to cancel ongoing sampling. The only option in that case is to wait as @chrysn said, which is fine but should be documented...
@chrysn I disagree about the semantics of `cancel` as laid out. A blocking `cancel` implementation should always make sure it the operation is cancelled when it returns. I don't think...
@HarkonenBade I'd rather we don't break existing traits without a good reason. @chrysn The wait to go IMHO is to compose a new trait `CancellableOneShot` or something like that which...
@HarkonenBade I don't expect a lot of hardware not being able to cancel ongoing sampling, can't remember where I've seen that. It should be clear what to expect though, maybe...