use of com.qualcomm.robotcore.hardware.configuration.MatrixControllerConfiguration in project robotcode by OutoftheBoxFTC.
the class HardwareFactory method mapMatrixController.
private void mapMatrixController(HardwareMap map, DeviceManager deviceMgr, LegacyModule legacyModule, DeviceConfiguration devConf) {
if (!devConf.isEnabled()) {
return;
}
MatrixMasterController master = new MatrixMasterController((ModernRoboticsUsbLegacyModule) legacyModule, devConf.getPort());
DcMotorController mc = new MatrixDcMotorController(master);
map.dcMotorController.put(devConf.getName() + "Motor", mc);
map.dcMotorController.put(devConf.getName(), mc);
for (DeviceConfiguration motorConf : ((MatrixControllerConfiguration) devConf).getMotors()) {
mapMotor(map, deviceMgr, (MotorConfiguration) motorConf, mc);
}
ServoController sc = new MatrixServoController(master);
map.servoController.put(devConf.getName() + "Servo", sc);
map.servoController.put(devConf.getName(), sc);
for (DeviceConfiguration servoConf : ((MatrixControllerConfiguration) devConf).getServos()) {
mapServo(map, deviceMgr, servoConf, sc);
}
}
use of com.qualcomm.robotcore.hardware.configuration.MatrixControllerConfiguration in project robotcode by OutoftheBoxFTC.
the class EditLegacyModuleControllerActivity method createController.
/**
* If the drop-down spinner-selected item is a Controller (Motor- or Servo-), we need to create
* an empty Controller with the proper number of motors/servos.
*
* @param port - the port where this controller got added
* @param newType - the type of controller we're creating
*/
private void createController(int port, ConfigurationType newType) {
DeviceConfiguration currentModule = devices.get(port);
String name = currentModule.getName();
SerialNumber serialNumber = new SerialNumber();
ConfigurationType currentType = currentModule.getConfigurationType();
if (!(currentType == newType)) {
// only update the controller if it's a new choice.
ControllerConfiguration newModule;
if (newType == BuiltInConfigurationType.MOTOR_CONTROLLER) {
ArrayList<MotorConfiguration> motors = new ArrayList<MotorConfiguration>();
for (int motorPortNumber = ModernRoboticsConstants.INITIAL_MOTOR_PORT; motorPortNumber <= ModernRoboticsConstants.NUMBER_OF_MOTORS; motorPortNumber++) {
motors.add(new MotorConfiguration(motorPortNumber));
}
newModule = new MotorControllerConfiguration(name, motors, serialNumber);
newModule.setPort(port);
} else if (newType == BuiltInConfigurationType.SERVO_CONTROLLER) {
ArrayList<ServoConfiguration> servos = new ArrayList<ServoConfiguration>();
for (int servoPortNumber = ModernRoboticsConstants.INITIAL_SERVO_PORT; servoPortNumber <= ModernRoboticsConstants.NUMBER_OF_SERVOS; servoPortNumber++) {
servos.add(new ServoConfiguration(servoPortNumber));
}
newModule = new ServoControllerConfiguration(name, servos, serialNumber);
newModule.setPort(port);
} else if (newType == BuiltInConfigurationType.MATRIX_CONTROLLER) {
ArrayList<MotorConfiguration> motors = new ArrayList<MotorConfiguration>();
for (int motorPortNumber = MatrixConstants.INITIAL_MOTOR_PORT; motorPortNumber <= MatrixConstants.NUMBER_OF_MOTORS; motorPortNumber++) {
motors.add(new MotorConfiguration(motorPortNumber));
}
ArrayList<ServoConfiguration> servos = new ArrayList<ServoConfiguration>();
for (int servoPortNumber = MatrixConstants.INITIAL_SERVO_PORT; servoPortNumber <= MatrixConstants.NUMBER_OF_SERVOS; servoPortNumber++) {
servos.add(new ServoConfiguration(servoPortNumber));
}
newModule = new MatrixControllerConfiguration(name, motors, servos, serialNumber);
newModule.setPort(port);
} else {
newModule = null;
}
if (newModule != null) {
newModule.setEnabled(true);
setModule(newModule);
}
}
}
Aggregations