Beispiel #1
0
int init () {
	printf("Opening Voice/Analog Resource: %s ",dxDev);
	if ((dx = dx_open(dxDev,0)) == -1) {
		printf("failed\n");
		return -1;
	}
	printf("handle: %d\n",dx);
	printf("Opening MSI Resource: %s ",msiDev);
	if ((msi = ms_open(msiDev,0)) == -1) {
		printf("failed\n");
		return -1;
	}
	printf("handle: %d\n",msi);
	dxTs.sc_numts = 1;
	dxTs.sc_tsarrayp = &dxTsNum;
	msiTs.sc_numts = 1;
	msiTs.sc_tsarrayp = &msiTsNum;
	if (dx_getxmitslot(dx,&dxTs) == -1) {
		printf("dx_getxmitslot() failed: %s\n",ATDV_ERRMSGP(dx));
		return -1;
	}
	if (ms_getxmitslot(msi,&msiTs) == -1) {
		printf("msi_getxmitslot() failed: %s\n",ATDV_ERRMSGP(msi));
		return -1;
	}
	if (dx_listen(dx,&msiTs) == -1) {
		printf("dx_listen() failed: %s\n",ATDV_ERRMSGP(dx));
		return -1;
	}
	if (ms_listen(msi,&dxTs) == -1) {
		printf("ms_listen() failed: %s\n",ATDV_ERRMSGP(msi));
		return -1;
	}
	return 0;
}
Beispiel #2
0
int main() {
	ms_open();
	do{
		ms_update();
		printf("yaw = %2.1f\tpitch = %2.1f\troll = %2.1f\ttemperature = %2.1f\tcompass = %2.1f, %2.1f, %2.1f\n",
		 ypr[YAW], ypr[PITCH],
		 ypr[ROLL],temp,compass[0],compass[1],compass[2]);
		delay_ms(5);
	}while(1);

	return 0;
}
Beispiel #3
0
int main(int argc, char** argv)
{
	ros::init(argc, argv, "mpu9150_driver");
	ros::NodeHandle n;

	ros::Publisher pub_data = n.advertise<imu_msgs::MPU9150>("mpu9150_data", 10);

	imu_msgs::MPU9150 imu;

	ros::Rate r(40);

	ms_open();
	while(ros::ok()){
		ms_update();
		imu.euler.x = ypr[ROLL];
		imu.euler.y = ypr[PITCH];
		imu.euler.z = ypr[YAW];

		imu.gyro.x = gyro[0];
		imu.gyro.y = gyro[1];
		imu.gyro.z = gyro[2];

		imu.accel.x = accel[2];
		imu.accel.y = accel[1];
		imu.accel.z = accel[0];

		imu.compass.x = compass[0];
		imu.compass.y = compass[1];
		imu.compass.z = compass[2];

		imu.temprature = temp;
		//printf("yaw = %2.1f\tpitch = %2.1f\troll = %2.1f\ttemperature = %2.1f\tcompass = %2.1f, %2.1f, %2.1f\n",
		// ypr[YAW], ypr[PITCH],
		// ypr[ROLL],temp,compass[0],compass[1],compass[2]);
		//delay_ms(5);

		pub_data.publish(imu);

		//r.sleep();
	}

	return 0;
}
Beispiel #4
0
int main() {
	struct sched_param param;

        signal(SIGTERM, catch_signal);
        signal(SIGINT, catch_signal);

	param.sched_priority = 49;
        if(sched_setscheduler(0, SCHED_FIFO, &param) == -1) {
                perror("sched_setscheduler failed");
                exit(-1);
        }


        if(mlockall(MCL_CURRENT|MCL_FUTURE) == -1) {
                perror("mlockall failed");
                exit(-2);
        }

	stack_prefault();

	err=config_open("/var/local/rpicopter.config");
	if (err<0) {
            	printf("Failed to initiate config! [%s]\n", strerror(err));	
		return -1;
	}

	err=flog_open("/var/local/");
	if (err<0) {
            	printf("Failed to initiate log! [%s]\n", strerror(err));	
		return -1;
	}

	err = sc_open();
        if (err != 0) {
            printf("Failed to initiate speedcontroller! [%s]\n", strerror(err));	
	    return -1;
	}

	err=ms_open(GYRO_RATE);
        if (err != 0) {
            printf("Failed to initiate gyro! [%s]\n", strerror(err));	
	    return -1;
	}

	err=rec_open();
	if (err<0) {
            	printf("Failed to initiate receiver! [%s]\n", strerror(err));	
		return -1;
	}

/*
	err=bs_open();
	if (err<0) {
            	printf("Failed to initiate pressure sensor! [%s]\n", strerror(err));	
		return -1;
	}
*/
	printf("Waiting for MPU calibration... \n");
	delay_ms(1000);
	controller_stable(NULL);
	return 0;
}
Beispiel #5
0
static void openMouse(void)
{
  ms= ms_new();
  ms_open(ms, msDev, msProto);
  ms_setCallback(ms, enqueueMouseEvent);
}