Gérer taille du texte avec SSD1306_minimal.h

Bonjour a tous,

Je me pose, et en même temps je vous la pose, une question sur la librairie:

"SSD1306_minimal.h"

cette librairies, si je ne me trompe pas et là vous avez tout a fait le droit de me contredire car c'est que je n'ai pas suffisamment potassé, ne comporte pas de moyen de modifier la taille du texte.

Peut on ajouter un élément a la librairies pour gérer la taille du texte, alors existe t il un moyen autre de modifier la taille du texte.

Merci d'avance pour vos propositions.

J'ai peur que ce ne soit pas simple. Le fichier cpp comporte sa propre table pour dessiner les caractères (en 5 x 7 pixels), lignes 39 et suivantes.

Il faudrait remplacer ces lignes par d'autres qui définiraient une police plus large, et chercher dans tout le code s'il n'y a pas des paramètres en dur qui sont liés à la taille des caractères (genre position d'écriture par exemple).

Quel est ta carte ? Ne peux-tu utiliser les bibliothèques standard comme celle d'Adafruit (ssd1306 et GFX) ?
La première ne fonctionne pas sur ATtiny85...

Bonjour,

Tu peux utiliser cette librairie SSD1306Ascii

Merci a vous deux,

Pense tu que cette librairie est compatible avec un attiny 85, car c'est pour cela que j'ai choisi la SSD1306_minimal.h?

Car je ne vais pas avoir les competences pour modifier le fichier cpp.

Treza88:
Pense tu que cette librairie est compatible avec un attiny 85

Oui, je l'ai déjà fait fonctionner. Il faut prendre les exemples qui utilisent l'I2C générique et qui se terminent par Wire.
Par contre les font prennent de la place et je ne sais pas combien tu peux en mettre sur un attiny85.

Ok merci kamill, je vais faire des essais.

Je n'arrive pas a téléverser le code de l'exemple FontSamplesWire.

J'ai cette série d'erreur (incomplet car trop de caractères pour le post):

Arduino : 1.8.12 (Windows 10), Carte : "ATtiny25/45/85, ATtiny85, Internal 8 MHz"

C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c: In function 'twi_init':

C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:76:16: error: 'SDA' undeclared (first use in this function)

digitalWrite(SDA, 1);

^~~

C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:76:16: note: each undeclared identifier is reported only once for each function it appears in

C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:77:16: error: 'SCL' undeclared (first use in this function); did you mean 'SPL'?

digitalWrite(SCL, 1);

^~~

SPL

.....

TWDR

In file included from c:\program files (x86)\arduino\hardware\tools\avr\avr\include\avr\io.h:99:0,

from C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:25:

C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:426:15: error: 'TWINT' undeclared (first use in this function)

TWCR = _BV(TWINT) | _BV(TWSTA)| _BV(TWEN) ;

^

C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:426:28: error: 'TWSTA' undeclared (first use in this function); did you mean 'TWS3'?

TWCR = _BV(TWINT) | _BV(TWSTA)| _BV(TWEN) ;

^

C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c:426:40: error: 'TWEN' undeclared (first use in this function); did you mean 'TWINT'?

TWCR = _BV(TWINT) | _BV(TWSTA)| _BV(TWEN) ;

^

exit status 1
Erreur de compilation pour la carte ATtiny25/45/85

FontSamplesWire contient toutes les fonts. Je pense qu’il est trop gros pour un attiny85.
Essaies déjà HelloWordWire.

Non même type de message avec HelloWordWire

Et ceci rien quand vérifiant la compilation du code sans téléverser.

Quelle version de l’ide utilises tu?
Personnellement j’utilise l’ide 1.8.10 avec le core attiny https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json

J'utilise la version 1.8.12
Et le même core:
https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-anager/package_damellis_attiny_index.json

Chez moi ça compile sans problème y compris avec visual studio code/platformio.

C'est curieux car quand je regarde ton premier message d'erreur le fichier twi.c qui est compilé se trouve ici:
C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire\src\utility\twi.c

Quand je fais une compilation détaillée le fichier twi.c qui est compilé chez moi se trouve ici:
C:\Users\Patrick\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.2.4\libraries\Wire\src\twi.c

Visiblement ça n'utilise pas les mêmes fichiers. Je ne sais pas pourquoi, je ne me souvient pas avoir fait quelquechose de spécial.

Autant pour moi

Bien que j'ai le chemin du fichier json de David A. Mellis, je vois dans le gestionnaire de cartes que c'est la version de Spence Konde qui est installée chez moi

Je vois que j'ai aussi ce fichier json dans mes préférences
http://drazzy.com/package_drazzy.com_index.json

Ok Nickel c’était bien ça avant que je trouve pourquoi il se serait passé des décennies.

J'ai bien Hello world qui s'affiche.

Je me relance dans mes essaies.

Tu mets le chemin du fichier json que j'ai cité dans le post précédent dans les preferences et tu installes la version de Spence Konde avec le gestionnaire de cartes (je te conseille de désinstaller l'ancienne version).
Il faut sans doute reselectionner attiniy85.

J'ai répondu trop tard :slight_smile: , tu as trouvé tout seul.

Me revoici, mais ce coup ci avec un problème d’utilisation de la librairies, je n’arrive pas a placer un C derrière ma variable sur la même ligne
Exemple de code qui ne fonctionne pas:

oled.println(TempObjT," C");
//oled.print(" C");

C'est comme avec le moniteur série
oled.print(TempObjT);
oled.println(" C");

Ok et la je me sent pas intelligent du tout d'avoir bugger la dessus.

En tout cas merci pour tout ton aide et temps passé.

kamill:
Bonjour,

Tu peux utiliser cette librairie SSD1306Ascii

Cette librairie est géniale !
J'étais bloqué avec le librairie Adafruit_SSD1306 car elle prenait trop de place en mémoire.
Avec SSD1306Ascii cela marche parfaitement maintenant...
Je viens de la recommander dans mon blog :wink: