Librairie contenant les fonctions nécessaires pour pouvoir contrôler les différents composants de la carte d'extension MyLab

Dependencies:   MMA7660FC LCD_lib

Dependents:   Example_MyLab_lib

Committer:
lucas_favre
Date:
Tue Mar 29 18:56:36 2016 +0000
Revision:
4:f0cbc6c47b11
Parent:
1:4659469cc20d
Child:
7:48800c84346c

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
lucas_favre 1:4659469cc20d 1 /*
lucas_favre 1:4659469cc20d 2 * MyLab.h
lucas_favre 1:4659469cc20d 3 *
lucas_favre 1:4659469cc20d 4 *
lucas_favre 1:4659469cc20d 5 * Author: Favre Lucas
lucas_favre 1:4659469cc20d 6 */
lucas_favre 1:4659469cc20d 7
lucas_favre 1:4659469cc20d 8 #ifndef MYLAB_LIB_MYLAB_H_
lucas_favre 1:4659469cc20d 9 #define MYLAB_LIB_MYLAB_H_
lucas_favre 1:4659469cc20d 10 #include "MMA7660FC.h"
lucas_favre 1:4659469cc20d 11 #include "C12832.h"
lucas_favre 4:f0cbc6c47b11 12
lucas_favre 1:4659469cc20d 13 #include "mbed.h"
lucas_favre 1:4659469cc20d 14
lucas_favre 1:4659469cc20d 15 #define NUMDAT 10000
lucas_favre 1:4659469cc20d 16 #define DLY 250
lucas_favre 1:4659469cc20d 17
lucas_favre 4:f0cbc6c47b11 18 #define ADDR_MMA7660 (0x4C << 1) // Addresse esclave de l'accéléromètre MMA7660FC
lucas_favre 1:4659469cc20d 19
lucas_favre 1:4659469cc20d 20 extern MMA7660FC Acc;
lucas_favre 1:4659469cc20d 21 extern Serial ser;
lucas_favre 4:f0cbc6c47b11 22 extern C12832 lcd;
lucas_favre 4:f0cbc6c47b11 23
lucas_favre 1:4659469cc20d 24 extern BusOut leds;
lucas_favre 1:4659469cc20d 25
lucas_favre 4:f0cbc6c47b11 26
lucas_favre 1:4659469cc20d 27 class MyLab {
lucas_favre 1:4659469cc20d 28 public:
lucas_favre 1:4659469cc20d 29 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);
lucas_favre 1:4659469cc20d 30 void JoyStick_Position(char pos[]);
lucas_favre 1:4659469cc20d 31 short * Sound_Record(short * dat);
lucas_favre 1:4659469cc20d 32 void Sound_Play(short * buffer);
lucas_favre 1:4659469cc20d 33 void PlayNote(float frequency, float duration, float volume);
lucas_favre 1:4659469cc20d 34 float Luminosity_Mesure();
lucas_favre 1:4659469cc20d 35 float Acc_X_Mesure();
lucas_favre 1:4659469cc20d 36 float Acc_Y_Mesure();
lucas_favre 1:4659469cc20d 37 float Acc_Z_Mesure();
lucas_favre 1:4659469cc20d 38 float val_lumi;
lucas_favre 1:4659469cc20d 39 float val_x;
lucas_favre 1:4659469cc20d 40 float val_y;
lucas_favre 1:4659469cc20d 41 float val_z;
lucas_favre 1:4659469cc20d 42
lucas_favre 1:4659469cc20d 43 private:
lucas_favre 1:4659469cc20d 44 // Définitions des objets utiles pour la carte MyLab
lucas_favre 1:4659469cc20d 45 BusIn _joystick;
lucas_favre 1:4659469cc20d 46 AnalogIn _micro;
lucas_favre 1:4659469cc20d 47 AnalogOut _speaker;
lucas_favre 1:4659469cc20d 48 AnalogIn _r;
lucas_favre 1:4659469cc20d 49 AnalogIn _g;
lucas_favre 1:4659469cc20d 50 AnalogIn _b;
lucas_favre 1:4659469cc20d 51
lucas_favre 1:4659469cc20d 52
lucas_favre 1:4659469cc20d 53 //Timer utilise pour l'echantillonage lors d'une interruption
lucas_favre 1:4659469cc20d 54 Ticker Sample_Period;
lucas_favre 1:4659469cc20d 55
lucas_favre 1:4659469cc20d 56 //Variable utile pour l'interruptione et la fonction PlayNote
lucas_favre 1:4659469cc20d 57 volatile int s;
lucas_favre 1:4659469cc20d 58 short unsigned Analog_out_data[32];
lucas_favre 1:4659469cc20d 59 short unsigned Analog_scaled_data[32];
lucas_favre 1:4659469cc20d 60
lucas_favre 1:4659469cc20d 61 //Variable utile pour les données accéléromètre et luminosité
lucas_favre 1:4659469cc20d 62 float r,g,b;
lucas_favre 1:4659469cc20d 63 int result;
lucas_favre 1:4659469cc20d 64 float micCB;
lucas_favre 1:4659469cc20d 65
lucas_favre 1:4659469cc20d 66
lucas_favre 1:4659469cc20d 67 // Routine d'interruption
lucas_favre 1:4659469cc20d 68 // pour l'écriture analogique sur la sortie audio lors de la
lucas_favre 1:4659469cc20d 69 // lecture d'un enregistrement
lucas_favre 1:4659469cc20d 70
lucas_favre 1:4659469cc20d 71 void Sample_timer_interrupt(void) {
lucas_favre 1:4659469cc20d 72 _speaker.write_u16(Analog_scaled_data[s]);
lucas_favre 1:4659469cc20d 73 s = (s+1) & 0x01F;
lucas_favre 1:4659469cc20d 74 }
lucas_favre 1:4659469cc20d 75 };
lucas_favre 1:4659469cc20d 76
lucas_favre 1:4659469cc20d 77
lucas_favre 1:4659469cc20d 78
lucas_favre 1:4659469cc20d 79 #endif /* MYLAB_LIB_MYLAB_H_ */