Esempio n. 1
0
int arducam(sensor_model_t model)
{
	myCAM.sensor_model = model;
	switch(myCAM.sensor_model)
	{
		case smOV7660:
		case smOV7670:
		case smOV7675:
		case smOV7725:
			myCAM.sensor_addr = 0x21;
			break;
		case smMT9D111:
			myCAM.sensor_addr = 0x5d;
			break;
		case smOV3640:
		case smOV5642:
			myCAM.sensor_addr = 0x3c;
			break;
		case smOV2640:
		case smOV9655:
			myCAM.sensor_addr = 0x30;
			break;
		case smMT9M112:
			myCAM.sensor_addr = 0x5d;
			break;
		default:
			myCAM.sensor_addr = 0x21;
			break;
	}
	if (!arducam_spi_init()) {
		printf("ERROR: SPI init failed\n");
		return 0;
	}

	// initialize i2c:
	if (!arducam_i2c_init(myCAM.sensor_addr)) {
		printf("ERROR: I2C init failed\n");
		return 0;
	}
	return 1;
}
Esempio n. 2
0
int arducam(sensor_model_t model,int SPI_CS1, int SPI_CS2, int SPI_CS3, int SPI_CS4)
{
	myCAM.sensor_model = model;
	switch(myCAM.sensor_model)
	{
		case smOV7660:
		case smOV7670:
		case smOV7675:
		case smOV7725:
			myCAM.sensor_addr = 0x21;
			break;
		case smMT9D111:
			myCAM.sensor_addr = 0x5d;
			break;
		case smOV3640:
		case smOV5642:
			myCAM.sensor_addr = 0x3c;
			break;
		case smOV2640:
		case smOV9655:
			myCAM.sensor_addr = 0x30;
			break;
		case smMT9M112:
			myCAM.sensor_addr = 0x5d;
			break;
		default:
			myCAM.sensor_addr = 0x21;
			break;
	}
	if(SPI_CS1>=0)
		{
			if (!arducam_spi_init(SPI_CS1)) {
				printf("ERROR: SPI1 init failed\n");
				//return 0;
			}
	 }
	 if(SPI_CS2>=0)
	 	{
			if (!arducam_spi_init(SPI_CS2)) {
				printf("ERROR: SPI2 init failed\n");
				//return 0;
			}
   }
   if(SPI_CS3>=0)
   	{
			if (!arducam_spi_init(SPI_CS3)) {
				printf("ERROR: SPI3 init failed\n");
				//return 0;
			}
    }
    if(SPI_CS4>=0)
     {
				if (!arducam_spi_init(SPI_CS4)) {
					printf("ERROR: SPI4 init failed\n");
					//return 0;
				}
     }

	// initialize i2c:
	if (!arducam_i2c_init(myCAM.sensor_addr)) {
		printf("ERROR: I2C init failed\n");
		//return 0;
	}
	return 1;
}