コード例 #1
0
ファイル: ppmout.c プロジェクト: caoqing32/deviation
MODULE_CALLTYPE
static u16 ppmout_cb()
{
    static volatile u16 accum;
    u16 val;
    if (state == 0) {
        accum = 0;
        build_data_pkt();
    }
    if(state & 0x01) {
        PWM_Set(1);
        if(state == num_channels * 2 + 1) {
            state = 0;
            return num_channels > 9
                   ? Model.proto_opts[PERIOD_PW] + (num_channels - 9) * 2000 - accum
                   : Model.proto_opts[PERIOD_PW] - accum;
        }
        val = pulses[state / 2];
    } else {
        PWM_Set(0);
        val = Model.proto_opts[NOTCH_PW];
    }
    state++;
    accum += val;
    return val;
}
コード例 #2
0
ファイル: usbhid.c プロジェクト: caoqing32/deviation
MODULE_CALLTYPE
static u16 usbhid_cb()
{
    if(PrevXferComplete) {
        build_data_pkt();
        
        HID_Write(packet, USBHID_MAX_CHANNELS);
    }
    return 50000;
}
コード例 #3
0
ファイル: ppmout.c プロジェクト: silpstream/deviation
MODULE_CALLTYPE
static u16 ppmout_cb()
{
    build_data_pkt();
    PPM_Enable(Model.proto_opts[NOTCH_PW], pulses);
#ifdef EMULATOR
    return 3000;
#else
    return Model.proto_opts[PERIOD_PW];
#endif
}