Implemented first Hangar-Service
Dependencies: CalibrateMagneto QuaternionMath
Fork of SML2 by
CherryCam.cpp@30:a56c141d1d38, 2015-04-23 (annotated)
- Committer:
- pvaibhav
- Date:
- Thu Apr 23 12:13:28 2015 +0000
- Revision:
- 30:a56c141d1d38
- Parent:
- 29:e81a2b1f8825
- Child:
- 46:fd5a62296b12
CherryCam: Add 500ms delay between pull up and pull down of the shutter pin
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 | 30:a56c141d1d38 | 23 | generateFallingEdge(); |
pvaibhav | 27:e71a2e4e6e3f | 24 | } |
pvaibhav | 27:e71a2e4e6e3f | 25 | |
pvaibhav | 27:e71a2e4e6e3f | 26 | void CherryCam::stop() |
pvaibhav | 27:e71a2e4e6e3f | 27 | { |
pvaibhav | 27:e71a2e4e6e3f | 28 | if (!recording) |
pvaibhav | 27:e71a2e4e6e3f | 29 | return; |
pvaibhav | 27:e71a2e4e6e3f | 30 | |
pvaibhav | 30:a56c141d1d38 | 31 | generateFallingEdge(); |
pvaibhav | 27:e71a2e4e6e3f | 32 | } |
pvaibhav | 27:e71a2e4e6e3f | 33 | |
pvaibhav | 30:a56c141d1d38 | 34 | void CherryCam::generateFallingEdge() |
pvaibhav | 27:e71a2e4e6e3f | 35 | { |
pvaibhav | 30:a56c141d1d38 | 36 | shutterPin = 1; |
pvaibhav | 30:a56c141d1d38 | 37 | pulldownTimer.attach(this, &CherryCam::pulldownShutterPin, 0.5); // pull down after 1 sec |
pvaibhav | 30:a56c141d1d38 | 38 | } |
pvaibhav | 30:a56c141d1d38 | 39 | |
pvaibhav | 30:a56c141d1d38 | 40 | void CherryCam::pulldownShutterPin() |
pvaibhav | 30:a56c141d1d38 | 41 | { |
pvaibhav | 30:a56c141d1d38 | 42 | shutterPin = 0; |
pvaibhav | 30:a56c141d1d38 | 43 | recording = !recording; |
pvaibhav | 27:e71a2e4e6e3f | 44 | } |