int32_t BatteryInitialize(void) { FlightBatteryStateInitialize(); FlightBatterySettingsInitialize(); static UAVObjEvent ev; memset(&ev,0,sizeof(UAVObjEvent)); EventPeriodicCallbackCreate(&ev, onTimer, SAMPLE_PERIOD_MS / portTICK_RATE_MS); return 0; }
/** * Initialise the module, called on startup * \returns 0 on success or -1 if initialisation failed */ int32_t BatteryInitialize(void) { #ifdef MODULE_BATTERY_BUILTIN batteryEnabled = true; #else uint8_t optionalModules[HWSETTINGS_OPTIONALMODULES_NUMELEM]; HwSettingsOptionalModulesGet(optionalModules); if ((optionalModules[HWSETTINGS_OPTIONALMODULES_BATTERY] == HWSETTINGS_OPTIONALMODULES_ENABLED)) batteryEnabled = true; else batteryEnabled = false; #endif uint8_t adcRouting[HWSETTINGS_ADCROUTING_NUMELEM]; HwSettingsADCRoutingGet(adcRouting); //Determine if the battery sensors are routed to ADC pins for (int i=0; i < HWSETTINGS_ADCROUTING_NUMELEM; i++) { if (adcRouting[i] == HWSETTINGS_ADCROUTING_BATTERYVOLTAGE) { voltageADCPin = i; } if (adcRouting[i] == HWSETTINGS_ADCROUTING_BATTERYCURRENT) { currentADCPin = i; } } //Don't enable module if no ADC pins are routed to the sensors if (voltageADCPin <0 && currentADCPin <0) batteryEnabled = false; //Start module if (batteryEnabled) { FlightBatteryStateInitialize(); FlightBatterySettingsInitialize(); static UAVObjEvent ev; memset(&ev,0,sizeof(UAVObjEvent)); EventPeriodicCallbackCreate(&ev, onTimer, SAMPLE_PERIOD_MS / portTICK_RATE_MS); } return 0; }
/** * Initialize the module * \return -1 if initialization failed * \return 0 on success */ static int32_t uavoTaranisInitialize(void) { uint32_t sport_com = PIOS_COM_FRSKY_SPORT; if (sport_com) { frsky = PIOS_malloc(sizeof(struct frsky_sport_telemetry)); if (frsky != NULL) { memset(frsky, 0x00, sizeof(struct frsky_sport_telemetry)); // These objects are registered on the TLM so it // can intercept them from the telemetry stream FlightBatteryStateInitialize(); FlightStatusInitialize(); PositionActualInitialize(); VelocityActualInitialize(); frsky->frsky_settings.use_current_sensor = false; frsky->frsky_settings.batt_cell_count = 0; frsky->frsky_settings.use_baro_sensor = false; frsky->state = FRSKY_STATE_WAIT_POLL_REQUEST; frsky->last_poll_time = PIOS_DELAY_GetuS(); frsky->ignore_rx_chars = 0; frsky->scheduled_item = -1; frsky->com = sport_com; uint8_t i; for (i = 0; i < NELEMENTS(frsky_value_items); i++) frsky->item_last_triggered[i] = PIOS_DELAY_GetuS(); PIOS_COM_ChangeBaud(frsky->com, FRSKY_SPORT_BAUDRATE); module_enabled = true; return 0; } module_enabled = true; return 0; } module_enabled = false; return -1; }
/** * Initialise the module, called on startup * \returns 0 on success or -1 if initialisation failed */ int32_t BatteryInitialize(void) { #ifdef MODULE_Battery_BUILTIN module_enabled = true; #else uint8_t module_state[MODULESETTINGS_ADMINSTATE_NUMELEM]; ModuleSettingsAdminStateGet(module_state); if (module_state[MODULESETTINGS_ADMINSTATE_BATTERY] == MODULESETTINGS_ADMINSTATE_ENABLED) { module_enabled = true; } else { module_enabled = false; return 0; } #endif FlightBatterySettingsInitialize(); FlightBatteryStateInitialize(); return 0; }
/** * Function used to initialize the first instance of each object. * This file is automatically updated by the UAVObjectGenerator. */ void UAVObjectsInitializeAll() { ActuatorCommandInitialize(); ActuatorDesiredInitialize(); ActuatorSettingsInitialize(); AHRSCalibrationInitialize(); AHRSSettingsInitialize(); AhrsStatusInitialize(); AttitudeActualInitialize(); AttitudeDesiredInitialize(); AttitudeRawInitialize(); AttitudeSettingsInitialize(); BaroAltitudeInitialize(); ExampleObject1Initialize(); ExampleObject2Initialize(); ExampleSettingsInitialize(); FlightBatteryStateInitialize(); FlightTelemetryStatsInitialize(); GCSTelemetryStatsInitialize(); GPSPositionInitialize(); GPSSatellitesInitialize(); GPSTimeInitialize(); HomeLocationInitialize(); ManualControlCommandInitialize(); ManualControlSettingsInitialize(); MixerSettingsInitialize(); MixerStatusInitialize(); ObjectPersistenceInitialize(); PositionActualInitialize(); StabilizationSettingsInitialize(); SystemAlarmsInitialize(); SystemSettingsInitialize(); SystemStatsInitialize(); TelemetrySettingsInitialize(); VTOLSettingsInitialize(); VTOLStatusInitialize(); }