version qui corrige tous les beugs
Dependents: Projet_client_serveur EX5 ex10 ex11 ... more
IHM.h@4:a9e51ac904e2, 2016-11-08 (annotated)
- Committer:
- slowness
- Date:
- Tue Nov 08 07:22:34 2016 +0000
- Revision:
- 4:a9e51ac904e2
- Parent:
- 2:ba3449b7e070
Version sans bug
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
gr66 | 1:663cbe5baac4 | 1 | /// @file IHM.h Bibliothéque de classe pour la carte l'IHM de la carte NBoard |
gr66 | 0:cd0f9e8c609b | 2 | /// @mainpage |
gr66 | 0:cd0f9e8c609b | 3 | /// |
gr66 | 0:cd0f9e8c609b | 4 | /// |
gr66 | 0:cd0f9e8c609b | 5 | /// |
gr66 | 0:cd0f9e8c609b | 6 | /// @author Gilles Raynaud, IUT Cachan |
gr66 | 0:cd0f9e8c609b | 7 | /// |
gr66 | 0:cd0f9e8c609b | 8 | /// @note |
gr66 | 0:cd0f9e8c609b | 9 | /// History |
gr66 | 1:663cbe5baac4 | 10 | /// v2.00 05/11/2016 |
gr66 | 0:cd0f9e8c609b | 11 | #include "all_includes.h" |
gr66 | 0:cd0f9e8c609b | 12 | #define SIZE_FIFO 32 |
gr66 | 0:cd0f9e8c609b | 13 | #define MESSAGE_BUFFER_SIZE 20 |
gr66 | 0:cd0f9e8c609b | 14 | #define JOG_MSK_PUSH (1<<2) // valeur renvoyée si le Jog est enfoncé (en position de repos) |
gr66 | 0:cd0f9e8c609b | 15 | #define JOG_MSK_RIGHT (1<<4) // valeur renvoyée si le Jog est poussé vers la droite (non enfoncé). |
gr66 | 0:cd0f9e8c609b | 16 | #define JOG_MSK_UP (1<<3) // valeur renvoyée si le Jog est poussé vers le haut (non enfoncé). |
gr66 | 0:cd0f9e8c609b | 17 | #define JOG_MSK_LEFT (1<<1) // valeur renvoyée si le Jog est poussé vers la gauche (non enfoncé). |
gr66 | 0:cd0f9e8c609b | 18 | #define JOG_MSK_DOWN 1 // valeur renvoyée si le Jog est poussé vers le bas (non enfoncé). |
gr66 | 0:cd0f9e8c609b | 19 | // |
gr66 | 0:cd0f9e8c609b | 20 | /// |
gr66 | 0:cd0f9e8c609b | 21 | /// Example: |
gr66 | 0:cd0f9e8c609b | 22 | /// @code |
gr66 | 1:663cbe5baac4 | 23 | |
gr66 | 0:cd0f9e8c609b | 24 | ///#include "IHM.h" |
gr66 | 1:663cbe5baac4 | 25 | ///IHM ihm; //clase IHM |
gr66 | 1:663cbe5baac4 | 26 | ///Serial pc(SERIAL_TX, SERIAL_RX); // I/O terminal PC |
gr66 | 0:cd0f9e8c609b | 27 | ///int main() |
gr66 | 0:cd0f9e8c609b | 28 | ///{ |
gr66 | 1:663cbe5baac4 | 29 | /// unsigned char codeur=0,jog; |
gr66 | 0:cd0f9e8c609b | 30 | /// float pi=4*atan(1.0); |
gr66 | 1:663cbe5baac4 | 31 | /// pc.printf("Hello World \n"); |
gr66 | 1:663cbe5baac4 | 32 | /// ihm.LCD_clear(); |
gr66 | 0:cd0f9e8c609b | 33 | /// ihm.LCD_printf("Hello World "); |
gr66 | 0:cd0f9e8c609b | 34 | /// ihm.LCD_gotoxy(1,0); |
gr66 | 1:663cbe5baac4 | 35 | /// ihm.LCD_printf("PI= %f",pi); // test affichage float |
gr66 | 0:cd0f9e8c609b | 36 | /// ihm.BAR_set(0x3FF); |
gr66 | 0:cd0f9e8c609b | 37 | /// wait(2); |
gr66 | 0:cd0f9e8c609b | 38 | /// ihm.BAR_set(0x2AA); |
gr66 | 0:cd0f9e8c609b | 39 | /// wait(2); |
gr66 | 0:cd0f9e8c609b | 40 | /// ihm.BAR_set(0x155); |
gr66 | 0:cd0f9e8c609b | 41 | /// wait(2); |
gr66 | 0:cd0f9e8c609b | 42 | /// ihm.LCD_clear(); |
gr66 | 0:cd0f9e8c609b | 43 | /// while(1) { |
gr66 | 0:cd0f9e8c609b | 44 | /// wait(0.1); |
gr66 | 1:663cbe5baac4 | 45 | /// codeur=ihm.COD_read(); |
gr66 | 1:663cbe5baac4 | 46 | /// jog=ihm.JOG_read(); |
gr66 | 1:663cbe5baac4 | 47 | /// ihm.BAR_set((UINT16)(codeur)); |
gr66 | 0:cd0f9e8c609b | 48 | /// ihm.LCD_gotoxy(0,0); |
gr66 | 1:663cbe5baac4 | 49 | /// ihm.LCD_printf("Jog=%02d",jog); |
gr66 | 0:cd0f9e8c609b | 50 | /// ihm.LCD_gotoxy(1,0); |
gr66 | 1:663cbe5baac4 | 51 | /// ihm.LCD_printf("Cod=%03d",codeur); |
gr66 | 1:663cbe5baac4 | 52 | /// pc.printf("Jog=%02d Cod=%03d \n",jog,codeur); |
gr66 | 0:cd0f9e8c609b | 53 | /// } |
gr66 | 0:cd0f9e8c609b | 54 | ///} |
gr66 | 0:cd0f9e8c609b | 55 | /// @endcode |
gr66 | 0:cd0f9e8c609b | 56 | /// |
gr66 | 0:cd0f9e8c609b | 57 | class IHM |
gr66 | 0:cd0f9e8c609b | 58 | { |
gr66 | 0:cd0f9e8c609b | 59 | public: |
gr66 | 1:663cbe5baac4 | 60 | /// Constructeur pour l'IHM de la carte NBoard, placé à l'extérieur du main |
gr66 | 0:cd0f9e8c609b | 61 | /// Les paramètres peuvent être omis (ils ont tous une valeur par défaut) |
gr66 | 0:cd0f9e8c609b | 62 | /// |
gr66 | 0:cd0f9e8c609b | 63 | IHM(PinName CANRx=PA_11, PinName CANTx=PA_12); |
gr66 | 0:cd0f9e8c609b | 64 | /// commande des 10 leds du bargraph |
gr66 | 0:cd0f9e8c609b | 65 | /// |
gr66 | 0:cd0f9e8c609b | 66 | /// Affiche la valeur passée en argument sur le bargraph |
gr66 | 0:cd0f9e8c609b | 67 | /// @param valeur à afficher sur le bargraph |
gr66 | 0:cd0f9e8c609b | 68 | /// @returns void |
gr66 | 0:cd0f9e8c609b | 69 | /// |
gr66 | 0:cd0f9e8c609b | 70 | void BAR_set(UINT16 valeur); |
gr66 | 0:cd0f9e8c609b | 71 | /// lecteur du codeur |
gr66 | 0:cd0f9e8c609b | 72 | /// |
gr66 | 0:cd0f9e8c609b | 73 | /// Retourne la valeur du codeur (0-255) |
gr66 | 0:cd0f9e8c609b | 74 | /// @param void |
gr66 | 0:cd0f9e8c609b | 75 | /// @returns valeur du codeur |
gr66 | 0:cd0f9e8c609b | 76 | /// |
gr66 | 0:cd0f9e8c609b | 77 | UINT8 COD_read(void); |
gr66 | 0:cd0f9e8c609b | 78 | /// positionne le curseur de l'afficheur LCD |
gr66 | 0:cd0f9e8c609b | 79 | /// |
gr66 | 1:663cbe5baac4 | 80 | /// @param y : ligne (0-1) |
gr66 | 1:663cbe5baac4 | 81 | /// @param x : colonne (0-15) |
gr66 | 0:cd0f9e8c609b | 82 | /// @returns void |
gr66 | 0:cd0f9e8c609b | 83 | /// |
gr66 | 1:663cbe5baac4 | 84 | void LCD_gotoxy(UINT8 y,UINT8 x); |
gr66 | 0:cd0f9e8c609b | 85 | |
gr66 | 0:cd0f9e8c609b | 86 | /// écriture formatée sur l'afficheur LCD |
gr66 | 0:cd0f9e8c609b | 87 | /// |
gr66 | 0:cd0f9e8c609b | 88 | /// @param format... |
gr66 | 0:cd0f9e8c609b | 89 | /// @returns void |
gr66 | 0:cd0f9e8c609b | 90 | /// |
gr66 | 0:cd0f9e8c609b | 91 | void LCD_printf(const char* format, ...); |
gr66 | 0:cd0f9e8c609b | 92 | /// effacement de l'afficheur LCD |
gr66 | 0:cd0f9e8c609b | 93 | /// |
gr66 | 0:cd0f9e8c609b | 94 | /// @param void |
gr66 | 0:cd0f9e8c609b | 95 | /// @returns void |
gr66 | 0:cd0f9e8c609b | 96 | /// |
gr66 | 0:cd0f9e8c609b | 97 | void LCD_clear(void); |
gr66 | 0:cd0f9e8c609b | 98 | /// lecture du JOG |
gr66 | 0:cd0f9e8c609b | 99 | /// retourne la position (8 possibilités) et l'enfoncement du Jog |
gr66 | 0:cd0f9e8c609b | 100 | /// @param void |
gr66 | 1:663cbe5baac4 | 101 | /// @returns valeur JOG |
gr66 | 0:cd0f9e8c609b | 102 | /// |
gr66 | 0:cd0f9e8c609b | 103 | UINT8 JOG_read(void); |
gr66 | 0:cd0f9e8c609b | 104 | private: |
gr66 | 0:cd0f9e8c609b | 105 | int COD_valeur; |
gr66 | 0:cd0f9e8c609b | 106 | unsigned char JOG_valeur,mise_a_jour_JOG,mise_a_jour_COD; |
gr66 | 0:cd0f9e8c609b | 107 | unsigned char FIFO_ecriture; |
gr66 | 0:cd0f9e8c609b | 108 | // CANMessage can_MsgRx[SIZE_FIFO]; |
gr66 | 0:cd0f9e8c609b | 109 | UINT8 curseur; |
gr66 | 0:cd0f9e8c609b | 110 | UINT8 IHM_is_running; |
gr66 | 0:cd0f9e8c609b | 111 | CANMessage can_MsgRx[SIZE_FIFO], can_MsgTx; |
gr66 | 0:cd0f9e8c609b | 112 | //extern unsigned char Reception_CAN; |
gr66 | 0:cd0f9e8c609b | 113 | CANMessage trame_Tx; |
slowness | 4:a9e51ac904e2 | 114 | char tableau_ecran[65],tableau_temporaire[200]; |
gr66 | 0:cd0f9e8c609b | 115 | CAN can; |
gr66 | 0:cd0f9e8c609b | 116 | void can_ISR_Reader(void); |
gr66 | 0:cd0f9e8c609b | 117 | void CAN_automate_reception(void); |
gr66 | 0:cd0f9e8c609b | 118 | }; |