Compare commits
3 Commits
分支9.3.1
...
test/四乘压力测试
| Author | SHA1 | Date | |
|---|---|---|---|
| a7802a60aa | |||
| 9a93d3baac | |||
| 1461242454 |
@@ -588,8 +588,8 @@ ENUM_CM_RETURN APP_API_MainFunc(void)
|
||||
debug_infor_printf("app proc end at %llu us,used %d us\n", endCycTick, (CM_INT32)((endCycTick - startCycTick) / 1000));
|
||||
|
||||
//gFollowDataLen = GetCiAppData(gFollowData);
|
||||
memset(gFollowData,0x02,1024*500);
|
||||
MSCP_SetFollowData(gFollowData, 1024*500);
|
||||
memset(gFollowData,0x00,1024*1500);
|
||||
MSCP_SetFollowData(gFollowData, 1024*1500 - 1);
|
||||
|
||||
return retVal;
|
||||
}
|
||||
|
||||
@@ -304,6 +304,7 @@ static void s_NetInit_2oo2(void)
|
||||
/*- 变量初始化 */
|
||||
ENUM_CM_RETURN rt = ENUM_CM_FALSE; /* 临时变量 */
|
||||
CM_INT32 val = 0; /* 临时变量 */
|
||||
unsigned int optLen = 0u; /* socket选项值长度 */
|
||||
CM_BOOL rtCheck = CM_FALSE; /* 临时变量 */
|
||||
|
||||
/*- 创建平台数据2取socket */
|
||||
@@ -334,6 +335,47 @@ static void s_NetInit_2oo2(void)
|
||||
(void)setsockopt(s_CFM_Sock.Sock_2oo2_Data, SOL_SOCKET, SO_SNDBUF, (void*)(&val), (unsigned int)sizeof(val));
|
||||
(void)setsockopt(s_CFM_Sock.Sock_2oo2_Data_App, SOL_SOCKET, SO_RCVBUF, (void*)(&val), (unsigned int)sizeof(val));
|
||||
(void)setsockopt(s_CFM_Sock.Sock_2oo2_Data_App, SOL_SOCKET, SO_SNDBUF, (void*)(&val), (unsigned int)sizeof(val));
|
||||
|
||||
/*- 读取并打印socket实际生效的接收、发送缓冲区大小 */
|
||||
optLen = (unsigned int)sizeof(val);
|
||||
if (0 == getsockopt(s_CFM_Sock.Sock_2oo2_Data, SOL_SOCKET, SO_RCVBUF, (void*)(&val), &optLen))
|
||||
{
|
||||
(void)printf("Sock_2oo2_Data SO_RCVBUF = %d bytes\n", val);
|
||||
}
|
||||
else
|
||||
{
|
||||
(void)printf("Sock_2oo2_Data SO_RCVBUF getsockopt failed\n");
|
||||
}
|
||||
|
||||
optLen = (unsigned int)sizeof(val);
|
||||
if (0 == getsockopt(s_CFM_Sock.Sock_2oo2_Data, SOL_SOCKET, SO_SNDBUF, (void*)(&val), &optLen))
|
||||
{
|
||||
(void)printf("Sock_2oo2_Data SO_SNDBUF = %d bytes\n", val);
|
||||
}
|
||||
else
|
||||
{
|
||||
(void)printf("Sock_2oo2_Data SO_SNDBUF getsockopt failed\n");
|
||||
}
|
||||
|
||||
optLen = (unsigned int)sizeof(val);
|
||||
if (0 == getsockopt(s_CFM_Sock.Sock_2oo2_Data_App, SOL_SOCKET, SO_RCVBUF, (void*)(&val), &optLen))
|
||||
{
|
||||
(void)printf("Sock_2oo2_Data_App SO_RCVBUF = %d bytes\n", val);
|
||||
}
|
||||
else
|
||||
{
|
||||
(void)printf("Sock_2oo2_Data_App SO_RCVBUF getsockopt failed\n");
|
||||
}
|
||||
|
||||
optLen = (unsigned int)sizeof(val);
|
||||
if (0 == getsockopt(s_CFM_Sock.Sock_2oo2_Data_App, SOL_SOCKET, SO_SNDBUF, (void*)(&val), &optLen))
|
||||
{
|
||||
(void)printf("Sock_2oo2_Data_App SO_SNDBUF = %d bytes\n", val);
|
||||
}
|
||||
else
|
||||
{
|
||||
(void)printf("Sock_2oo2_Data_App SO_SNDBUF getsockopt failed\n");
|
||||
}
|
||||
/*- 初始化控制信息 */
|
||||
|
||||
/*- 配置接收线程 */
|
||||
|
||||
@@ -35,7 +35,7 @@ extern "C"
|
||||
#define NET_UDP_MAINTENANCE_BUF_SIZE ((1024*5)-(1)) /*2OO2UDP协议栈缓冲区大小(维护模式下用于接收代码)*/
|
||||
#define NET_UDP_2X2_BUF_SIZE ((1024*64)-(1)) /*2X2UDP协议栈缓冲区大小(用于接收代码)*/
|
||||
#define NET_UDP_BUF_SIZE ((1024*64)-(1)) /*UDPsocket消息队列缓冲区(用于接收代码)*/
|
||||
#define NET_UDP_BUF_DOUBLESIZE ((1024*256) - (1)) /*UDP协议栈缓冲区大小(用于接收代码)*/
|
||||
#define NET_UDP_BUF_DOUBLESIZE ((2*1024*1024) - (1)) /*UDP协议栈缓冲区大小(用于接收代码)*/
|
||||
|
||||
#define NET_50K_SIZE (50000u) /*实际允许使用的应用帧大小(用于发送代码)*/
|
||||
#define NET_20K_SIZE (20000u) /*实际允许使用的应用帧大小(用于发送代码)*/
|
||||
|
||||
@@ -180,6 +180,7 @@ ENUM_CM_RETURN CM_UDP_Socket_Create(OUT CM_SOCKET* pSock, IN CM_BOOL isNonBlockM
|
||||
ENUM_CM_RETURN retError = ENUM_CM_FALSE; /* 临时返回值 */
|
||||
struct ip_mreq multiCast; /* 组播配置 */
|
||||
CM_INT32 bCast = 1;
|
||||
u_char loop; /* 0 = disable, 1 = enable (default) */
|
||||
/*- 是否UDP服务未初始化或输入非法 */
|
||||
if ((CM_TRUE != s_UDP_Initialized) || (NULL == pSock))
|
||||
{
|
||||
@@ -209,6 +210,8 @@ ENUM_CM_RETURN CM_UDP_Socket_Create(OUT CM_SOCKET* pSock, IN CM_BOOL isNonBlockM
|
||||
/*组播发送*/
|
||||
addrHost.sin_addr.s_addr = addrIP;
|
||||
(void)setsockopt(*pSock, IPPROTO_IP, IP_MULTICAST_IF, &addrHost.sin_addr, sizeof(addrHost.sin_addr));
|
||||
loop = 0;
|
||||
(void)setsockopt(*pSock, IPPROTO_IP, IP_MULTICAST_LOOP, &loop, sizeof(loop));
|
||||
break;
|
||||
case ENUM_MULTICAST_RCV:
|
||||
/*组播接收*/
|
||||
|
||||
@@ -630,7 +630,7 @@ static void SelfCheckInit(void)
|
||||
{
|
||||
#ifdef QNX
|
||||
/*- 文件自检初始化 */
|
||||
PFM_FileInit();
|
||||
//PFM_FileInit();
|
||||
/*- 内存自检初始化*/
|
||||
PFM_MemCheck_Init();
|
||||
/*- CPU自检初始化*/
|
||||
|
||||
@@ -461,6 +461,8 @@ void PFM_InputProc(void)
|
||||
/*- 外网安全数据接收 */
|
||||
PFM_CFC_Check(26);
|
||||
g_2x2oo2_rx[g_2x2oo2_base][s_2x2oo2_OutnetSafe].mine_len = (CM_UINT32)SFM_RxOutnetSafe(g_2x2oo2_rx[g_2x2oo2_base][s_2x2oo2_OutnetSafe].p_mine_buf, (CM_UINT32)g_2x2oo2_rx[g_2x2oo2_base][s_2x2oo2_OutnetSafe].buf_size);
|
||||
g_2x2oo2_rx[g_2x2oo2_base][s_2x2oo2_OutnetSafe].mine_len = g_PFM_Cfg.OutnetSafePack_Len;
|
||||
CM_Memset(g_2x2oo2_rx[g_2x2oo2_base][s_2x2oo2_OutnetSafe].p_mine_buf, 0x00u, g_PFM_Cfg.OutnetSafePack_Len, g_2x2oo2_rx[g_2x2oo2_base][s_2x2oo2_OutnetSafe].buf_size);
|
||||
MSCP_LOG_MSG("g_2x2oo2_rx[g_2x2oo2_base][s_2x2oo2_OutnetSafe].mine_len = %d\n",g_2x2oo2_rx[g_2x2oo2_base][s_2x2oo2_OutnetSafe].mine_len);
|
||||
/*判断外网透传使能开关*/
|
||||
if((CM_UINT32)0x55u == g_PFM_Cfg.M_OutnetRaw_Enable)
|
||||
|
||||
@@ -133,6 +133,7 @@ static void SFM_2x2_Eth422StateDark(void);
|
||||
// 主要实现函数
|
||||
void save_to_file(const char *format, ...)
|
||||
{
|
||||
return;
|
||||
FILE *fp = NULL;
|
||||
va_list args;
|
||||
int result = 0;
|
||||
@@ -1865,7 +1866,7 @@ static void s_2x2_Recv(void)
|
||||
ENUM_CM_RETURN ret = ENUM_CM_FALSE; /* 临时变量 */
|
||||
PFM_LOG_SET_STOPTIMER(TSCP_DARK_2x2);
|
||||
/*- 以太网循环接收2x2数据 */
|
||||
if(CM_TRUE == s_2x2_Ctrl.TimeSyncFlag)
|
||||
if(CM_TRUE == CFM_GetTimeSyncFlag())
|
||||
{
|
||||
do
|
||||
{
|
||||
@@ -2635,6 +2636,7 @@ void SFM_2x2_EndProc(void)
|
||||
CM_UINT8 type = 0u; /*接收到的跟随数据类型 1 CRC 2 全数据*/
|
||||
static CM_UINT8 debounce = 0u; /*防抖计数*/
|
||||
CM_UINT8 SendFollowDataType = 0u;
|
||||
CM_UINT32 i = 0u;
|
||||
|
||||
|
||||
if(ENUM_4x2_MASTER == stat)
|
||||
@@ -2643,6 +2645,7 @@ void SFM_2x2_EndProc(void)
|
||||
curTickTest[0] = CM_GetTick();
|
||||
/* 条件 本地对系是备或者宕机 && 对地A是备或者宕机 && 对地B是备或者宕机*/
|
||||
SendFollowDataType = SFM_GetAppFollowType();
|
||||
SendFollowDataType = 0;
|
||||
if(1u == SendFollowDataType)
|
||||
{
|
||||
/*- 发送跟随数据 */
|
||||
@@ -2696,14 +2699,20 @@ void SFM_2x2_EndProc(void)
|
||||
{
|
||||
/*- 是否收到了最新的应用跟随数据 */
|
||||
/*- 调用应用API覆盖应用关键数据 */
|
||||
|
||||
//retFollowUp = APP_API_FollowUp(g_RxAppFollow, (CM_UINT32)g_RxAppFollow_len);
|
||||
//CM_RE_ASSERT(ENUM_CM_TRUE == retFollowUp, SFM_2x2_MODE, DARK_FAULT_CODE_FUN_ORDER_9, TSCP_DARK_ASSERT_2);
|
||||
for(i = 0u; i < g_RxAppFollow_len; i++)
|
||||
{
|
||||
g_RxAppFollow[i] = 0;
|
||||
}
|
||||
s_2x2_Ctrl.AppFollowCmpFailFlag = 0u;
|
||||
}
|
||||
else
|
||||
{
|
||||
MSCP_LOG_MSG("no follow data\n");
|
||||
}
|
||||
curTickTest[1] = CM_GetTick();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user