J'ai supprimé le cosntructeur, ca devient:
class Minitel
{
public:
//Minitel(SerialUART& serial);
//Minitel(SerialUART& serial, pin_size_t rx, pin_size_t tx);
void init(SerialUART& serial);
void init(SerialUART& serial, pin_size_t rx, pin_size_t tx);
.....
private:
SerialUART& mySerial;
pin_size_t rxPin;
pin_size_t txPin;
le .cpp
void Minitel::init(SerialUART& serial) {
// A la mise sous tension du Minitel, la vitesse des échanges entre
// le Minitel et le périphérique est de 1200 bauds par défaut.
mySerial = serial;
rxPin = 17;
txPin = 16;
mySerial.begin(1200, SERIAL_7E1);
}
/*--------------------------------------------------------------------*/
void Minitel::init(SerialUART& serial, pin_size_t rx, pin_size_t tx) {
// A la mise sous tension du Minitel, la vitesse des échanges entre
// le Minitel et le périphérique est de 1200 bauds par défaut.
mySerial = serial;
rxPin = rx;
txtPin = tx;
mySerial.setRX(rxPin);
mySerial.setTX(txPin);
mySerial.begin(1200, SERIAL_7E1);
}
....
Dans le ino mainteant je fais ceci:
Minitiel minitel;
et dans le setup:
void setup() {
//Serial2.begin(1200, SERIAL_7E1, 17, 16);
// Le premier port série matériel de l'ATMega (Serial / RXD0 TXD0)
// ou de l'ESP32 (Serial / U0RXD U0TXD) est utilisé pour la connexion
// avec le PC.
Serial.begin(9600);
//minitel = new Minitel(Serial2, 21,20);
minitel.init(Serial2, 21, 20);
Sauf que maintenant j'ai des erreurs que je n'avais pas avant:
d:\donnees\dev\ARDUINO2\sketch\libraries\Minitel1B_Pico_Hard/Minitel1B_Pico_Hard.h:380:15: warning: non-static reference 'SerialUART& Minitel::mySerial' in class without a constructor [-Wuninitialized]
380 | SerialUART& mySerial;
| ^~~~~~~~
D:\donnees\dev\ARDUINO2\sketch\PICO2\MINITEL\Demo\Demo.ino:39:9: error: use of deleted function 'Minitel::Minitel()'
39 | Minitel minitel;
| ^~~~~~~
d:\donnees\dev\ARDUINO2\sketch\libraries\Minitel1B_Pico_Hard/Minitel1B_Pico_Hard.h:268:7: note: 'Minitel::Minitel()' is implicitly deleted because the default definition would be ill-formed:
268 | class Minitel
| ^~~~~~~
d:\donnees\dev\ARDUINO2\sketch\libraries\Minitel1B_Pico_Hard/Minitel1B_Pico_Hard.h:268:7: error: uninitialized reference member in 'class Minitel'
d:\donnees\dev\ARDUINO2\sketch\libraries\Minitel1B_Pico_Hard/Minitel1B_Pico_Hard.h:380:15: note: 'SerialUART& Minitel::mySerial' should be initialized
380 | SerialUART& mySerial;
| ^~~~~~~~
D:\donnees\dev\ARDUINO2\sketch\PICO2\MINITEL\Demo\Demo.ino:39:9: note: use '-fdiagnostics-all-candidates' to display considered candidates
39 | Minitel minitel;
| ^~~~~~~
Une idée ?