Exemple #1
0
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;
}
Exemple #2
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;
}
Exemple #3
0
/**
 * 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;
}