Skip to content

Latest commit

 

History

History
187 lines (154 loc) · 5.67 KB

README.md

File metadata and controls

187 lines (154 loc) · 5.67 KB

Minitel1B_Soft

Minitel Library for Arduino (with SoftwareSerial)

Documentation utilisée : Spécifications Techniques d'Utilisation du Minitel 1B
http://543210.free.fr/TV/stum1b.pdf

Historique :

Dernière Version : 12/03/2023 à 05h02.
J'utilise la version 1.8.19 d'Arduino pour compiler.
Je travaille avec une carte Arduino Uno équipée du shield 3615.

12/03/2023
Correction de deux bugs mineurs dans getKeyCode(bool unicode).
Mise à jour de l'exemple :
Tweet_3615.ino

06/03/2023
Mise à jour de l'exemple :
Tweet_3615.ino

05/03/2023
Ajout d'une nouvelle fonction :
int getNbBytes(unsigned long code)
à utiliser (si besoin) en association avec String getString(unsigned long code) afin de déterminer le nombre d'octets utilisés pour un caractère codé en UTF-8.

28/02/2023
Modification de l'exemple :
Tweet_3615.ino

28/02/2023 - Sur proposition de iodeo :
Pour une meilleure gestion des caractères spéciaux (notamment dans la console série) :
Ajout de nouvelles fonctions :
void writeCode(unsigned long code)
String getString(unsigned long code)
boolean isVisualisable(unsigned long code)
Modification de :
void print(String chaine)
unsigned long getKeyCode(bool unicode = true)
Suppression, car devenues inutiles, de :
void printDiacriticChar(unsigned char caractere)
boolean isDiacritic(unsigned char caractere)
Ajout d'une fonction pour identifier le Minitel :
unsigned long identifyDevice()

25/06/2022 - Sur proposition de iodeo :
Correction d'un bug dans la fonction byte reset()

24/04/2022
Ajout d'un exemple : Portrait.ino (affichage d'une image)

14/03/2022 - Sur proposition de iodeo :
Correction de bugs mineurs dans echo(boolean commande) et changeSpeed(int bauds).
Ajout d'une nouvelle fonction liée au modem (équivalent de la touche CONNEXION / FIN) :
byte connexion(boolean commande)
Ajout d'une option qui permet de désactiver la conversion des caractères en ascii étendue (cela sert en particulier pour la communication avec des services Minitel externes) :
unsigned long getKeyCode(bool ascii = true)
Ajout d'un exemple basique : HelloWorld.ino

02/07/2021
1 nouvelle fonction :
byte reset()

01/07/2021
1 nouvelle fonction :
byte statusAiguillage(byte module)
et mise à jour de :
byte pageMode()
byte scrollMode()
byte modeMixte()
byte modeVideotex()
byte standardTeleinformatique()
byte standardTeletel()
byte smallMode()
byte capitalMode()
byte extendedKeyboard()
byte standardKeyboard()
byte echo(boolean commande)
byte aiguillage(boolean commande, byte emetteur, byte recepteur)

29/06/2021
5 nouvelles fonctions :
void writeWord(word w)
int modeMixte()
int modeVideotex()
int standardTeleinformatique()
int standardTeletel()

28/06/2021
Modification de la fonction :
unsigned long getKeyCode()
pour tenir compte des codes du clavier étendu.
Dans le fichier d'entête (.h), ajout de plusieurs #define dans la partie "Clavier".
2 nouvelles fonctions :
void echo(boolean commande)
void aiguillage(boolean commande, byte emetteur, byte recepteur)

11/05/2018
Modification de deux fonctions :
void printDiacriticChar(unsigned char caractere)
boolean isDiacritic(unsigned char caractere)
pour tenir compte de la remarque de BorisFR sur les caractères diacritiques majuscules.

28/06/2017
Fichier Fritzing shield-3615.fzz (http://3615.entropie.org)
alt text

18/06/2017
Remplacement de l'exemple Morue_3615.ino par Tweet_3615.ino

15/06/2017
2 nouvelles fonctions qui donnent la position du curseur :
int getCursorX()
int getCursorY()

06/06/2017
2 nouvelles fonctions graphiques :
void graphic(byte b, int x, int y)
void graphic(byte b)

31/03/2017
Modification de l'interfaçage : RX (D8) / TX (D9)

04/11/2016
Exemple d'utilisation du clavier avec Morue_3615.ino

14/10/2016
La bibliothèque Minitel1B est renommée Minitel1B_Soft

12/03/2016
Nouvelle version de Minitel1B (sans SoftwareSerial) :
https://github.com/eserandour/Minitel1B_Hard

07/03/2016
6 nouvelles fonctions :
int pageMode()
int scrollMode()
int smallMode()
int capitalMode()
int extendedKeyboard()
int standardKeyboard()

06/03/2016
Modification du câble :
Ajout d'une résistance de tirage de 10 kilohms sur la sortie TX du minitel.

05/03/2016
1 nouvelle fonction :
unsigned long getKeyCode()

03/03/2016
1 nouvelle fonction :
int searchSpeed()

22/02/2016
3 nouvelles fonctions géométriques :
void rect(int x1, int y1, int x2, int y2)
void hLine(int x1, int y, int x2, int position)
void vLine(int x, int y1, int y2, int position, int sens)

21/02/2016
3 nouvelles fonctions :
byte readByte()
int changeSpeed(int bauds)
int currentSpeed()

19/02/2016
13 nouvelles fonctions de mise en page :
void cancel()
void clearScreenFromCursor()
void clearScreenToCursor()
void clearScreen()
void clearLineFromCursor()
void clearLineToCursor()
void clearLine()
void deleteChars(int n)
void insertChars(int n)
void startInsert()
void stopInsert()
void deleteLines(int n)
void insertLines(int n)

17/02/2016
Début du projet sur GitHub

02/02/2016
Fabrication du câble