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:28:42 2016 +0000
Revision:
1:4659469cc20d
Child:
4:f0cbc6c47b11
Ajout de la librairie pour ?cran 128x32;

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