version qui corrige tous les beugs

Dependents:   Projet_client_serveur EX5 ex10 ex11 ... more

Revision:
2:ba3449b7e070
Parent:
1:663cbe5baac4
Child:
4:a9e51ac904e2
--- a/IHM.cpp	Sat Nov 05 17:19:59 2016 +0000
+++ b/IHM.cpp	Tue Nov 08 02:05:57 2016 +0000
@@ -5,7 +5,6 @@
 #define CAN_REMOTE CANType(2)
 //
 
-
 IHM::IHM(PinName CANRx, PinName CANTx): can(CANRx,CANTx)
 {
     can.frequency(1000000);                                               /*Baud rate : kbits/s */
@@ -13,10 +12,26 @@
 }
 void IHM::LCD_printf(const char* format, ...)
 {
+    unsigned char i,j;
     va_list arg;
     va_start(arg,format);
-    IHM_vprintf(format,arg);
+    vsprintf(tableau_ecran+curseur,format,arg);
+     //   IHM_vprintf(format,arg);
     va_end(arg);
+    for(i=0; i<32;i++)
+    {
+        if(tableau_ecran[i]==0)
+            tableau_ecran[i]=20;
+    }
+    for(j=0; j<4; j++) {
+        trame_Tx.id=LCD_CHAR0+j;
+        trame_Tx.type=CANData;
+        trame_Tx.len=8;
+        for(i=0; i<8; i++)
+            trame_Tx.data[i]=tableau_ecran[i+j*8];
+        while(!can.write(trame_Tx));
+        wait_us(150);
+    }    
 }
 unsigned char JOG_valeur,mise_a_jour_JOG=0,mise_a_jour_COD=0;
 void IHM::can_ISR_Reader(void)
@@ -96,99 +111,7 @@
 }
 
 
-/****************************************************************************************/
-/* FUNCTION NAME: IHM_sendchar                                                          */
-/* DESCRIPTION  : Envoie un caractere à afficher au controleur de l'afficheur LCD       */
-/* RETURN       : VOID                                                                  */
-/* PARAMETER  1 : char data : caractère à afficher                                      */
-/****************************************************************************************/
-void IHM::IHM_sendchar (char data)
-{
-    tableau_ecran[curseur]=data;
-    curseur=(curseur+1)%32;
-}
 
-
-/****************************************************************************************/
-/* FUNCTION NAME: IHM_printf                                                            */
-/* DESCRIPTION  : Affichage formaté de type "printf" sur un afficheur LCD              */
-/* RETURN       : VOID                                                                  */
-/* PARAMETER  1 : char* format  : format d'affichage de printf                          */
-/* PARAMETER  2 : ...           : parametres à afficher                                 */
-/* Attention : le nouvel affichage doit recouvrir le précédent.                         */
-/*********************** NOTE concernant la commande IHM_printf *************************/
-/*  Les appels melangés à printf, LCD_printf et IHM_printf peuvent donner des resutlats */
-/*                                  imprevisibles                                       */
-/*                                                                                      */
-/*                 L'IHM doit etre initialise par la fonction IHM_init                  */
-/****************************************************************************************/
-void IHM::IHM_printf(const char* format, ...)
-{
-    //oldcurseur=curseur;
-    unsigned char i,j;
-    va_list args;
-    //sprintf(
-    //set_printf(IHM_sendchar); /* Placement des datas dans le tableau */
-    //vputc(IHM_sendchar);
-    va_start(args, format);
-    vsprintf(tableau_ecran+curseur,format, args);
-    va_end(args);
-    // envoi sur le bus can du tableau complet de l'ecran
-    for(j=0; j<4; j++) {
-        trame_Tx.id=LCD_CHAR0+j;
-        trame_Tx.type=CANData;
-        trame_Tx.len=8;
-        for(i=0; i<8; i++)
-            trame_Tx.data[i]=tableau_ecran[i+j*8];
-        while(!can.write(trame_Tx));
-        wait_us(150);
-    }
-}
-
-//********
-void IHM::IHM_vprintf(const char* format, va_list args)
-{
-    //oldcurseur=curseur;
-    unsigned char i,j;
-    ////va_list args;
-    //sprintf(
-    //set_printf(IHM_sendchar); /* Placement des datas dans le tableau */
-    //vputc(IHM_sendchar);
-    ////va_start(args, format);
-    vsprintf(tableau_ecran+curseur,format, args);
-    ////va_end(args);
-    // envoi sur le bus can du tableau complet de l'ecran
-    for(j=0; j<4; j++) {
-        trame_Tx.id=LCD_CHAR0+j;
-        trame_Tx.type=CANData;
-        trame_Tx.len=8;
-        for(i=0; i<8; i++)
-            trame_Tx.data[i]=tableau_ecran[i+j*8];
-        while(!can.write(trame_Tx));
-        wait_us(150);
-    }
-}
-/****************************************************************************************/
-/* FUNCTION NAME: IHM_sendstring                                                        */
-/* DESCRIPTION  : Affiche une chaine sur l'IHM                                          */
-/* RETURN       : VOID                                                                  */
-/* PARAMETER  1 : char* message : chaine de caractere a afficher                        */
-/****************************************************************************************/
-void IHM::IHM_sendstring (char* message)
-{
-    unsigned char i,j;
-    sprintf(tableau_ecran+curseur,message);
-
-    for(j=0; j<4; j++) {
-        trame_Tx.id=LCD_CHAR0+j;
-        trame_Tx.type=CANData;
-        trame_Tx.len=8;
-        for(i=0; i<8; i++)
-            trame_Tx.data[i]=tableau_ecran[i+j*8];
-        while(!can.write(trame_Tx));
-        wait_us(150);
-    }
-}
 /****************************************************************************************/
 /* FUNCTION NAME: IHM_clear                                                             */
 /* DESCRIPTION  : Efface le LCD                                                         */