PwmControl.isPwmEnabled crashes
shelbyRobots opened this issue · 3 comments
I am able to use a CRServoImplEx instance to use setPwmEnable/Disable.
However, isPwmEnabled crashes the app with the following:
E EventLoopManager: com.qualcomm.robotcore.exception.RobotCoreException: EventLoop Exception in loop(): IllegalArgumentException - invalid pwm channel: 4
Steps:
crsix.setPwmDisable();
...do other stuff...
if(crsix.setPwmDisable) crsix.setPwmDisable();
I was able to do a work around by keeping a local variable of pwm energize state when I call disable - to avoid calling enable on an already pwm energized port.
ServoControllerEx with port number parameter seemed to give same results.
Looks to be a bug in the LynxGetServoEnableCommand
constructor...
It reads
public LynxGetServoEnableCommand(LynxModuleIntf module, int channelZ)
{
this(module);
LynxConstants.validatePwmChannelZ(channelZ);
this.channel = (byte)channelZ;
}
But it should be
public LynxGetServoEnableCommand(LynxModuleIntf module, int channelZ)
{
this(module);
LynxConstants.validateServoChannelZ(channelZ);
this.channel = (byte)channelZ;
}
This will be fixed in the next release of the SDK.
Fixed in 7.1