package edu.wpi.first.wpilibj; import com.iismathwizard.jrio.exceptions.ModuleDoesNotExistException; import com.iismathwizard.jrio.jRIO; import edu.wpi.first.wpilibj.communication.ModulePresence; import edu.wpi.first.wpilibj.livewindow.LiveWindowSendable; import edu.wpi.first.wpilibj.parsing.IInputOutput; /** * User: IisMathwizard * Date: 10/10/13 * Time: 11:19 AM */ public class DigitalOutput extends DigitalSource implements IInputOutput, LiveWindowSendable { private boolean value; private int moduleNumber, channel; public DigitalOutput(int channel) { this(ModulePresence.ModuleType.kDigital.getValue(), channel); } public DigitalOutput(int moduleNumber, int channel) { channel --; try { if(jRIO.hasModule(ModulePresence.ModuleType.kDigital, moduleNumber) && jRIO.getModule(ModulePresence.ModuleType.kDigital, moduleNumber) instanceof DigitalModule) { DigitalModule dMod = (DigitalModule) jRIO.getModule(ModulePresence.ModuleType.kDigital, moduleNumber); if(dMod.slots[channel] == null) { dMod.slots[channel] = this; } } } catch (ModuleDoesNotExistException e) { System.out.println("Default digital module couldn't be found."); e.printStackTrace(); } this.channel = channel; this.moduleNumber = moduleNumber; } @Override public int getModuleForRouting() { return 0; //To change body of implemented methods use File | Settings | File Templates. } @Override public int getChannelForRouting() { return 0; //To change body of implemented methods use File | Settings | File Templates. } public void set(boolean value) { this.value = value; } /** * IGNORE THIS METHOD; FOR jRIO USE ONLY * @return the boolean value */ public boolean $_get() { return value; } }