⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainwindow.java

📁 CMU图象模块的上层浏览软件,可和CMU模块直接通信
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
			commandVal = 2;
		}
		/* else
		{
		     int t=cImage.loadImage(command);
		}
		*/
	}

	public void adjustmentValueChanged(AdjustmentEvent e) {
		if (commandVal != 0) {
			commandVal = -1;
			while (commandVal == -1)
				try {
					Thread.sleep(100);
				} catch (InterruptedException d) {
				}
		}
		status_t.setText("Setting Servos");
		mySerial.write("sv 0 " + servo0_s.getValue() + "\r");
		mySerial.write("sv 1 " + servo1_s.getValue() + "\r");
		mySerial.write("sv 2 " + servo2_s.getValue() + "\r");
		mySerial.write("sv 3 " + servo3_s.getValue() + "\r");
		mySerial.write("sv 4 " + servo4_s.getValue() + "\r");
		servo0_l.setText((new Integer(servo0_s.getValue())).toString());
		servo1_l.setText((new Integer(servo1_s.getValue())).toString());
		servo2_l.setText((new Integer(servo2_s.getValue())).toString());
		servo3_l.setText((new Integer(servo3_s.getValue())).toString());
		servo4_l.setText((new Integer(servo4_s.getValue())).toString());
		status_t.setText("Servos Set");
	}

	private void setWindowParams() {
		if (res == 0) {
			if (cameraType == 6) {
				x1.setText("1");
				y1.setText("1");
				x2.setText("87");
				y2.setText("142");
			} else {
				x1.setText("1");
				y1.setText("1");
				x2.setText("159");
				y2.setText("238");

			}
		} else {
			x2.setText("174");
			y2.setText("254");
		}

	}
	/*
	  This is for check box menus
	*/
	public void itemStateChanged(ItemEvent e) {
		ItemSelectable command = e.getItemSelectable();

		if (commandVal != 0) {
			commandVal = -1;
			while (commandVal == -1)
				try {
					Thread.sleep(100);
				} catch (InterruptedException d) {
				}
		}
		if (command == autoGain ) {
			int ag;
			status_t.setText("Setting Auto Gain");
			if (autoGain.getSelectedIndex() == 0)
				ag = 33;
			else
				ag = 32;
			mySerial.write("cr 19 " + ag);
			if (mySerial.readACK(1) == 1)
				status_t.setText("Registers Set.");
			else
				status_t.setText("Registers Failed.");
		} else if (command == whiteBalance || command == color_c) {
			int wb;
			if (color_c.getSelectedIndex() == 0) {
				if (whiteBalance.getSelectedIndex() == 0)
					wb = 40;
				else
					wb = 44;
			} else {
				if (whiteBalance.getSelectedIndex() == 0)
					wb = 32;
				else
					wb = 36;
			}
			status_t.setText("Setting Color and WB");
			mySerial.write("cr 18 " + wb);
			if (mySerial.readACK(1) == 1)
				status_t.setText("Registers Set.");
			else
				status_t.setText("Registers Failed.");
		} else if (command == hr_c) {

			if (hr_c.getSelectedIndex() == 0) {
				res = 0;
				status_t.setText("Setting Res Low");

			} else {
				if (cameraType == 7) {
					status_t.setText("Option not available");
					return;
				}
				res = 1;
				status_t.setText("Setting Res High");

			}
			mySerial.write("hr " + res);
			if (mySerial.readACK(1) == 1) {
				status_t.setText("Registers Set.");
				setWindowParams();
			} else
				status_t.setText("Registers Failed.");
		} else if (command == as_c) {
			int as;
			if (as_c.getSelectedIndex() == 0)
				as = 0;
			else
				as = 1;
			mySerial.write("sm " + as);
			if (mySerial.readACK(1) == 1)
				status_t.setText("Auto Servo Mode set.");
			else
				status_t.setText("Auto Servo Mode failed.");
		} else if (command == pd_c) {
			int pd;
			if (pd_c.getSelectedIndex() == 0)
				pd = 0;
			else
				pd = 1;
			mySerial.write("pd " + pd);
			if (mySerial.readACK(1) == 1)
				status_t.setText("Pixel Differencing set.");
			else
				status_t.setText("Pixel Differencing failed.");
		} else if (command == ti_c) {
			int ti;
			if (ti_c.getSelectedIndex() == 0)
				ti = 0;
			else
				ti = 1;
			mySerial.write("ti " + ti);
			if (mySerial.readACK(1) == 1)
				status_t.setText("Inverted Tracking set.");
			else
				status_t.setText("Inverted Tracking failed.");
		} else if (command == fs_c) {
			int fs;
			if (fs_c.getSelectedIndex() == 0)
				fs = 0;
			else
				fs = 1;
			mySerial.write("fs " + fs);
			if (mySerial.readACK(1) == 1)
				status_t.setText("Frame Stream set.");
			else
				status_t.setText("Frame Stream failed.");
		} else if (command == hd_c) {
			int hd;
			if (hd_c.getSelectedIndex() == 0)
				hd = 0;
			else
				hd = 1;
			mySerial.write("hd " + hd);
			if (mySerial.readACK(1) == 1)
				status_t.setText("HiRes Diff Mode set.");
			else
				status_t.setText("HiRes Diff Mode failed.");
		} else if (command == dc_c) {
			int dc;
			mySerial.write("dc " + dc_c.getSelectedIndex());
			if (mySerial.readACK(1) == 1)
				status_t.setText("Diff Channel Set");
			else
				status_t.setText("Diff Channel Failed");
		} else if (command == bm_c) {
			int bm;
			if (bm_c.getSelectedIndex() == 0) {
				bm = 0;
				status_t.setText("Setting buffer mode auto stream");
			} else {
				bm = 1;
				status_t.setText("Setting buffer mode manual reload");
			}
			mySerial.write("bm " + bm);
			if (mySerial.readACK(1) == 1)
				status_t.setText("Buffer Mode Set.");
			else
				status_t.setText("Buffer Mode Failed.");

		} else if (command == lm_c) {
			int lm;

			track_color_linemode = 0;
			get_mean_linemode = 0;
			frame_diff_linemode = 0;

			switch (lm_c.getSelectedIndex()) {
				case 0 :
					lm = 0;
					status_t.setText("All line modes off");
					mySerial.write("lm 0 0");
					mySerial.readACK(1);
					mySerial.write("lm 1 0");
					mySerial.readACK(1);
					mySerial.write("lm 2 0");
					break;
				case 1 :
					status_t.setText("Line Mode Track Color Bitmap on");
					mySerial.write("lm 0 1");
					track_color_linemode = 1;
					break;
				case 2 :
					status_t.setText("Line Mode Track Color Stats on");
					mySerial.write("lm 0 2");
					track_color_linemode = 2;
					break;
				case 3 :
					status_t.setText("Line Mode Get Mean on");
					mySerial.write("lm 1 1");
					get_mean_linemode = 1;
					break;
				case 4 :
					status_t.setText("Line Mode Get Mean Stats on");
					mySerial.write("lm 1 2");
					get_mean_linemode = 2;
					break;
				case 5 :
					status_t.setText("Line Mode Frame Diff Bitmap on");
					mySerial.write("lm 2 1");
					frame_diff_linemode = 1;
					break;
				case 6 :
					status_t.setText("Line Mode Frame Diff Deltas on");
					mySerial.write("lm 2 2");
					frame_diff_linemode = 2;
					break;
				case 7 :
					status_t.setText("Line Mode Frame Diff Buffer on");
					mySerial.write("lm 2 3");
					frame_diff_linemode = 3;
					break;

				default :

					}

			if (mySerial.readACK(1) == 1)
				status_t.setText("Registers Set.");
			else
				status_t.setText("Registers Failed.");
		}

		String item = e.getItem().toString();
		int action = e.getStateChange();
		if (item.equals("Color Picker")) {
			// if(action==2)cImage.picker_f.hide();
			//else cImage.picker_f.show();    
		}

		if (item.equals("Color Track")) {
			//if(action==2)cImage.hideTrack();
			//else cImage.showTrack();    
		}

	}

	private JMenuItem makeMenuItem(String name) {
		JMenuItem m = new JMenuItem(name);
		m.addActionListener(this);
		return m;

	}

	private void stopCameraStuff() {
		myMotion.stop();
		myHistogram.stop();
		myColor.stop();
		myStats.stop();
		commandVal = 0;
		mySerial.write("\r");
		//if(mySerial.readACK(0)==0)mySerial.readACK(0);
		// Maintain state after track window
		status_t.setText("Camera Ready...");
	}


	private void UpdateAllCommands() {
			// This updates the Line Mode Window
			mySerial.write("lm 0 0");
			mySerial.readACK(1);
			mySerial.write("lm 1 0");
			mySerial.readACK(1);
			mySerial.write("lm 2 0");
			switch (lm_c.getSelectedIndex()) {
				case 1 : mySerial.write("lm 0 1"); track_color_linemode = 1; break;
				case 2 : mySerial.write("lm 0 2"); track_color_linemode = 2; break;
				case 3 : mySerial.write("lm 1 1"); get_mean_linemode = 1; break;
				case 4 : mySerial.write("lm 1 2"); get_mean_linemode = 2; break;
				case 5 : mySerial.write("lm 2 1"); frame_diff_linemode = 1; break;
				case 6 : mySerial.write("lm 2 2"); frame_diff_linemode = 2; break; 
				case 7 : mySerial.write("lm 2 3"); frame_diff_linemode = 3; break;

				default :
					}

			if (mySerial.readACK(1) != 1)
				{ status_t.setText("Registers Failed."); return; }
		
			int ag;
			if (autoGain.getSelectedIndex() == 0)
				ag = 33;
			else
				ag = 32;
			mySerial.write("cr 19 " + ag);
			if (mySerial.readACK(1) != 1)
				{ status_t.setText("Registers Failed."); return; }

			int wb;
			if (color_c.getSelectedIndex() == 0) {
				if (whiteBalance.getSelectedIndex() == 0)
					wb = 40;
				else
					wb = 44;
			} else {
				if (whiteBalance.getSelectedIndex() == 0)
					wb = 32;
				else
					wb = 36;
			}
			mySerial.write("cr 18 " + wb);
			if (mySerial.readACK(1) != 1)
				{ status_t.setText("Registers Failed."); return; }


			if (hr_c.getSelectedIndex() == 0) {
				res = 0;
				status_t.setText("Setting Res Low");

			} else {
				if (cameraType == 7) {
					status_t.setText("Option not available");
					return;
				}
				res = 1;
				status_t.setText("Setting Res High");

			}
			mySerial.write("hr " + res);
			if (mySerial.readACK(1) != 1)
				{ status_t.setText("Registers Failed."); return; }
			
			int as;
			if (as_c.getSelectedIndex() == 0)
				as = 0;
			else
				as = 1;
			mySerial.write("sm " + as);
			if (mySerial.readACK(1) != 1)
				{ status_t.setText("Registers Failed."); return; }
			

			int pd;
			if (pd_c.getSelectedIndex() == 0)
				pd = 0;
			else
				pd = 1;
			mySerial.write("pd " + pd);
			if (mySerial.readACK(1) != 1)
				{ status_t.setText("Registers Failed."); return; }
			int ti;
			if (ti_c.getSelectedIndex() == 0)
				ti = 0;
			else
				ti = 1;
			mySerial.write("ti " + ti);
			
			if (mySerial.readACK(1) != 1)
				{ status_t.setText("Registers Failed."); return; }
			int fs;
			if (fs_c.getSelectedIndex() == 0)
				fs = 0;
			else
				fs = 1;
			mySerial.write("fs " + fs);
			if (mySerial.readACK(1) != 1)
				{ status_t.setText("Registers Failed."); return; }
			

			int hd;
			if (hd_c.getSelectedIndex() == 0)
				hd = 0;
			else
				hd = 1;
			mySerial.write("hd " + hd);
			if (mySerial.readACK(1) != 1)
				{ status_t.setText("Registers Failed."); return; }
			

			int dc;
			mySerial.write("dc " + dc_c.getSelectedIndex());
			if (mySerial.readACK(1) != 1)
				{ status_t.setText("Registers Failed."); return; }
			
			int bm;
			if (bm_c.getSelectedIndex() == 0) {
				bm = 0;
				status_t.setText("Setting buffer mode auto stream");
			} else {
				bm = 1;
				status_t.setText("Setting buffer mode manual reload");
			}
			mySerial.write("bm " + bm);
			if (mySerial.readACK(1) != 1)
				{ status_t.setText("Registers Failed."); return; }

			mySerial.write("nf " + nf_t.getText());
			if (mySerial.readACK(1) != 1)
				{ status_t.setText("Registers Failed."); return; }
			mySerial.write("ds " + dsx.getText() + " " + dsy.getText());
			if (mySerial.readACK(1) != 1)
				{ status_t.setText("Registers Failed."); return; }
			mySerial.write(
				"vw "
					+ x1.getText()
					+ " "
					+ y1.getText()
					+ " "
					+ x2.getText()
					+ " "
					+ y2.getText());
			if (mySerial.readACK(1) != 1)
				{ status_t.setText("Registers Failed."); return; }
			mySerial.write(
				"sp "
					+ pan_range_far.getText()
					+ " "
					+ pan_range_near.getText()
					+ " "
					+ pan_step.getText()
					+ " "
					+ tilt_range_far.getText()
					+ " "
					+ tilt_range_near.getText()
					+ " "
					+ tilt_step.getText());

			if (mySerial.readACK(1) != 1)
				{ status_t.setText("Registers Failed."); return; }


		status_t.setText("Config Settings Sent");
	}

	private JCheckBoxMenuItem makeCheckMenuItem(String name, int val) {
		JCheckBoxMenuItem m = new JCheckBoxMenuItem(name);
		if (val == 1)
			m.setState(true);
		else
			m.setState(false);
		m.addItemListener(this);
		return m;

	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -