Esempio n. 1
0
void mpu6050_init(int fd)
{
	sleep(1);
	set_i2c_register(fd,MPU6050ADDR,PWR_MGMT_1,0x00);
	//msleep(10);
	set_i2c_register(fd,MPU6050ADDR,SMPLRT_DIV,0x07);
	//set_i2c_register(fd,MPU6050ADDR,SMPLRT_DIV,0x04);
	//msleep(10);
	set_i2c_register(fd,MPU6050ADDR,CONFIG,0x06);
	//set_i2c_register(fd,MPU6050ADDR,CONFIG,0x0b);
	//msleep(10);
	set_i2c_register(fd,MPU6050ADDR,ACCEL_CONFIG,0x00);
	//msleep(10);
	set_i2c_register(fd,MPU6050ADDR,GYRO_CONFIG,0x18);
	//msleep(10);
	
}
Esempio n. 2
0
int main(int argc, char **argv) {
    int i2c_file;
    int8_t x, y, z;  /* The readings are 8 bits and signed */

    /* Open a connection to the I2C userspace control file */
    if ((i2c_file = open(I2C_FILE_NAME, O_RDWR)) < 0) {
        /* Error Indication */
        perror("Unable to open i2c control file");
        exit(1);
    }
    /* Success Indication */
 //   printf("Initialized\n");

    /* Set control register */
    if( set_i2c_register(i2c_file, MMA7455_I2CADDR, MMA7455_CTRLADDR, 0x45) ) {
        /* Error Indication */
        printf("Unable to set control register!\n");
        return -1;
    }
    /* Success Indication */
   // printf("Set control register successfully\n");

// MOje






  //  while (1) {
     /*    Read X, Y, and Z from the register */
        if( get_i2c_register(i2c_file, MMA7455_I2CADDR, MMA7455_XOUT8, &x) ||
            get_i2c_register(i2c_file, MMA7455_I2CADDR, MMA7455_YOUT8, &y) ||
            get_i2c_register(i2c_file, MMA7455_I2CADDR, MMA7455_ZOUT8, &z) ) {

            /* Error Indication */
            printf("Unable to read register\n");
            return -1;
        }
        /* Success Indication */

        /* Debug line that prints out registers */
        printf("%d\t|%d\t|%d\n", x, y, z);
	
   // }
   /* Cleanup and Exit */
    close(i2c_file);
    return 0;
}
Esempio n. 3
0
int main(int argc, char **argv) {
    int i2c_file;

    // Open a connection to the I2C userspace control file.
    if ((i2c_file = open(I2C_FILE_NAME, O_RDWR)) < 0) {
        perror("Unable to open i2c control file");
        exit(1);
    }


    if(argc > 3 && !strcmp(argv[1], "r")) {
        int addr = strtol(argv[2], NULL, 0);
        int reg = strtol(argv[3], NULL, 0);
        unsigned char value;
        if(get_i2c_register(i2c_file, addr, reg, &value)) {
            printf("Unable to get register!\n");
        }
        else {
            printf("Register %d: %d (%x)\n", reg, (int)value, (int)value);
        }
    }
    else if(argc > 4 && !strcmp(argv[1], "w")) {
        int addr = strtol(argv[2], NULL, 0);
        int reg = strtol(argv[3], NULL, 0);
        int value = strtol(argv[4], NULL, 0);
        if(set_i2c_register(i2c_file, addr, reg, value)) {
            printf("Unable to get register!\n");
        }
        else {
            printf("Set register %x: %d (%x)\n", reg, value, value);
        }
    }
    else {
        fprintf(stderr, USAGE_MESSAGE, argv[0], argv[0]);
    }


    close(i2c_file);


    return 0;
}