# HG changeset patch # User mkroening@CL-ENS241-07.cedarville.edu # Date 2013-03-20 17:04:51 # Node ID 006bbb89fd70aace828cd2f57e8593de0edb7f9c # Parent 9aa54f04a19a4bbfa84a6331ef61f14400f04a3b Camera control diff --git a/slave/slave/lib/cameras.c b/slave/slave/lib/cameras.c --- a/slave/slave/lib/cameras.c +++ b/slave/slave/lib/cameras.c @@ -28,6 +28,19 @@ 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; diff --git a/slave/slave/lib/cameras.h b/slave/slave/lib/cameras.h --- a/slave/slave/lib/cameras.h +++ b/slave/slave/lib/cameras.h @@ -11,6 +11,7 @@ void cameras_readAccelXYZ(void); // Reads acceleration values +void cameras_sendPulse(void); int8_t cameras_getAccelX(void); // Returns x-acceleration int8_t cameras_getAccelY(void); // Returns y-acceleration diff --git a/slave/slave/modules.c b/slave/slave/modules.c --- a/slave/slave/modules.c +++ b/slave/slave/modules.c @@ -106,7 +106,10 @@ void modules_cameras_setup() { - + DDRA |= (1 << DDA0); // Set PA0 to Output for Camera + DDRA |= (1 << DDA1); // Set PA1 to Output for Camera + DDRA |= (1 << DDA2); // Set PA2 to Output for Camera + DDRA |= (1 << DDA3); // Set PA3 to Output for Camera } @@ -137,7 +140,13 @@ void modules_cameras() { // Gathers data and performs functions for cameras daughter board - cameras_readAccelXYZ(); - + int16_t pcount; + if pcount == 1000 + { + cameras_readAccelXYZ(); + cameras_sendPulse(); + pcount = 0; + } + pcount ++; } \ No newline at end of file