AvrIO  1.4.5
Bibliothèque C modulaire pour ATMEL AVR
Terminal texte

Description détaillée

Ce module permet de gérer un terminal à partir d'un flux d'entrée et de sortie de type caractère.

Graphe de collaboration de Terminal texte:

Structures de données

struct  xTerm
 Terminal. Plus de détails...
 
struct  xTermPos
 Position du curseur d'un terminal. Plus de détails...
 
struct  xTermSize
 Taille d'un terminal. Plus de détails...
 

Fonctions

int iTermGetDec (FILE *pxInputStream, int iDigits)
 Lecture d'un entier en décimal. Plus de détails...
 
int iTermGetHex (FILE *pxInputStream, int iDigits)
 Lecture d'un entier en hexadécimal. Plus de détails...
 
int iTermGetStr (char *pcStr, int iSize, FILE *pxInputStream)
 Lecture d'une chaîne de caractères. Plus de détails...
 
xMenupxTermGetMenu (xTerm *pxTerm)
 Renvoie le menu d'un terminal.
 
void vTermPutDec (uint16_t usValue, FILE *pxOutputStream)
 Affiche un mot de 16 bits sous forme de décimal.
 
void vTermPutHexByte (uint8_t ucByte, FILE *pxOutputStream)
 Affiche un octet sous forme de 2 digits hexadécimaux.
 
void vTermPutHexBytes (const uint8_t *pucBytes, int xLength, FILE *pxOutputStream)
 Affiche une suite d'octets sous forme de digits hexadécimaux.
 
void vTermPutHexDword (uint32_t ulDword, FILE *pxOutputStream)
 Affiche un mot de 32 bits sous forme de 8 digits hexadécimaux.
 
void vTermPutHexWord (uint16_t usWord, FILE *pxOutputStream)
 Affiche un mot de 16 bits sous forme de 4 digits hexadécimaux.
 
void vTermSetMenu (xTerm *pxTerm, xMenu *pxMenu)
 Modifie le menu d'un terminal.
 

Définitions de type

typedef struct xTerm xTerm
 Terminal.
 
typedef struct xTermPos xTermPos
 Position du curseur d'un terminal. Plus de détails...
 
typedef struct xTermSize xTermSize
 Taille d'un terminal.
 

Énumérations

enum  eTermFlag { TERM_FLAG_NORMAL = 0x00, TERM_FLAG_INVERSE = 0x01, TERM_FLAG_BLINK = 0x02 }
 Flags d'un terminal.
 

Documentation des définitions de type

typedef struct xTermPos xTermPos

Position du curseur d'un terminal.

La position de départ est 0,0, ce qui correspond au coin en haut à gauche.

Documentation des fonctions

int iTermGetDec ( FILE *  pxInputStream,
int  iDigits 
)

Lecture d'un entier en décimal.

La saisie s'arrête dès qu'un caractère non numérique est saisie ou lorsque le nombre maximal de caractère est atteind.

Paramètres
pxInputStreamFlux d'entrée à utiliser pour la saisie
iDigitsnombre maximal de caractères à attendre à la saisie. 0 signifie qu'il faut attendre le maximum de caractères possible. Cette valeur est bridée au nombre maximal de caractères possible (6 dans le cas où l'entier est codé sur 16 bits, 11 pour 32 bits ...).
Renvoie
le nombre entier (0 par défaut: pas de chiffre correct saisi).
Exemples:
rtc/demo_rtc.c.
int iTermGetHex ( FILE *  pxInputStream,
int  iDigits 
)

Lecture d'un entier en hexadécimal.

La saisie s'arrête dès qu'un caractère non valide est saisi ou lorsque le nombre maximal de caractère est atteind.

Paramètres
pxInputStreamFlux d'entrée à utiliser pour la saisie
iDigitsnombre maximal de caractères à attendre à la saisie. 0 signifie qu'il faut attendre le maximum de caractères possible. Cette valeur est bridée au nombre maximal de caractères possible (4 dans le cas où l'entier est codé sur 16 bits, 8 pour 32 bits ...).
Renvoie
le nombre entier (0 par défaut: pas de chiffre correct saisi).
int iTermGetStr ( char *  pcStr,
int  iSize,
FILE *  pxInputStream 
)

Lecture d'une chaîne de caractères.

Lit et recopie dans pcStr tous les caractères :

  • jusqu'à ce que un CR ou LF soit saisi (non mémorisé) ou
  • jusqu'à ce que le nombre maximal de caractères iSize soit atteind.

Il est du ressort de l'utilisateur de réserver suffisament de place dans pcStr pour y stocker iSize+1 caractères.

Paramètres
pcStrpointeur sur la zone où socker les caracrères.
iSizenombre maximal de caractères à attendre à la saisie.
pxInputStreamFlux d'entrée à utiliser pour la saisie.
Renvoie
le nombre de caractères stockés (sans le zéro final), -1 si erreur.