arduino / arduino/ArduinoCore-API

VirtualPins

Abierto
#79 0 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
C++
Estrellas
306
Forks
150
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

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_

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Línea de trabajo

Comienza revisando el archivo wiring_digital y el mapeo de pines pins_arduino; después, compara el comportamiento propuesto con la implementación y las pruebas del repositorio VirtualPins enlazado. La propuesta estará completa cuando las API de pines existentes sigan siendo compatibles, los mapeos virtuales puedan transportar contenido mediante SPI o I2C y se demuestre que el impacto en el rendimiento es mínimo.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
cpp
Área
api, embedded-iot
Tipo de issue
Nueva funcionalidad
Dificultad
5/5
Tiempo estimado
Más de una semana
Estado de actividad
Estancado
Claridad
Necesita aclaración
Aptitud para principiantes
20/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.