Adding PMExpansion code

I think having code that can run in the PWM expanion will offset what
needs to be in the controller