IHM carte NBOARD Mai 2018

Dependents:   NBoard_IHM_V2 ex20_fonction ex21_PWM1 ex26 ... more

Fork of IHM_V2 by NBoard

Revision:
0:cd0f9e8c609b
Child:
1:663cbe5baac4
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/IHM.h	Sat Oct 01 12:23:41 2016 +0000
@@ -0,0 +1,124 @@
+/// @file IHM.h Bibliothéque de classe pour la carte Zboard
+/// @mainpage
+///
+///
+///
+/// @author Gilles Raynaud, IUT Cachan
+///
+/// @note
+/// History
+/// v1.00 01/10/2016
+#include "all_includes.h"
+#define SIZE_FIFO 32
+#define MESSAGE_BUFFER_SIZE 20
+#define JOG_MSK_PUSH   (1<<2)   // valeur renvoyée si le Jog est enfoncé (en position de repos)
+#define JOG_MSK_RIGHT  (1<<4)   // valeur renvoyée si le Jog est poussé vers la droite (non enfoncé).
+#define JOG_MSK_UP     (1<<3)   // valeur renvoyée si le Jog est poussé vers le haut (non enfoncé).
+#define JOG_MSK_LEFT   (1<<1)   // valeur renvoyée si le Jog est poussé vers la gauche (non enfoncé).
+#define JOG_MSK_DOWN   1        // valeur renvoyée si le Jog est poussé vers le bas (non enfoncé).
+
+//static char tableau_ecran[32]= {32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32};
+
+//
+///
+/// Example:
+/// @code
+///#include "IHM.h"
+///IHM ihm;
+///Serial pc(SERIAL_TX, SERIAL_RX);
+///int main()
+///{
+///    unsigned char i=0,j;
+///    float pi=4*atan(1.0);
+///    pc.printf("debut");
+///    ihm.LCD_printf("Hello World      ");
+///    ihm.LCD_gotoxy(1,0);
+ ///   ihm.LCD_printf("PI= %f",pi);  // test affichage float
+///    ihm.BAR_set(0x3FF);
+///    wait(2);
+///    ihm.BAR_set(0x2AA);
+///    wait(2);
+///    ihm.BAR_set(0x155);
+///    wait(2);
+///    ihm.LCD_clear();
+///    while(1) {
+///        wait(0.1);
+///        printf("cod");
+///        i=ihm.COD_read();      
+///        j=ihm.JOG_read();
+///        ihm.BAR_set((UINT16)(i));
+///        ihm.LCD_gotoxy(0,0);
+///        ihm.LCD_printf("Jog=%02d",j);
+///        ihm.LCD_gotoxy(1,0);
+///        ihm.LCD_printf("Cod=%03d",i);
+///    }
+///}
+/// @endcode
+///
+class IHM
+{
+public:
+    /// Constructeur pour l'interface Zboard, normalement placé à l'extérieur de main
+    /// Les paramètres peuvent être omis (ils ont tous une valeur par défaut)
+    ///
+    IHM(PinName CANRx=PA_11, PinName CANTx=PA_12);
+    /// commande des 10 leds du bargraph
+    ///
+    /// Affiche la valeur passée en argument sur le bargraph
+    /// @param valeur à afficher sur le bargraph
+    /// @returns void
+    ///
+    void BAR_set(UINT16 valeur);  
+    /// lecteur du codeur
+    ///
+    /// Retourne la valeur du codeur (0-255)
+    /// @param void
+    /// @returns valeur du codeur
+    ///
+    UINT8 COD_read(void);
+    /// positionne le curseur de l'afficheur LCD
+    ///
+    /// @param  x colonne
+    /// @param  y ligne
+    /// @returns void
+    ///
+    void LCD_gotoxy(UINT8,UINT8);
+
+    /// écriture formatée sur l'afficheur LCD
+    ///
+    /// @param  format...
+    /// @returns void
+    ///
+    void LCD_printf(const char* format, ...);
+    /// effacement de l'afficheur LCD
+    ///
+    /// @param  void
+    /// @returns void
+    ///
+    void LCD_clear(void);
+    /// lecture du JOG
+    /// retourne la position (8 possibilités) et l'enfoncement du Jog
+    /// @param  void
+    /// @returns void
+    ///
+    UINT8 JOG_read(void);
+private:
+    int COD_valeur;
+    unsigned char JOG_valeur,mise_a_jour_JOG,mise_a_jour_COD;
+    unsigned char FIFO_ecriture;
+//    CANMessage can_MsgRx[SIZE_FIFO];
+    UINT8 curseur;
+    UINT8 IHM_is_running;
+    CANMessage can_MsgRx[SIZE_FIFO], can_MsgTx;
+//extern unsigned char Reception_CAN;
+CANMessage trame_Tx;
+//static char tableau_ecran[32]= {32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32};
+char tableau_ecran[32];
+    CAN can;
+    void can_ISR_Reader(void);
+    void CAN_automate_reception(void);
+    void IHM_sendchar (char data);
+    void IHM_printf(const char* format, ...);
+    void IHM_vprintf(const char* format, va_list args);
+    void IHM_sendstring (char* message);
+};