IHM carte NBOARD Mai 2018
Dependents: NBoard_IHM_V2 ex20_fonction ex21_PWM1 ex26 ... more
Fork of IHM_V2 by
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); +};