version qui corrige tous les beugs
Dependents: Projet_client_serveur EX5 ex10 ex11 ... more
IHM.h
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 };
Generated on Thu Jul 14 2022 22:40:30 by 1.7.2