version qui corrige tous les beugs

Dependents:   Projet_client_serveur EX5 ex10 ex11 ... more

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers IHM.h Source File

IHM.h

Go to the documentation of this file.
00001 /// @file IHM.h Bibliothéque de classe pour la carte l'IHM de la carte NBoard
00002 /// @mainpage
00003 ///
00004 ///
00005 ///
00006 /// @author Gilles Raynaud, IUT Cachan
00007 ///
00008 /// @note
00009 /// History
00010 /// v2.00 05/11/2016
00011 #include "all_includes.h"
00012 #define SIZE_FIFO 32
00013 #define MESSAGE_BUFFER_SIZE 20
00014 #define JOG_MSK_PUSH   (1<<2)   // valeur renvoyée si le Jog est enfoncé (en position de repos)
00015 #define JOG_MSK_RIGHT  (1<<4)   // valeur renvoyée si le Jog est poussé vers la droite (non enfoncé).
00016 #define JOG_MSK_UP     (1<<3)   // valeur renvoyée si le Jog est poussé vers le haut (non enfoncé).
00017 #define JOG_MSK_LEFT   (1<<1)   // valeur renvoyée si le Jog est poussé vers la gauche (non enfoncé).
00018 #define JOG_MSK_DOWN   1        // valeur renvoyée si le Jog est poussé vers le bas (non enfoncé).
00019 //
00020 ///
00021 /// Example:
00022 /// @code
00023 
00024 ///#include "IHM.h"
00025 ///IHM ihm;  //clase IHM
00026 ///Serial pc(SERIAL_TX, SERIAL_RX);  // I/O terminal PC 
00027 ///int main()
00028 ///{
00029 ///    unsigned char codeur=0,jog;
00030 ///    float pi=4*atan(1.0);
00031 ///    pc.printf("Hello World  \n");
00032 ///    ihm.LCD_clear();
00033 ///    ihm.LCD_printf("Hello World      ");
00034 ///    ihm.LCD_gotoxy(1,0);
00035 ///    ihm.LCD_printf("PI= %f",pi);  // test affichage float
00036 ///    ihm.BAR_set(0x3FF);
00037 ///    wait(2);
00038 ///    ihm.BAR_set(0x2AA);
00039 ///    wait(2);
00040 ///    ihm.BAR_set(0x155);
00041 ///    wait(2);
00042 ///    ihm.LCD_clear();
00043 ///    while(1) {
00044 ///        wait(0.1);
00045 ///        codeur=ihm.COD_read();      
00046 ///        jog=ihm.JOG_read();
00047 ///        ihm.BAR_set((UINT16)(codeur));
00048 ///        ihm.LCD_gotoxy(0,0);
00049 ///        ihm.LCD_printf("Jog=%02d",jog);
00050 ///        ihm.LCD_gotoxy(1,0);
00051 ///        ihm.LCD_printf("Cod=%03d",codeur);
00052 ///        pc.printf("Jog=%02d  Cod=%03d \n",jog,codeur); 
00053 ///    }
00054 ///}
00055 /// @endcode
00056 ///
00057 class IHM
00058 {
00059 public:
00060     /// Constructeur pour l'IHM de la carte NBoard, placé à l'extérieur du main
00061     /// Les paramètres peuvent être omis (ils ont tous une valeur par défaut)
00062     ///
00063     IHM(PinName CANRx=PA_11, PinName CANTx=PA_12);
00064     /// commande des 10 leds du bargraph
00065     ///
00066     /// Affiche la valeur passée en argument sur le bargraph
00067     /// @param valeur à afficher sur le bargraph
00068     /// @returns void
00069     ///
00070     void BAR_set(UINT16 valeur);  
00071     /// lecteur du codeur
00072     ///
00073     /// Retourne la valeur du codeur (0-255)
00074     /// @param void
00075     /// @returns valeur du codeur
00076     ///
00077     UINT8 COD_read(void);
00078     /// positionne le curseur de l'afficheur LCD
00079     ///
00080     /// @param   y : ligne (0-1)
00081     /// @param  x : colonne (0-15)
00082     /// @returns void
00083     ///
00084     void LCD_gotoxy(UINT8 y,UINT8 x);
00085 
00086     /// écriture formatée sur l'afficheur LCD
00087     ///
00088     /// @param  format...
00089     /// @returns void
00090     ///
00091     void LCD_printf(const char* format, ...);
00092     /// effacement de l'afficheur LCD
00093     ///
00094     /// @param  void
00095     /// @returns void
00096     ///
00097     void LCD_clear(void);
00098     /// lecture du JOG
00099     /// retourne la position (8 possibilités) et l'enfoncement du Jog
00100     /// @param  void
00101     /// @returns valeur JOG
00102     ///
00103     UINT8 JOG_read(void);
00104 private:
00105     int COD_valeur;
00106     unsigned char JOG_valeur,mise_a_jour_JOG,mise_a_jour_COD;
00107     unsigned char FIFO_ecriture;
00108 //    CANMessage can_MsgRx[SIZE_FIFO];
00109     UINT8 curseur;
00110     UINT8 IHM_is_running;
00111     CANMessage can_MsgRx[SIZE_FIFO], can_MsgTx;
00112 //extern unsigned char Reception_CAN;
00113 CANMessage trame_Tx;
00114 char tableau_ecran[65],tableau_temporaire[200];
00115     CAN can;
00116     void can_ISR_Reader(void);
00117     void CAN_automate_reception(void);
00118 };