//! Initialize the transmitter control mode int32_t transmitter_control_initialize() { AccessoryDesiredInitialize(); ManualControlCommandInitialize(); FlightStatusInitialize(); StabilizationDesiredInitialize(); ReceiverActivityInitialize(); ManualControlSettingsInitialize(); // Both the gimbal and coptercontrol do not support loitering #if !defined(SMALLF1) && !defined(GIMBAL) LoiterCommandInitialize(); #endif /* For now manual instantiate extra instances of Accessory Desired. In future */ /* should be done dynamically this includes not even registering it if not used */ AccessoryDesiredCreateInstance(); AccessoryDesiredCreateInstance(); /* No pending control events */ pending_control_event = CONTROL_EVENTS_NONE; /* Initialize the RcvrActivty FSM */ lastActivityTime = PIOS_Thread_Systime(); resetRcvrActivity(&activity_fsm); // Use callback to update the settings when they change ManualControlSettingsConnectCallbackCtx(UAVObjCbSetFlag, &settings_updated); settings_updated = true; // Main task loop lastSysTime = PIOS_Thread_Systime(); return 0; }
//! Initialize the transmitter control mode int32_t transmitter_control_initialize() { /* Check the assumptions about uavobject enum's are correct */ if(!assumptions) return -1; AccessoryDesiredInitialize(); ManualControlCommandInitialize(); FlightStatusInitialize(); StabilizationDesiredInitialize(); ReceiverActivityInitialize(); ManualControlSettingsInitialize(); // Both the gimbal and coptercontrol do not support loitering #if !defined(COPTERCONTROL) && !defined(GIMBAL) LoiterCommandInitialize(); #endif /* For now manual instantiate extra instances of Accessory Desired. In future */ /* should be done dynamically this includes not even registering it if not used */ AccessoryDesiredCreateInstance(); AccessoryDesiredCreateInstance(); /* Reset the state machine for processing stick movements */ arm_state = ARM_STATE_DISARMED; /* No pending control events */ pending_control_event = CONTROL_EVENTS_NONE; /* Initialize the RcvrActivty FSM */ lastActivityTime = xTaskGetTickCount(); resetRcvrActivity(&activity_fsm); // Use callback to update the settings when they change ManualControlSettingsConnectCallback(manual_control_settings_updated); manual_control_settings_updated(NULL); // Main task loop lastSysTime = xTaskGetTickCount(); return 0; }