Implemented first Hangar-Service
Dependencies: CalibrateMagneto QuaternionMath
Fork of SML2 by
CherryCam.cpp@29:e81a2b1f8825, 2015-04-22 (annotated)
- Committer:
- pvaibhav
- Date:
- Wed Apr 22 11:06:42 2015 +0000
- Revision:
- 29:e81a2b1f8825
- Parent:
- 28:13eee3fe2e34
- Child:
- 30:a56c141d1d38
Changed CherryCam power pin to p26
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
pvaibhav | 27:e71a2e4e6e3f | 1 | #include "CherryCam.h" |
pvaibhav | 27:e71a2e4e6e3f | 2 | |
pvaibhav | 29:e81a2b1f8825 | 3 | CherryCam::CherryCam() : powerPin(p26), 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 | } |