protected void JogMotors() { JDialog driver = new JDialog(mainframe, "Jog Motors", true); driver.setLayout(new GridBagLayout()); GridBagConstraints c = new GridBagConstraints(); final JButton buttonAneg = new JButton("IN"); final JButton buttonApos = new JButton("OUT"); final JCheckBox m1i = new JCheckBox("Invert", m1invert); final JButton buttonBneg = new JButton("IN"); final JButton buttonBpos = new JButton("OUT"); final JCheckBox m2i = new JCheckBox("Invert", m2invert); c.gridx = 0; c.gridy = 0; driver.add(new JLabel("L"), c); c.gridx = 0; c.gridy = 1; driver.add(new JLabel("R"), c); c.gridx = 1; c.gridy = 0; driver.add(buttonAneg, c); c.gridx = 1; c.gridy = 1; driver.add(buttonBneg, c); c.gridx = 2; c.gridy = 0; driver.add(buttonApos, c); c.gridx = 2; c.gridy = 1; driver.add(buttonBpos, c); c.gridx = 3; c.gridy = 0; driver.add(m1i, c); c.gridx = 3; c.gridy = 1; driver.add(m2i, c); ActionListener driveButtons = new ActionListener() { public void actionPerformed(ActionEvent e) { Object subject = e.getSource(); if (subject == buttonApos) SendLineToRobot("D00 L100"); if (subject == buttonAneg) SendLineToRobot("D00 L-100"); if (subject == buttonBpos) SendLineToRobot("D00 R100"); if (subject == buttonBneg) SendLineToRobot("D00 R-100"); SendLineToRobot("M114"); } }; ActionListener invertButtons = new ActionListener() { public void actionPerformed(ActionEvent e) { m1invert = m1i.isSelected(); m2invert = m2i.isSelected(); SaveConfig(); SendConfig(); } }; buttonApos.addActionListener(driveButtons); buttonAneg.addActionListener(driveButtons); buttonBpos.addActionListener(driveButtons); buttonBneg.addActionListener(driveButtons); m1i.addActionListener(invertButtons); m2i.addActionListener(invertButtons); SendLineToRobot("M114"); driver.pack(); driver.setVisible(true); }
/** * Open the config dialog, send the config update to the robot, save it for future, and refresh * the preview tab. */ public void UpdateConfig() { final JDialog driver = new JDialog(mainframe, "Configure Limits", true); driver.setLayout(new GridBagLayout()); final JTextField mtop = new JTextField(String.valueOf(limit_top)); final JTextField mbottom = new JTextField(String.valueOf(limit_bottom)); final JTextField mleft = new JTextField(String.valueOf(limit_left)); final JTextField mright = new JTextField(String.valueOf(limit_right)); final JTextField ptop = new JTextField(String.valueOf(paper_top)); final JTextField pbottom = new JTextField(String.valueOf(paper_bottom)); final JTextField pleft = new JTextField(String.valueOf(paper_left)); final JTextField pright = new JTextField(String.valueOf(paper_right)); final JButton cancel = new JButton("Cancel"); final JButton save = new JButton("Save"); GridBagConstraints c = new GridBagConstraints(); c.gridx = 3; c.gridy = 0; driver.add(mtop, c); c.gridx = 3; c.gridy = 5; driver.add(mbottom, c); c.gridx = 0; c.gridy = 3; driver.add(mleft, c); c.gridx = 5; c.gridy = 3; driver.add(mright, c); c.gridx = 3; c.gridy = 1; driver.add(ptop, c); c.gridx = 3; c.gridy = 4; driver.add(pbottom, c); c.gridx = 1; c.gridy = 3; driver.add(pleft, c); c.gridx = 4; c.gridy = 3; driver.add(pright, c); c.gridx = 4; c.gridy = 6; driver.add(save, c); c.gridx = 5; c.gridy = 6; driver.add(cancel, c); Dimension s = ptop.getPreferredSize(); s.width = 80; ptop.setPreferredSize(s); pbottom.setPreferredSize(s); pleft.setPreferredSize(s); pright.setPreferredSize(s); mtop.setPreferredSize(s); mbottom.setPreferredSize(s); mleft.setPreferredSize(s); mright.setPreferredSize(s); ActionListener driveButtons = new ActionListener() { public void actionPerformed(ActionEvent e) { Object subject = e.getSource(); if (subject == save) { paper_top = Float.valueOf(ptop.getText()); paper_bottom = Float.valueOf(pbottom.getText()); paper_right = Float.valueOf(pright.getText()); paper_left = Float.valueOf(pleft.getText()); limit_top = Float.valueOf(mtop.getText()); limit_bottom = Float.valueOf(mbottom.getText()); limit_right = Float.valueOf(mright.getText()); limit_left = Float.valueOf(mleft.getText()); previewPane.setMachineLimits(limit_top, limit_bottom, limit_left, limit_right); previewPane.setPaperSize(paper_top, paper_bottom, paper_left, paper_right); SetRecentPaperSize(); SaveConfig(); SendConfig(); driver.dispose(); } if (subject == cancel) { driver.dispose(); } } }; save.addActionListener(driveButtons); cancel.addActionListener(driveButtons); SendLineToRobot("M114"); // "where" command driver.pack(); driver.setVisible(true); }
/** Open the config dialog, update the paper size, refresh the preview tab. */ public void Drive() { JDialog driver = new JDialog(mainframe, "Manual Control", true); driver.setLayout(new GridBagLayout()); JButton find = new JButton("FIND HOME"); JButton home = new JButton("GO HOME"); JButton center = new JButton("THIS IS HOME"); JButton up1 = new JButton("Y1"); JButton up10 = new JButton("Y10"); JButton up100 = new JButton("Y100"); JButton down1 = new JButton("Y-1"); JButton down10 = new JButton("Y-10"); JButton down100 = new JButton("Y-100"); JButton left1 = new JButton("X-1"); JButton left10 = new JButton("X-10"); JButton left100 = new JButton("X-100"); JButton right1 = new JButton("X1"); JButton right10 = new JButton("X10"); JButton right100 = new JButton("X100"); GridBagConstraints c = new GridBagConstraints(); c.gridx = 3; c.gridy = 0; driver.add(up100, c); c.gridx = 3; c.gridy = 1; driver.add(up10, c); c.gridx = 3; c.gridy = 2; driver.add(up1, c); c.gridx = 3; c.gridy = 4; driver.add(down1, c); c.gridx = 3; c.gridy = 5; driver.add(down10, c); c.gridx = 3; c.gridy = 6; driver.add(down100, c); c.gridx = 0; c.gridy = 3; driver.add(left100, c); c.gridx = 1; c.gridy = 3; driver.add(left10, c); c.gridx = 2; c.gridy = 3; driver.add(left1, c); c.gridx = 4; c.gridy = 3; driver.add(right1, c); c.gridx = 5; c.gridy = 3; driver.add(right10, c); c.gridx = 6; c.gridy = 3; driver.add(right100, c); c.gridx = 3; c.gridy = 3; driver.add(home, c); c.gridx = 6; c.gridy = 0; driver.add(center, c); c.gridx = 6; c.gridy = 1; driver.add(find, c); ActionListener driveButtons = new ActionListener() { public void actionPerformed(ActionEvent e) { Object subject = e.getSource(); JButton b = (JButton) subject; String t = b.getText(); if (t == "GO HOME") { GoHome(); SendLineToRobot("M114"); } else if (t == "FIND HOME") { SendLineToRobot("G28"); } else if (t == "THIS IS HOME") { SendLineToRobot("TELEPORT XO YO"); } else { SendLineToRobot("G91"); SendLineToRobot("G00 " + b.getText()); SendLineToRobot("G90"); SendLineToRobot("M114"); } } }; up1.addActionListener(driveButtons); up10.addActionListener(driveButtons); up100.addActionListener(driveButtons); down1.addActionListener(driveButtons); down10.addActionListener(driveButtons); down100.addActionListener(driveButtons); left1.addActionListener(driveButtons); left10.addActionListener(driveButtons); left100.addActionListener(driveButtons); right1.addActionListener(driveButtons); right10.addActionListener(driveButtons); right100.addActionListener(driveButtons); center.addActionListener(driveButtons); home.addActionListener(driveButtons); find.addActionListener(driveButtons); SendLineToRobot("M114"); driver.pack(); driver.setVisible(true); }