Robert Sochuliak
/
Vytah
test
FreeFall.h@0:e541909ea6b0, 2019-01-24 (annotated)
- Committer:
- hodgins
- Date:
- Thu Jan 24 06:35:38 2019 +0000
- Revision:
- 0:e541909ea6b0
- Child:
- 1:a7bdc6b05f96
test
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
hodgins | 0:e541909ea6b0 | 1 | /** @file FreeFall.h |
hodgins | 0:e541909ea6b0 | 2 | * @author Robert Sochuliak |
hodgins | 0:e541909ea6b0 | 3 | * @date 12 dec 2017 |
hodgins | 0:e541909ea6b0 | 4 | */ |
hodgins | 0:e541909ea6b0 | 5 | |
hodgins | 0:e541909ea6b0 | 6 | #include <I2C.h> |
hodgins | 0:e541909ea6b0 | 7 | #include "MMA8451Q.h" |
hodgins | 0:e541909ea6b0 | 8 | |
hodgins | 0:e541909ea6b0 | 9 | #define MMA8451_I2C_ADDRESS (0x1d<<1) // Adresa pre nastavenie akcelerometra |
hodgins | 0:e541909ea6b0 | 10 | |
hodgins | 0:e541909ea6b0 | 11 | PinName const SDA = PTE25; // Konektor pre komunikáciu pomocou I2C |
hodgins | 0:e541909ea6b0 | 12 | PinName const SCL = PTE24; // Konektor pre komunikáciu pomocou I2C |
hodgins | 0:e541909ea6b0 | 13 | |
hodgins | 0:e541909ea6b0 | 14 | /** |
hodgins | 0:e541909ea6b0 | 15 | * @brief Inicializácia akcelerometra na doske, nastanievie na voľný pád. |
hodgins | 0:e541909ea6b0 | 16 | * Frekvencia akcelerometra je nastavená na 400Hz. |
hodgins | 0:e541909ea6b0 | 17 | * Na konci inicializácie sa nastaví preruženie, ktoré bude vyvolaná v prípade voľného pádu. |
hodgins | 0:e541909ea6b0 | 18 | * Nastavenie je vykonané presne podľa inštrukcií v priloženom odkaze. |
hodgins | 0:e541909ea6b0 | 19 | * @see: https://www.nxp.com/docs/en/application-note/AN4070.pdf?&fasp=1&WT_TYPE=Applicatio |
hodgins | 0:e541909ea6b0 | 20 | */ |
hodgins | 0:e541909ea6b0 | 21 | void init_freeFall(); |
hodgins | 0:e541909ea6b0 | 22 | |
hodgins | 0:e541909ea6b0 | 23 | /** |
hodgins | 0:e541909ea6b0 | 24 | * @brief Funkcia, ktorú vyvolá prerušenie indikujúce voľný pád |
hodgins | 0:e541909ea6b0 | 25 | * Funkcia pošle výťahu príkaz na okamžité zastavenie, otvorí kabínu a vzpíše na konzolu varovný výpis. |
hodgins | 0:e541909ea6b0 | 26 | * Indikačná dióda na doske začne svietiť na červeno. |
hodgins | 0:e541909ea6b0 | 27 | */ |
hodgins | 0:e541909ea6b0 | 28 | void freeFall(); |
hodgins | 0:e541909ea6b0 | 29 | |
hodgins | 0:e541909ea6b0 | 30 | /** |
hodgins | 0:e541909ea6b0 | 31 | * @brief Funkcia ziťuje, či nastal voľný pád |
hodgins | 0:e541909ea6b0 | 32 | * |
hodgins | 0:e541909ea6b0 | 33 | * @return true - Nastal voľný pád. |
hodgins | 0:e541909ea6b0 | 34 | * @return false - Všetko funguje ako má. |
hodgins | 0:e541909ea6b0 | 35 | */ |
hodgins | 0:e541909ea6b0 | 36 | bool freeFall_status(); |
hodgins | 0:e541909ea6b0 | 37 | |
hodgins | 0:e541909ea6b0 | 38 | void ledBlick(); |