Commit graph

20 commits

Author SHA1 Message Date
Carsten Schmiemann afc635a053 Add hardware handshake 2023-12-31 21:43:58 +01:00
Michael Duda 67ce07178f Switch from memcpy to memmove when copying within buffers
In the usb_write_bytes and uart_write_bytes routines, a memcpy was previously
used to copy untransmitted bytes to the beginning of the buffer (ud->uart_buffer
and ud->usb_buffer, respectively). Since the source and destination regions of
memory may potentially overlap, the use of memcpy may lead to undefined results.

From the draft C89 standard:

    4.11.2.1 The memcpy function

    Synopsis

             #include <string.h>
             void *memcpy(void *s1, const void *s2, size_t n);

    Description

       The memcpy function copies n characters from the object pointed to
    by s2 into the object pointed to by s1 .  If copying takes place
    between objects that overlap, the behavior is undefined.

    Returns

       The memcpy function returns the value of s1 .

By using memmove rather than memcpy in the usb_write_bytes and uart_write_bytes
routines, the potential for undefined behavior can be avoided.
2023-01-29 11:49:11 -07:00
Álvaro Fernández Rojas 9d05ed4b1d uart-bridge: avoid CR/LF conversion
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2022-11-04 11:13:57 +01:00
Álvaro Fernández Rojas 3aa5d05fe3 Switch UART0 to GPIO 16 (TX) & GPIO 17 (RX)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2022-11-04 11:08:49 +01:00
Álvaro Fernández Rojas 01e7831501 uart-bridge: add UART RX interrupts
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2022-11-04 11:00:31 +01:00
Álvaro Fernández Rojas 3e1672f2c9 Increase buffers and improve USB descriptors
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2022-11-04 10:59:54 +01:00
Álvaro Fernández Rojas 8db03b41ac Code cleanup
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2022-11-04 10:58:51 +01:00
cxxcoder 6aa7cf2958 usb-descriptors: use flash ID as USB serial
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2022-11-04 09:19:03 +01:00
Álvaro Fernández Rojas 05e4815f6b uart-bridge: bump clock to 250 MHz
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2022-05-03 19:59:45 +02:00
Álvaro Fernández Rojas ebbc862b65 uart-bridge: increase BUFFER_SIZE
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2022-05-03 19:58:12 +02:00
Álvaro Fernández Rojas 2460b10523 uart-bridge: usb_read_bytes: fix usb_buffer access
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2021-10-25 18:42:30 +02:00
Álvaro Fernández Rojas 206b612bae uart-bridge: improve usb_write_bytes
tud_cdc_n_write() may not be able to write the full buffer, so we need to
handle that by moving the remaining bytes in the buffer to the buffer start.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2021-02-06 12:05:47 +01:00
Álvaro Fernández Rojas 3f9c9fadde uart-bridge: add LC mutex
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2021-02-06 11:27:34 +01:00
Álvaro Fernández Rojas 8d9d952dde uart-bridge: remove unused variables
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2021-02-06 11:27:34 +01:00
Álvaro Fernández Rojas 410eef18ef uart-bridge: expose both HW UARTs
With these changes, both HW UARTs will be exposed as two independent USB-UART
bridge controllers.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2021-02-04 09:08:41 +01:00
Álvaro Fernández Rojas 911bf03c80 uart-bridge: use DEF_BIT_RATE for CDC LC
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2021-02-04 09:03:46 +01:00
Álvaro Fernández Rojas 85383842d5 uart-bridge: code refactor
Avoid lines with more than 80 characters.
Fix indentation (tabs = 8 spaces).

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2021-02-03 15:45:04 +01:00
Álvaro Fernández Rojas f46d93bb54 uart-bridge: fix incorrect uart_parity_t usage
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2021-02-03 15:33:45 +01:00
Álvaro Fernández Rojas 7bac4bd99a uart-bridge: remove unneeded semicolon
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2021-02-03 15:29:50 +01:00
Álvaro Fernández Rojas 994eab59f5 Import project files
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2021-02-03 13:21:20 +01:00