Robert Sochuliak
/
Vytah
test
Diff: FreeFall.h
- Revision:
- 0:e541909ea6b0
- Child:
- 1:a7bdc6b05f96
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/FreeFall.h Thu Jan 24 06:35:38 2019 +0000 @@ -0,0 +1,38 @@ +/** @file FreeFall.h + * @author Robert Sochuliak + * @date 12 dec 2017 + */ + +#include <I2C.h> +#include "MMA8451Q.h" + +#define MMA8451_I2C_ADDRESS (0x1d<<1) // Adresa pre nastavenie akcelerometra + +PinName const SDA = PTE25; // Konektor pre komunikáciu pomocou I2C +PinName const SCL = PTE24; // Konektor pre komunikáciu pomocou I2C + +/** + * @brief Inicializácia akcelerometra na doske, nastanievie na voľný pád. + * Frekvencia akcelerometra je nastavená na 400Hz. + * Na konci inicializácie sa nastaví preruženie, ktoré bude vyvolaná v prípade voľného pádu. + * Nastavenie je vykonané presne podľa inštrukcií v priloženom odkaze. + * @see: https://www.nxp.com/docs/en/application-note/AN4070.pdf?&fasp=1&WT_TYPE=Applicatio + */ +void init_freeFall(); + +/** + * @brief Funkcia, ktorú vyvolá prerušenie indikujúce voľný pád + * Funkcia pošle výťahu príkaz na okamžité zastavenie, otvorí kabínu a vzpíše na konzolu varovný výpis. + * Indikačná dióda na doske začne svietiť na červeno. + */ +void freeFall(); + +/** + * @brief Funkcia ziťuje, či nastal voľný pád + * + * @return true - Nastal voľný pád. + * @return false - Všetko funguje ako má. + */ +bool freeFall_status(); + +void ledBlick(); \ No newline at end of file