Implemented first Hangar-Service
Dependencies: CalibrateMagneto QuaternionMath
Fork of SML2 by
CherryCam.cpp@27:e71a2e4e6e3f, 2015-04-21 (annotated)
- Committer:
- pvaibhav
- Date:
- Tue Apr 21 13:34:25 2015 +0000
- Revision:
- 27:e71a2e4e6e3f
- Child:
- 28:13eee3fe2e34
CherryCam driver added. Empty GPS driver added.
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 | 27:e71a2e4e6e3f | 3 | CherryCam::CherryCam() : powerPin(p31), shutterPin(p30), recording(false) {} |
pvaibhav | 27:e71a2e4e6e3f | 4 | |
pvaibhav | 27:e71a2e4e6e3f | 5 | void CherryCam::powerOn() |
pvaibhav | 27:e71a2e4e6e3f | 6 | { |
pvaibhav | 27:e71a2e4e6e3f | 7 | powerPin = 1; |
pvaibhav | 27:e71a2e4e6e3f | 8 | } |
pvaibhav | 27:e71a2e4e6e3f | 9 | |
pvaibhav | 27:e71a2e4e6e3f | 10 | void CherryCam::powerOff() |
pvaibhav | 27:e71a2e4e6e3f | 11 | { |
pvaibhav | 27:e71a2e4e6e3f | 12 | powerPin = 0; |
pvaibhav | 27:e71a2e4e6e3f | 13 | } |
pvaibhav | 27:e71a2e4e6e3f | 14 | |
pvaibhav | 27:e71a2e4e6e3f | 15 | void CherryCam::start() |
pvaibhav | 27:e71a2e4e6e3f | 16 | { |
pvaibhav | 27:e71a2e4e6e3f | 17 | if (recording) |
pvaibhav | 27:e71a2e4e6e3f | 18 | return; |
pvaibhav | 27:e71a2e4e6e3f | 19 | |
pvaibhav | 27:e71a2e4e6e3f | 20 | generateFallingEdge(shutterPin); |
pvaibhav | 27:e71a2e4e6e3f | 21 | recording = true; |
pvaibhav | 27:e71a2e4e6e3f | 22 | } |
pvaibhav | 27:e71a2e4e6e3f | 23 | |
pvaibhav | 27:e71a2e4e6e3f | 24 | void CherryCam::stop() |
pvaibhav | 27:e71a2e4e6e3f | 25 | { |
pvaibhav | 27:e71a2e4e6e3f | 26 | if (!recording) |
pvaibhav | 27:e71a2e4e6e3f | 27 | return; |
pvaibhav | 27:e71a2e4e6e3f | 28 | |
pvaibhav | 27:e71a2e4e6e3f | 29 | generateFallingEdge(shutterPin); |
pvaibhav | 27:e71a2e4e6e3f | 30 | recording = false; |
pvaibhav | 27:e71a2e4e6e3f | 31 | } |
pvaibhav | 27:e71a2e4e6e3f | 32 | |
pvaibhav | 27:e71a2e4e6e3f | 33 | void CherryCam::generateFallingEdge(DigitalOut &d) |
pvaibhav | 27:e71a2e4e6e3f | 34 | { |
pvaibhav | 27:e71a2e4e6e3f | 35 | d = 1; |
pvaibhav | 27:e71a2e4e6e3f | 36 | wait_ms(1); |
pvaibhav | 27:e71a2e4e6e3f | 37 | d = 0; |
pvaibhav | 27:e71a2e4e6e3f | 38 | } |