![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Library for interfacing with Nikon DSLR through IR LED
DslrIr/DslrIr.cpp@0:e977f7ad0d48, 2019-04-26 (annotated)
- Committer:
- danbudanov
- Date:
- Fri Apr 26 00:18:24 2019 +0000
- Revision:
- 0:e977f7ad0d48
- Child:
- 1:bdc12143ced7
controlling nikon DSLR via remote using a class
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
danbudanov | 0:e977f7ad0d48 | 1 | #include "DslrIr.h" |
danbudanov | 0:e977f7ad0d48 | 2 | |
danbudanov | 0:e977f7ad0d48 | 3 | DslrIr::DslrIr(PinName pin) : _pin(pin) |
danbudanov | 0:e977f7ad0d48 | 4 | { |
danbudanov | 0:e977f7ad0d48 | 5 | _pin.period_us(PWM_PERIOD); // set PWM period for Carrier Frequency of 38.4 KHz |
danbudanov | 0:e977f7ad0d48 | 6 | _pin = 0; |
danbudanov | 0:e977f7ad0d48 | 7 | } |
danbudanov | 0:e977f7ad0d48 | 8 | |
danbudanov | 0:e977f7ad0d48 | 9 | |
danbudanov | 0:e977f7ad0d48 | 10 | |
danbudanov | 0:e977f7ad0d48 | 11 | |
danbudanov | 0:e977f7ad0d48 | 12 | void DslrIr::trigger() |
danbudanov | 0:e977f7ad0d48 | 13 | { |
danbudanov | 0:e977f7ad0d48 | 14 | _pin = ACTIVE_DUTY_CYCLE; |
danbudanov | 0:e977f7ad0d48 | 15 | wait_us(SEQ_ON_1_PERIOD); |
danbudanov | 0:e977f7ad0d48 | 16 | _pin = 0; |
danbudanov | 0:e977f7ad0d48 | 17 | wait_us(SEQ_OFF_1_PERIOD); |
danbudanov | 0:e977f7ad0d48 | 18 | _pin = ACTIVE_DUTY_CYCLE; |
danbudanov | 0:e977f7ad0d48 | 19 | wait_us(SEQ_ON_2_PERIOD); |
danbudanov | 0:e977f7ad0d48 | 20 | _pin = 0; |
danbudanov | 0:e977f7ad0d48 | 21 | wait_us(SEQ_OFF_2_PERIOD); |
danbudanov | 0:e977f7ad0d48 | 22 | _pin = ACTIVE_DUTY_CYCLE; |
danbudanov | 0:e977f7ad0d48 | 23 | wait_us(SEQ_ON_3_PERIOD); |
danbudanov | 0:e977f7ad0d48 | 24 | _pin = 0; |
danbudanov | 0:e977f7ad0d48 | 25 | wait_us(SEQ_OFF_3_PERIOD); |
danbudanov | 0:e977f7ad0d48 | 26 | _pin = ACTIVE_DUTY_CYCLE; |
danbudanov | 0:e977f7ad0d48 | 27 | wait_us(SEQ_ON_4_PERIOD); |
danbudanov | 0:e977f7ad0d48 | 28 | _pin = 0; |
danbudanov | 0:e977f7ad0d48 | 29 | wait_us(SEQ_OFF_4_PERIOD); // Repeat after 63.2 us |
danbudanov | 0:e977f7ad0d48 | 30 | _pin = ACTIVE_DUTY_CYCLE; |
danbudanov | 0:e977f7ad0d48 | 31 | _pin = ACTIVE_DUTY_CYCLE; |
danbudanov | 0:e977f7ad0d48 | 32 | wait_us(SEQ_ON_1_PERIOD); |
danbudanov | 0:e977f7ad0d48 | 33 | _pin = 0; |
danbudanov | 0:e977f7ad0d48 | 34 | wait_us(SEQ_OFF_1_PERIOD); |
danbudanov | 0:e977f7ad0d48 | 35 | _pin = ACTIVE_DUTY_CYCLE; |
danbudanov | 0:e977f7ad0d48 | 36 | wait_us(SEQ_ON_2_PERIOD); |
danbudanov | 0:e977f7ad0d48 | 37 | _pin = 0; |
danbudanov | 0:e977f7ad0d48 | 38 | wait_us(SEQ_OFF_2_PERIOD); |
danbudanov | 0:e977f7ad0d48 | 39 | _pin = ACTIVE_DUTY_CYCLE; |
danbudanov | 0:e977f7ad0d48 | 40 | wait_us(SEQ_ON_3_PERIOD); |
danbudanov | 0:e977f7ad0d48 | 41 | _pin = 0; |
danbudanov | 0:e977f7ad0d48 | 42 | wait_us(SEQ_OFF_3_PERIOD); |
danbudanov | 0:e977f7ad0d48 | 43 | _pin = ACTIVE_DUTY_CYCLE; |
danbudanov | 0:e977f7ad0d48 | 44 | wait_us(SEQ_ON_4_PERIOD); |
danbudanov | 0:e977f7ad0d48 | 45 | _pin = 0; |
danbudanov | 0:e977f7ad0d48 | 46 | } |