Files @ 006bbb89fd70
Branch filter:

Location: seniordesign-firmware/slave/slave/lib/cameras.c

mkroening@CL-ENS241-07.cedarville.edu
Camera control
/*
 * cameras.c
 *
 * Created: 11/19/2012 9:25:23 PM
 *  Author: kripperger
 */ 


 #include <inttypes.h>
 #include <avr/io.h>
 #include <avr/interrupt.h>
 #include "../config.h"
 #include <util/delay.h>
 #include "cameras.h"
 
 #include "i2c.h"
 
 int8_t xmsb;	// Acceleration data in x-direction (MSB)
 int8_t ymsb;	// Acceleration data in y-direction (MSB)
 int8_t zmsb;	// Acceleration data in z-direction (MSB)
 
 
 
 void cameras_readAccelXYZ()
 {
	 xmsb = i2c_read(ACCEL_ADDR, 0x01);
	 ymsb = i2c_read(ACCEL_ADDR, 0x03);
	 zmsb = i2c_read(ACCEL_ADDR, 0x05);
 }
 
 void cameras_sendPulse()
 {
	 PORTA |= (1 << PA0);	// Pull pin on usb high
	 PORTA |= (1 << PA1);	// Pull pin on usb high
	 PORTA |= (1 << PA2);	// Pull pin on usb high
	 PORTA |= (1 << PA3);	// Pull pin on usb high
	 _delay_ms(250);
	 PORTA &= ~(1 << PA0);	// Pull pin on usb low
	 PORTA &= ~(1 << PA1);	// Pull pin on usb low
	 PORTA &= ~(1 << PA2);	// Pull pin on usb low
	 PORTA &= ~(1 << PA3);	// Pull pin on usb low
 }
 
 int8_t cameras_getAccelX()
 {
	 return xmsb;
 }
 
 int8_t cameras_getAccelY()
 {
	 return ymsb;
 }
 
 int8_t cameras_getAccelZ()
 {
	 return zmsb;
 }