added socket test command on nuttx

This commit is contained in:
wlyu 2022-09-26 14:24:19 +08:00
parent 3bc1cffa33
commit dcc91fd4a9
5 changed files with 83 additions and 0 deletions

View File

@ -29,6 +29,7 @@
#ifdef ADD_NUTTX_FETURES
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include "stdio.h"
#endif
@ -218,6 +219,17 @@ SHELL_EXPORT_CMD(SHELL_CMD_PERMISSION(0) | SHELL_CMD_TYPE(SHELL_TYPE_CMD_MAIN) |
#ifdef ADD_NUTTX_FETURES
void tcp_set_ip(char *ip_str)
{
char ip[4] = {0};
if(sscanf(ip_str, "%d.%d.%d.%d", &ip[0], &ip[1], &ip[2], &ip[3]))
{
printf("config ip %s\n", ip_str);
memcpy(tcp_socket_ip, ip, 4);
}
}
void tcp_recv_demo(void)
{
TCPSocketRecvTask(NULL);

View File

@ -196,6 +196,16 @@ SHELL_EXPORT_CMD(SHELL_CMD_PERMISSION(0) | SHELL_CMD_TYPE(SHELL_TYPE_CMD_MAIN) |
#endif
#ifdef ADD_NUTTX_FETURES
void udp_set_ip(char *ip_str)
{
char ip[4] = {0};
if(sscanf(ip_str, "%d.%d.%d.%d", &ip[0], &ip[1], &ip[2], &ip[3]))
{
printf("config ip %s\n", ip_str);
memcpy(udp_socket_ip, ip, 4);
}
}
void udp_recv_demo(void)
{
UdpSocketRecvTask(NULL);

View File

@ -1462,6 +1462,13 @@ int nsh_foreach_var(FAR struct nsh_vtbl_s *vtbl, nsh_foreach_var_t cb,
int cmd_Extsram(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv);
#endif
#if defined(CONFIG_SOCKET_DEMO) && !defined(CONFIG_NSH_DISABLE_SOCKET_DEMO)
int cmd_Udpsend(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv);
int cmd_Udprecv(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv);
int cmd_Tcpsend(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv);
int cmd_Tcprecv(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv);
#endif
#if defined(CONFIG_APPLICATION_SENSOR_HCHO_TB600B_WQ_HCHO1OS) && !defined(CONFIG_NSH_DISABLE_HCHO_TB600B_WQ_HCHO1OS)
int cmd_Hcho1os(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv);
#endif

View File

@ -77,6 +77,53 @@ int cmd_Extsram(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv)
}
#endif
/****************************************************************************
* Name: socket test
****************************************************************************/
#if defined(CONFIG_SOCKET_DEMO) && !defined(CONFIG_NSH_DISABLE_SOCKET_DEMO)
extern void udp_set_ip(char *ip_str);
extern int udp_recv_demo(void);
int cmd_Udprecv(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv)
{
nsh_output(vtbl, "Hello, UDP receive!\n");
if(argc == 2)
udp_set_ip(argv[1]);
udp_recv_demo();
return OK;
}
extern int udp_send_demo(void);
int cmd_Udpsend(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv)
{
nsh_output(vtbl, "Hello, UDP send!\n");
if(argc == 2)
udp_set_ip(argv[1]);
udp_send_demo();
return OK;
}
extern void tcp_set_ip(char *ip_str);
extern int tcp_recv_demo(void);
int cmd_Tcprecv(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv)
{
nsh_output(vtbl, "Hello, TCP receive!\n");
if(argc == 2)
tcp_set_ip(argv[1]);
tcp_recv_demo();
return OK;
}
extern int tcp_send_demo(void);
int cmd_Tcpsend(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv)
{
nsh_output(vtbl, "Hello, TCP send!\n");
if(argc == 2)
tcp_set_ip(argv[1]);
tcp_send_demo();
return OK;
}
#endif
/****************************************************************************
* Name: cmd_Hcho1os
****************************************************************************/

View File

@ -608,6 +608,13 @@ static const struct cmdmap_s g_cmdmap[] =
{ "sram", cmd_Extsram, 1, 1, "[Extra sdram demo cmd.]" },
#endif
#if defined(CONFIG_SOCKET_DEMO) && !defined(CONFIG_NSH_DISABLE_SOCKET_DEMO)
{ "udpsend", cmd_Udpsend, 1, 2, "[Udp send demo cmd.]" },
{ "udprecv", cmd_Udprecv, 1, 2, "[Udp recv demo cmd.]" },
{ "tcpsend", cmd_Tcpsend, 1, 2, "[Tcp send demo cmd.]" },
{ "tcprecv", cmd_Tcprecv, 1, 2, "[Tcp recv demo cmd.]" },
#endif
#if defined(CONFIG_APPLICATION_SENSOR_HCHO_TB600B_WQ_HCHO1OS) && !defined(CONFIG_NSH_DISABLE_HCHO_TB600B_WQ_HCHO1OS)
{ "hcho1os", cmd_Hcho1os, 1, 1, "[get the concentration of formaldehyde with sensor tb600b_wq_hcho1os.]" },
#endif