forked from xuos/xiuos
Merge branch 'prepare_for_master' into e22lora
This commit is contained in:
commit
6f6860618e
|
@ -54,6 +54,8 @@ extern AdapterProductInfoType E22Attach(struct Adapter *adapter);
|
||||||
|
|
||||||
#define ADAPTER_LORA_RECEIVE_ERROR_CNT 1
|
#define ADAPTER_LORA_RECEIVE_ERROR_CNT 1
|
||||||
|
|
||||||
|
#define DEFAULT_SEM_TIMEOUT 10
|
||||||
|
|
||||||
//need to change status if the lora client wants to quit the net when timeout or a certain event
|
//need to change status if the lora client wants to quit the net when timeout or a certain event
|
||||||
//eg.can also use sem to trigger quit function
|
//eg.can also use sem to trigger quit function
|
||||||
static int g_adapter_lora_quit_flag = 0;
|
static int g_adapter_lora_quit_flag = 0;
|
||||||
|
@ -457,7 +459,10 @@ static int LoraClientDataAnalyze(struct Adapter *adapter, void *send_buf, int le
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
uint8_t client_id = adapter->net_role_id;
|
uint8_t client_id = adapter->net_role_id;
|
||||||
|
|
||||||
ret = PrivSemaphoreObtainWait(&adapter->sem, NULL);
|
struct timespec abstime;
|
||||||
|
abstime.tv_sec = DEFAULT_SEM_TIMEOUT;
|
||||||
|
|
||||||
|
ret = PrivSemaphoreObtainWait(&adapter->sem, &abstime);
|
||||||
if (0 == ret) {
|
if (0 == ret) {
|
||||||
//only handle this client_id information from gateway
|
//only handle this client_id information from gateway
|
||||||
if ((client_recv_data_format[client_id - 1].client_id == adapter->net_role_id) &&
|
if ((client_recv_data_format[client_id - 1].client_id == adapter->net_role_id) &&
|
||||||
|
@ -685,6 +690,8 @@ static void *LoraReceiveTask(void *parameter)
|
||||||
void LoraGatewayProcess(struct Adapter *lora_adapter, struct LoraGatewayParam *gateway)
|
void LoraGatewayProcess(struct Adapter *lora_adapter, struct LoraGatewayParam *gateway)
|
||||||
{
|
{
|
||||||
int i, ret = 0;
|
int i, ret = 0;
|
||||||
|
struct timespec abstime;
|
||||||
|
abstime.tv_sec = DEFAULT_SEM_TIMEOUT;
|
||||||
|
|
||||||
#ifdef GATEWAY_CMD_MODE
|
#ifdef GATEWAY_CMD_MODE
|
||||||
for (i = 0; i < gateway->client_num; i ++) {
|
for (i = 0; i < gateway->client_num; i ++) {
|
||||||
|
@ -696,7 +703,7 @@ void LoraGatewayProcess(struct Adapter *lora_adapter, struct LoraGatewayParam *g
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = PrivSemaphoreObtainWait(&gateway_recv_data_sem, NULL);
|
ret = PrivSemaphoreObtainWait(&gateway_recv_data_sem, &abstime);
|
||||||
if (0 == ret) {
|
if (0 == ret) {
|
||||||
printf("LoraGatewayProcess receive client %d data done\n", gateway->client_id[i]);
|
printf("LoraGatewayProcess receive client %d data done\n", gateway->client_id[i]);
|
||||||
}
|
}
|
||||||
|
|
|
@ -45,23 +45,23 @@ typedef int64_t int64;
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define OPE_INT 0x0000
|
#define OPE_INT 0x0000
|
||||||
#define OPE_CFG 0x0001
|
#define OPE_CFG 0x0001
|
||||||
|
|
||||||
#define NAME_NUM_MAX 32
|
#define NAME_NUM_MAX 32
|
||||||
|
|
||||||
|
|
||||||
/*********************GPIO define*********************/
|
/*********************GPIO define*********************/
|
||||||
#define GPIO_LOW 0x00
|
#define GPIO_LOW 0x00
|
||||||
#define GPIO_HIGH 0x01
|
#define GPIO_HIGH 0x01
|
||||||
|
|
||||||
#define GPIO_CFG_OUTPUT 0x00
|
#define GPIO_CFG_OUTPUT 0x00
|
||||||
#define GPIO_CFG_INPUT 0x01
|
#define GPIO_CFG_INPUT 0x01
|
||||||
#define GPIO_CFG_INPUT_PULLUP 0x02
|
#define GPIO_CFG_INPUT_PULLUP 0x02
|
||||||
#define GPIO_CFG_INPUT_PULLDOWN 0x03
|
#define GPIO_CFG_INPUT_PULLDOWN 0x03
|
||||||
#define GPIO_CFG_OUTPUT_OD 0x04
|
#define GPIO_CFG_OUTPUT_OD 0x04
|
||||||
|
|
||||||
#define GPIO_CONFIG_MODE 0xffffffff
|
#define GPIO_CONFIG_MODE 0xffffffff
|
||||||
|
|
||||||
/********************SERIAL define*******************/
|
/********************SERIAL define*******************/
|
||||||
#define BAUD_RATE_2400 2400
|
#define BAUD_RATE_2400 2400
|
||||||
|
@ -175,9 +175,6 @@ int PrivMutexDelete(pthread_mutex_t *p_mutex);
|
||||||
int PrivMutexObtain(pthread_mutex_t *p_mutex);
|
int PrivMutexObtain(pthread_mutex_t *p_mutex);
|
||||||
int PrivMutexAbandon(pthread_mutex_t *p_mutex);
|
int PrivMutexAbandon(pthread_mutex_t *p_mutex);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*********************semaphore**********************/
|
/*********************semaphore**********************/
|
||||||
|
|
||||||
int PrivSemaphoreCreate(sem_t *sem, int pshared, unsigned int value);
|
int PrivSemaphoreCreate(sem_t *sem, int pshared, unsigned int value);
|
||||||
|
|
Loading…
Reference in New Issue