Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/eserandour/Minitel1B_Hard

Minitel Library for Arduino (with HardwareSerial)
https://github.com/eserandour/Minitel1B_Hard

Last synced: 3 months ago
JSON representation

Minitel Library for Arduino (with HardwareSerial)

Awesome Lists containing this project

README

        

# Minitel1B_Hard
Minitel Library for Arduino (with HardwareSerial)

Documentation utilisée : Spécifications Techniques d'Utilisation du Minitel 1B

http://543210.free.fr/TV/stum1b.pdf

Historique :

Dernière Version : 17/03/2023 à 14h55.

J'utilise la version 1.8.19 d'Arduino pour compiler.

Je travaille avec un ATmega 1284P, un ATmega 2560 et un ESP32-WROOM-32E.

Avec la carte Arduino Mega (ATmega 2560), j'utilise le shield 3615 (version 2023).

12/03/2023

Correction de deux bugs mineurs dans getKeyCode(bool unicode)

Mise à jour de l'exemple TestCaracteresSpeciaux.ino

11/03/2023

Suppression de l'exemple Couleurs_3615.ino (car redondant).

Mise à jour de tous les autres exemples pour tenir compte des différences entre ce qui concerne l'ATmega 1284P et l'ESP32-WROOM-32E.

06/03/2023

Mise à jour des exemples :

TestCaracteresSpeciaux.ino

Tweet_3615.ino

Couleurs_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.

Mise à jour des exemples :

TestCaracteresSpeciaux.ino

Couleurs_3615.ino

Tweet_3615.ino

28/02/2023

La fonction write(unsigned long code) est renommée writeCode(unsigned long code).

J'ai dû changer son nom car avec ce nom un problème est apparu dans l'usage de la bibliothèque Minitel1B_Soft : le Minitel se bloquait. Il s'agissait probablement d'un conflit avec la fonction write de la bibliothèque SoftwareSerial. Par souci de cohérence entre les bibliothèques Minitel1B_Hard et Minitel1B_Soft, j'ai renommé write en writeCode.

27/02/2023

Correction d'un bug dans unsigned long identificationBytes()

Mise à jour de l'exemple TestCaracteresSpeciaux.ino

27/02/2023 - Sur proposition de iodeo :

Correction d'un bug sur le caractère Bêta.

Ajout d'une fonction pour identifier le Minitel :

unsigned long identifyDevice()

26/02/2023

Des exemples où il est question de caractères...

Ajout d'un nouvel exemple :

TestCaracteresSpeciaux.ino

Modification des exemples :

Couleurs_3615.ino

Tweet_3615.ino

26/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 write(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)

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)

13/03/2022

Ajout d'un exemple basique : HelloWorld.ino

21/02/2022 - Sur proposition de iodeo :

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)

08/10/2021 - 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)

Patch pour Arduino-ESP32 core v1.0.6 https://github.com/espressif/arduino-esp32

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.

18/06/2017

Exemple Tweet_3615.ino

15/06/2017

2 nouvelles fonctions qui donnent la position du curseur :

int getCursorX()

int getCursorY()

06/06/2017

Exemple d'utilisation du clavier et d'affichage d'une image :

Couleurs_3615.ino

06/06/2017

2 nouvelles fonctions graphiques :

void graphic(byte b, int x, int y)

void graphic(byte b)

12/03/2016

Début de la version HardwareSerial de Minitel1B sur GitHub