Library for interfacing with Nikon DSLR through IR LED

Dependencies:   mbed

DslrIr/DslrIr.cpp

Committer:
danbudanov
Date:
2019-04-26
Revision:
0:e977f7ad0d48
Child:
1:bdc12143ced7

File content as of revision 0:e977f7ad0d48:

#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;
}