update rt-thread bsp and add webnet from tian_chunyu

it is OK
This commit is contained in:
xuedongliang
2022-06-22 13:31:35 +08:00
22 changed files with 281 additions and 50 deletions
@@ -436,11 +436,13 @@ int DeleteATAgent(ATAgentType agent)
PrivMutexDelete(&agent->lock);
}
#endif
#ifdef ADD_XIZI_FETURES
if (agent->entm_rx_notice) {
printf("delete agent entm_rx_notice = %d\n",agent->entm_rx_notice);
PrivSemaphoreDelete(&agent->entm_rx_notice);
}
#else
#endif
#ifdef ADD_XIZI_FETURES
if (agent->rsp_sem) {
printf("delete agent rsp_sem = %d\n",agent->rsp_sem);
@@ -74,7 +74,11 @@ struct ATAgent
char entm_recv_buf[ENTM_RECV_MAX];
uint32 entm_recv_len;
enum ReceiveMode receive_mode;
#ifdef ADD_XIZI_FETURES
int entm_rx_notice;
#else
sem_t entm_rx_notice;
#endif
};
typedef struct ATAgent *ATAgentType;
@@ -2,7 +2,8 @@ import os
Import('RTT_ROOT')
from building import *
SOURCES = []
SOURCES = ['adapter_bluetooth.c'] + SOURCES
if GetDepend(['CONNECTION_ADAPTER_BLUETOOTH']):
SOURCES = ['adapter_bluetooth.c'] + SOURCES
objs = []
cwd = GetCurrentDir()
path = [cwd]
@@ -0,0 +1,19 @@
import os
Import('RTT_ROOT')
from building import *
SOURCES = []
if GetDepend(['CONNECTION_ADAPTER_ETHERNET']):
SOURCES = ['adapter_ethernet.c'] + SOURCES
objs = []
cwd = GetCurrentDir()
path = [cwd]
group = DefineGroup('ethernet', SOURCES, depend = [], CPPPATH = [cwd])
objs = objs + group
list = os.listdir(cwd)
for d in list:
path = os.path.join(cwd, d)
if os.path.isfile(os.path.join(path, 'SConscript')):
objs = objs + SConscript(os.path.join(path, 'SConscript'))
Return('objs')
@@ -97,28 +97,33 @@ int AdapterEthernetTest(void)
AdapterDeviceSetUp(adapter);
const char *ip = "10.10.100.50";
const char *port = "12345";
const char *ip = "192.168.131.26";
const char *port = "9999";
enum NetRoleType net_role = CLIENT;//SERVER
enum IpType ip_type = IPV4;
AdapterDeviceConnect(adapter, net_role, ip, port, ip_type);
printf("ready to test data transfer\n");
PrivTaskDelay(2000);
len = strlen(ethernet_msg);
for (i = 0;i < 10; i ++) {
printf("AdapterEthernetTest send %s\n", ethernet_msg);
AdapterDeviceSend(adapter, ethernet_msg, len);
PrivTaskDelay(4000);
}
while (1) {
AdapterDeviceRecv(adapter, ethernet_recv_msg, 128);
printf("AdapterEthernetTest recv %s\n", ethernet_recv_msg);
memset(ethernet_recv_msg, 0, 128);
}
#endif
return 0;
}
#ifdef ADD_RTTHREAD_FETURES
MSH_CMD_EXPORT(AdapterEthernetTest,a ethernet adpter sample);
#elif definded ADD_XIZI_FETURES
SHELL_EXPORT_CMD(SHELL_CMD_PERMISSION(0)|SHELL_CMD_TYPE(SHELL_TYPE_CMD_FUNC)|SHELL_CMD_PARAM_NUM(0)|SHELL_CMD_DISABLE_RETURN, AdapterEthernetTest, AdapterEthernetTest, show adapter ethernet information);
#endif
@@ -29,5 +29,7 @@ if ADD_NUTTX_FETURES
endif
if ADD_RTTHREAD_FETURES
config ADAPTER_HFA21_DRIVER
string "HFA21 device uart driver path"
default "/dev/uart3"
endif
@@ -0,0 +1,10 @@
from building import *
import os
cwd = GetCurrentDir()
src = []
if GetDepend(['ADAPTER_HFA21_ETHERNET']):
src += ['hfa21_ethernet.c']
group = DefineGroup('connection ethernet hfa21', src, depend = [], CPPPATH = [cwd])
Return('group')
@@ -72,7 +72,7 @@ static int Hfa21EthernetOpen(struct Adapter *adapter)
/*step2: init AT agent*/
if (!adapter->agent) {
char *agent_name = "ethernet_uart_client";
if (EOK != InitATAgent(agent_name, adapter->fd, 512)) {
if (0 != InitATAgent(agent_name, adapter->fd, 512)) {
printf("at agent init failed !\n");
return -1;
}
@@ -168,19 +168,20 @@ static int Hfa21EthernetSetUp(struct Adapter *adapter)
Hfa21EthernetInitAtCmd(adapter->agent);
/*Step3 : FEPHY enable phy function*/
/*Step3 : FEPHY enable phy function*/
ret = AtCmdConfigAndCheck(adapter->agent, HFA21_ETHERNET_AT_FEPHY_CMD, HFA21_ETHERNET_OK_REPLY);
if (ret < 0) {
goto __exit;
}
PrivTaskDelay(2000);
/*Step4 : FVEW disable WANN function, ethernet work at LANN mode*/
ret = AtCmdConfigAndCheck(adapter->agent, HFA21_ETHERNET_AT_DISABLE_WANN_CMD, HFA21_ETHERNET_OK_REPLY);
if (ret < 0) {
goto __exit;
}
/*Step5 : RELD enable F-AT cmd*/
PrivTaskDelay(2000);
ret = AtCmdConfigAndCheck(adapter->agent, HFA21_ETHERNET_AT_RELD_CMD, HFA21_ETHERNET_OK_REPLY);
if (ret < 0) {
goto __exit;
@@ -195,13 +196,13 @@ static int Hfa21EthernetSetUp(struct Adapter *adapter)
if (ret < 0) {
goto __exit;
}
PrivTaskDelay(2000);
/*Step7 : AT+WANN check if get ip、netmask、gateway*/
ret = AtCmdConfigAndCheck(adapter->agent, HFA21_ETHERNET_AT_WANN_CMD, HFA21_ETHERNET_OK_REPLY);
if (ret < 0) {
goto __exit;
}
PrivTaskDelay(2000);
/*Step8 : AT+Z reboot hfa21 device*/
ret = AtCmdConfigAndCheck(adapter->agent, HFA21_ETHERNET_AT_REBOOT_CMD, HFA21_ETHERNET_OK_REPLY);
if (ret < 0) {
@@ -209,7 +210,6 @@ static int Hfa21EthernetSetUp(struct Adapter *adapter)
}
PrivTaskDelay(10000);
return ret;
__exit:
@@ -365,6 +365,7 @@ static int Hfa21EthernetConnect(struct Adapter *adapter, enum NetRoleType net_ro
}
adapter->net_role = net_role;
PrivTaskDelay(2000);
/*Step3 : AT+Z reboot hfa21 device*/
ret = AtCmdConfigAndCheck(adapter->agent, HFA21_ETHERNET_AT_REBOOT_CMD, HFA21_ETHERNET_OK_REPLY);
@@ -0,0 +1,19 @@
import os
Import('RTT_ROOT')
from building import *
SOURCES = []
if GetDepend(['CONNECTION_ADAPTER_NB']):
SOURCES = ['adapter_nbiot.c'] + SOURCES
objs = []
cwd = GetCurrentDir()
path = [cwd]
group = DefineGroup('nb', SOURCES, depend = [], CPPPATH = [cwd])
objs = objs + group
list = os.listdir(cwd)
for d in list:
path = os.path.join(cwd, d)
if os.path.isfile(os.path.join(path, 'SConscript')):
objs = objs + SConscript(os.path.join(path, 'SConscript'))
Return('objs')
@@ -25,6 +25,8 @@
extern AdapterProductInfoType BC28Attach(struct Adapter *adapter);
#endif
#define ADAPTER_NBIOT_NAME "nbiot"
static int AdapterNbiotRegister(struct Adapter *adapter)
{
int ret = 0;
@@ -95,7 +97,13 @@ int opennb(void)
return 0;
}
// SHELL_EXPORT_CMD(SHELL_CMD_PERMISSION(0)|SHELL_CMD_TYPE(SHELL_TYPE_CMD_FUNC)|SHELL_CMD_PARAM_NUM(0)|SHELL_CMD_DISABLE_RETURN, opennb, opennb, show adapter nb information);
#ifdef ADD_RTTHREAD_FETURES
MSH_CMD_EXPORT(opennb,open nb sample);
#endif
#ifdef ADD_XIZI_FETURES
SHELL_EXPORT_CMD(SHELL_CMD_PERMISSION(0)|SHELL_CMD_TYPE(SHELL_TYPE_CMD_FUNC)|SHELL_CMD_PARAM_NUM(0)|SHELL_CMD_DISABLE_RETURN, opennb, opennb, show adapter nb information);
#endif
int closenb(void)
{
int ret = 0;
@@ -113,8 +121,13 @@ int closenb(void)
return 0;
}
// SHELL_EXPORT_CMD(SHELL_CMD_PERMISSION(0)|SHELL_CMD_TYPE(SHELL_TYPE_CMD_FUNC)|SHELL_CMD_PARAM_NUM(0)|SHELL_CMD_DISABLE_RETURN, closenb, closenb, show adapter nb information);
#ifdef ADD_RTTHREAD_FETURES
MSH_CMD_EXPORT(closenb,close nb sample);
#endif
#ifdef ADD_XIZI_FETURES
SHELL_EXPORT_CMD(SHELL_CMD_PERMISSION(0)|SHELL_CMD_TYPE(SHELL_TYPE_CMD_FUNC)|SHELL_CMD_PARAM_NUM(0)|SHELL_CMD_DISABLE_RETURN, closenb, closenb, show adapter nb information);
#endif
int connectnb(int argc, char *argv[])
{
const char *send_msg = argv[1];
@@ -133,7 +146,12 @@ int closenb(void)
return 0;
}
// SHELL_EXPORT_CMD(SHELL_CMD_PERMISSION(0)|SHELL_CMD_TYPE(SHELL_TYPE_CMD_MAIN)|SHELL_CMD_PARAM_NUM(2)|SHELL_CMD_DISABLE_RETURN, connectnb, connectnb, show adapter nb information);
#ifdef ADD_RTTHREAD_FETURES
MSH_CMD_EXPORT(connectnb,connect nb test);
#endif
#ifdef ADD_XIZI_FETURES
SHELL_EXPORT_CMD(SHELL_CMD_PERMISSION(0)|SHELL_CMD_TYPE(SHELL_TYPE_CMD_MAIN)|SHELL_CMD_PARAM_NUM(2)|SHELL_CMD_DISABLE_RETURN, connectnb, connectnb, show adapter nb information);
#endif
int sendnb(int argc, char *argv[])
{
@@ -154,7 +172,12 @@ int closenb(void)
return 0;
}
// SHELL_EXPORT_CMD(SHELL_CMD_PERMISSION(0)|SHELL_CMD_TYPE(SHELL_TYPE_CMD_MAIN)|SHELL_CMD_PARAM_NUM(2)|SHELL_CMD_DISABLE_RETURN, sendnb, sendnb, show adapter nb information);
#ifdef ADD_RTTHREAD_FETURES
MSH_CMD_EXPORT(sendnb,send nb test);
#endif
#ifdef ADD_XIZI_FETURES
SHELL_EXPORT_CMD(SHELL_CMD_PERMISSION(0)|SHELL_CMD_TYPE(SHELL_TYPE_CMD_MAIN)|SHELL_CMD_PARAM_NUM(2)|SHELL_CMD_DISABLE_RETURN, sendnb, sendnb, show adapter nb information);
#endif
int recvnb(void)
{
@@ -167,5 +190,9 @@ int closenb(void)
return 0;
}
// SHELL_EXPORT_CMD(SHELL_CMD_PERMISSION(0)|SHELL_CMD_TYPE(SHELL_TYPE_CMD_FUNC)|SHELL_CMD_PARAM_NUM(0)|SHELL_CMD_DISABLE_RETURN, recvnb, recvnb, show adapter nb information);
#ifdef ADD_RTTHREAD_FETURES
MSH_CMD_EXPORT(recvnb,receive nb test);
#endif
#ifdef ADD_XIZI_FETURES
SHELL_EXPORT_CMD(SHELL_CMD_PERMISSION(0)|SHELL_CMD_TYPE(SHELL_TYPE_CMD_FUNC)|SHELL_CMD_PARAM_NUM(0)|SHELL_CMD_DISABLE_RETURN, recvnb, recvnb, show adapter nb information);
#endif
@@ -36,5 +36,13 @@ if ADD_NUTTX_FETURES
endif
if ADD_RTTHREAD_FETURES
config ADAPTER_BC28_DRIVER
string "BC28 device uart driver path"
default "/dev/uart2"
config ADAPTER_BC28_PIN_DRIVER
string "BC28 device pin driver path"
default "/dev/pin"
config ADAPTER_BC28_RESETPIN
string "BC28 RESET pin number"
default "100"
endif
@@ -0,0 +1,10 @@
from building import *
import os
cwd = GetCurrentDir()
src = []
if GetDepend(['ADAPTER_BC28']):
src += ['bc28.c']
group = DefineGroup('connection nb bc28', src, depend = [], CPPPATH = [cwd])
Return('group')
@@ -490,7 +490,7 @@ static int BC28Open(struct Adapter *adapter)
/*step2: init AT agent*/
if (!adapter->agent) {
char *agent_name = "niot_device";
if (EOK != InitATAgent(agent_name, adapter->fd, 512)) {
if (0 != InitATAgent(agent_name, adapter->fd, 512)) {
PrivClose(adapter->fd);
PrivMutexDelete(&nbiot_lock);
printf("at agent init failed !\n");
@@ -2,7 +2,8 @@ import os
Import('RTT_ROOT')
from building import *
SOURCES = []
SOURCES = ['adapter_wifi.c'] + SOURCES
if GetDepend(['CONNECTION_ADAPTER_WIFI']):
SOURCES = ['adapter_wifi.c'] + SOURCES
objs = []
cwd = GetCurrentDir()
path = [cwd]
@@ -195,3 +195,12 @@ void PrivFree(void *pointer)
free(pointer);
}
/*********************kernel**********************/
void PrivTaskenterCritical()
{
rt_enter_critical();
}
void PrivTaskexitCritical()
{
rt_exit_critical();
}
@@ -38,6 +38,7 @@
#include <dfs_posix.h>
#include <dfs.h>
#include<sys/ioctl.h>
#include <sys/select.h>
#ifdef RT_USING_POSIX_TERMIOS
#include <posix_termios.h>
#endif
@@ -60,7 +61,7 @@
#ifdef __cplusplus
extern "C" {
#endif
typedef signed char bool;
typedef signed char int8;
typedef signed short int16;
typedef signed int int32;
@@ -77,7 +78,7 @@ typedef unsigned long long uint64;
#endif
#define OPE_INT 0x0000
#define OPE_CFG 0x0001
#define OPE_CFG 0x0001
#define NAME_NUM_MAX 32
@@ -96,6 +97,9 @@ typedef unsigned long long uint64;
#define SERIAL_RB_BUFSZ 128
#endif
#define TRUE (1)
#define FALSE (0)
struct PinDevIrq
{
int irq_mode;//< RISING/FALLING/HIGH/LOW
@@ -197,6 +201,13 @@ void *PrivCalloc(size_t count, size_t size);
void PrivFree(void *pointer);
/*********************kernel**********************/
void PrivTaskenterCritical();
void PrivTaskexitCritical();
#ifdef __cplusplus
}
#endif