ciaa / firmware_v2

CIAA-Firmware v2.0.0 development
BSD 3-Clause "New" or "Revised" License
18 stars 32 forks source link

UART #21

Open epernia opened 7 years ago

epernia commented 7 years ago

Traigo la discusión de los mails:

Martín:

El modulo de UART le faltaria un uart[Write|Read](uart, buffer, size); normal, no es practico hacer un for y llamar a wartWirteByte es bastante ineficiente, cuando seguramente hay formas de hacer esto mas facil usando el HW de la UART (DMA, FIFO por HW, etc)

Eric:

Mantendría las versiones de byte y string, que se hicieron así sencillas para que sea fácil de explicar su comportamiento.

Martín:

En cuanto a la UART, creo que ahi amerita algo mas simple:

uartInit( UART_NAME, speed); // 8bits, no parity, 1 stop

Y si hace falta, solo si hace falta cambiar las cosas:

uartConfig( UART_ NAME, UART_7BITS | UART_PODD | UART_2STOP);

Aca vemos que la semantinca de "config" es mala para estos casos, por lo que propongo tener "Init" y "Config" así podemos iniciarla con parametros por defecto y cambiar esa configuración al vuelo si hace falta.

epernia commented 7 years ago

@martinribelotta: La idea es que UART sea como describo en este documento:

https://github.com/ciaa/firmware_v2/blob/develop/modules/sapi/documentation/docs/physical-ip-cores.md