/** * Initialise the UAVORelay module * \return -1 if initialisation failed * \return 0 on success */ int32_t UAVORelayInitialize(void) { // TODO: make selectable uavorelay_com_id = pios_com_can_id; #ifdef MODULE_UAVORelay_BUILTIN module_enabled = true; #else uint8_t module_state[MODULESETTINGS_ADMINSTATE_NUMELEM]; ModuleSettingsAdminStateGet(module_state); if (module_state[MODULESETTINGS_ADMINSTATE_UAVORELAY] == MODULESETTINGS_ADMINSTATE_ENABLED) { module_enabled = true; } else { module_enabled = false; } #endif if (!uavorelay_com_id) module_enabled = false; if (!module_enabled) return -1; // Create object queues queue = PIOS_Queue_Create(MAX_QUEUE_SIZE, sizeof(UAVObjEvent)); // Initialise UAVTalk uavTalkCon = UAVTalkInitialize(&send_data); CameraDesiredInitialize(); return 0; }
/** * Initialise the UAVORelay module * \return -1 if initialisation failed * \return 0 on success */ int32_t GimbalControlInitialize(void) { #ifdef MODULE_GimbalControl_BUILTIN module_enabled = true; #else module_enabled = false; #endif if (!module_enabled) return -1; // Create object queues queue = PIOS_CAN_RegisterMessageQueue(pios_can_id, PIOS_CAN_GIMBAL); BrushlessGimbalSettingsInitialize(); CameraDesiredInitialize(); return 0; }