Ejemplo n.º 1
0
static void initialize(u8 bind)
{
  CLOCK_StopTimer();

  if (bind) {
      switch (Model.proto_opts[PROTO_OPTS_FORMAT]) {
      case FORMAT_V1:
        PROTOCOL_SetBindState(5000);
        bind_counter = 1400;    // Stay in bind mode for 5s
        break;
      case FORMAT_V2:
        PROTOCOL_SetBindState(5000);
        bind_counter = 187;     // Stay in bind mode for 5s
        break;
      case FORMAT_FDV3:
        PROTOCOL_SetBindState(10000);
        bind_counter = 2000;    // Stay in bind mode for 10s
        break;
      }
  } else {
      bind_counter = 0;
  }
  state = 400;            // Used by V2 to send RF channels + ID for 2.65s at startup
  hopping_frequency_no = 0;
  fdv3_id_send = 0;

  CORONA_init();
  CORONA_rf_init();

  CLOCK_StartTimer(10, corona_cb);
}
Ejemplo n.º 2
0
static void initialize()
{
    CLOCK_StopTimer();
    num_channels = Model.num_channels;
    PrevXferComplete = 1;
    USB_Enable(1, 1);
    CLOCK_StartTimer(1000, usbhid_cb);
}
Ejemplo n.º 3
0
static void initialize()
{
    CLOCK_StopTimer();
    tx_power = Model.tx_power;
    DM002_initialize_txid();
    DM002_init();
    packet_count = 0;
    hopping_frequency_no = 0;
    bind_counter = DM002_BIND_COUNT;
    phase = BIND;
    CLOCK_StartTimer(DM002_INITIAL_WAIT, dm002_callback);
}
Ejemplo n.º 4
0
static void initialize(int bind)
{
    CLOCK_StopTimer();
    frsky_init();
    seed = 1;
    fixed_id = 0x1257;
    if (bind) {
        PROTOCOL_SetBindState(0xFFFFFFFF);
        state = FRSKY_BIND;
    } else {
        state = FRSKY_DATA1;
    }
    CLOCK_StartTimer(10000, frsky_cb);
}
Ejemplo n.º 5
0
static void initialize()
{
    CLOCK_StopTimer();
    tx_power = Model.tx_power;
    phase = initialize_rx_tx_addr();
    telemetry_setup_state = CFLIE_TELEM_SETUP_STATE_INIT;
    packet_counter = 0;

    int delay = cflie_init();

    dbgprintf("cflie init\n");
    if (phase == CFLIE_INIT_SEARCH) {
        PROTOCOL_SetBindState(0xFFFFFFFF);
    }
    CLOCK_StartTimer(delay, cflie_callback);
}
Ejemplo n.º 6
0
static void initialize()
{
    CLOCK_StopTimer();
    if (PPMin_Mode())
        return;

    PWM_Initialize();
    num_channels = Model.num_channels;
    if (Model.proto_opts[CENTER_PW] == 0) {
        Model.proto_opts[CENTER_PW] = 1100;
        Model.proto_opts[DELTA_PW] = 400;
        Model.proto_opts[NOTCH_PW] = 400;
        Model.proto_opts[PERIOD_PW] = 22500;
    }
    
    CLOCK_StartTimer(1000, ppmout_cb);
}
Ejemplo n.º 7
0
void initASSAN(u8 bind)
{
    CLOCK_StopTimer();
    initialize_txid();
    init();
    tx_power = Model.tx_power;
    hopping_frequency_no = 0;

    if(bind) {
        state=BIND0;
        PROTOCOL_SetBindState(0xffffffff);
    }
    else {
        state=DATA0;
        PROTOCOL_SetBindState(0);
    }
    CLOCK_StartTimer(50000, ASSAN_callback);
}
Ejemplo n.º 8
0
void PROTO_Stubs(int idx)
{
    if (! idx)
        return;
    CLOCK_StartTimer();
  
    spi_disable();
    spi_set_bidirectional_receive_only_mode();
    spi_read();
    spi_set_unidirectional_mode();

    TELEMETRY_SetUpdated();
    TELEMETRY_SetType();
    UART_Stop();
    rcc_peripheral_disable_clock();
    _usleep();
    MCU_SerialNumber();
    USB_Disable();
    PROTO_CS_HI();
    PROTO_CS_LO();
    MUSIC_Beep();
    rand32();
}