示例#1
0
void Camera::init() {

	xprintf("starting cam init\n");
	ledo.init(true);
	reset.init(true);
	power.init(true);
	reset.setPins(1);
	power.setPins(0);
	xprintf("Init GPIOs...");
	dcmi.InitGPIO();
	xprintf("Done!\n");
	xprintf("Init DCMI...");
	dcmi.InitDCMI();
	xprintf("Done!\n");
	xprintf("Init I2C...");
	delayx(1000);
	sccb.I2CInit();
	xprintf("Done!\n");
	xprintf("Init OV7670...");
	delayx(1000);
	InitOV7670();
	xprintf("Done!\n");
	xprintf("Enable DCMI...");
	delayx(1000);
	dcmi.EnableDCMI();

	xprintf("Done with cam init!\n");
}
示例#2
0
uint8_t Sccb::ov7670_set(uint8_t reg, uint8_t data) {
	delayx(1000);
	I2C_start(I2C1, 0x42, I2C_Direction_Transmitter);
	delayx(1000);
	I2C_write(I2C1, reg);
	delayx(1000);
	I2C_write(I2C1, data);
	delayx(1000);
	I2C_stop(I2C1);
	delayx(1000);
	return 0;
}
示例#3
0
uint8_t ov7670_get(uint8_t reg) {
	uint8_t data = 0;
	I2C_start(I2C2, 0x42, I2C_Direction_Transmitter);
	I2C_write(I2C2, reg);
	I2C_stop(I2C2);
	delayx(1000);
	I2C_start(I2C2, 0x43, I2C_Direction_Receiver);
	data = I2C_read_nack(I2C2);
	I2C_stop(I2C2);
	delayx(1000);
	return data;
}
示例#4
0
void Motor::spinUpTo(int _currentSpeed,int _finalVal) {
    for(int i=_currentSpeed; i<_finalVal; i++) {
        MotorPWM.write(i);
        delayx(1);
    }
    if(ramp)ramp = false;
}
示例#5
0
uint8_t ov7670_set(uint8_t reg, uint8_t data) {
	I2C_start(I2C2, 0x42, I2C_Direction_Transmitter);
	I2C_write(I2C2, reg);
	I2C_write(I2C2, data);
	I2C_stop(I2C2);
	delayx(1000);
	return 0;
}