diff --git a/flight/modules/Airspeed/airspeedalarm.c b/flight/modules/Airspeed/airspeedalarm.c new file mode 100644 index 000000000..f490adc3a --- /dev/null +++ b/flight/modules/Airspeed/airspeedalarm.c @@ -0,0 +1,68 @@ +/** + ****************************************************************************** + * @addtogroup OpenPilotModules OpenPilot Modules + * @{ + * @addtogroup AirspeedModule Airspeed Module + * @brief Handle locally airspeed alarms issue changes to PIOS only when necessary + * @{ + * + * @file airspeedalarm.c + * @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2014. + * @brief Airspeed module + * + * @see The GNU Public License (GPL) Version 3 + * + *****************************************************************************/ +/* + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +/** + * Output object: none + * + * Handle locally airspeed alarms issue changes to PIOS only when necessary + * + */ + +#include "airspeedalarm.h" + +// local variable + +static SystemAlarmsAlarmOptions severitySet = SYSTEMALARMS_ALARM_UNINITIALISED; + +// functions + +/** + * Handle airspeed alarms and isuue an Alarm to PIOS only if necessary + */ +bool AirspeedAlarm(SystemAlarmsAlarmOptions severity) +{ + if( severity == severitySet ){ + return false; + } + + severitySet = severity; + + return ( AlarmsSet(SYSTEMALARMS_ALARM_AIRSPEED, severity) == 0); +} + + + + + +/** + * @} + * @} + */ diff --git a/flight/modules/Airspeed/inc/airspeedalarm.h b/flight/modules/Airspeed/inc/airspeedalarm.h new file mode 100644 index 000000000..0a5d6c25f --- /dev/null +++ b/flight/modules/Airspeed/inc/airspeedalarm.h @@ -0,0 +1,45 @@ +/** + ****************************************************************************** + * @addtogroup OpenPilotModules OpenPilot Modules + * @{ + * @addtogroup AirspeedModule Airspeed Module + * @brief Handle locally airspeed alarms issue changes to PIOS only when necessary + * @{ + * + * @file airspeedalarm.h + * @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2014. + * @brief Airspeed module, reads temperature and pressure from MS4525DO + * + * @see The GNU Public License (GPL) Version 3 + * + *****************************************************************************/ +/* + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#ifndef AIRSPEEDALARM_H +#define AIRSPEEDALARM_H + +#include +#include "alarms.h" + + +bool AirspeedAlarm(SystemAlarmsAlarmOptions severity); + +#endif // AIRSPEEDALARM_H + +/** + * @} + * @} + */