@@ -64,27 +64,35 @@ public Serial() throws SerialException {
64
64
PreferencesData .getInteger ("serial.debug_rate" , 9600 ),
65
65
PreferencesData .getNonEmpty ("serial.parity" , "N" ).charAt (0 ),
66
66
PreferencesData .getInteger ("serial.databits" , 8 ),
67
- PreferencesData .getFloat ("serial.stopbits" , 1 ));
67
+ PreferencesData .getFloat ("serial.stopbits" , 1 ),
68
+ !BaseNoGui .getBoardPreferences ().get ("serial.disableRTS" ).equalsIgnoreCase ("true" ),
69
+ !BaseNoGui .getBoardPreferences ().get ("serial.disableDTR" ).equalsIgnoreCase ("true" ));
68
70
}
69
71
70
72
public Serial (int irate ) throws SerialException {
71
73
this (PreferencesData .get ("serial.port" ), irate ,
72
74
PreferencesData .getNonEmpty ("serial.parity" , "N" ).charAt (0 ),
73
75
PreferencesData .getInteger ("serial.databits" , 8 ),
74
- PreferencesData .getFloat ("serial.stopbits" , 1 ));
76
+ PreferencesData .getFloat ("serial.stopbits" , 1 ),
77
+ !BaseNoGui .getBoardPreferences ().get ("serial.disableRTS" ).equalsIgnoreCase ("true" ),
78
+ !BaseNoGui .getBoardPreferences ().get ("serial.disableDTR" ).equalsIgnoreCase ("true" ));
75
79
}
76
80
77
81
public Serial (String iname , int irate ) throws SerialException {
78
82
this (iname , irate , PreferencesData .getNonEmpty ("serial.parity" , "N" ).charAt (0 ),
79
83
PreferencesData .getInteger ("serial.databits" , 8 ),
80
- PreferencesData .getFloat ("serial.stopbits" , 1 ));
84
+ PreferencesData .getFloat ("serial.stopbits" , 1 ),
85
+ !BaseNoGui .getBoardPreferences ().get ("serial.disableRTS" ).equalsIgnoreCase ("true" ),
86
+ !BaseNoGui .getBoardPreferences ().get ("serial.disableDTR" ).equalsIgnoreCase ("true" ));
81
87
}
82
88
83
89
public Serial (String iname ) throws SerialException {
84
90
this (iname , PreferencesData .getInteger ("serial.debug_rate" , 9600 ),
85
91
PreferencesData .getNonEmpty ("serial.parity" , "N" ).charAt (0 ),
86
92
PreferencesData .getInteger ("serial.databits" , 8 ),
87
- PreferencesData .getFloat ("serial.stopbits" , 1 ));
93
+ PreferencesData .getFloat ("serial.stopbits" , 1 ),
94
+ !BaseNoGui .getBoardPreferences ().get ("serial.disableRTS" ).equalsIgnoreCase ("true" ),
95
+ !BaseNoGui .getBoardPreferences ().get ("serial.disableDTR" ).equalsIgnoreCase ("true" ));
88
96
}
89
97
90
98
public static boolean touchForCDCReset (String iname ) throws SerialException {
@@ -108,7 +116,7 @@ public static boolean touchForCDCReset(String iname) throws SerialException {
108
116
}
109
117
}
110
118
111
- private Serial (String iname , int irate , char iparity , int idatabits , float istopbits ) throws SerialException {
119
+ private Serial (String iname , int irate , char iparity , int idatabits , float istopbits , boolean setRTS , boolean setDTR ) throws SerialException {
112
120
//if (port != null) port.close();
113
121
//this.parent = parent;
114
122
//parent.attach(this);
@@ -126,7 +134,7 @@ private Serial(String iname, int irate, char iparity, int idatabits, float istop
126
134
try {
127
135
port = new SerialPort (iname );
128
136
port .openPort ();
129
- boolean res = port .setParams (irate , idatabits , stopbits , parity , true , true );
137
+ boolean res = port .setParams (irate , idatabits , stopbits , parity , setRTS , setDTR );
130
138
if (!res ) {
131
139
System .err .println (format (tr ("Error while setting serial port parameters: {0} {1} {2} {3}" ),
132
140
irate , iparity , idatabits , istopbits ));
0 commit comments