Ejemplo n.º 1
0
	bool OnStartUp(){

		m11=190;
		m22=240;
		m33=82;
		d11=75;
		d22=105;
		d33=55;
		D11=0;
		D22=0;
		D33=0;
		L=1;	//it should be the same as that in the controller

    		//here we extract the vehicle name..
		m_sVehicleName = "UnNamed";
		if(!m_MissionReader.GetConfigurationParam("VehicleName",m_sVehicleName))
		    MOOSTrace("Warning parameter \"VechicleName\" not specified. Using default of \"%s\"\n",m_sVehicleName.c_str());

		x=0;	//default value
		//here we extract a double from the configuration file
		if(!m_MissionReader.GetConfigurationParam("InitialLocation_x",x))
		MOOSTrace("Warning parameter \"InitialLocation\" not specified. Using default of \"%f\"\n",x);
		
		y=0;	//default value
		//here we extract a double from the configuration file
		if(!m_MissionReader.GetConfigurationParam("InitialLocation_y",y))
		MOOSTrace("Warning parameter \"InitialLocation\" not specified. Using default of \"%f\"\n",y);

		psi=0;	//default value
		//here we extract a double from the configuration file
		if(!m_MissionReader.GetConfigurationParam("InitialLocation_psi",psi))
		MOOSTrace("Warning parameter \"InitialLocation\" not specified. Using default of \"%f\"\n",psi);

		u=0;	//default value
		//here we extract a double from the configuration file
		if(!m_MissionReader.GetConfigurationParam("InitialLocation_u",u))
		MOOSTrace("Warning parameter \"InitialLocation\" not specified. Using default of \"%f\"\n",u);

		v=0;	//default value
		//here we extract a double from the configuration file
		if(!m_MissionReader.GetConfigurationParam("InitialLocation_v",v))
		MOOSTrace("Warning parameter \"InitialLocation\" not specified. Using default of \"%f\"\n",v);

		r=0;	//default value
		//here we extract a double from the configuration file
		if(!m_MissionReader.GetConfigurationParam("InitialLocation_r",r))
		MOOSTrace("Warning parameter \"InitialLocation\" not specified. Using default of \"%f\"\n",r);

		DESIRED_PORTTHRUSTER=0;	//default value
		//here we extract a double from the configuration file
		if(!m_MissionReader.GetConfigurationParam("DESIRED_PORTTHRUSTER",DESIRED_PORTTHRUSTER))
		MOOSTrace("Warning parameter \"InitialLocation\" not specified. Using default of \"%f\"\n",DESIRED_PORTTHRUSTER);

		DESIRED_STARBOARDTHRUSTER=0;	//default value
		//here we extract a double from the configuration file
		if(!m_MissionReader.GetConfigurationParam("DESIRED_STARBOARDTHRUSTER", DESIRED_STARBOARDTHRUSTER))
		MOOSTrace("Warning parameter \"InitialLocation\" not specified. Using default of \"%f\"\n",DESIRED_STARBOARDTHRUSTER);
		
		//MOOSTrace("input_FL=%f, input_FR=%f, time=%f\n",input_FL,input_FR,MOOSTime());

		t_r=MOOSTime();
		return true;
	}
Ejemplo n.º 2
0
/** Create and set up the port */
bool CMOOSLinuxSerialPort::Create(const char * sPort, int nBaudRate)
{
    if (m_nPortFD >= 0)
    {
        MOOSTrace("Serial Port already open.\n");
        return false;
    }

#ifndef _WIN32
    int nLinuxBaudRate = B9600;
    switch(nBaudRate)
    {
#ifdef B500000
    case 500000:    nLinuxBaudRate = B500000; break;
#endif
    case 115200:    nLinuxBaudRate = B115200; break;
    case 57600:     nLinuxBaudRate = B57600;  break;
    case 38400:     nLinuxBaudRate = B38400;  break;
    case 19200:     nLinuxBaudRate = B19200;  break;
    case 9600:      nLinuxBaudRate = B9600;   break;
    case 4800:      nLinuxBaudRate = B4800;   break;
    case 2400:      nLinuxBaudRate = B2400;   break;
    case 1200:      nLinuxBaudRate = B1200;   break;
    case 600:       nLinuxBaudRate = B600;    break;
    case 300:       nLinuxBaudRate = B300;    break;
    default :
        printf("Unsupported baud rate\n");
        return false;
        break;
    }

    // open and configure the serial port
    m_nPortFD = open(sPort, O_RDWR | O_NOCTTY | O_NDELAY);

    if (m_nPortFD <0)
    {
        perror(sPort);
        return false;
    }

    //save the current configuration
    tcgetattr(m_nPortFD,&m_OldPortOptions);

    //zero the buffers
    //bzero(&m_PortOptions, sizeof(m_PortOptions));
    memset(&m_PortOptions,0,sizeof(m_PortOptions));
    m_PortOptions.c_cflag = nLinuxBaudRate | CS8 | CLOCAL | CREAD;
    m_PortOptions.c_iflag = IGNPAR;
    m_PortOptions.c_oflag = 0;

    /* set input mode (non-canonical, no echo,...) */
    m_PortOptions.c_lflag = 0;

    // inter-character timer unused
    m_PortOptions.c_cc[VTIME]    = 0;
    // blocking read until 0 chars received, i.e. don't block
    m_PortOptions.c_cc[VMIN]     = 0;

    //save the new settings
    tcflush(m_nPortFD, TCIFLUSH);
    tcsetattr(m_nPortFD,TCSANOW,&m_PortOptions);

#else
	MOOS::DeliberatelyNotUsed(nBaudRate);
#endif

	if(m_nPortFD!=0)
		m_sPort = sPort;

    return  m_nPortFD!=0;
}