update some code

This commit is contained in:
chuyunfei 2023-08-22 19:10:57 -07:00
parent a6f1215923
commit 202a43cbcb
2 changed files with 30 additions and 31 deletions

View File

@ -122,13 +122,13 @@ struct LoraHeaderFormat header_recv_buffer;
static int LoraRecvHeader(struct Adapter* adapter, struct LoraHeaderFormat* header)
{
UserTaskDelay(1000);
PrivTaskDelay(1000);
if (LORA_HEADER_LENGTH == AdapterDeviceRecv(adapter,header,LORA_HEADER_LENGTH ))
{
if (0 == CheckHeaderCrc(header))
{
UserTaskDelay(500);
PrivTaskDelay(500);
return LORA_HEADER_LENGTH;
}
}
@ -138,13 +138,13 @@ static int LoraRecvHeader(struct Adapter* adapter, struct LoraHeaderFormat* head
static int LoraSendHeader(struct Adapter* adapter, struct LoraHeaderFormat* header)
{
UserTaskDelay(500);
PrivTaskDelay(500);
CalHeaderCrc(header);
if (LORA_HEADER_LENGTH == AdapterDeviceSend(adapter,header,LORA_HEADER_LENGTH ))
{
UserTaskDelay(1000);
PrivTaskDelay(1000);
return LORA_HEADER_LENGTH;
}
@ -159,7 +159,7 @@ static int LoraSendData(struct Adapter* adapter,uint8_t* src_data, uint16_t raw_
return -1;
}
UserTaskDelay(500);
PrivTaskDelay(500);
CalCrc(src_data,raw_data_length,src_data + raw_data_length, src_data + raw_data_length + 1);
@ -171,7 +171,7 @@ static int LoraSendData(struct Adapter* adapter,uint8_t* src_data, uint16_t raw_
printf("Send data : %s crc_lo: %X crc_hi: %X \n",src_data,crc_lo,crc_hi);
UserTaskDelay(1000);
PrivTaskDelay(1000);
return raw_data_length + 2;
}
@ -187,11 +187,11 @@ static int LoraRecvData(struct Adapter* adapter, uint8_t* dest_data, uint16_t da
return -1;
}
UserTaskDelay(1000);
PrivTaskDelay(1000);
if (data_length == AdapterDeviceRecv(adapter,dest_data,data_length))
{
UserTaskDelay(500);
PrivTaskDelay(500);
if (0 == CheckCrc(dest_data,data_length -2,dest_data[data_length-2],dest_data[data_length-1]))
{
return data_length;
@ -218,7 +218,7 @@ static int LoraClientJoinNet()
printf("The Lora device failed to open\n");
return -1;
}
UserMutexObtain(client_param->client_mtx, -1);
PrivMutexObtain(&client_param->client_mtx);
memset(&header_send_buffer,0,LORA_HEADER_LENGTH);
@ -229,7 +229,7 @@ static int LoraClientJoinNet()
if (LORA_HEADER_LENGTH != LoraSendHeader(adapter,&header_send_buffer))
{
printf("The header of the incoming request failed to be sent\n");
UserMutexAbandon(client_param->client_mtx);
PrivMutexAbandon(&client_param->client_mtx);
return -1;
}
@ -238,14 +238,14 @@ static int LoraClientJoinNet()
if (LORA_HEADER_LENGTH != LoraRecvHeader(adapter,&header_recv_buffer))
{
printf("Failed to receive the gateway inbound response data\n");
UserMutexAbandon(client_param->client_mtx);
PrivMutexAbandon(&client_param->client_mtx);
return -1;
}
if (header_recv_buffer.lora_data_type == GATEWAY_REPLY_CLIENT_RESULT_UN_EXPECTED)
{
printf("The gateway cannot accept the client from the network\n");
UserMutexAbandon(client_param->client_mtx);
PrivMutexAbandon(&client_param->client_mtx);
return -1;
}
@ -253,7 +253,7 @@ static int LoraClientJoinNet()
client_param->gateway_id = header_recv_buffer.gateway_id;
printf("The client successfully joins the network through the gateway\n");
UserMutexAbandon(client_param->client_mtx);
PrivMutexAbandon(&client_param->client_mtx);
return 0;
}
@ -287,7 +287,7 @@ static int LoraClientSendData(void* data, uint16_t raw_data_length)
return -1;
}
UserMutexObtain(client_param->client_mtx, -1);
PrivMutexObtain(&client_param->client_mtx);
memset(&header_send_buffer,0,LORA_HEADER_LENGTH);
@ -300,7 +300,7 @@ static int LoraClientSendData(void* data, uint16_t raw_data_length)
if (LORA_HEADER_LENGTH != LoraSendHeader(adapter,&header_send_buffer))
{
printf("The header of the incoming request failed to be sent\n");
UserMutexAbandon(client_param->client_mtx);
PrivMutexAbandon(&client_param->client_mtx);
return -1;
}
@ -309,25 +309,25 @@ static int LoraClientSendData(void* data, uint16_t raw_data_length)
if (LORA_HEADER_LENGTH != LoraRecvHeader(adapter,&header_recv_buffer))
{
printf("Failed to receive the gateway inbound response data\n");
UserMutexAbandon(client_param->client_mtx);
PrivMutexAbandon(&client_param->client_mtx);
return -1;
}
if (header_recv_buffer.lora_data_type == GATEWAY_REPLY_CLIENT_RESULT_UN_EXPECTED)
{
printf("The gateway cannot accept client data\n");
UserMutexAbandon(client_param->client_mtx);
PrivMutexAbandon(&client_param->client_mtx);
return -1;
}
if ((raw_data_length + 2)!= LoraSendData(adapter,data,raw_data_length))
{
printf("The client gets permission to upload the data, but the send fails\n");
UserMutexAbandon(client_param->client_mtx);
PrivMutexAbandon(&client_param->client_mtx);
return -1;
}
UserMutexAbandon(client_param->client_mtx);
PrivMutexAbandon(&client_param->client_mtx);
printf("The client successfully sends the data\n");
return 0;
@ -350,7 +350,7 @@ static int LoraClientQuitNet()
return -1;
}
UserMutexObtain(client_param->client_mtx, -1);
PrivMutexObtain(&client_param->client_mtx);
memset(&header_send_buffer,0,LORA_HEADER_LENGTH);
header_send_buffer.client_id=client_param->client_id;
@ -361,7 +361,7 @@ static int LoraClientQuitNet()
if (LORA_HEADER_LENGTH != LoraSendHeader(adapter,&header_send_buffer))
{
printf("The header of the incoming request failed to be sent\n");
UserMutexAbandon(client_param->client_mtx);
PrivMutexAbandon(&client_param->client_mtx);
return -1;
}
@ -370,14 +370,14 @@ static int LoraClientQuitNet()
if (LORA_HEADER_LENGTH != LoraRecvHeader(adapter,&header_recv_buffer))
{
printf("Failed to receive the gateway inbound response data\n");
UserMutexAbandon(client_param->client_mtx);
PrivMutexAbandon(&client_param->client_mtx);
return -1;
}
if (header_recv_buffer.lora_data_type == GATEWAY_REPLY_CLIENT_RESULT_UN_EXPECTED)
{
printf("Client exit from the network failed\n");
UserMutexAbandon(client_param->client_mtx);
PrivMutexAbandon(&client_param->client_mtx);
return -1;
}
@ -385,7 +385,7 @@ static int LoraClientQuitNet()
client_param->gateway_id = 0;
printf("The client successfully quit the network through the gateway\n");
UserMutexAbandon(client_param->client_mtx);
PrivMutexAbandon(&client_param->client_mtx);
return 0;
}
@ -538,7 +538,7 @@ static void * LoraGatewayAutoTask(void * parameter)
while (1)
{
UserMutexObtain(gateway_param->gateway_mtx,-1);
PrivMutexObtain(&gateway_param->gateway_mtx);
memset(&header_recv_buffer, 0, LORA_HEADER_LENGTH);
if (LORA_HEADER_LENGTH == LoraRecvHeader(gateway_adapter,&header_recv_buffer))
@ -553,7 +553,7 @@ static void * LoraGatewayAutoTask(void * parameter)
}
}
UserMutexAbandon(gateway_param->gateway_mtx);
PrivMutexAbandon(&gateway_param->gateway_mtx);
}
END:
@ -582,7 +582,7 @@ static int UsrAdapterLoraRegister(struct Adapter *adapter)
lora_gateway->gateway_id = DEAFULT_GATEWAY_ID;
lora_gateway->panid = DEAFULT_PANID;
lora_gateway->gateway_mtx = UserMutexCreate();
if (lora_gateway->gateway_mtx < 0)
if (PrivMutexCreate(&lora_gateway->gateway_mtx,0) < 0)
{
printf("create lora gateway mutex fail\n");
return -1;
@ -603,8 +603,7 @@ static int UsrAdapterLoraRegister(struct Adapter *adapter)
lora_client->client_id = DEAFULT_CLIENT_ID;
lora_client->client_state = CLIENT_DISCONNECT;
lora_client->panid = DEAFULT_PANID;
lora_client->client_mtx = UserMutexCreate();
if (lora_client->client_mtx < 0)
if (PrivMutexCreate(&lora_client->client_mtx,0)< 0)
{
printf("create lora client mutex fail\n");
return -1;

View File

@ -47,7 +47,7 @@ struct LoraClientParam
uint8_t panid;
uint8_t gateway_id;
enum ClientState client_state;
int client_mtx;
pthread_mutex_t client_mtx;
};
struct LoraGatewayParam
@ -56,7 +56,7 @@ struct LoraGatewayParam
uint8_t panid;
uint8_t client_id[GATEWAY_MAX_CLIENT_NUM];
int client_num;
int gateway_mtx;
pthread_mutex_t gateway_mtx;
};
enum LoraDataType