Skip to content

Commit 2ccebea

Browse files
facchinmsandeepmistry
authored andcommitted
Support different baudrates for flasher
1 parent 7188569 commit 2ccebea

File tree

5 files changed

+27
-22
lines changed

5 files changed

+27
-22
lines changed

src/cc/arduino/plugins/wifi101/UpdaterImpl.java

+8-8
Original file line numberDiff line numberDiff line change
@@ -64,13 +64,13 @@ public UpdaterImpl() throws Exception {
6464
});
6565
Base.setIcon(this);
6666

67-
fwAvailable.add(new WINCFlasher("WINC1501 Model B", "19.6.1", "firmwares/WINC1500/19.6.1/m2m_aio_3a0.bin", true, new ArrayList<String>(asList("Arduino/Genuino MKR1000"))));
68-
fwAvailable.add(new WINCFlasher("WINC1501 Model B", "19.5.4", "firmwares/WINC1500/19.5.4/m2m_aio_3a0.bin", true, new ArrayList<String>(asList("Arduino/Genuino MKR1000"))));
69-
fwAvailable.add(new WINCFlasher("WINC1501 Model B", "19.5.2", "firmwares/WINC1500/19.5.2/m2m_aio_3a0.bin", true, new ArrayList<String>(asList("Arduino/Genuino MKR1000"))));
70-
fwAvailable.add(new WINCFlasher("WINC1501 Model B", "19.4.4", "firmwares/WINC1500/19.4.4/m2m_aio_3a0.bin", true, new ArrayList<String>(asList("Arduino/Genuino MKR1000"))));
71-
fwAvailable.add(new WINCFlasher("WINC1501 Model A", "19.4.4", "firmwares/WINC1500/19.4.4/m2m_aio_2b0.bin", true, new ArrayList<String>(asList("Arduino WiFi 101 Shield"))));
72-
fwAvailable.add(new NinaFlasher("NINA firmware", "1.1.0", "firmwares/NINA/1.1.0/NINA_W102.bin", true, new ArrayList<String>(asList("Arduino MKR WiFi 1010", "Arduino MKR Vidor 4000", "Arduino Uno WiFi Rev2"))));
73-
fwAvailable.add(new NinaFlasher("NINA firmware", "1.0.0", "firmwares/NINA/1.0.0/NINA_W102.bin", false, new ArrayList<String>(asList("Arduino MKR WiFi 1010", "Arduino MKR Vidor 4000", "Arduino Uno WiFi Rev2"))));
67+
fwAvailable.add(new WINCFlasher("WINC1501 Model B", "19.6.1", "firmwares/WINC1500/19.6.1/m2m_aio_3a0.bin", true, 1000000, new ArrayList<String>(asList("Arduino/Genuino MKR1000"))));
68+
fwAvailable.add(new WINCFlasher("WINC1501 Model B", "19.5.4", "firmwares/WINC1500/19.5.4/m2m_aio_3a0.bin", true, 1000000, new ArrayList<String>(asList("Arduino/Genuino MKR1000"))));
69+
fwAvailable.add(new WINCFlasher("WINC1501 Model B", "19.5.2", "firmwares/WINC1500/19.5.2/m2m_aio_3a0.bin", true, 1000000, new ArrayList<String>(asList("Arduino/Genuino MKR1000"))));
70+
fwAvailable.add(new WINCFlasher("WINC1501 Model B", "19.4.4", "firmwares/WINC1500/19.4.4/m2m_aio_3a0.bin", true, 1000000, new ArrayList<String>(asList("Arduino/Genuino MKR1000"))));
71+
fwAvailable.add(new WINCFlasher("WINC1501 Model A", "19.4.4", "firmwares/WINC1500/19.4.4/m2m_aio_2b0.bin", true, 115200, new ArrayList<String>(asList("Arduino WiFi 101 Shield"))));
72+
fwAvailable.add(new NinaFlasher("NINA firmware", "1.1.0", "firmwares/NINA/1.1.0/NINA_W102.bin", true, 1000000, new ArrayList<String>(asList("Arduino MKR WiFi 1010", "Arduino MKR Vidor 4000", "Arduino Uno WiFi Rev2"))));
73+
fwAvailable.add(new NinaFlasher("NINA firmware", "1.0.0", "firmwares/NINA/1.0.0/NINA_W102.bin", false, 1000000, new ArrayList<String>(asList("Arduino MKR WiFi 1010", "Arduino MKR Vidor 4000", "Arduino Uno WiFi Rev2"))));
7474

7575
for (Flasher firmware : fwAvailable) {
7676
getFirmwareSelector().addItem(firmware);
@@ -162,7 +162,7 @@ protected void testConnection() {
162162
new Thread() {
163163
public void run() {
164164
try {
165-
fw.testConnection(port.getAddress());
165+
fw.testConnection(port.getAddress(), fw.getBaudrate());
166166
JOptionPane.showMessageDialog(UpdaterImpl.this, "The programmer is working!", "Test successful",
167167
JOptionPane.INFORMATION_MESSAGE);
168168
} catch (Exception e) {

src/cc/arduino/plugins/wifi101/flashers/Flasher.java

+9-3
Original file line numberDiff line numberDiff line change
@@ -61,10 +61,11 @@ public class Flasher {
6161
public String filename;
6262
public List<String> compatibleBoard;
6363
public boolean certavail;
64+
protected int baudrate;
6465

6566
public Flasher() {}
6667

67-
public Flasher(String _modulename, String _version, String _filename, boolean _certavail, ArrayList<String> _compatibleBoard) {
68+
public Flasher(String _modulename, String _version, String _filename, boolean _certavail, int _baudrate, ArrayList<String> _compatibleBoard) {
6869
modulename = _modulename;
6970
compatibleBoard = new ArrayList<String>();
7071
version = _version;
@@ -73,6 +74,7 @@ public Flasher(String _modulename, String _version, String _filename, boolean _c
7374
certavail = _certavail;
7475
compatibleBoard.addAll(_compatibleBoard);
7576
filename = _filename;
77+
baudrate = _baudrate;
7678
}
7779

7880
public void progress(int progress, String text) {
@@ -84,12 +86,12 @@ public void progress(int progress, String text) {
8486
progressBar.setString(text);
8587
}
8688

87-
public void testConnection(String port) throws Exception {
89+
public void testConnection(String port, int baudrate) throws Exception {
8890
FlasherSerialClient client = null;
8991
try {
9092
progress(50, "Testing programmer...");
9193
client = new FlasherSerialClient();
92-
client.open(port);
94+
client.open(port, baudrate);
9395
client.hello();
9496
progress(100, "Done!");
9597
} finally {
@@ -115,6 +117,10 @@ public String getName() {
115117
return name;
116118
}
117119

120+
public int getBaudrate() {
121+
return baudrate;
122+
}
123+
118124
public byte[] getData() throws IOException {
119125
InputStream in = null;
120126
try {

src/cc/arduino/plugins/wifi101/flashers/java/FlasherSerialClient.java

+2-3
Original file line numberDiff line numberDiff line change
@@ -47,14 +47,13 @@ public class FlasherSerialClient {
4747
private volatile byte recvBuffer[] = new byte[1000000];
4848
private volatile int recvPos = 0, writePos = 0;
4949

50-
public void open(String portName) throws SerialException, InterruptedException {
51-
50+
public void open(String portName, int baudrate) throws SerialException, InterruptedException {
5251
try {
5352
port = new SerialPort(portName);
5453
if (!port.openPort()) {
5554
throw new SerialException("Error opening serial port");
5655
}
57-
boolean res = port.setParams(115200, 8, STOPBITS_1, PARITY_NONE, true, true);
56+
boolean res = port.setParams(baudrate, 8, STOPBITS_1, PARITY_NONE, true, true);
5857
if (!res) {
5958
System.err.println(format(tr("Error while setting serial port parameters: {0} {1} {2} {3}"), 115200,
6059
PARITY_NONE, 8, STOPBITS_1));

src/cc/arduino/plugins/wifi101/flashers/java/NinaFlasher.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,8 @@ public class NinaFlasher extends Flasher {
5858

5959
public byte[] md5Checksum;
6060

61-
public NinaFlasher(String _modulename, String _version, String _filename, boolean _certavail, ArrayList<String> _compatibleBoard) {
62-
super(_modulename, _version, _filename, _certavail, _compatibleBoard);
61+
public NinaFlasher(String _modulename, String _version, String _filename, boolean _certavail, int _baudrate, ArrayList<String> _compatibleBoard) {
62+
super(_modulename, _version, _filename, _certavail, _baudrate, _compatibleBoard);
6363
}
6464

6565
@Override
@@ -69,7 +69,7 @@ public void updateFirmware(String port) throws Exception {
6969
file = openFirmwareFile();
7070
progress(10, "Connecting to programmer...");
7171
client = new FlasherSerialClient();
72-
client.open(port);
72+
client.open(port, this.baudrate);
7373
client.hello();
7474
int maxPayload = client.getMaximumPayload();
7575

@@ -119,7 +119,7 @@ public void uploadCertificates(String port, List<String> websites) throws Except
119119
file = openFirmwareFile();
120120
progress(10, "Connecting to programmer...");
121121
client = new FlasherSerialClient();
122-
client.open(port);
122+
client.open(port, this.baudrate);
123123
client.hello();
124124
int maxPayload = client.getMaximumPayload();
125125
int count = websites.size();

src/cc/arduino/plugins/wifi101/flashers/java/WINCFlasher.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@
4848

4949
public class WINCFlasher extends Flasher {
5050

51-
public WINCFlasher(String _modulename, String _version, String _filename, boolean _certavail, ArrayList<String> _compatibleBoard) {
52-
super(_modulename, _version, _filename, _certavail, _compatibleBoard);
51+
public WINCFlasher(String _modulename, String _version, String _filename, boolean _certavail, int _baudrate, ArrayList<String> _compatibleBoard) {
52+
super(_modulename, _version, _filename, _certavail, _baudrate, _compatibleBoard);
5353
}
5454

5555
@Override
@@ -59,7 +59,7 @@ public void updateFirmware(String port) throws Exception {
5959
file = openFirmwareFile();
6060
progress(10, "Connecting to programmer...");
6161
client = new FlasherSerialClient();
62-
client.open(port);
62+
client.open(port, this.baudrate);
6363
client.hello();
6464
int maxPayload = client.getMaximumPayload();
6565

@@ -110,7 +110,7 @@ public void uploadCertificates(String port, List<String> websites) throws Except
110110
try {
111111
progress(10, "Connecting to programmer...");
112112
client = new FlasherSerialClient();
113-
client.open(port);
113+
client.open(port, this.baudrate);
114114
client.hello();
115115
int maxPayload = client.getMaximumPayload();
116116

0 commit comments

Comments
 (0)