This mostly means changing `void foo()` to `void foo(void)` at
the function definition site. This was previously only an error
if the declaration site didn't have `(void)`, but the unix
coverage build enables the more strict warning and there's little
difficulty in resolving these diagnostics.
.. other ports can be done too, if desired.
When the constructor value reading times out, an exception is thrown, but the digital pin is not de-initialised. Make sure to run the clean up, so user could catch the exception and retry using the same pin.