示例#1
0
  public void populateMenu(JMenu menu, int flags) {
    if (flags == (Plugin.MENU_TOOLS | Plugin.MENU_MID)) {
      Sketch sketch = editor.getSketch();
      JMenuItem item = new JMenu("Program Bootloader");
      item.addActionListener(
          new ActionListener() {
            public void actionPerformed(ActionEvent e) {
              run();
            }
          });
      menu.add(item);

      PropertyFile props = sketch.mergeAllProperties();
      String blProgs = props.get("bootloader.upload");
      if (blProgs == null) {
        JMenuItem sub = new JMenuItem("No bootloader programmer defined!");
        item.add(sub);
        return;
      }
      String[] progs = blProgs.split("::");
      for (String prog : progs) {
        JMenuItem sub = new JMenuItem(sketch.parseString(props.get("upload." + prog + ".name")));
        sub.setActionCommand(prog);
        sub.addActionListener(
            new ActionListener() {
              public void actionPerformed(ActionEvent e) {
                doProgram(e.getActionCommand());
              }
            });
        item.add(sub);
      }
    }
  }
示例#2
0
  public void doProgram(String prog) {
    editor.clearConsole();
    Sketch sketch = editor.getSketch();
    PropertyFile props = sketch.mergeAllProperties();
    editor.message("Programming bootloader using " + prog);
    String bl = sketch.parseString(props.get("bootloader.file"));
    editor.message("Bootloader: " + bl);
    if (bl == null) {
      String url = sketch.parseString(props.get("bootloader.url"));
      if (url != null) {
        editor.error("The bootloader can be downloaded from " + url);
        return;
      }
    }

    sketch.programFile(prog, bl);
  }