diff --git a/firmwares/NINA/1.4.5/NINA_W102-Nano_RP2040_Connect.bin b/firmwares/NINA/1.4.5/NINA_W102-Nano_RP2040_Connect.bin new file mode 100644 index 0000000..bc1f64f Binary files /dev/null and b/firmwares/NINA/1.4.5/NINA_W102-Nano_RP2040_Connect.bin differ diff --git a/firmwares/NINA/1.4.5/NINA_W102-Uno_WiFi_Rev2.bin b/firmwares/NINA/1.4.5/NINA_W102-Uno_WiFi_Rev2.bin new file mode 100644 index 0000000..ee863d0 Binary files /dev/null and b/firmwares/NINA/1.4.5/NINA_W102-Uno_WiFi_Rev2.bin differ diff --git a/firmwares/NINA/1.4.5/NINA_W102.bin b/firmwares/NINA/1.4.5/NINA_W102.bin new file mode 100644 index 0000000..e8e9ad7 Binary files /dev/null and b/firmwares/NINA/1.4.5/NINA_W102.bin differ diff --git a/src/cc/arduino/plugins/wifi101/SerialPortListModel.java b/src/cc/arduino/plugins/wifi101/SerialPortListModel.java index 6e9bfb0..229c340 100644 --- a/src/cc/arduino/plugins/wifi101/SerialPortListModel.java +++ b/src/cc/arduino/plugins/wifi101/SerialPortListModel.java @@ -28,8 +28,6 @@ package cc.arduino.plugins.wifi101; import java.util.List; -import java.util.Map; -import java.util.HashMap; import javax.swing.ListModel; import javax.swing.event.ListDataListener; diff --git a/src/cc/arduino/plugins/wifi101/UpdaterImpl.java b/src/cc/arduino/plugins/wifi101/UpdaterImpl.java index 7a584bc..1c3fca8 100644 --- a/src/cc/arduino/plugins/wifi101/UpdaterImpl.java +++ b/src/cc/arduino/plugins/wifi101/UpdaterImpl.java @@ -27,25 +27,18 @@ */ package cc.arduino.plugins.wifi101; -import java.io.File; -import java.net.URISyntaxException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - import static java.util.Arrays.asList; -import java.io.IOException; -import java.io.InputStream; -import java.net.URISyntaxException; +import java.util.ArrayList; +import java.util.List; import javax.swing.DefaultListModel; import javax.swing.JOptionPane; import cc.arduino.packages.BoardPort; import cc.arduino.plugins.wifi101.flashers.Flasher; -import cc.arduino.plugins.wifi101.flashers.java.WINCFlasher; import cc.arduino.plugins.wifi101.flashers.java.NinaFlasher; +import cc.arduino.plugins.wifi101.flashers.java.WINCFlasher; import processing.app.Base; @SuppressWarnings("serial") @@ -55,7 +48,7 @@ public class UpdaterImpl extends UpdaterJFrame { public ArrayList compatibleBoard; - public static ArrayList fwAvailable = new ArrayList(); + public static ArrayList fwAvailable = new ArrayList<>(); public UpdaterImpl() throws Exception { super(); @@ -64,33 +57,36 @@ public UpdaterImpl() throws Exception { }); Base.setIcon(this); - fwAvailable.add(new WINCFlasher("WINC1501 Model B", "19.6.1", "firmwares/WINC1500/19.6.1/m2m_aio_3a0.bin", true, 1000000, new ArrayList(asList("Arduino/Genuino MKR1000")))); - fwAvailable.add(new WINCFlasher("WINC1501 Model B", "19.5.4", "firmwares/WINC1500/19.5.4/m2m_aio_3a0.bin", true, 1000000, new ArrayList(asList("Arduino/Genuino MKR1000")))); - fwAvailable.add(new WINCFlasher("WINC1501 Model B", "19.5.2", "firmwares/WINC1500/19.5.2/m2m_aio_3a0.bin", true, 1000000, new ArrayList(asList("Arduino/Genuino MKR1000")))); - fwAvailable.add(new WINCFlasher("WINC1501 Model B", "19.4.4", "firmwares/WINC1500/19.4.4/m2m_aio_3a0.bin", true, 1000000, new ArrayList(asList("Arduino/Genuino MKR1000")))); - fwAvailable.add(new WINCFlasher("WINC1501 Model A", "19.4.4", "firmwares/WINC1500/19.4.4/m2m_aio_2b0.bin", true, 115200, new ArrayList(asList("Arduino WiFi 101 Shield")))); - fwAvailable.add(new NinaFlasher("NINA firmware", "1.4.4", "firmwares/NINA/1.4.4/NINA_W102.bin", true, 1000000, new ArrayList(asList("Arduino MKR WiFi 1010", "Arduino NANO 33 IoT")))); - fwAvailable.add(new NinaFlasher("NINA firmware", "1.4.4", "firmwares/NINA/1.4.4/NINA_W102-Uno_WiFi_Rev2.bin", true, 1000000, new ArrayList(asList("Arduino Uno WiFi Rev2")))); - fwAvailable.add(new NinaFlasher("NINA firmware", "1.4.3", "firmwares/NINA/1.4.3/NINA_W102.bin", true, 1000000, new ArrayList(asList("Arduino MKR WiFi 1010", "Arduino NANO 33 IoT")))); - fwAvailable.add(new NinaFlasher("NINA firmware", "1.4.3", "firmwares/NINA/1.4.3/NINA_W102-Uno_WiFi_Rev2.bin", true, 1000000, new ArrayList(asList("Arduino Uno WiFi Rev2")))); - fwAvailable.add(new NinaFlasher("NINA firmware", "1.4.2", "firmwares/NINA/1.4.2/NINA_W102.bin", true, 1000000, new ArrayList(asList("Arduino MKR WiFi 1010", "Arduino NANO 33 IoT")))); - fwAvailable.add(new NinaFlasher("NINA firmware", "1.4.2", "firmwares/NINA/1.4.2/NINA_W102-Uno_WiFi_Rev2.bin", true, 1000000, new ArrayList(asList("Arduino Uno WiFi Rev2")))); - fwAvailable.add(new NinaFlasher("NINA firmware", "1.4.1", "firmwares/NINA/1.4.1/NINA_W102.bin", true, 1000000, new ArrayList(asList("Arduino MKR WiFi 1010", "Arduino NANO 33 IoT")))); - fwAvailable.add(new NinaFlasher("NINA firmware", "1.4.1", "firmwares/NINA/1.4.1/NINA_W102-Uno_WiFi_Rev2.bin", true, 1000000, new ArrayList(asList("Arduino Uno WiFi Rev2")))); - fwAvailable.add(new NinaFlasher("NINA firmware", "1.4.0", "firmwares/NINA/1.4.0/NINA_W102.bin", true, 1000000, new ArrayList(asList("Arduino MKR WiFi 1010", "Arduino NANO 33 IoT")))); - fwAvailable.add(new NinaFlasher("NINA firmware", "1.4.0", "firmwares/NINA/1.4.0/NINA_W102-Uno_WiFi_Rev2.bin", true, 1000000, new ArrayList(asList("Arduino Uno WiFi Rev2")))); - fwAvailable.add(new NinaFlasher("NINA firmware", "1.3.0", "firmwares/NINA/1.3.0/NINA_W102.bin", true, 1000000, new ArrayList(asList("Arduino MKR WiFi 1010", "Arduino NANO 33 IoT")))); - fwAvailable.add(new NinaFlasher("NINA firmware", "1.3.0", "firmwares/NINA/1.3.0/NINA_W102-Uno_WiFi_Rev2.bin", true, 1000000, new ArrayList(asList("Arduino Uno WiFi Rev2")))); - fwAvailable.add(new NinaFlasher("NINA firmware", "1.2.4", "firmwares/NINA/1.2.4/NINA_W102.bin", true, 1000000, new ArrayList(asList("Arduino MKR WiFi 1010", "Arduino NANO 33 IoT")))); - fwAvailable.add(new NinaFlasher("NINA firmware", "1.2.4", "firmwares/NINA/1.2.4/NINA_W102-Uno_WiFi_Rev2.bin", true, 1000000, new ArrayList(asList("Arduino Uno WiFi Rev2")))); - fwAvailable.add(new NinaFlasher("NINA firmware", "1.2.3", "firmwares/NINA/1.2.3/NINA_W102.bin", true, 1000000, new ArrayList(asList("Arduino MKR WiFi 1010")))); - fwAvailable.add(new NinaFlasher("NINA firmware", "1.2.3", "firmwares/NINA/1.2.3/NINA_W102-Uno_WiFi_Rev2.bin", true, 1000000, new ArrayList(asList("Arduino Uno WiFi Rev2")))); - fwAvailable.add(new NinaFlasher("NINA firmware", "1.2.2", "firmwares/NINA/1.2.2/NINA_W102.bin", true, 1000000, new ArrayList(asList("Arduino MKR WiFi 1010")))); - fwAvailable.add(new NinaFlasher("NINA firmware", "1.2.2", "firmwares/NINA/1.2.2/NINA_W102-Uno_WiFi_Rev2.bin", true, 1000000, new ArrayList(asList("Arduino Uno WiFi Rev2")))); - fwAvailable.add(new NinaFlasher("NINA firmware", "1.2.1", "firmwares/NINA/1.2.1/NINA_W102.bin", true, 1000000, new ArrayList(asList("Arduino MKR WiFi 1010")))); - fwAvailable.add(new NinaFlasher("NINA firmware", "1.2.1", "firmwares/NINA/1.2.1/NINA_W102-Uno_WiFi_Rev2.bin", true, 1000000, new ArrayList(asList("Arduino Uno WiFi Rev2")))); - fwAvailable.add(new NinaFlasher("NINA firmware", "1.1.0", "firmwares/NINA/1.1.0/NINA_W102.bin", true, 1000000, new ArrayList(asList("Arduino MKR WiFi 1010", "Arduino MKR Vidor 4000", "Arduino Uno WiFi Rev2")))); - fwAvailable.add(new NinaFlasher("NINA firmware", "1.0.0", "firmwares/NINA/1.0.0/NINA_W102.bin", false, 1000000, new ArrayList(asList("Arduino MKR WiFi 1010", "Arduino MKR Vidor 4000", "Arduino Uno WiFi Rev2")))); + fwAvailable.add(new WINCFlasher("WINC1501 Model B", "19.6.1", "firmwares/WINC1500/19.6.1/m2m_aio_3a0.bin", true, 1000000, asList("Arduino/Genuino MKR1000"))); + fwAvailable.add(new WINCFlasher("WINC1501 Model B", "19.5.4", "firmwares/WINC1500/19.5.4/m2m_aio_3a0.bin", true, 1000000, asList("Arduino/Genuino MKR1000"))); + fwAvailable.add(new WINCFlasher("WINC1501 Model B", "19.5.2", "firmwares/WINC1500/19.5.2/m2m_aio_3a0.bin", true, 1000000, asList("Arduino/Genuino MKR1000"))); + fwAvailable.add(new WINCFlasher("WINC1501 Model B", "19.4.4", "firmwares/WINC1500/19.4.4/m2m_aio_3a0.bin", true, 1000000, asList("Arduino/Genuino MKR1000"))); + fwAvailable.add(new WINCFlasher("WINC1501 Model A", "19.4.4", "firmwares/WINC1500/19.4.4/m2m_aio_2b0.bin", true, 115200, asList("Arduino WiFi 101 Shield"))); + fwAvailable.add(new NinaFlasher("NINA firmware", "1.4.5", "firmwares/NINA/1.4.5/NINA_W102.bin", true, 1000000, asList("Arduino MKR WiFi 1010", "Arduino NANO 33 IoT"))); + fwAvailable.add(new NinaFlasher("NINA firmware", "1.4.5", "firmwares/NINA/1.4.5/NINA_W102-Uno_WiFi_Rev2.bin", true, 1000000, asList("Arduino Uno WiFi Rev2"))); + fwAvailable.add(new NinaFlasher("NINA firmware", "1.4.5", "firmwares/NINA/1.4.5/NINA_W102-Nano_RP2040_Connect.bin", true, 1000000, asList("Arduino Nano RP2040 Connect"))); + fwAvailable.add(new NinaFlasher("NINA firmware", "1.4.4", "firmwares/NINA/1.4.4/NINA_W102.bin", true, 1000000, asList("Arduino MKR WiFi 1010", "Arduino NANO 33 IoT"))); + fwAvailable.add(new NinaFlasher("NINA firmware", "1.4.4", "firmwares/NINA/1.4.4/NINA_W102-Uno_WiFi_Rev2.bin", true, 1000000, asList("Arduino Uno WiFi Rev2"))); + fwAvailable.add(new NinaFlasher("NINA firmware", "1.4.3", "firmwares/NINA/1.4.3/NINA_W102.bin", true, 1000000, asList("Arduino MKR WiFi 1010", "Arduino NANO 33 IoT"))); + fwAvailable.add(new NinaFlasher("NINA firmware", "1.4.3", "firmwares/NINA/1.4.3/NINA_W102-Uno_WiFi_Rev2.bin", true, 1000000, asList("Arduino Uno WiFi Rev2"))); + fwAvailable.add(new NinaFlasher("NINA firmware", "1.4.2", "firmwares/NINA/1.4.2/NINA_W102.bin", true, 1000000, asList("Arduino MKR WiFi 1010", "Arduino NANO 33 IoT"))); + fwAvailable.add(new NinaFlasher("NINA firmware", "1.4.2", "firmwares/NINA/1.4.2/NINA_W102-Uno_WiFi_Rev2.bin", true, 1000000, asList("Arduino Uno WiFi Rev2"))); + fwAvailable.add(new NinaFlasher("NINA firmware", "1.4.1", "firmwares/NINA/1.4.1/NINA_W102.bin", true, 1000000, asList("Arduino MKR WiFi 1010", "Arduino NANO 33 IoT"))); + fwAvailable.add(new NinaFlasher("NINA firmware", "1.4.1", "firmwares/NINA/1.4.1/NINA_W102-Uno_WiFi_Rev2.bin", true, 1000000, asList("Arduino Uno WiFi Rev2"))); + fwAvailable.add(new NinaFlasher("NINA firmware", "1.4.0", "firmwares/NINA/1.4.0/NINA_W102.bin", true, 1000000, asList("Arduino MKR WiFi 1010", "Arduino NANO 33 IoT"))); + fwAvailable.add(new NinaFlasher("NINA firmware", "1.4.0", "firmwares/NINA/1.4.0/NINA_W102-Uno_WiFi_Rev2.bin", true, 1000000, asList("Arduino Uno WiFi Rev2"))); + fwAvailable.add(new NinaFlasher("NINA firmware", "1.3.0", "firmwares/NINA/1.3.0/NINA_W102.bin", true, 1000000, asList("Arduino MKR WiFi 1010", "Arduino NANO 33 IoT"))); + fwAvailable.add(new NinaFlasher("NINA firmware", "1.3.0", "firmwares/NINA/1.3.0/NINA_W102-Uno_WiFi_Rev2.bin", true, 1000000, asList("Arduino Uno WiFi Rev2"))); + fwAvailable.add(new NinaFlasher("NINA firmware", "1.2.4", "firmwares/NINA/1.2.4/NINA_W102.bin", true, 1000000, asList("Arduino MKR WiFi 1010", "Arduino NANO 33 IoT"))); + fwAvailable.add(new NinaFlasher("NINA firmware", "1.2.4", "firmwares/NINA/1.2.4/NINA_W102-Uno_WiFi_Rev2.bin", true, 1000000, asList("Arduino Uno WiFi Rev2"))); + fwAvailable.add(new NinaFlasher("NINA firmware", "1.2.3", "firmwares/NINA/1.2.3/NINA_W102.bin", true, 1000000, asList("Arduino MKR WiFi 1010"))); + fwAvailable.add(new NinaFlasher("NINA firmware", "1.2.3", "firmwares/NINA/1.2.3/NINA_W102-Uno_WiFi_Rev2.bin", true, 1000000, asList("Arduino Uno WiFi Rev2"))); + fwAvailable.add(new NinaFlasher("NINA firmware", "1.2.2", "firmwares/NINA/1.2.2/NINA_W102.bin", true, 1000000, asList("Arduino MKR WiFi 1010"))); + fwAvailable.add(new NinaFlasher("NINA firmware", "1.2.2", "firmwares/NINA/1.2.2/NINA_W102-Uno_WiFi_Rev2.bin", true, 1000000, asList("Arduino Uno WiFi Rev2"))); + fwAvailable.add(new NinaFlasher("NINA firmware", "1.2.1", "firmwares/NINA/1.2.1/NINA_W102.bin", true, 1000000, asList("Arduino MKR WiFi 1010"))); + fwAvailable.add(new NinaFlasher("NINA firmware", "1.2.1", "firmwares/NINA/1.2.1/NINA_W102-Uno_WiFi_Rev2.bin", true, 1000000, asList("Arduino Uno WiFi Rev2"))); + fwAvailable.add(new NinaFlasher("NINA firmware", "1.1.0", "firmwares/NINA/1.1.0/NINA_W102.bin", true, 1000000, asList("Arduino MKR WiFi 1010", "Arduino MKR Vidor 4000", "Arduino Uno WiFi Rev2"))); + fwAvailable.add(new NinaFlasher("NINA firmware", "1.0.0", "firmwares/NINA/1.0.0/NINA_W102.bin", false, 1000000, asList("Arduino MKR WiFi 1010", "Arduino MKR Vidor 4000", "Arduino Uno WiFi Rev2"))); for (Flasher firmware : fwAvailable) { getFirmwareSelector().addItem(firmware); @@ -110,7 +106,7 @@ private void refreshCertList() { @Override protected void refreshSerialPortList() { - DefaultListModel model = new DefaultListModel(); + DefaultListModel model = new DefaultListModel<>(); BoardPort board; listModel = new SerialPortListModel(); for (int i = 0; i < listModel.getSize(); i++) { @@ -179,6 +175,7 @@ protected void testConnection() { setEnabled(false); new Thread() { + @Override public void run() { try { fw.testConnection(port.getAddress(), fw.getBaudrate()); @@ -191,7 +188,7 @@ public void run() { } setEnabled(true); resetProgress(); - }; + } }.start(); } @@ -240,7 +237,7 @@ public void run() { @Override protected void addCertificate() { - String website = (String) JOptionPane.showInputDialog(this, "Enter the website to fetch SSL certificate:", + String website = JOptionPane.showInputDialog(this, "Enter the website to fetch SSL certificate:", "Add SSL certificate from website", JOptionPane.QUESTION_MESSAGE); if (website.startsWith("http://")) { JOptionPane.showMessageDialog(UpdaterImpl.this, "Sorry \"http://\" protocol doesn't support SSL", @@ -288,6 +285,7 @@ protected void uploadCertificates() { setEnabled(false); new Thread() { + @SuppressWarnings("synthetic-access") @Override public void run() { try { diff --git a/src/cc/arduino/plugins/wifi101/UpdaterJFrame.java b/src/cc/arduino/plugins/wifi101/UpdaterJFrame.java index b8b8b8f..fea4dfb 100644 --- a/src/cc/arduino/plugins/wifi101/UpdaterJFrame.java +++ b/src/cc/arduino/plugins/wifi101/UpdaterJFrame.java @@ -44,6 +44,7 @@ import javax.swing.JPanel; import javax.swing.JProgressBar; import javax.swing.JScrollPane; +import javax.swing.WindowConstants; import javax.swing.border.EmptyBorder; import javax.swing.border.LineBorder; import javax.swing.border.TitledBorder; @@ -51,7 +52,6 @@ import javax.swing.event.ListSelectionListener; import cc.arduino.plugins.wifi101.flashers.Flasher; -import processing.app.Base; import processing.app.Theme; @SuppressWarnings("serial") @@ -78,6 +78,7 @@ public class UpdaterJFrame extends JFrame { public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { + @Override public void run() { try { UpdaterJFrame frame = new UpdaterJFrame(); @@ -94,7 +95,7 @@ public UpdaterJFrame() { int scale = Theme.getScale(); setTitle("WiFi101 / WiFiNINA Firmware/Certificates Updater"); setResizable(false); - setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); + setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); setBounds(100 * scale / 100, 100 * scale / 100, 500 * scale / 100, 520 * scale / 100); contentPane = new JPanel(); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); @@ -133,7 +134,7 @@ public UpdaterJFrame() { gbc_textSelectPort.gridy = 0; panel_1.add(textSelectPort, gbc_textSelectPort); - serialPortList = new JList(); + serialPortList = new JList<>(); JScrollPane sp = new JScrollPane(serialPortList); serialPortList.setMaximumSize(new Dimension(300 * scale / 100, 100 * scale / 100)); GridBagConstraints gbc_serialPortList = new GridBagConstraints(); @@ -144,14 +145,15 @@ public UpdaterJFrame() { gbc_serialPortList.gridheight = 5; panel_1.add(sp, gbc_serialPortList); serialPortList.addListSelectionListener(new ListSelectionListener() { + @Override public void valueChanged(ListSelectionEvent e) { - boolean enabled = (serialPortList.getSelectedIndex() != -1); SelectBoardModule(); } }); JButton refreshListButton = new JButton("Refresh list"); refreshListButton.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { refreshSerialPortList(); } @@ -165,6 +167,7 @@ public void actionPerformed(ActionEvent e) { testConnectionButton = new JButton("Test connection"); testConnectionButton.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { testConnection(); } @@ -178,6 +181,7 @@ public void actionPerformed(ActionEvent e) { openFirmwareUpdaterSketchButton = new JButton("Open Updater sketch"); openFirmwareUpdaterSketchButton.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { openFirmwareUpdaterSketch(); } @@ -215,7 +219,7 @@ public void actionPerformed(ActionEvent e) { gbc_textSelectTheFirmware.gridy = 1; panel.add(textSelectTheFirmware, gbc_textSelectTheFirmware); - firmwareSelector = new JComboBox(); + firmwareSelector = new JComboBox<>(); GridBagConstraints gbc_firmwareSelector = new GridBagConstraints(); gbc_firmwareSelector.insets = new Insets(5, 5, 5, 0); gbc_firmwareSelector.fill = GridBagConstraints.HORIZONTAL; @@ -224,6 +228,7 @@ public void actionPerformed(ActionEvent e) { panel.add(firmwareSelector, gbc_firmwareSelector); firmwareSelector.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { updateCertSection(); } @@ -231,6 +236,7 @@ public void actionPerformed(ActionEvent e) { updateFirmwareButton = new JButton("Update Firmware"); updateFirmwareButton.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { updateFirmware(); } @@ -283,8 +289,9 @@ public void actionPerformed(ActionEvent e) { certSelector = new JList<>(); certSelector.addListSelectionListener(new ListSelectionListener() { + @Override public void valueChanged(ListSelectionEvent e) { - boolean enabled = (certSelector.getSelectedIndex() != -1); + boolean enabled = (getCertSelector().getSelectedIndex() != -1); getRemoveCertificateButton().setEnabled(enabled); } }); @@ -299,6 +306,7 @@ public void valueChanged(ListSelectionEvent e) { addCertificateButton = new JButton("Add domain"); addCertificateButton.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { addCertificate(); } @@ -313,6 +321,7 @@ public void actionPerformed(ActionEvent e) { removeCertificateButton = new JButton("Remove domain"); removeCertificateButton.setEnabled(false); removeCertificateButton.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { removeCertificate(); } @@ -326,6 +335,7 @@ public void actionPerformed(ActionEvent e) { uploadCertificatesButton = new JButton("Upload Certificates to WiFi module"); uploadCertificatesButton.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { uploadCertificates(); } diff --git a/src/cc/arduino/plugins/wifi101/WiFi101.java b/src/cc/arduino/plugins/wifi101/WiFi101.java index 511601c..7fababb 100644 --- a/src/cc/arduino/plugins/wifi101/WiFi101.java +++ b/src/cc/arduino/plugins/wifi101/WiFi101.java @@ -35,14 +35,17 @@ public class WiFi101 implements Tool { UpdaterImpl updater; - public void init(Editor editor) { - this.editor = editor; + @Override + public void init(Editor _editor) { + this.editor = _editor; } + @Override public String getMenuTitle() { return "WiFi101 / WiFiNINA Firmware Updater"; } + @Override public synchronized void run() { if (updater == null) try { diff --git a/src/cc/arduino/plugins/wifi101/certs/WiFi101Certificate.java b/src/cc/arduino/plugins/wifi101/certs/WiFi101Certificate.java index dfa9c9d..0240bab 100644 --- a/src/cc/arduino/plugins/wifi101/certs/WiFi101Certificate.java +++ b/src/cc/arduino/plugins/wifi101/certs/WiFi101Certificate.java @@ -153,12 +153,12 @@ private static byte[] encodeTimestampV1(Date timestamp) throws IOException { private static byte[] getSubjectValueHash(X509Certificate x509) throws NoSuchAlgorithmException, IOException { MessageDigest sha1 = MessageDigest.getInstance("SHA-1"); - ASN1InputStream ais = new ASN1InputStream(x509.getSubjectX500Principal().getEncoded()); - while (ais.available() > 0) { - ASN1Primitive obj = ais.readObject(); - sha1.update(extractPrintableString(obj)); + try (ASN1InputStream ais = new ASN1InputStream(x509.getSubjectX500Principal().getEncoded())) { + while (ais.available() > 0) { + ASN1Primitive obj = ais.readObject(); + sha1.update(extractPrintableString(obj)); + } } - ais.close(); return sha1.digest(); } diff --git a/src/cc/arduino/plugins/wifi101/flashers/Flasher.java b/src/cc/arduino/plugins/wifi101/flashers/Flasher.java index eddb811..34a1188 100644 --- a/src/cc/arduino/plugins/wifi101/flashers/Flasher.java +++ b/src/cc/arduino/plugins/wifi101/flashers/Flasher.java @@ -27,39 +27,25 @@ */ package cc.arduino.plugins.wifi101.flashers; +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.net.URISyntaxException; import java.util.ArrayList; import java.util.List; -import java.util.Arrays; -import javax.swing.JMenuItem; import javax.swing.JProgressBar; -import javax.swing.JRadioButtonMenuItem; + +import org.apache.commons.lang3.StringUtils; import cc.arduino.packages.BoardPort; import cc.arduino.plugins.wifi101.flashers.java.FlasherSerialClient; -import processing.app.Editor; -import processing.app.debug.TargetBoard; -import processing.app.packages.LibraryList; -import processing.app.packages.UserLibrary; -import processing.app.packages.UserLibraryFolder.Location; import processing.app.Base; import processing.app.BaseNoGui; - -import java.net.MalformedURLException; -import java.net.URL; -import java.security.cert.Certificate; -import java.security.cert.X509Certificate; -import java.util.*; - -import java.io.ByteArrayOutputStream; -import java.io.*; -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.net.URISyntaxException; -import org.apache.commons.lang3.StringUtils; -import javax.swing.JProgressBar; +import processing.app.packages.LibraryList; +import processing.app.packages.UserLibrary; public class Flasher { @@ -69,20 +55,19 @@ public class Flasher { public JProgressBar progressBar; public String name; public String filename; - public List compatibleBoard; + public List compatibleBoards; public boolean certavail; protected int baudrate; public Flasher() {} - public Flasher(String _modulename, String _version, String _filename, boolean _certavail, int _baudrate, ArrayList _compatibleBoard) { + public Flasher(String _modulename, String _version, String _filename, boolean _certavail, int _baudrate, List _compatibleBoards) { modulename = _modulename; - compatibleBoard = new ArrayList(); + compatibleBoards = new ArrayList<>(_compatibleBoards); version = _version; file = null; name = "NINA"; certavail = _certavail; - compatibleBoard.addAll(_compatibleBoard); filename = _filename; baudrate = _baudrate; } @@ -96,12 +81,12 @@ public void progress(int progress, String text) { progressBar.setString(text); } - public void testConnection(String port, int baudrate) throws Exception { + public void testConnection(String port, int baud) throws Exception { FlasherSerialClient client = null; try { progress(50, "Testing programmer..."); client = new FlasherSerialClient(); - client.open(port, baudrate); + client.open(port, baud); client.hello(); progress(100, "Done!"); } finally { @@ -198,8 +183,8 @@ public boolean isCompatible(String boardName) { if (boardName == null) { return false; } - for (String name : compatibleBoard) { - if (name.toLowerCase().equals(boardName.toLowerCase())) { + for (String compatibleBoard : compatibleBoards) { + if (compatibleBoard.equalsIgnoreCase(boardName)) { return true; } } @@ -222,9 +207,10 @@ public File openFirmwareFile() throws Exception { } } + @Override public String toString() { String names = modulename + " (" + version + ") ("; - for (String lname : compatibleBoard) { + for (String lname : compatibleBoards) { names = names.concat(lname).concat(", "); } names = names.substring(0, (names.length() - 2)).concat(")"); diff --git a/src/cc/arduino/plugins/wifi101/flashers/java/FlasherSerialClient.java b/src/cc/arduino/plugins/wifi101/flashers/java/FlasherSerialClient.java index 6327bc4..8ea9621 100644 --- a/src/cc/arduino/plugins/wifi101/flashers/java/FlasherSerialClient.java +++ b/src/cc/arduino/plugins/wifi101/flashers/java/FlasherSerialClient.java @@ -39,7 +39,7 @@ import jssc.SerialPort; import jssc.SerialPortException; import processing.app.SerialException; -import processing.app.SerialNotFoundException;; +import processing.app.SerialNotFoundException; public class FlasherSerialClient { @@ -193,7 +193,7 @@ private int read() { synchronized (recvBuffer) { if (recvPos == writePos) return -1; - return ((int) recvBuffer[recvPos++]) & 0xFF; + return recvBuffer[recvPos++] & 0xFF; } } diff --git a/src/cc/arduino/plugins/wifi101/flashers/java/NinaFlasher.java b/src/cc/arduino/plugins/wifi101/flashers/java/NinaFlasher.java index ebf9635..fde92b7 100644 --- a/src/cc/arduino/plugins/wifi101/flashers/java/NinaFlasher.java +++ b/src/cc/arduino/plugins/wifi101/flashers/java/NinaFlasher.java @@ -27,38 +27,24 @@ */ package cc.arduino.plugins.wifi101.flashers.java; +import java.io.ByteArrayOutputStream; import java.net.MalformedURLException; import java.net.URL; +import java.security.MessageDigest; import java.security.cert.Certificate; import java.security.cert.X509Certificate; import java.util.Arrays; -import java.util.*; import java.util.List; -import java.io.ByteArrayOutputStream; -import java.io.*; -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.net.URISyntaxException; -import org.apache.commons.lang3.StringUtils; -import java.security.MessageDigest; -import org.apache.commons.codec.binary.Base64; -import org.apache.commons.codec.binary.Hex; -import java.io.ByteArrayOutputStream; -import java.nio.ByteBuffer; -import cc.arduino.plugins.wifi101.certs.WiFi101Certificate; -import cc.arduino.plugins.wifi101.certs.WiFi101CertificateBundle; +import org.apache.commons.codec.binary.Base64; import cc.arduino.plugins.wifi101.flashers.Flasher; -import javax.swing.JProgressBar; public class NinaFlasher extends Flasher { public byte[] md5Checksum; - public NinaFlasher(String _modulename, String _version, String _filename, boolean _certavail, int _baudrate, ArrayList _compatibleBoard) { + public NinaFlasher(String _modulename, String _version, String _filename, boolean _certavail, int _baudrate, List _compatibleBoard) { super(_modulename, _version, _filename, _certavail, _baudrate, _compatibleBoard); } diff --git a/src/cc/arduino/plugins/wifi101/flashers/java/WINCFlasher.java b/src/cc/arduino/plugins/wifi101/flashers/java/WINCFlasher.java index 8deb54a..9e0c7f1 100644 --- a/src/cc/arduino/plugins/wifi101/flashers/java/WINCFlasher.java +++ b/src/cc/arduino/plugins/wifi101/flashers/java/WINCFlasher.java @@ -31,24 +31,16 @@ import java.net.URL; import java.security.cert.Certificate; import java.security.cert.X509Certificate; -import java.util.*; -import java.io.ByteArrayOutputStream; -import java.io.*; -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.net.URISyntaxException; -import org.apache.commons.lang3.StringUtils; +import java.util.Arrays; +import java.util.List; import cc.arduino.plugins.wifi101.certs.WiFi101Certificate; import cc.arduino.plugins.wifi101.certs.WiFi101CertificateBundle; import cc.arduino.plugins.wifi101.flashers.Flasher; -import javax.swing.JProgressBar; public class WINCFlasher extends Flasher { - public WINCFlasher(String _modulename, String _version, String _filename, boolean _certavail, int _baudrate, ArrayList _compatibleBoard) { + public WINCFlasher(String _modulename, String _version, String _filename, boolean _certavail, int _baudrate, List _compatibleBoard) { super(_modulename, _version, _filename, _certavail, _baudrate, _compatibleBoard); }