wiced_result_t command_console_init( wiced_uart_t uart, uint32_t line_len, char* buffer, uint32_t history_len, char* history_buffer_ptr, const char* delimiter_string ) { wiced_result_t result; UNUSED_PARAMETER(result); cons.uart = uart; cons.command_table_count = 0; cons.console_line_len = line_len; cons.console_buffer = buffer; cons.console_buffer[0] = 0; cons.console_cursor_position = 0; cons.console_current_line = 0; cons.console_in_esc_seq = WICED_FALSE; cons.console_esc_seq_last_char = ' '; cons.history_buffer = history_buffer_ptr; cons.history_length = history_len; cons.history_num_lines = 0; cons.history_newest_line = 0; cons.quit = WICED_FALSE; cons.console_delimit_string = delimiter_string; cons.console_prompt_string = "> "; cons.console_thread_is_running = WICED_FALSE; console_add_cmd_table( commands ); if( uart != STDIO_UART ) { /* Init uart the same as stdio uart configuration */ ring_buffer_init( (wiced_ring_buffer_t*) &cons.console_rx_ring_buffer, (uint8_t*) console_rx_ring_data, sizeof(console_rx_ring_data) ); result = wiced_uart_init(uart, &uart_console_config, &cons.console_rx_ring_buffer); } wiced_rtos_init_semaphore(&cons.console_quit_semaphore); send_str(cons.console_prompt_string); /* create a console thread */ result = wiced_rtos_create_thread( &cons.console_thread, WICED_DEFAULT_LIBRARY_PRIORITY, "console", console_thread_func, CONSOLE_THREAD_STACK_SIZE, NULL); return result; }
void application_start(void) { wiced_interface_t interface; wiced_result_t result; int fail = 0; wiced_init( ); command_console_init(STDIO_UART, 300, cmdline, 10, history, " "); console_add_cmd_table(commands); memset(write_buffer, 0, BUFFER_SIZE); ws2812_init(); write_ws2812(0, 3, init_data); wiced_network_register_link_callback(link_cb_up, link_cb_down, WICED_STA_INTERFACE); result = wiced_network_up_default( &interface, NULL); // result = wiced_network_up(WICED_STA_INTERFACE, WICED_USE_EXTERNAL_DHCP_SERVER, NULL); if( result != WICED_SUCCESS ) { printf("Bringing up network interface failed !\r\n"); fail = 1; } /* Create UDP socket */ if (wiced_udp_create_socket(&udp_socket, PORTNUM, interface) != WICED_SUCCESS) { WPRINT_APP_INFO( ("UDP socket creation failed\n") ); fail = 1; } else { // wiced_udp_register_callbacks(&udp_socket, udp_cb, &udp_socket); wiced_rtos_register_timed_event( &process_udp_rx_event, WICED_NETWORKING_WORKER_THREAD, &process_received_udp_packet, (1*SECONDS)/50, 0 ); } if(!fail){ init_data[0] = 0x10; init_data[1] = 0x00; init_data[2] = 0x00; } else { init_data[0] = 0x00; init_data[1] = 0x10; init_data[2] = 0x00; } write_ws2812(0, 3, init_data); }