Library for interfacing with Nikon DSLR through IR LED

Dependencies:   mbed

Revision:
0:e977f7ad0d48
Child:
1:bdc12143ced7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/DslrIr/DslrIr.cpp	Fri Apr 26 00:18:24 2019 +0000
@@ -0,0 +1,46 @@
+#include "DslrIr.h"
+
+DslrIr::DslrIr(PinName pin) : _pin(pin) 
+{
+    _pin.period_us(PWM_PERIOD);                // set PWM period for Carrier Frequency of 38.4 KHz
+    _pin = 0;
+}
+
+
+
+
+void DslrIr::trigger()
+{
+    _pin = ACTIVE_DUTY_CYCLE;
+    wait_us(SEQ_ON_1_PERIOD);
+    _pin = 0;
+    wait_us(SEQ_OFF_1_PERIOD);
+    _pin = ACTIVE_DUTY_CYCLE;
+    wait_us(SEQ_ON_2_PERIOD);
+    _pin = 0;
+    wait_us(SEQ_OFF_2_PERIOD);
+    _pin = ACTIVE_DUTY_CYCLE;
+    wait_us(SEQ_ON_3_PERIOD);
+    _pin = 0;
+    wait_us(SEQ_OFF_3_PERIOD);
+    _pin = ACTIVE_DUTY_CYCLE;
+    wait_us(SEQ_ON_4_PERIOD);
+    _pin = 0;
+    wait_us(SEQ_OFF_4_PERIOD);  // Repeat after 63.2 us
+    _pin = ACTIVE_DUTY_CYCLE;
+    _pin = ACTIVE_DUTY_CYCLE;
+    wait_us(SEQ_ON_1_PERIOD);
+    _pin = 0;
+    wait_us(SEQ_OFF_1_PERIOD);
+    _pin = ACTIVE_DUTY_CYCLE;
+    wait_us(SEQ_ON_2_PERIOD);
+    _pin = 0;
+    wait_us(SEQ_OFF_2_PERIOD);
+    _pin = ACTIVE_DUTY_CYCLE;
+    wait_us(SEQ_ON_3_PERIOD);
+    _pin = 0;
+    wait_us(SEQ_OFF_3_PERIOD);
+    _pin = ACTIVE_DUTY_CYCLE;
+    wait_us(SEQ_ON_4_PERIOD);
+    _pin = 0;
+}
\ No newline at end of file