Implemented first Hangar-Service

Dependencies:   CalibrateMagneto QuaternionMath

Fork of SML2 by TobyRich GmbH

Committer:
pvaibhav
Date:
Wed Apr 22 10:17:24 2015 +0000
Revision:
28:13eee3fe2e34
Parent:
27:e71a2e4e6e3f
Child:
29:e81a2b1f8825
Keep CherryCam power off initially

Who changed what in which revision?

UserRevisionLine numberNew contents of line
pvaibhav 27:e71a2e4e6e3f 1 #include "CherryCam.h"
pvaibhav 27:e71a2e4e6e3f 2
pvaibhav 28:13eee3fe2e34 3 CherryCam::CherryCam() : powerPin(p31), shutterPin(p30), recording(false)
pvaibhav 28:13eee3fe2e34 4 {
pvaibhav 28:13eee3fe2e34 5 powerPin = 0; // keep off initially
pvaibhav 28:13eee3fe2e34 6 }
pvaibhav 27:e71a2e4e6e3f 7
pvaibhav 27:e71a2e4e6e3f 8 void CherryCam::powerOn()
pvaibhav 27:e71a2e4e6e3f 9 {
pvaibhav 27:e71a2e4e6e3f 10 powerPin = 1;
pvaibhav 27:e71a2e4e6e3f 11 }
pvaibhav 27:e71a2e4e6e3f 12
pvaibhav 27:e71a2e4e6e3f 13 void CherryCam::powerOff()
pvaibhav 27:e71a2e4e6e3f 14 {
pvaibhav 27:e71a2e4e6e3f 15 powerPin = 0;
pvaibhav 27:e71a2e4e6e3f 16 }
pvaibhav 27:e71a2e4e6e3f 17
pvaibhav 27:e71a2e4e6e3f 18 void CherryCam::start()
pvaibhav 27:e71a2e4e6e3f 19 {
pvaibhav 27:e71a2e4e6e3f 20 if (recording)
pvaibhav 27:e71a2e4e6e3f 21 return;
pvaibhav 27:e71a2e4e6e3f 22
pvaibhav 27:e71a2e4e6e3f 23 generateFallingEdge(shutterPin);
pvaibhav 27:e71a2e4e6e3f 24 recording = true;
pvaibhav 27:e71a2e4e6e3f 25 }
pvaibhav 27:e71a2e4e6e3f 26
pvaibhav 27:e71a2e4e6e3f 27 void CherryCam::stop()
pvaibhav 27:e71a2e4e6e3f 28 {
pvaibhav 27:e71a2e4e6e3f 29 if (!recording)
pvaibhav 27:e71a2e4e6e3f 30 return;
pvaibhav 27:e71a2e4e6e3f 31
pvaibhav 27:e71a2e4e6e3f 32 generateFallingEdge(shutterPin);
pvaibhav 27:e71a2e4e6e3f 33 recording = false;
pvaibhav 27:e71a2e4e6e3f 34 }
pvaibhav 27:e71a2e4e6e3f 35
pvaibhav 27:e71a2e4e6e3f 36 void CherryCam::generateFallingEdge(DigitalOut &d)
pvaibhav 27:e71a2e4e6e3f 37 {
pvaibhav 27:e71a2e4e6e3f 38 d = 1;
pvaibhav 27:e71a2e4e6e3f 39 wait_ms(1);
pvaibhav 27:e71a2e4e6e3f 40 d = 0;
pvaibhav 27:e71a2e4e6e3f 41 }