Should SPI `attachInterrupt()` and `detachInterrupt()` be removed?
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 30/100
- Type d'issue
- Refactorisation
- Clarté
- À clarifier
- Activité
- À l'abandon
- Stack technique
- cpp
- Domaine
- api, embedded-iot
Piste de recherche
Comparez les déclarations et implémentations SPI liées pour ArduinoCore-avr, megaavr, samd, mbed, arc32 et sam. Commencez par vérifier comment attachInterrupt() et detachInterrupt() sont définies ou omises dans ces cores et si le contrat de l’API explique leur rôle. Le travail est terminé lorsqu’une décision documentée a été prise concernant leur statut de prise en charge et que les fichiers des cores concernés ont été identifiés.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
It looks like these methos are only used in the AVR ports, and even then they indicate that they should not be used.
ArduinoCore-avr/libraries/SPI/src/SPI.h#L306-L310
ArduinoCore-megaavr/libraries/SPI/src/SPI.h#L183-L187
// These undocumented functions should not be used. SPI.transfer()
// polls the hardware flag which is automatically cleared as the
// AVR responds to SPI's interrupt
inline static void attachInterrupt() { SPCR |= _BV(SPIE); }
inline static void detachInterrupt() { SPCR &= ~_BV(SPIE); }
Other cores do nothing or even do not implement it:
- ArduinoCore-samd/libraries/SPI/SPI.cpp#L267-L273
- ArduinoCore-mbed/libraries/SPI/SPI.cpp#L90-L96
- ArduinoCore-arc32/libraries/SPI/src/SPI.h
- ArduinoCore-sam/libraries/SPI/src/SPI.cpp
When are these methods meant to be used by Arduino users or ArduinoCore developers?
- Langage dominant
- C++
- Étoiles
- 306
- Forks
- 150
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de arduino/ArduinoCore-API
-
Difficulté 3/5 1-2 jours Accessibilité débutants 25/100
arduino/ArduinoCore-API#261 ·
-
bug
Difficulté 1/5 Moins d'une heure Accessibilité débutants 30/100
arduino/ArduinoCore-API#256 ·
-
enhancement
Difficulté 3/5 1-2 jours Accessibilité débutants 48/100
arduino/ArduinoCore-API#251 · 1 commentaire ·
-
enhancement
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
arduino/ArduinoCore-API#250 ·
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 45/100
arduino/ArduinoCore-API#249 ·
Toutes les issues de arduino/ArduinoCore-API
Issues similaires
-
[CI] Nightly Clang build broken: structured binding captured in a lambda in FileDataSource.cpp Ouvertebug build
Difficulté 1/5 Moins d'une heure Accessibilité débutants 91/100
facebookincubator/velox#19194 ·
-
JIT-compiled number -> Decimal conversion silently overflows instead of raising DECIMAL_OVERFLOW Ouvertefuzz
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
ClickHouse/ClickHouse#122114 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
-
module/agent platform/macos type/bug/regression
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
-
enhancement PyCDE
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100