fix lorawan class A demo for RHF76_052DM board

LoRaMac-node-4.4.4 demo
This commit is contained in:
supowang
2020-06-02 16:06:58 +08:00
parent 5b51d50ade
commit 595cd6f0d2
30 changed files with 6918 additions and 933 deletions

View File

@@ -1,98 +1,35 @@
#include "LoRaApi.h"
#include <stdio.h>
#include <string.h>
#include "tos_k.h"
#include "atcmd-board.h"
/*LORA<52><41><EFBFBD><EFBFBD>״̬*/
uint8_t g_join_state = 0;
uint8_t g_st_state = 0;
/*<2A><><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>*/
uint32_t g_rx_num = 0;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD>
#define TASK1_PRIO 3
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ջ<EFBFBD><D5BB>С
#define TASK1_STK_SIZE (1024 * 4)
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƿ<EFBFBD>
k_task_t Task1TCB;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ջ
k_stack_t TASK1_STK[TASK1_STK_SIZE];
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void task1(void *arg);
void lora_send_timer(void* context)
k_task_t task1;
k_stack_t task1_stack[4096];
extern int lora_main(void);
void task1_fun(void *arg)
{
g_st_state =2;
}
void task1(void *arg)
{
at_cmd_init();
LoRa_Init();
printf_device_info();
TimerInit( &TxNextPacketTimer, lora_send_timer );
while(1)
{
LoRaMacProcess();
if(g_join_state == 0)
{
printf("start join...\r\n");
/*<2A><><EFBFBD><EFBFBD>*/
LoRa_JoinNetwork(1);
g_join_state = 1;
}
if(g_join_state == 2)
{
/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
if(g_st_state == 0)
{
g_st_state = 1;
TimerSetValue( &TxNextPacketTimer, 60000 );
TimerStart( &TxNextPacketTimer);
printf("\r\ntime to ");
}
else if(g_st_state == 2)
{
g_st_state = 3;
printf("send!\r\n");
/*<2A><><EFBFBD><EFBFBD>lora<72><61><EFBFBD><EFBFBD>*/
uint8_t tmpbuf[] = "tos tiny!";
Lora_Send(0, 2, tmpbuf, sizeof(tmpbuf));
g_rx_num++;
}
}
at_cmd_handle();
}
lora_main();
}
extern uint8_t sx1276_band;
int main(void)
{
k_err_t err;
TOS_CPU_CPSR_ALLOC();
BoardInitMcu( );
BoardInitPeriph( );
sx1276_band = 2;
printf("welcome to tencent IoTOS\r\n");
err = tos_knl_init(); //<2F><>ʼ<EFBFBD><CABC>TOS
if (err != K_ERR_NONE)
{
printf("tos init failed\r\n");
return err;
}
TOS_CPU_INT_DISABLE();//<2F><><EFBFBD><EFBFBD><EFBFBD>ٽ<EFBFBD><D9BD><EFBFBD>
err = tos_task_create((k_task_t * )&Task1TCB, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƿ<EFBFBD>
(char * )"task1", //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
(k_task_entry_t )task1, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
(void * )0, //<2F><><EFBFBD>ݸ<EFBFBD><DDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD>
(k_prio_t )TASK1_PRIO, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD>
TASK1_STK, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ջ<EFBFBD><D5BB><EFBFBD><EFBFBD>ַ
(size_t)TASK1_STK_SIZE, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ջ<EFBFBD><D5BB>С
(size_t )0); //<2F><>ʹ<EFBFBD><CAB9>ʱ<EFBFBD><CAB1>Ƭ<EFBFBD><C6AC>תʱ<D7AA><CAB1>ʱ<EFBFBD><CAB1>Ƭ<EFBFBD><C6AC><EFBFBD>ȣ<EFBFBD>Ϊ0ʱΪĬ<CEAA>ϳ<EFBFBD><CFB3>ȣ<EFBFBD>
printf("Welcome to TencentOS Tiny! \r\n");
tos_knl_init();
TOS_CPU_INT_DISABLE();
err = tos_task_create(&task1,
"task1",
task1_fun,
NULL,
3,
task1_stack,
4096,
20);
if(err != K_ERR_NONE)
printf("TencentOS Tiny Create task1 fail! code : %d \r\n",err);
TOS_CPU_INT_ENABLE(); //<2F>˳<EFBFBD><CBB3>ٽ<EFBFBD><D9BD><EFBFBD>
tos_knl_start(); //<2F><><EFBFBD><EFBFBD>TOS
while (1)
{
}
TOS_CPU_INT_ENABLE();
tos_knl_start();
}