arduino / arduino/ArduinoCore-API

VirtualPins

Aperta
#79 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
C++
Stelle
306
Fork
150
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

Hi!

I have and enhancement proposal to do small changes in the wiring_digital file and pins_arduino pin mapping, fully preserving compatibility, virtualizing the pins concept and do media (SPI,I2C, etc..) abstraction.
With minimal impact on existing function performance. The existing checks can work on an extended pin map and only adding an if, comparing pin number with a constant to existing functions (digital read/write).

In case of mapping to a virtual pin then the "content" is sent over an SPI or I2C (according to the map).

with this changes, libraries like LiquidCristal wouldn't have to be rewritten to control the same LCD's wired over SPI or I2C.

There are a LOT of advantages beside the mentioned one, but just for that I thinks it worth the effort considering the minimal impact it has.

I've done the implementation and some tests, available here for testing/appreciation:

https://github.com/neu-rah/VirtualPins

but I wish to put it here for discussion first and to get some advice on how should I proceed.

1. do a pull request with the changes to the arduino environment.
2. implement an alternative core and board that use virtual pins by duplicating some of the existing boards and pointing them to the alternative core.

waiting for feedback.

thanks.

_P.S. this was once done (in bad timing, to and older IDE) but now I'm available again and ported it to 1.8.3_

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Inizia esaminando il file wiring_digital e la mappatura dei pin pins_arduino, quindi confronta il comportamento proposto con l’implementazione e i test nel repository VirtualPins collegato. La proposta è completa quando le API dei pin esistenti rimangono compatibili, le mappature virtuali possono trasportare contenuti tramite SPI o I2C e viene dimostrato che l’impatto sulle prestazioni è minimo.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
cpp
Ambito
api, embedded-iot
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
20/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.