Skip to content

Commit f0bcdb4

Browse files
committed
adapt the default firmware to v1.2.0
1 parent 51dc8e6 commit f0bcdb4

File tree

5 files changed

+30
-26
lines changed

5 files changed

+30
-26
lines changed

Docs/ice_usb.md

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,14 @@ Examples listed [at the bottom](#examples).
2222
The pico-ice-sdk allows to configure forwarding from an USB CDC interface to an
2323
UART interface with the two defines below:
2424

25-
Dependencies: `ICE_USB_USE_DEFAULT_CDC`, `ICE_USB_UART_CDC`, `ICE_USB_UART_NUM`
26-
[`ITF_NUM_CDCx`](https://github.com/tinyvision-ai-inc/pico-ice-sdk/blob/main/examples/pico_usb_uart/usb_descriptors.c#L30),
27-
[`ITF_NUM_DATAx`](https://github.com/tinyvision-ai-inc/pico-ice-sdk/blob/main/examples/pico_usb_uart/usb_descriptors.c#L30),
28-
[`CFG_TUD_CDC`](https://github.com/tinyvision-ai-inc/pico-ice-sdk/blob/main/examples/pico_usb_uart/tusb_config.h#L44),
29-
[`TUD_CDC_DESCRIPTOR`](https://github.com/tinyvision-ai-inc/pico-ice-sdk/blob/main/examples/pico_usb_uart/usb_descriptors.c#L38),
30-
[`STRID_CDC+x`](https://github.com/tinyvision-ai-inc/pico-ice-sdk/blob/main/examples/pico_usb_uart/usb_descriptors.c#L49)
25+
To enable:
26+
1. Define `ICE_USB_UART0_CDC` or `ICE_USB_UART1_CDC` to the CDC interface number to use.
27+
2. Adjust these as needed:
28+
[`ITF_NUM_CDCx`](https://github.com/tinyvision-ai-inc/pico-ice-sdk/blob/main/examples/pico_usb_uart/usb_descriptors.c#L30),
29+
[`ITF_NUM_DATAx`](https://github.com/tinyvision-ai-inc/pico-ice-sdk/blob/main/examples/pico_usb_uart/usb_descriptors.c#L30),
30+
[`CFG_TUD_CDC`](https://github.com/tinyvision-ai-inc/pico-ice-sdk/blob/main/examples/pico_usb_uart/tusb_config.h#L44),
31+
[`TUD_CDC_DESCRIPTOR`](https://github.com/tinyvision-ai-inc/pico-ice-sdk/blob/main/examples/pico_usb_uart/usb_descriptors.c#L38),
32+
[`STRID_CDC+x`](https://github.com/tinyvision-ai-inc/pico-ice-sdk/blob/main/examples/pico_usb_uart/usb_descriptors.c#L49)
3133

3234
See the
3335
[`pico_usb_uart`](https://github.com/tinyvision-ai-inc/pico-ice-sdk/tree/main/examples/pico_usb_uart/)
@@ -41,12 +43,14 @@ from the USB CDC interface using the
4143
to the FPGA SPI interface using the
4244
[wishbone-spi](https://wishbone-utils.readthedocs.io/en/latest/wishbone-tool/#spi-bridge) protocol..
4345

44-
Dependencies: `ICE_USB_USE_DEFAULT_CDC`, `ICE_USB_FPGA_CDC`,
45-
[`ITF_NUM_CDCx`](https://github.com/tinyvision-ai-inc/pico-ice-sdk/blob/main/examples/pico_usb_uart/usb_descriptors.c#L30),
46-
[`ITF_NUM_DATAx`](https://github.com/tinyvision-ai-inc/pico-ice-sdk/blob/main/examples/pico_usb_uart/usb_descriptors.c#L30),
47-
[`CFG_TUD_CDC`](https://github.com/tinyvision-ai-inc/pico-ice-sdk/blob/main/examples/pico_usb_uart/tusb_config.h#L44),
48-
[`TUD_CDC_DESCRIPTOR`](https://github.com/tinyvision-ai-inc/pico-ice-sdk/blob/main/examples/pico_usb_uart/usb_descriptors.c#L38),
49-
[`STRID_CDC+x`](https://github.com/tinyvision-ai-inc/pico-ice-sdk/blob/main/examples/pico_usb_uart/usb_descriptors.c#L49)
46+
To enable:
47+
1. Define `ICE_USB_FPGA_CDC` to the CDC interface number to use.
48+
2. Adjust these as needed:
49+
[`ITF_NUM_CDCx`](https://github.com/tinyvision-ai-inc/pico-ice-sdk/blob/main/examples/pico_usb_uart/usb_descriptors.c#L30),
50+
[`ITF_NUM_DATAx`](https://github.com/tinyvision-ai-inc/pico-ice-sdk/blob/main/examples/pico_usb_uart/usb_descriptors.c#L30),
51+
[`CFG_TUD_CDC`](https://github.com/tinyvision-ai-inc/pico-ice-sdk/blob/main/examples/pico_usb_uart/tusb_config.h#L44),
52+
[`TUD_CDC_DESCRIPTOR`](https://github.com/tinyvision-ai-inc/pico-ice-sdk/blob/main/examples/pico_usb_uart/usb_descriptors.c#L38),
53+
[`STRID_CDC+x`](https://github.com/tinyvision-ai-inc/pico-ice-sdk/blob/main/examples/pico_usb_uart/usb_descriptors.c#L49)
5054

5155
See the
5256
[`pico_usb_fpga`](https://github.com/tinyvision-ai-inc/pico-ice-sdk/tree/main/examples/pico_usb_fpga/)
@@ -60,11 +64,13 @@ This means no Zadig driver setup needed on Windows.
6064

6165
You would need something like the [`uf2-utils`](https://github.com/tinyvision-ai-inc/uf2-utils) to generate the UF2-formatted files.
6266

63-
Dependencies: `ICE_USB_USE_TINYUF2_MSC`, `ICE_USB_FPGA_CDC`,
64-
[`ITF_NUM_MSCx`](https://github.com/tinyvision-ai-inc/pico-ice-sdk/blob/main/examples/pico_usb_uart/usb_descriptors.c#L30),
65-
[`CFG_TUD_MSC`](https://github.com/tinyvision-ai-inc/pico-ice-sdk/blob/main/examples/pico_usb_uart/tusb_config.h#L45),
66-
[`TUD_MSC_DESCRIPTOR`](https://github.com/tinyvision-ai-inc/pico-ice-sdk/blob/main/examples/pico_usb_uf2/usb_descriptors.c#L37),
67-
[`STRID_MSC+x`](https://github.com/tinyvision-ai-inc/pico-ice-sdk/blob/main/examples/pico_usb_uf2/usb_descriptors.c#L49)
67+
To enable:
68+
1. Define `ICE_USB_USE_TINYUF2_MSC`
69+
2. Adjust these as needed:
70+
[`ITF_NUM_MSCx`](https://github.com/tinyvision-ai-inc/pico-ice-sdk/blob/main/examples/pico_usb_uart/usb_descriptors.c#L30),
71+
[`CFG_TUD_MSC`](https://github.com/tinyvision-ai-inc/pico-ice-sdk/blob/main/examples/pico_usb_uart/tusb_config.h#L45),
72+
[`TUD_MSC_DESCRIPTOR`](https://github.com/tinyvision-ai-inc/pico-ice-sdk/blob/main/examples/pico_usb_uf2/usb_descriptors.c#L37),
73+
[`STRID_MSC+x`](https://github.com/tinyvision-ai-inc/pico-ice-sdk/blob/main/examples/pico_usb_uf2/usb_descriptors.c#L49)
6874

6975
See the
7076
[`pico_usb_uf2`](https://github.com/tinyvision-ai-inc/pico-ice-sdk/tree/main/examples/pico_usb_uf2/)

Firmware/pico-ice-default/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,3 +24,5 @@ target_include_directories(${CMAKE_PROJECT_NAME} PUBLIC
2424
${CMAKE_CURRENT_LIST_DIR}
2525
)
2626
pico_add_extra_outputs(${CMAKE_PROJECT_NAME})
27+
pico_enable_stdio_usb(${CMAKE_PROJECT_NAME} 0)
28+
pico_enable_stdio_uart(${CMAKE_PROJECT_NAME} 0)

Firmware/pico-ice-default/main.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ int main(void) {
4141
gpio_set_function(UART_TX_PIN, GPIO_FUNC_UART);
4242
gpio_set_function(UART_RX_PIN, GPIO_FUNC_UART);
4343

44-
// Configure the piping as configured in <tusb_config.h>
44+
// Configure the piping as defined in <tusb_config.h>
4545
ice_usb_init();
4646

4747
// Let the FPGA start

Firmware/pico-ice-default/tusb_config.h

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -52,15 +52,11 @@
5252
#define CFG_TUD_MIDI 0
5353
#define CFG_TUD_VENDOR 0
5454

55-
// Use implementation from the pico-ice-sdk or not
56-
#define ICE_USB_USE_DEFAULT_DESCRIPTOR 1
57-
#define ICE_USB_USE_DEFAULT_CDC 1
58-
#define ICE_USB_USE_DEFAULT_DFU 1
55+
// Configure the TinyUF2 drag-and-drop to USB drive for FPGA-programming
5956
#define ICE_USB_USE_TINYUF2_MSC 1
6057

61-
// Configure forwarding between USB CDC and UART
62-
#define ICE_USB_UART_CDC 1
63-
#define ICE_USB_UART_NUM 0
58+
// Configure 2-way forwarding between USB CDC and UART
59+
#define ICE_USB_UART0_CDC 1
6460

6561
// CDC FIFO size of TX and RX and Endpoint buffer size
6662
#define CFG_TUD_CDC_RX_BUFSIZE 512

0 commit comments

Comments
 (0)