Commit Graph

40 Commits

Author SHA1 Message Date
Carsten Schmiemann c0e2d44f19 build_w_line_flow_ctrl.sh hinzugefügt 2023-12-31 22:01:18 +01:00
Carsten Schmiemann 14eba4cd40 README.md aktualisiert 2023-12-31 22:00:37 +01:00
Carsten Schmiemann ed07f6dfab Add build line control script 2023-12-31 21:58:24 +01:00
Carsten Schmiemann 249c7fb383 Add build flow control script 2023-12-31 21:57:47 +01:00
Carsten Schmiemann 88122c9365 Add line control comment 2023-12-31 21:57:14 +01:00
Carsten Schmiemann 313f2b3ac7 Fork information 2023-12-31 21:46:30 +01:00
Carsten Schmiemann 388a34e5bd Add hardware handshake to readme 2023-12-31 21:45:31 +01:00
Carsten Schmiemann afc635a053 Add hardware handshake 2023-12-31 21:43:58 +01:00
Carsten Schmiemann 93f66b01fc Prepare for hardware handshaking 2023-12-31 21:43:31 +01:00
Álvaro Fernández Rojas ca81e5c242
Merge pull request #15 from mgduda/use_memmove_fix
Switch from memcpy to memmove when copying within buffers
2023-01-31 19:25:12 +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
Álvaro Fernández Rojas 71fd38df8a github: improve CI
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2022-11-04 09:19:25 +01:00
Álvaro Fernández Rojas d0925bfd33 pico-sdk: update to 1.4.0
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2022-11-04 09:19:25 +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 71faf3097a build.sh: improve script
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2022-05-03 19:40:03 +02:00
Álvaro Fernández Rojas 982b071d6c github: update CI workflow
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2022-05-03 17:30:19 +02:00
Álvaro Fernández Rojas a7d61bb4c8 pico-sdk: update v1.3.0
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2022-05-03 14:42:23 +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 7a8e3bf16c github: force Ubuntu 20.04
Apparently, ubuntu-latest still points to Ubuntu 18.04, which uses an older
and incompatible version of gcc-arm-none-eabi.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2021-02-06 12:23:07 +01: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 7f8226a3a1 github: add CI
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2021-02-06 11:37:55 +01:00
Álvaro Fernández Rojas beb34da36d build: automatically checkout pico-sdk
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2021-02-06 11:27:34 +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 f2531be879 usb-descriptors: refactor code
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2021-02-06 11:27:34 +01:00
Álvaro Fernández Rojas b6c906e55e tusb_config: refactor code
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2021-02-06 11:27:34 +01:00
Álvaro Fernández Rojas a41adfcfdd Update README with multiple UARTs support
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2021-02-04 09:15:03 +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