Wi-Fi Combo Forum Discussions
text.format{('custom.tabs.no.results')}
Im using a BCM9WCD1EVAL1 board, which carries a BCM943362WCD4 module. By default, an SPI interface goes to J3 and J7 on the EVAL1 board. Id like to put a second UART function on those pins instead. The first UART is already used as a debug serial port (over a USB-serial converter).
It is convenient to use the pins which by default are connected to the SPI interface, because these pins are otherwise unused - they only go to a debug header and an unpopulated header.
I know how to do this at a very low level (how to configure the appropriate GPIO pins on the STM32F205 to provide an alternate function), but Im having some trouble figuring out how to do this with the least friction in the WICED SDK.
currently there is a global variable called uart_mapping, which lives in platform.c, which is initialized like this:
[WICED_UART_2] =
{
.usart = USART2,
.gpio_af = GPIO_AF_USART2,
.pin_tx = &gpio_mapping[WICED_GPIO_3],
.pin_rx = &gpio_mapping[WICED_GPIO_4],
.pin_cts = &gpio_mapping[WICED_GPIO_1],
.pin_rts = &gpio_mapping[WICED_GPIO_2],
do I simply change e.g .pin_tx to &gpio_mapping[WICED_GPIO_7], because WICED_GPIO_7 is mapped to GPIO port A pin 6 (by gpio_mapping[] in the same file? And is this sufficient to configure that GPIO port pin as the correct alternate function?
thanks, Stuart
Show Less/* Wait until the High Throughput clock is available */ loop_count = 0; while ( ( ( result = wiced_read_register_value( BACKPLANE_FUNCTION, SDIO_CHIP_CLOCK_CSR, (uint8_t) 1, &csr_val ) ) == WICED_SUCCESS ) && ( ( csr_val & SBSDIO_HT_AVAIL ) == 0 ) && ( loop_count < (uint32_t) HT_AVAIL_TIMEOUT_MS ) ) { (void) host_rtos_delay_milliseconds( (uint32_t) 1 ); /* Ignore return - nothing can be done if it fails */ loop_count++; } if ( loop_count >= (uint32_t) HT_AVAIL_TIMEOUT_MS ) { /* If your system times out here, it means that the WLAN firmware is not booting. * Check that your WLAN chip matches the wifi_image.c being built - in GNU toolchain, $(CHIP) * makefile variable must be correct. */ WPRINT_WWD_ERROR(("Timeout while waiting for high throughput clock")); return WICED_TIMEOUT; }Show Less
Hi,
I am writing an application under the snip folder, and I have been slowly losing debugging capabilities (cannot single step, inspect variables, etc.) as the application grows larger. Are there certain memory limitations after which the debugger stops working? (I am using the BCM943362WCD4_EVB under Windows and the Netx-Duo stack).
Thanks
Show Less*data_length = packet->p->tot_len;...*data_length = (uint16_t)(*data_length - offset);E.g., if I have a netbuf of 2 pbufs of 5 bytes, and read at offset 0:
data_length = 10available_length = 10data = ... pbuf (5 bytes)So I will read past the end of data if I try to read more than 5 bytes.I think the initial value should be the length of the current pbuf:
*data_length = packet->p->len;...*data_length = (uint16_t)(*data_length - offset);So same read at 0 would be:
data_length = 5available_length = 10data = ... pbuf (5 bytes)Show Less