It would be nice for servos to be able to express movement in degrees rather than arbitrary 1000, 1500, and 2000's.
The numbers aren't arbitrary, they're turn durations in microseconds with a lead pulse of 1ms. Turn rate varies from manufacturer to manufacturer, so NETMF specifies time. There's no reason you couldn't derive from PWM and incorporate a scale factor property not to mention make the lead pulse implicit.
Some equipment autocalibrates on boot. For example, my lad's Logitech force-feedback steering wheel winds from lock to lock. Presumably they have some microswitches to detect lock. Alas, there's not a lot of room on a N+ for that kind of luxury.
I use servo controllers from pololu and talk to them with COM2. These control 12 devices, are scriptable (they have their own Cortex onboard) and they can be daisychained if 12 servos isn't enough. The problem of not enough PWMs totally goes away. They're expensive but you can abstract something as complex as "start a diesel engine" into a single command, so from your N+ program's perspective it's as simple as writing a prepopulated byte[] to COM2.
One of the most annoying things about servos is they all seem to require 6Vdc when nearly all of my systems live in 12Vdc environments. Using a resistive shunt or a voltage regulator isn't so bad for a low power device like the N+ but some of my servos pull 1A. That's a lot of power to shunt - 6W in fact, and while I generally get away with high transient draw, a mechanical jam could easily start a fire. I was thinking I may have to build a Buck converter or maybe even a full on switched mode power supply (Buck converters can be quite noisy). If I did go to that much trouble I could run the N+ and friends on the regulated voltage and use relay shields to control 12V for those things that need it eg starter solenoid.
I simply cannot be the first person to need this, so presumably someone has a design? Anyone?