diff --git a/APP_Framework/Framework/connection/adapter_agent.c b/APP_Framework/Framework/connection/adapter_agent.c index 60475e84c..659ff1635 100755 --- a/APP_Framework/Framework/connection/adapter_agent.c +++ b/APP_Framework/Framework/connection/adapter_agent.c @@ -200,11 +200,11 @@ int EntmRecv(ATAgentType agent, char *rev_buffer, int buffer_len, int time_out) UserSemaphoreSetValue(agent->entm_rx_notice, 0); if (UserSemaphoreObtain(agent->entm_rx_notice, time_out)){ - return ERROR; + return -ERROR; } if (buffer_len < agent->entm_recv_len){ - return ERROR; + return -ERROR; } printf("EntmRecv once .\n"); diff --git a/APP_Framework/Framework/connection/zigbee/E18/e18.c b/APP_Framework/Framework/connection/zigbee/E18/e18.c index cf8916d25..f6f59c289 100644 --- a/APP_Framework/Framework/connection/zigbee/E18/e18.c +++ b/APP_Framework/Framework/connection/zigbee/E18/e18.c @@ -363,7 +363,7 @@ static int E18Send(struct Adapter *adapter, const void *buf, size_t len) switch (adapter->info->work_mode) { case TT_MODE1: - PrivWrite(adapter->fd, buf, len); + EntmSend(adapter->agent, buf, len); break; case STT_MODE2: /* need to do */ @@ -390,12 +390,7 @@ static int E18Recv(struct Adapter *adapter, void *buf, size_t len) if(!adapter->agent){ PrivRead(adapter->fd, buf, len); } else { - // while(1){ - if(adapter->agent->temp_recv_len > 0){ - memcpy(buf,adapter->agent->temp_recv_buf,adapter->agent->temp_recv_len); - break; - } - // } + EntmRecv(adapter->agent, buf, len, 3000);/* wait timeout 3000ms*/ } break; case STT_MODE2: