![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Library for interfacing with Nikon DSLR through IR LED
Diff: DslrIr/DslrIr.cpp
- Revision:
- 0:e977f7ad0d48
- Child:
- 1:bdc12143ced7
diff -r 000000000000 -r e977f7ad0d48 DslrIr/DslrIr.cpp --- /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