arduino / arduino/ArduinoCore-API
[Feature Request] Make Wire library methods virtual
- Langage dominant
- C++
- Étoiles
- 306
- Forks
- 150
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
I suggest making the public methods of the TwoWire class virtual in order to allow polymorphism when subclassing it.
**Use case**: Have another library that utilizes the Wire library and takes a refrence to a TwoWire instance in constructor. Want to use it on pins without hardware I2C (or other reason for not wanting to use the standard Wire implementation). So I want to pass another class instance that inherits from TwoWire and implements the same methods (but uses software I2C). This does not work with current implementation because of early binding (the base class functions will be called instead of the ones in subclass).
Moved from: https://github.com/arduino/Arduino/issues/8734
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Piste de recherche
Commencez par localiser la déclaration de la classe TwoWire dans ArduinoCore-API et examiner ses méthodes publiques ainsi que leurs utilisations existantes à l’aide de références. Évaluez les implications pour l’API et la compatibilité du fait de rendre ces méthodes virtuelles, puis vérifiez qu’une sous-classe implémentant les mêmes méthodes peut être passée là où une instance de TwoWire est attendue et reçoit les appels.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- cpp
- Domaine
- embedded-iot
- Type d'issue
- Fonctionnalité
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100