Librairie contenant les fonctions nécessaires pour pouvoir contrôler les différents composants de la carte d'extension MyLab
Dependencies: MMA7660FC LCD_lib
Diff: MyLab_Lib.h
- Revision:
- 1:4659469cc20d
- Child:
- 4:f0cbc6c47b11
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/MyLab_Lib.h Tue Mar 29 18:28:42 2016 +0000 @@ -0,0 +1,77 @@ +/* + * MyLab.h + * + * + * Author: Favre Lucas + */ + +#ifndef MYLAB_LIB_MYLAB_H_ +#define MYLAB_LIB_MYLAB_H_ +#include "MMA7660FC.h" +#include "C12832.h" +#include "mbed.h" + +#define NUMDAT 10000 +#define DLY 250 + +#define ADDR_MMA7670FC (0x4C << 1) // Addresse esclave de l'accéléromètre MMA7660FC + +extern MMA7660FC Acc; +extern Serial ser; +extern C123832 lcd; +extern MyLab periph; +extern BusOut leds; + +class MyLab { +public: + MyLab(PinName Joy_n,PinName Joy_c,PinName Joy_s,PinName Joy_e,PinName Joy_w,PinName mic,PinName speaker,PinName capt_r,PinName capt_g,PinName capt_b); + void JoyStick_Position(char pos[]); + short * Sound_Record(short * dat); + void Sound_Play(short * buffer); + void PlayNote(float frequency, float duration, float volume); + float Luminosity_Mesure(); + float Acc_X_Mesure(); + float Acc_Y_Mesure(); + float Acc_Z_Mesure(); + float val_lumi; + float val_x; + float val_y; + float val_z; + +private: + // Définitions des objets utiles pour la carte MyLab + BusIn _joystick; + AnalogIn _micro; + AnalogOut _speaker; + AnalogIn _r; + AnalogIn _g; + AnalogIn _b; + + + //Timer utilise pour l'echantillonage lors d'une interruption + Ticker Sample_Period; + + //Variable utile pour l'interruptione et la fonction PlayNote + volatile int s; + short unsigned Analog_out_data[32]; + short unsigned Analog_scaled_data[32]; + + //Variable utile pour les données accéléromètre et luminosité + float r,g,b; + int result; + float micCB; + + + // Routine d'interruption + // pour l'écriture analogique sur la sortie audio lors de la + // lecture d'un enregistrement + + void Sample_timer_interrupt(void) { + _speaker.write_u16(Analog_scaled_data[s]); + s = (s+1) & 0x01F; + } +}; + + + +#endif /* MYLAB_LIB_MYLAB_H_ */