forked from xuos/xiuos
add zigbee e18 receive function
This commit is contained in:
parent
6be676af78
commit
b0f717bee4
|
@ -200,11 +200,11 @@ int EntmRecv(ATAgentType agent, char *rev_buffer, int buffer_len, int time_out)
|
||||||
UserSemaphoreSetValue(agent->entm_rx_notice, 0);
|
UserSemaphoreSetValue(agent->entm_rx_notice, 0);
|
||||||
|
|
||||||
if (UserSemaphoreObtain(agent->entm_rx_notice, time_out)){
|
if (UserSemaphoreObtain(agent->entm_rx_notice, time_out)){
|
||||||
return ERROR;
|
return -ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (buffer_len < agent->entm_recv_len){
|
if (buffer_len < agent->entm_recv_len){
|
||||||
return ERROR;
|
return -ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
printf("EntmRecv once .\n");
|
printf("EntmRecv once .\n");
|
||||||
|
|
|
@ -363,7 +363,7 @@ static int E18Send(struct Adapter *adapter, const void *buf, size_t len)
|
||||||
switch (adapter->info->work_mode)
|
switch (adapter->info->work_mode)
|
||||||
{
|
{
|
||||||
case TT_MODE1:
|
case TT_MODE1:
|
||||||
PrivWrite(adapter->fd, buf, len);
|
EntmSend(adapter->agent, buf, len);
|
||||||
break;
|
break;
|
||||||
case STT_MODE2:
|
case STT_MODE2:
|
||||||
/* need to do */
|
/* need to do */
|
||||||
|
@ -390,12 +390,7 @@ static int E18Recv(struct Adapter *adapter, void *buf, size_t len)
|
||||||
if(!adapter->agent){
|
if(!adapter->agent){
|
||||||
PrivRead(adapter->fd, buf, len);
|
PrivRead(adapter->fd, buf, len);
|
||||||
} else {
|
} else {
|
||||||
// while(1){
|
EntmRecv(adapter->agent, buf, len, 3000);/* wait timeout 3000ms*/
|
||||||
if(adapter->agent->temp_recv_len > 0){
|
|
||||||
memcpy(buf,adapter->agent->temp_recv_buf,adapter->agent->temp_recv_len);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case STT_MODE2:
|
case STT_MODE2:
|
||||||
|
|
Loading…
Reference in New Issue