robotcmdgui.java
来自「tinyos最新版」· Java 代码 · 共 1,051 行 · 第 1/3 页
JAVA
1,051 行
byte data[] = {}; sendMsg(RC.MOTOR_TEST_START, data); }//GEN-LAST:event_startMotorTestButtonActionPerformed private void off2ButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_off2ButtonActionPerformed // Add your handling code here: byte data[] = {RC.OFF}; sendMsg(RC.SET_SPEED, data); }//GEN-LAST:event_off2ButtonActionPerformed private void reverse60ButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_reverse60ButtonActionPerformed // Add your handling code here: byte data[] = {60,(byte)turn2Slider.getValue()}; sendMsg(RC.SET_SPEEDTURNDIR, data); }//GEN-LAST:event_reverse60ButtonActionPerformed private void forward50ButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_forward50ButtonActionPerformed // Add your handling code here: byte turn = (byte)turn2Slider.getValue(); byte data[] = {50,(byte)(turn | 0x80)}; sendMsg(RC.SET_SPEEDTURNDIR, data); }//GEN-LAST:event_forward50ButtonActionPerformed private void turn2SliderMouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_turn2SliderMouseReleased // Add your handling code here: byte data[] = {(byte)turn2Slider.getValue()}; sendMsg(RC.SET_TURN, data); }//GEN-LAST:event_turn2SliderMouseReleased private void turn2SliderKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_turn2SliderKeyReleased // Add your handling code here: if ((evt.getKeyCode() == java.awt.event.KeyEvent.VK_LEFT) || (evt.getKeyCode() == java.awt.event.KeyEvent.VK_RIGHT) || (evt.getKeyCode() == java.awt.event.KeyEvent.VK_UP) || (evt.getKeyCode() == java.awt.event.KeyEvent.VK_DOWN)) { byte data[] = {(byte)turn2Slider.getValue()}; sendMsg(RC.SET_TURN, data); } }//GEN-LAST:event_turn2SliderKeyReleased private void straight2ButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_straight2ButtonActionPerformed // Add your handling code here: turn2Slider.setValue(RC.STRAIGHT); byte data[] = {RC.STRAIGHT}; sendMsg(RC.SET_TURN, data); }//GEN-LAST:event_straight2ButtonActionPerformed private void setKiButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_setKiButtonActionPerformed // Add your handling code here: byte data[] = {(byte)Integer.parseInt(setKiField.getText())}; sendMsg(RC.SET_KI, data); }//GEN-LAST:event_setKiButtonActionPerformed private void setKpButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_setKpButtonActionPerformed // Add your handling code here: byte data[] = {(byte)Integer.parseInt(setKpField.getText())}; sendMsg(RC.SET_KP, data); }//GEN-LAST:event_setKpButtonActionPerformed private void setStraightButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_setStraightButtonActionPerformed // Add your handling code here: byte data[] = {(byte)Integer.parseInt(setStraightField.getText())}; sendMsg(RC.SET_STRAIGHT, data); }//GEN-LAST:event_setStraightButtonActionPerformed private void fig8Turn4ButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_fig8Turn4ButtonActionPerformed // Add your handling code here: byte data[] = {(byte)Integer.parseInt(fig8Turn3Field.getText()), (byte)Integer.parseInt(fig8Turn4Field.getText())}; sendMsg(RC.SET_TURN34, data); }//GEN-LAST:event_fig8Turn4ButtonActionPerformed private void fig8Turn3ButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_fig8Turn3ButtonActionPerformed // Add your handling code here: byte data[] = {(byte)Integer.parseInt(fig8Turn3Field.getText()), (byte)Integer.parseInt(fig8Turn4Field.getText())}; sendMsg(RC.SET_TURN34, data); }//GEN-LAST:event_fig8Turn3ButtonActionPerformed private void fig8Turn2ButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_fig8Turn2ButtonActionPerformed // Add your handling code here: byte data[] = {(byte)Integer.parseInt(fig8Turn1Field.getText()), (byte)Integer.parseInt(fig8Turn2Field.getText())}; sendMsg(RC.SET_TURN12, data); }//GEN-LAST:event_fig8Turn2ButtonActionPerformed private void fig8Turn1ButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_fig8Turn1ButtonActionPerformed // Add your handling code here: byte data[] = {(byte)Integer.parseInt(fig8Turn1Field.getText()), (byte)Integer.parseInt(fig8Turn2Field.getText())}; sendMsg(RC.SET_TURN12, data); }//GEN-LAST:event_fig8Turn1ButtonActionPerformed private void fig8SpeedButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_fig8SpeedButtonActionPerformed // Add your handling code here: byte data[] = {(byte)(Integer.parseInt(x1Field.getText()))}; sendMsg(RC.SET_FIGURE8_SPEED, data); }//GEN-LAST:event_fig8SpeedButtonActionPerformed private void stopFig8ButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_stopFig8ButtonActionPerformed // Add your handling code here: byte data[] = {}; sendMsg(RC.STOP_FIGURE8, data); }//GEN-LAST:event_stopFig8ButtonActionPerformed private void startFig8ButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_startFig8ButtonActionPerformed // Add your handling code here: byte data[] = {}; sendMsg(RC.START_FIGURE8, data); }//GEN-LAST:event_startFig8ButtonActionPerformed private void turnSliderKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_turnSliderKeyReleased // Add your handling code here: if ((evt.getKeyCode() == java.awt.event.KeyEvent.VK_LEFT) || (evt.getKeyCode() == java.awt.event.KeyEvent.VK_RIGHT) || (evt.getKeyCode() == java.awt.event.KeyEvent.VK_UP) || (evt.getKeyCode() == java.awt.event.KeyEvent.VK_DOWN)) { byte data[] = {(byte)turnSlider.getValue()}; sendMsg(RC.SET_TURN, data); } }//GEN-LAST:event_turnSliderKeyReleased private void speedSliderKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_speedSliderKeyReleased // Add your handling code here: if ((evt.getKeyCode() == java.awt.event.KeyEvent.VK_LEFT) || (evt.getKeyCode() == java.awt.event.KeyEvent.VK_RIGHT) || (evt.getKeyCode() == java.awt.event.KeyEvent.VK_UP) || (evt.getKeyCode() == java.awt.event.KeyEvent.VK_DOWN)) { byte data[] = {(byte)speedSlider.getValue()}; sendMsg(RC.SET_SPEED, data); } }//GEN-LAST:event_speedSliderKeyReleased private void turnSliderMouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_turnSliderMouseReleased // Add your handling code here: byte data[] = {(byte)turnSlider.getValue()}; sendMsg(RC.SET_TURN, data); }//GEN-LAST:event_turnSliderMouseReleased private void speedSliderMouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_speedSliderMouseReleased // Add your handling code here: byte data[] = {(byte)speedSlider.getValue()}; sendMsg(RC.SET_SPEED, data); }//GEN-LAST:event_speedSliderMouseReleased private void reverseButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_reverseButtonActionPerformed // Add your handling code here: byte data[] = {RC.REVERSE}; sendMsg(RC.SET_DIRECTION, data); }//GEN-LAST:event_reverseButtonActionPerformed private void forwardButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_forwardButtonActionPerformed // Add your handling code here: byte data[] = {RC.FORWARD}; sendMsg(RC.SET_DIRECTION, data); }//GEN-LAST:event_forwardButtonActionPerformed private void straightButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_straightButtonActionPerformed // Add your handling code here: turnSlider.setValue(RC.STRAIGHT); byte data[] = {RC.STRAIGHT}; sendMsg(RC.SET_TURN, data); }//GEN-LAST:event_straightButtonActionPerformed private void offButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_offButtonActionPerformed // Add your handling code here: speedSlider.setValue(RC.OFF); byte data[] = {RC.OFF}; sendMsg(RC.SET_SPEED, data); }//GEN-LAST:event_offButtonActionPerformed private void navigateButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_navigateButtonActionPerformed // Add your handling code here: int x1 = Integer.parseInt(x1Field.getText()); int y1 = Integer.parseInt(y1Field.getText()); int piNum = Integer.parseInt(piNumField.getText()); int piDen = Integer.parseInt(piDenField.getText()); int x2 = Integer.parseInt(x2Field.getText()); int y2 = Integer.parseInt(y2Field.getText()); if (piDen == 0) return; navigationPanel1.navigate(x1,y1,piNum*Math.PI/piDen,x2,y2); NavigationMsg navMsg = new NavigationMsg(); navMsg.set_x1((short)x1); navMsg.set_y1((short)y1); navMsg.set_x2((short)x2); navMsg.set_y2((short)y2); navMsg.set_PiNumerator((byte)piNum); navMsg.set_PiDenominator((byte)piDen); try { //devNote: should I catch this??? mote.send(MoteIF.TOS_BCAST_ADDR, navMsg); //Controls all robots } catch (IOException e) { System.err.println("Unable to write to SerialForwarderStub"); System.exit(-1); } msgArea.append(navMsg.toString() + "\n"); }//GEN-LAST:event_navigateButtonActionPerformed private void sendMsg(short command, byte[] data) { RobotCmdMsg cmdMsg = new RobotCmdMsg(); cmdMsg.set_type(command); for (int i = 0; i < data.length; i++) cmdMsg.setElement_data(i,data[i]); try { mote.send(MoteIF.TOS_BCAST_ADDR, cmdMsg); //Controls all robots } catch (IOException e) { System.err.println("Unable to write to SerialForwarderStub"); System.exit(-1); } //devNote: how to add moteID + groupID??? msgArea.append(cmdMsg.toString() + "\n"); } /** Exit the Application */ private void exitForm(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_exitForm System.exit(0); }//GEN-LAST:event_exitForm /** Usage message */ private void usage() { System.err.println("Usage: java RobotCmd.RobotCmdGUI"+ " <groupID>"); System.err.println("\twhere [groupID] is the mote group ID in decimal format."); } /** * @param args the command line arguments */ public static void main(String args[]) { int groupID = 125; if (args.length == 1) { groupID = Integer.parseInt(args[0]); } /* Add usage information here -- or could add command line stuff instead of doing GUI */ System.err.println("RobotCmdGUI: Using group ID "+groupID); new RobotCmdGUI(groupID).show(); } /** messageReceived will fire when a packet has been received by the SerialForwarder. */ public void messageReceived(int destAddr, Message msg) { if (msg instanceof RobotCmdMsg) { robotCmdReceived(destAddr, (RobotCmdMsg)msg); } //if (msg instanceof RobotCmdMsg) { // robotReceived( dest_addr, (RobotCmdMsg)msg); } /*FOR FUTURE ADDITIONS else if (msg instanceof otherMsg) { otherReceived(dest_addr, (otherMsg)msg); } else { throw new RuntimeException("messageReceived: Got bad message type: "+msg); } */ } private void robotCmdReceived(int destAddr, RobotCmdMsg msg) { byte type = (byte) msg.get_type(); if (type == RC.GET_STRAIGHT) setStraightField.setText(String.valueOf(msg.getElement_data(0))); else if (type == RC.GET_KP) setKpField.setText(String.valueOf(msg.getElement_data(0))); else if (type == RC.GET_KI) setKiField.setText(String.valueOf(msg.getElement_data(0))); } // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JPanel dirPanel; private javax.swing.JPanel carControlPanel; private javax.swing.JTextField piNumField; private javax.swing.JPanel servoPanel; private javax.swing.JTextField fig8Turn3Field; private javax.swing.JPanel fig8CtlPanel; private javax.swing.JPanel kPanel; private javax.swing.JLabel spacerLabel1; private javax.swing.JPanel topPanel; private javax.swing.JButton forward50Button; private javax.swing.JPanel speed2Panel; private javax.swing.JLabel piNumLabel; private javax.swing.JLabel getConstantsField; private javax.swing.JButton fig8Turn3Button; private javax.swing.JButton forwardButton; private javax.swing.JButton straight2Button; private javax.swing.JTextField y2Field; private javax.swing.JButton setKiButton; private javax.swing.JPanel navPanel; private javax.swing.JButton offButton; private javax.swing.JLabel y2Label; private javax.swing.JSlider speedSlider; private javax.swing.JButton reverseButton; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JButton setKpButton; private javax.swing.JTextArea msgArea; private javax.swing.JTextField fig8Turn2Field; private javax.swing.JPanel turnPanel; private javax.swing.JTextField setKpField; private javax.swing.JTextArea navDirText; private javax.swing.JPanel jPanel2; private javax.swing.JPanel jPanel1; private javax.swing.JButton off2Button; private javax.swing.JButton stopFig8Button; private javax.swing.JPanel otherPanel; private javax.swing.JButton fig8Turn2Button; private javax.swing.JTextField y1Field; private javax.swing.JTextField x2Field; private javax.swing.JTextField setKiField; private javax.swing.JTextField fig8SpeedField; private javax.swing.JPanel ledPanel; private javax.swing.JPanel navigateButtonPanel; private javax.swing.JLabel y1Label; private javax.swing.JTextField setStraightField; private javax.swing.JLabel x2Label; private javax.swing.JPanel motorTestPanel; private javax.swing.JButton setStraightButton; private javax.swing.JPanel fig8CalibButtonPanel; private javax.swing.JButton motorLEDButton; private javax.swing.JButton fig8Turn1Button; private javax.swing.JButton startFig8Button; private javax.swing.JPanel speedPanel; private javax.swing.JButton reverse60Button; private javax.swing.JTextField fig8Turn1Field; private javax.swing.JLabel jLabel1; private javax.swing.JPanel fig8CalibPanel; private javax.swing.JButton getConstantsButton; private javax.swing.JPanel navDataPanel; private javax.swing.JButton stopMotorTestButton; private javax.swing.JTextField fig8Turn4Field; private javax.swing.JLabel spacerLabel13; private javax.swing.JLabel spacerLabel12; private javax.swing.JPanel figure8Panel; private javax.swing.JLabel spacerLabel11; private javax.swing.JTextField x1Field; private javax.swing.JTabbedPane jTabbedPane1; private javax.swing.JSlider turn2Slider; private javax.swing.JButton navigateButton; private javax.swing.JButton fig8Turn4Button; private javax.swing.JSlider turnSlider; private javax.swing.JLabel x1Label; private javax.swing.JButton getStraightButton; private javax.swing.JButton straightButton; private javax.swing.JTextField piDenField; private javax.swing.JButton fig8SpeedButton; private javax.swing.JButton startMotorTestButton; private javax.swing.JPanel straightPanel; private javax.swing.JButton micaLEDButton; private javax.swing.JLabel getStraightLabel; private javax.swing.JLabel piDenLabel; private NavigationPanel navigationPanel1; // End of variables declaration//GEN-END:variables }
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?