Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: Projet_client_serveur EX5 ex10 ex11 ... more
Diff: IHM.h
- 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);
+};