package fabrik.simulator.pic16f84.interfaces;

import javafx.scene.shape.Circle;

import java.io.IOException;

import fabrik.simulator.pic16f84.frontendspecifics.FrontendSpecificObject;
import fabrik.simulator.pic16f84.frontendspecifics.FrontendSpecificToggleButtonGroup;

public interface IOPortInterface extends PICComponentInterface, FrontendSpecificObject {
    void resetTRIS();

    void setRegister(int i, int content);

    void clearBit(int i, int bit);

    void setBit(int i, int bit);

    void setPORTfromUI(FrontendSpecificToggleButtonGroup parent) throws IOException;

    void setTRISfromUI(FrontendSpecificToggleButtonGroup parent) throws IOException;

    void refreshUI(FrontendSpecificToggleButtonGroup[] trisButtons, FrontendSpecificToggleButtonGroup[] portButtons);

    void reset();

    void setLEDs(Circle[] allLEDsA, Circle[] allLEDsB);

    void setLEDs(boolean[] booleans);
}
