Project

General

Profile

Revision 11

View differences:

Serial.java
12 12
 * @author Andrej Cimpersek
13 13
 */
14 14
public class Serial {
15

  
15 16
    private boolean isOpened = false;
16 17
    private String deviceName;
17 18
    private String portName;
......
22 23
    protected OutputStream outputStream;
23 24
    private int baudRate, dataBits, stopBits, parity;
24 25
    private XMLConfiguration configuration;
25
    
26
    public Serial(String deviceName){
26

  
27
    public Serial(String deviceName) {
27 28
        configuration = Config.getConfiguration();
28 29
        this.portName = configuration.getString(String.format("devices.%s.port", deviceName));
29 30
        this.baudRate = configuration.getInt(String.format("devices.%s.baudRate", deviceName));
......
38 39
     *   (b) matches the desired name.
39 40
     * @return boolean
40 41
     */
41
    protected boolean identfy(){
42
    protected boolean identfy() {
42 43
        this.portIdentifiers = CommPortIdentifier.getPortIdentifiers();
43 44
        this.portId = null;  // will be set if port found
44
        while (portIdentifiers.hasMoreElements())
45
        {
46
            CommPortIdentifier pid = (CommPortIdentifier)portIdentifiers.nextElement();
47
            if(pid.getPortType() == CommPortIdentifier.PORT_SERIAL && pid.getName().equals(this.portName)){
45
        while (portIdentifiers.hasMoreElements()) {
46
            CommPortIdentifier pid = (CommPortIdentifier) portIdentifiers.nextElement();
47
            if (pid.getPortType() == CommPortIdentifier.PORT_SERIAL && pid.getName().equals(this.portName)) {
48 48
                this.portId = pid;
49 49
                return true;
50 50
            }
......
56 56
     * Destructor - close port
57 57
     */
58 58
    @Override()
59
    protected void finalize() throws Throwable{
59
    protected void finalize() throws Throwable {
60 60
        closePort();
61 61
    }
62 62

  
63
    public boolean acquirePort(){
64
        if(this.portId == null) return false;
63
    public boolean acquirePort() {
64
        if (this.portId == null) {
65
            return false;
66
        }
65 67
        // Use port identifier for acquiring the port
66 68
        try {
67
            this.port = (SerialPort)this.portId.open(
68
                this.deviceName, // Name of the application asking for the port
69
                10000   // Wait max. 10 sec. to acquire port
70
            );
71
        } catch(PortInUseException e) {
69
            this.port = (SerialPort) this.portId.open(
70
                    this.deviceName, // Name of the application asking for the port
71
                    10000 // Wait max. 10 sec. to acquire port
72
                    );
73
        } catch (PortInUseException e) {
72 74
            return false;
73 75
        }
74 76

  
75 77
        return true;
76 78
    }
77 79

  
78
    public boolean openPort(){
79
        if(!acquirePort()) return false;
80
    public boolean openPort() {
81
        if (!acquirePort()) {
82
            return false;
83
        }
80 84
        closePort();
81 85
        try {
82 86
            this.port.setSerialPortParams(this.baudRate, this.dataBits, this.stopBits, this.parity);
83 87
            this.port.removeEventListener();
84 88
            this.port.addEventListener(new SerialPortEventListener() {
85
                public void serialEvent(SerialPortEvent event){
86
                    switch(event.getEventType()) {
89

  
90
                public void serialEvent(SerialPortEvent event) {
91
                    switch (event.getEventType()) {
87 92
                        case SerialPortEvent.OUTPUT_BUFFER_EMPTY:
88 93
                            onOutputBufferEmpty(event);
89 94
                            break;
......
104 109
        }
105 110
    }
106 111

  
107
    public void closePort(){
108
        if(this.port == null) return;
112
    public void closePort() {
113
        if (this.port == null) {
114
            return;
115
        }
109 116
        try {
110 117
            this.inputStream.close();
111 118
            this.outputStream.close();
......
119 126
    /**
120 127
     * Write shortcut for string
121 128
     */
122
    public boolean sendCommand(String lockToken, String string){
129
    public boolean sendCommand(String lockToken, String string) {
123 130
        return sendCommand(lockToken, string.getBytes());
124 131
    }
125 132

  
......
128 135
     * @param bytes
129 136
     * @return boolean
130 137
     */
131
    public boolean sendCommand(String lockToken, byte[] bytes){
138
    public boolean sendCommand(String lockToken, byte[] bytes) {
132 139
        // TODO: worker, ki odklene po X času brez dostopa
133
        if(!Management.locked || lockToken != Management.lockToken) return false;
140
        if (!Management.locked || lockToken != Management.lockToken) {
141
            return false;
142
        }
134 143
        Management.lockAccess = new Date();
135
        
144

  
136 145
        try {
137 146
            outputStream.write(bytes);
138 147
        } catch (Exception e) {
......
148 157
     *       guaranteed by the API specification.
149 158
     * @param event The output buffer empty event
150 159
     */
151
    protected void onOutputBufferEmpty(SerialPortEvent event){
160
    protected void onOutputBufferEmpty(SerialPortEvent event) {
152 161
        //TODO: implement
153 162
    }
154 163

  
......
156 165
     * Handle data available events.
157 166
     * @param event The data available event
158 167
     */
159
    protected void onDataAvailable(SerialPortEvent event){
168
    protected void onDataAvailable(SerialPortEvent event) {
160 169
        //TODO: implement
161 170
    }
162 171
}

Also available in: Unified diff