Open
Description
In most modules, value errors related to the hardware are managed by the common-hal module, so they can be made the most useful to the user. However, for the PWMOut module in particular, a set list of errors are passed back as a return enum, and then generic value errors are generated in shared-bindings. This has no difference in terms of functionality, but makes it difficult to generate useful errors for the user on different architectures. These value errors should be moved back to the PWMOut module across ports, matching the rest of the common-hal.