Exemplo n.º 1
0
void CIPCamGeniusDlg::OnBnClickedButtonSetNetwork()
{
	POSITION pos = m_list_cameras.GetFirstSelectedItemPosition();
	int idx = m_list_cameras.GetNextSelectedItem(pos);
	if (idx < 0) {
		msgbox("ÇëÏÈÑ¡ÔñÉãÏñ»ú");
		return;
	}

	IPCameraInfo info = network_controller.vec_info[idx];
	IPCameraInfo info_ori = info;

	CNetworkSettingDlg dlg;
	dlg.setIP(info.ip);
	dlg.setPortHTTP(info.port_http);
	dlg.setPortRTSP(info.port_rtsp);
	dlg.setMask(info.mask);
	dlg.setGateway(info.gateway);
	if (dlg.DoModal() == IDOK) {
		strcpy(info.ip, dlg.getIP());
		strcpy(info.gateway, dlg.getGateway());
		strcpy(info.mask, dlg.getMask());
		info.port_http = dlg.getPortHTTP();
		info.port_rtsp = dlg.getPortRTSP();
		network_controller.camera_adapters[info.adapter_idx]->set_network(info, info_ori);
		reset_network();
	}
}
Exemplo n.º 2
0
void Workspace::execute(Parser &parser)
{
  if(parser.command.compare("demo") == 0)
    {
      ConsolePrinter::instance().feedback_rewrite(
            "Starting Demo...                   ");
 //     run_tests();
      return;
    }
  // classic network
  else if(parser.command.compare("cn") == 0)
    {
      NNInfo_uptr ret = classic_network(parser, networks);

      if(ret->result == NNOK)
	{
	  ConsolePrinter::instance().network_write_nets(networks);
	}
      else
	{
	  ConsolePrinter::instance().feedback_rewrite(ret->message);
	}
      return;
    }

  else if(parser.command.compare("use") == 0)
    {
      NNInfo_uptr ret = use_network(parser, networks, current_network);
      if(ret->result == NNOK)
	{
	  ConsolePrinter::instance().network_write_active(current_network);
	}
      else
	{
	  ConsolePrinter::instance().feedback_rewrite(ret->message);
	}
      return;
    }

  else if(parser.command.compare("set_io") == 0)
    {
      NNInfo_uptr ret = set_io(parser, networks, current_network);
      if(ret->result == NNOK)
	{
	  ConsolePrinter::instance().feedback_rewrite("Input and Output loaded");
	}
      else
	{
	  ConsolePrinter::instance().feedback_rewrite(ret->message);
	}
      return;
    }

  else if(parser.command.compare("train") == 0)
    {
      NNInfo_uptr ret = train_network(parser, current_network);
      if(ret->result != NNOK)
	{
	  ConsolePrinter::instance().feedback_rewrite(ret->message);
	}

      return;
    }

  else if(parser.command.compare("eval") == 0)
    {
      NNInfo_uptr ret = eval_network(parser, current_network);
      if(ret->result != NNOK)
	{
	  ConsolePrinter::instance().feedback_rewrite(ret->message);
	}
      else
	{
	  std::unique_ptr<double[]> out = current_network->get_output();

	  size_t out_len = current_network->output_layer_size_;

	  // TODO:
	  // Do not output from here.
	  for(size_t ii = 0; ii < out_len; ii++)
	    {
	      std::string outstr = "Output ";
	      double val = out[ii]*current_network->output_scale;
	      outstr.append(std::to_string(ii))
	          .append(": Value: ")
	          .append(std::to_string(val));

	      ConsolePrinter::instance().feedback_write(outstr);
	    }
	}
      return;
    }

  else if(parser.command.compare("exit") == 0)
    {
      abort();
    }

  else if(parser.command.compare("scale") == 0)
    {
      NNInfo_uptr ret = scale_network(parser, current_network);
      if(ret->result != NNOK)
	{
	  ConsolePrinter::instance().feedback_rewrite(ret->message);
	}
      else
	{
	  ConsolePrinter::instance().feedback_rewrite("Scales set");
	}
      return;
    }
  else if(parser.command.compare("plotSquare") == 0)
    {
   //   NNInfo_uptr ret = plot_square(parser, current_network);
   //   if(ret->result != NNOK)
//	{
//	  ConsolePrinter::instance().feedback_rewrite(ret->message);
//	}
//      else
//	{
//	  ConsolePrinter::instance().feedback_rewrite("Plot complete");
//	}
      return;
    }

  else if(parser.command.compare("reset") == 0)
    {
      NNInfo_uptr ret = reset_network(parser, current_network);
      if(ret->result != NNOK)
	{
	  ConsolePrinter::instance().feedback_rewrite(ret->message);
	}
      else
	{
	  ConsolePrinter::instance().feedback_rewrite("Weights are reset");
	}
      return;
    }
  else if(parser.command.compare("retrain") == 0)
    {
      NNInfo_uptr ret = retrain_network(parser, current_network);
      if(ret->result != NNOK)
	{
	  ConsolePrinter::instance().feedback_rewrite(ret->message);
	}
      return;
    }
  else if(parser.command.compare("validate") == 0)
    {
      NNInfo_uptr ret = validate_network(parser, current_network);
      if(ret->result != NNOK)
	{
	  ConsolePrinter::instance().feedback_rewrite(ret->message);
	}
      else
	{
	  ConsolePrinter::instance().feedback_rewrite("Output file written");
	}
      return;
    }

  else
    {
      std::string result = "Unrecognized command: ";
      result.append(parser.command).append(". Try demo");
      ConsolePrinter::instance().feedback_rewrite(result);
    }
}
Exemplo n.º 3
0
void CIPCamGeniusDlg::OnBnClickedButtonRefreshNetwork()
{
	reset_network();
}
Exemplo n.º 4
0
void CIPCamGeniusDlg::OnBnClickedButtonOnekeyConfig()
{
	POSITION pos = m_list_cameras.GetFirstSelectedItemPosition();
	int idx = m_list_cameras.GetNextSelectedItem(pos);
	if (idx < 0) {
		msgbox("ÇëÏÈÑ¡ÔñÉãÏñ»ú");
		return;
	}

	IPCameraInfo info = network_controller.vec_info[idx];
	IPCameraInfo info_ori = info;
	UPNPMap ipmap_http(info.ip, info.port_http), ipmap_rtsp(info.ip, info.port_rtsp);
	unsigned short eport_http = 0, eport_rtsp = 0, iport_http = 0, iport_rtsp = 0;
	Gateway *p_gateway = &network_controller.gateway;

	if (network_controller.gateway.isError()) {
		msgbox(_T("ÎÞ·¨»ñÈ¡Íø¹ØÐÅÏ¢£¡"));
		return;
	}
	if (!network_controller.gateway.isReady()) {
		msgbox(_T("ÕýÔÚ»ñÈ¡Íø¹ØÐÅÏ¢£¬ÇëÉÔºóÔÙÊÔ£¡"));
		return;
	}

	CString subnetMask = network_controller.gateway.getSubnetMask();
	CString gatewayAddr = network_controller.gateway.getGatewayAddress();
	if (calculateSubnetAddress(gatewayAddr, subnetMask) != calculateSubnetAddress(info.gateway, info.mask)) {
		msgbox(_T("ÉãÏñ»ú²»´¦ÓÚµ±Ç°×ÓÍø£¬ÇëÏȽøÐÐÍøÂçÉèÖã¡"));
		return;
	}

	p_gateway->getUPnPMap(ipmap_http, eport_http);
	p_gateway->getUPnPMap(ipmap_rtsp, eport_rtsp);

	if (eport_http && (eport_rtsp || !info.port_rtsp)) {
		msgbox("¶Ë¿ÚÓ³ÉäÎÞÐèÅäÖã¡");
		return;
	}
	if (!eport_http || info.port_rtsp && !eport_rtsp) {
		if (!p_gateway->getNextAvailableTCPPorts(info.port_http, info.port_rtsp, 
					eport_http, eport_rtsp)) {
			if (AfxMessageBox("¶Ë¿ÚÓ³ÉäÒÑÂú£¬ÊÇ·ñÇ¿ÖƸ²¸Ç£¿", MB_OKCANCEL) == IDCANCEL) {
				msgbox("¶Ë¿ÚÓ³Éäʧ°Ü£¡");
				return;
			}
			p_gateway->addTCPPortMapping(info.ip, info.port_http, info.port_http);
			if (info.port_rtsp) p_gateway->addTCPPortMapping(info.ip, info.port_rtsp, info.port_rtsp);
			msgbox("¶Ë¿ÚÓ³ÉäÍê±Ï£¡");
			reset_network();
			return;
		}
		if (eport_http == info.port_http && (!info.port_rtsp || eport_rtsp == info.port_rtsp)) {
			p_gateway->addTCPPortMapping(info.ip, info.port_http, info.port_http);
			p_gateway->addTCPPortMapping(info.ip, info.port_rtsp, info.port_rtsp);
			msgbox("¶Ë¿ÚÓ³ÉäÍê±Ï£¡");
			reset_network();
			return;
		}
		else {
			int opt;
			iport_http = info.port_http;
			iport_rtsp = info.port_rtsp;
			CRadioUPnPMapDialog radio_upnp_map(&opt, &iport_http, &eport_http, 
					&iport_rtsp, &eport_rtsp);
			if (radio_upnp_map.DoModal() == IDCANCEL) {
				msgbox("¶Ë¿ÚÓ³Éäʧ°Ü£¡");
				return;
			}
			if (opt == CRadioUPnPMapDialog::COVER) {
				p_gateway->addTCPPortMapping(info.ip, info.port_http, info.port_http);
				if (info.port_rtsp) p_gateway->addTCPPortMapping(info.ip, info.port_rtsp, info.port_rtsp);
				msgbox("¶Ë¿ÚÓ³ÉäÍê±Ï£¡");
				reset_network();
				return;
			}
			else {
				int index = info.adapter_idx;
				p_gateway->addTCPPortMapping(info.ip, iport_http, eport_http);
				if (info.port_rtsp) p_gateway->addTCPPortMapping(info.ip, iport_rtsp, eport_rtsp);
				info.port_http = iport_http; info.port_rtsp = iport_rtsp;
				network_controller.camera_adapters[index]->set_network(info, info_ori);
				msgbox("¶Ë¿ÚÓ³ÉäÍê±Ï£¡");
				reset_network();
				return;
			}
		}
	}
}