mirror of
https://github.com/esp8266/Arduino.git
synced 2025-06-16 11:21:18 +03:00
Splitting up programmer selection menu and burn bootloader menu item.
This commit is contained in:
@ -1017,22 +1017,28 @@ public class Base {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void rebuildBurnBootloaderMenu(JMenu menu) {
|
public void rebuildProgrammerMenu(JMenu menu) {
|
||||||
//System.out.println("rebuilding burn bootloader menu");
|
//System.out.println("rebuilding programmer menu");
|
||||||
menu.removeAll();
|
menu.removeAll();
|
||||||
|
ButtonGroup group = new ButtonGroup();
|
||||||
for (Target target : targetsTable.values()) {
|
for (Target target : targetsTable.values()) {
|
||||||
for (String programmer : target.getProgrammers().keySet()) {
|
for (String programmer : target.getProgrammers().keySet()) {
|
||||||
AbstractAction action =
|
AbstractAction action =
|
||||||
new AbstractAction(
|
new AbstractAction(
|
||||||
"w/ " + target.getProgrammers().get(programmer).get("name")) {
|
target.getProgrammers().get(programmer).get("name")) {
|
||||||
public void actionPerformed(ActionEvent actionevent) {
|
public void actionPerformed(ActionEvent actionevent) {
|
||||||
activeEditor.handleBurnBootloader((String) getValue("target"),
|
Preferences.set("programmer", getValue("target") + ":" +
|
||||||
(String) getValue("programmer"));
|
getValue("programmer"));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
action.putValue("target", target.getName());
|
action.putValue("target", target.getName());
|
||||||
action.putValue("programmer", programmer);
|
action.putValue("programmer", programmer);
|
||||||
JMenuItem item = new JMenuItem(action);
|
JMenuItem item = new JRadioButtonMenuItem(action);
|
||||||
|
if (Preferences.get("programmer").equals(target.getName() + ":" +
|
||||||
|
programmer)) {
|
||||||
|
item.setSelected(true);
|
||||||
|
}
|
||||||
|
group.add(item);
|
||||||
menu.add(item);
|
menu.add(item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -693,12 +693,20 @@ public class Editor extends JFrame implements RunnerListener {
|
|||||||
serialMenu = new JMenu("Serial Port");
|
serialMenu = new JMenu("Serial Port");
|
||||||
populateSerialMenu();
|
populateSerialMenu();
|
||||||
menu.add(serialMenu);
|
menu.add(serialMenu);
|
||||||
|
|
||||||
menu.addSeparator();
|
menu.addSeparator();
|
||||||
|
|
||||||
|
JMenu programmerMenu = new JMenu("Programmer");
|
||||||
|
base.rebuildProgrammerMenu(programmerMenu);
|
||||||
|
menu.add(programmerMenu);
|
||||||
|
|
||||||
JMenu bootloaderMenu = new JMenu("Burn Bootloader");
|
item = new JMenuItem("Burn Bootloader");
|
||||||
base.rebuildBurnBootloaderMenu(bootloaderMenu);
|
item.addActionListener(new ActionListener() {
|
||||||
menu.add(bootloaderMenu);
|
public void actionPerformed(ActionEvent e) {
|
||||||
|
handleBurnBootloader();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
menu.add(item);
|
||||||
|
|
||||||
menu.addMenuListener(new MenuListener() {
|
menu.addMenuListener(new MenuListener() {
|
||||||
public void menuCanceled(MenuEvent e) {}
|
public void menuCanceled(MenuEvent e) {}
|
||||||
@ -989,8 +997,8 @@ public class Editor extends JFrame implements RunnerListener {
|
|||||||
//serialMenu.addSeparator();
|
//serialMenu.addSeparator();
|
||||||
//serialMenu.add(item);
|
//serialMenu.add(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
protected JMenu buildHelpMenu() {
|
protected JMenu buildHelpMenu() {
|
||||||
// To deal with a Mac OS X 10.5 bug, add an extra space after the name
|
// To deal with a Mac OS X 10.5 bug, add an extra space after the name
|
||||||
// so that the OS doesn't try to insert its slow help menu.
|
// so that the OS doesn't try to insert its slow help menu.
|
||||||
@ -2440,14 +2448,14 @@ public class Editor extends JFrame implements RunnerListener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
protected void handleBurnBootloader(final String target, final String programmer) {
|
protected void handleBurnBootloader() {
|
||||||
console.clear();
|
console.clear();
|
||||||
statusNotice("Burning bootloader to I/O Board (this may take a minute)...");
|
statusNotice("Burning bootloader to I/O Board (this may take a minute)...");
|
||||||
SwingUtilities.invokeLater(new Runnable() {
|
SwingUtilities.invokeLater(new Runnable() {
|
||||||
public void run() {
|
public void run() {
|
||||||
try {
|
try {
|
||||||
Uploader uploader = new AvrdudeUploader();
|
Uploader uploader = new AvrdudeUploader();
|
||||||
if (uploader.burnBootloader(target, programmer)) {
|
if (uploader.burnBootloader()) {
|
||||||
statusNotice("Done burning bootloader.");
|
statusNotice("Done burning bootloader.");
|
||||||
} else {
|
} else {
|
||||||
statusError("Error while burning bootloader.");
|
statusError("Error while burning bootloader.");
|
||||||
|
@ -96,8 +96,14 @@ public class AvrdudeUploader extends Uploader {
|
|||||||
return avrdude(commandDownloader);
|
return avrdude(commandDownloader);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean burnBootloader(String targetName, String programmer) throws RunnerException {
|
public boolean burnBootloader() throws RunnerException {
|
||||||
return burnBootloader(getProgrammerCommands(Base.targetsTable.get(targetName), programmer));
|
String programmer = Preferences.get("programmer");
|
||||||
|
Target target = Base.getTarget();
|
||||||
|
if (programmer.indexOf(":") != -1) {
|
||||||
|
target = Base.targetsTable.get(programmer.substring(0, programmer.indexOf(":")));
|
||||||
|
programmer = programmer.substring(programmer.indexOf(":") + 1);
|
||||||
|
}
|
||||||
|
return burnBootloader(getProgrammerCommands(target, programmer));
|
||||||
}
|
}
|
||||||
|
|
||||||
private Collection getProgrammerCommands(Target target, String programmer) {
|
private Collection getProgrammerCommands(Target target, String programmer) {
|
||||||
|
@ -67,7 +67,7 @@ public abstract class Uploader implements MessageConsumer {
|
|||||||
public abstract boolean uploadUsingPreferences(String buildPath, String className, boolean verbose)
|
public abstract boolean uploadUsingPreferences(String buildPath, String className, boolean verbose)
|
||||||
throws RunnerException, SerialException;
|
throws RunnerException, SerialException;
|
||||||
|
|
||||||
public abstract boolean burnBootloader(String target, String programmer) throws RunnerException;
|
public abstract boolean burnBootloader() throws RunnerException;
|
||||||
|
|
||||||
protected void flushSerialBuffer() throws RunnerException, SerialException {
|
protected void flushSerialBuffer() throws RunnerException, SerialException {
|
||||||
// Cleanup the serial buffer
|
// Cleanup the serial buffer
|
||||||
|
@ -237,9 +237,11 @@ run.present.exclusive = false
|
|||||||
run.present.exclusive.macosx = true
|
run.present.exclusive.macosx = true
|
||||||
|
|
||||||
# ARDUINO PREFERENCES
|
# ARDUINO PREFERENCES
|
||||||
board = atmega328
|
board = uno
|
||||||
target = arduino
|
target = arduino
|
||||||
|
|
||||||
|
programmer = arduino:avrispmkii
|
||||||
|
|
||||||
upload.using = bootloader
|
upload.using = bootloader
|
||||||
|
|
||||||
serial.port=COM1
|
serial.port=COM1
|
||||||
|
Reference in New Issue
Block a user