add pm2d5 to lorawam project
This commit is contained in:
337
board/RHF0M0E5_STM32WLE5xx/BSP/Hardware/PM25/sensor_parser.c
Normal file
337
board/RHF0M0E5_STM32WLE5xx/BSP/Hardware/PM25/sensor_parser.c
Normal file
@@ -0,0 +1,337 @@
|
||||
/*----------------------------------------------------------------------------
|
||||
* Tencent is pleased to support the open source community by making TencentOS
|
||||
* available.
|
||||
*
|
||||
* Copyright (C) 2019 THL A29 Limited, a Tencent company. All rights reserved.
|
||||
* If you have downloaded a copy of the TencentOS binary from Tencent, please
|
||||
* note that the TencentOS binary is licensed under the BSD 3-Clause License.
|
||||
*
|
||||
* If you have downloaded a copy of the TencentOS source code from Tencent,
|
||||
* please note that TencentOS source code is licensed under the BSD 3-Clause
|
||||
* License, except for the third-party components listed below which are
|
||||
* subject to different license terms. Your integration of TencentOS into your
|
||||
* own projects may require compliance with the BSD 3-Clause License, as well
|
||||
* as the other licenses applicable to the third-party components included
|
||||
* within TencentOS.
|
||||
*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "sensor_parser.h"
|
||||
|
||||
__STATIC__ shell_ctl_t shell_ctl;
|
||||
|
||||
__STATIC__ k_stack_t shell_parser_task_stack[SHELL_PARSER_TASK_STACK_SIZE];
|
||||
|
||||
__STATIC__ int shell_getchar(void)
|
||||
{
|
||||
uint8_t chr;
|
||||
k_err_t err;
|
||||
|
||||
if (tos_sem_pend(&SHELL_CTL->shell_rx_sem, TOS_TIME_FOREVER) != K_ERR_NONE) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
err = tos_chr_fifo_pop(&SHELL_CTL->shell_rx_fifo, &chr);
|
||||
|
||||
return err == K_ERR_NONE ? chr : -1;
|
||||
}
|
||||
|
||||
typedef struct sensor_frame_st {
|
||||
uint16_t len;
|
||||
uint16_t data1;
|
||||
uint16_t data2;
|
||||
uint16_t data3;
|
||||
uint16_t data4;
|
||||
uint16_t data5;
|
||||
uint16_t data6;
|
||||
uint16_t data7;
|
||||
uint16_t data8;
|
||||
uint16_t data9;
|
||||
uint16_t data10;
|
||||
uint16_t data11;
|
||||
uint16_t data12;
|
||||
uint16_t data13;
|
||||
uint16_t chk_sum;
|
||||
|
||||
uint8_t len_h;
|
||||
uint8_t len_l;
|
||||
|
||||
uint8_t data1_h;
|
||||
uint8_t data1_l;
|
||||
|
||||
uint8_t data2_h;
|
||||
uint8_t data2_l;
|
||||
|
||||
uint8_t data3_h;
|
||||
uint8_t data3_l;
|
||||
|
||||
uint8_t data4_h;
|
||||
uint8_t data4_l;
|
||||
|
||||
uint8_t data5_h;
|
||||
uint8_t data5_l;
|
||||
|
||||
uint8_t data6_h;
|
||||
uint8_t data6_l;
|
||||
|
||||
uint8_t data7_h;
|
||||
uint8_t data7_l;
|
||||
|
||||
uint8_t data8_h;
|
||||
uint8_t data8_l;
|
||||
|
||||
uint8_t data9_h;
|
||||
uint8_t data9_l;
|
||||
|
||||
uint8_t data10_h;
|
||||
uint8_t data10_l;
|
||||
|
||||
uint8_t data11_h;
|
||||
uint8_t data11_l;
|
||||
|
||||
uint8_t data12_h;
|
||||
uint8_t data12_l;
|
||||
|
||||
uint8_t data13_h;
|
||||
uint8_t data13_l;
|
||||
|
||||
uint8_t chk_sum_h;
|
||||
uint8_t chk_sum_l;
|
||||
} __PACKED__ sensor_frame_t;
|
||||
|
||||
extern k_mail_q_t mail_q;
|
||||
|
||||
k_tick_t last_report = 0;
|
||||
|
||||
int read_frame(sensor_frame_t *frame)
|
||||
{
|
||||
frame->len_h = shell_getchar();
|
||||
frame->len_l = shell_getchar();
|
||||
|
||||
frame->data1_h = shell_getchar();
|
||||
frame->data1_l = shell_getchar();
|
||||
|
||||
frame->data2_h = shell_getchar();
|
||||
frame->data2_l = shell_getchar();
|
||||
|
||||
frame->data3_h = shell_getchar();
|
||||
frame->data3_l = shell_getchar();
|
||||
|
||||
frame->data4_h = shell_getchar();
|
||||
frame->data4_l = shell_getchar();
|
||||
|
||||
frame->data5_h = shell_getchar();
|
||||
frame->data5_l = shell_getchar();
|
||||
|
||||
frame->data6_h = shell_getchar();
|
||||
frame->data6_l = shell_getchar();
|
||||
|
||||
frame->data7_h = shell_getchar();
|
||||
frame->data7_l = shell_getchar();
|
||||
|
||||
frame->data8_h = shell_getchar();
|
||||
frame->data8_l = shell_getchar();
|
||||
|
||||
frame->data9_h = shell_getchar();
|
||||
frame->data9_l = shell_getchar();
|
||||
|
||||
frame->data10_h = shell_getchar();
|
||||
frame->data10_l = shell_getchar();
|
||||
|
||||
frame->data11_h = shell_getchar();
|
||||
frame->data11_l = shell_getchar();
|
||||
|
||||
frame->data12_h = shell_getchar();
|
||||
frame->data12_l = shell_getchar();
|
||||
|
||||
frame->data13_h = shell_getchar();
|
||||
frame->data13_l = shell_getchar();
|
||||
|
||||
frame->chk_sum_h = shell_getchar();
|
||||
frame->chk_sum_l = shell_getchar();
|
||||
|
||||
|
||||
frame->len = (frame->len_h << 8) | frame->len_l;
|
||||
frame->data1 = (frame->data1_h << 8) | frame->data1_l;
|
||||
frame->data2 = (frame->data2_h << 8) | frame->data2_l;
|
||||
frame->data3 = (frame->data3_h << 8) | frame->data3_l;
|
||||
frame->data4 = (frame->data4_h << 8) | frame->data4_l;
|
||||
frame->data5 = (frame->data5_h << 8) | frame->data5_l;
|
||||
frame->data6 = (frame->data6_h << 8) | frame->data6_l;
|
||||
frame->data7 = (frame->data7_h << 8) | frame->data7_l;
|
||||
frame->data8 = (frame->data8_h << 8) | frame->data8_l;
|
||||
frame->data9 = (frame->data9_h << 8) | frame->data9_l;
|
||||
frame->data10 = (frame->data10_h << 8) | frame->data10_l;
|
||||
frame->data11 = (frame->data11_h << 8) | frame->data11_l;
|
||||
frame->data12 = (frame->data12_h << 8) | frame->data12_l;
|
||||
frame->data13 = (frame->data13_h << 8) | frame->data13_l;
|
||||
frame->chk_sum = (frame->chk_sum_h << 8) | frame->chk_sum_l;
|
||||
|
||||
|
||||
uint16_t chsum;
|
||||
chsum = frame->len_h +
|
||||
frame->len_l +
|
||||
frame->data1_h +
|
||||
frame->data1_l +
|
||||
frame->data2_h +
|
||||
frame->data2_l +
|
||||
frame->data3_h +
|
||||
frame->data3_l +
|
||||
frame->data4_h +
|
||||
frame->data4_l +
|
||||
frame->data5_h +
|
||||
frame->data5_l +
|
||||
frame->data6_h +
|
||||
frame->data6_l +
|
||||
frame->data7_h +
|
||||
frame->data7_l +
|
||||
frame->data8_h +
|
||||
frame->data8_l +
|
||||
frame->data9_h +
|
||||
frame->data9_l +
|
||||
frame->data10_h +
|
||||
frame->data10_l +
|
||||
frame->data11_h +
|
||||
frame->data11_l +
|
||||
frame->data12_h +
|
||||
frame->data12_l +
|
||||
frame->data13_h +
|
||||
frame->data13_l;
|
||||
|
||||
if (chsum + 0x42 + 0x4d != frame->chk_sum) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
k_tick_t now = tos_systick_get();
|
||||
if (last_report == 0 || now - last_report >= 15000) {
|
||||
last_report = now;
|
||||
|
||||
printf("data1: %d\n", frame->data1);
|
||||
printf("data2: %d\n", frame->data2);
|
||||
printf("data3: %d\n", frame->data3);
|
||||
printf("data4: %d\n", frame->data4);
|
||||
printf("data5: %d\n", frame->data5);
|
||||
printf("data6: %d\n", frame->data6);
|
||||
printf("data7: %d\n", frame->data7);
|
||||
printf("data8: %d\n", frame->data8);
|
||||
printf("data9: %d\n", frame->data9);
|
||||
printf("data10: %d\n", frame->data10);
|
||||
printf("data11: %d\n", frame->data11);
|
||||
printf("data12: %d\n", frame->data12);
|
||||
printf("data13: %d\n", frame->data13);
|
||||
printf("\n\n");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
sensor_frame_t frame;
|
||||
|
||||
__STATIC__ int shell_readline(void)
|
||||
{
|
||||
int chr, last_chr = 0;
|
||||
char *buf = SHELL_CTL->cmd_buffer;
|
||||
|
||||
while (K_TRUE) {
|
||||
if (buf - SHELL_CTL->cmd_buffer >= (SHELL_CTL->cmd_buffer_size - 1)) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
chr = shell_getchar();
|
||||
if (chr < 0) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (chr == 0x4d && last_chr == 0x42) {
|
||||
if (read_frame(&frame) == 0) {
|
||||
tos_mail_q_post(&mail_q, &frame.data1_h, 13 * 2);
|
||||
}
|
||||
}
|
||||
|
||||
*buf++ = chr;
|
||||
last_chr = chr;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
__STATIC__ void shell_parser(void *arg)
|
||||
{
|
||||
while (K_TRUE) {
|
||||
shell_readline();
|
||||
}
|
||||
}
|
||||
|
||||
__API__ int tos_shell_init(char *cmd_buf, int cmd_buf_size, shell_output_t output)
|
||||
{
|
||||
void *buffer = K_NULL;
|
||||
|
||||
TOS_PTR_SANITY_CHECK_RC(cmd_buf, -1);
|
||||
TOS_PTR_SANITY_CHECK_RC(output, -1);
|
||||
|
||||
memset(SHELL_CTL, 0, sizeof(shell_ctl_t));
|
||||
|
||||
SHELL_CTL->cmd_buffer = cmd_buf;
|
||||
SHELL_CTL->cmd_buffer_size = cmd_buf_size;
|
||||
SHELL_CTL->output = output;
|
||||
|
||||
buffer = tos_mmheap_alloc(cmd_buf_size * 2);
|
||||
if (!buffer) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
SHELL_CTL->shell_rx_fifo_buffer = (uint8_t *)buffer;
|
||||
tos_chr_fifo_create(&SHELL_CTL->shell_rx_fifo, buffer, cmd_buf_size * 2);
|
||||
|
||||
if (tos_sem_create(&SHELL_CTL->shell_rx_sem, (k_sem_cnt_t)0u) != K_ERR_NONE) {
|
||||
goto errout0;
|
||||
}
|
||||
|
||||
if (tos_task_create(&SHELL_CTL->parser, "shell_parser", shell_parser,
|
||||
K_NULL, SHELL_PARSER_TASK_PRIO, shell_parser_task_stack,
|
||||
SHELL_PARSER_TASK_STACK_SIZE, 0) != K_ERR_NONE) {
|
||||
goto errout1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
errout1:
|
||||
tos_sem_destroy(&SHELL_CTL->shell_rx_sem);
|
||||
|
||||
errout0:
|
||||
tos_mmheap_free(SHELL_CTL->shell_rx_fifo_buffer);
|
||||
SHELL_CTL->shell_rx_fifo_buffer = K_NULL;
|
||||
tos_chr_fifo_destroy(&SHELL_CTL->shell_rx_fifo);
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
__API__ void tos_shell_deinit(void)
|
||||
{
|
||||
tos_task_destroy(&SHELL_CTL->parser);
|
||||
tos_sem_destroy(&SHELL_CTL->shell_rx_sem);
|
||||
|
||||
tos_mmheap_free(SHELL_CTL->shell_rx_fifo_buffer);
|
||||
SHELL_CTL->shell_rx_fifo_buffer = K_NULL;
|
||||
tos_chr_fifo_destroy(&SHELL_CTL->shell_rx_fifo);
|
||||
}
|
||||
|
||||
__API__ void tos_shell_printf(const char *format, ...)
|
||||
{
|
||||
va_list args;
|
||||
static char buffer[SHELL_OUTPUT_MAX];
|
||||
|
||||
va_start(args, format);
|
||||
vsnprintf(buffer, sizeof(buffer), format, args);
|
||||
va_end(args);
|
||||
|
||||
(SHELL_CTL->output)(buffer);
|
||||
}
|
||||
|
||||
__API__ void tos_shell_input_byte(uint8_t data)
|
||||
{
|
||||
if (tos_chr_fifo_push(&SHELL_CTL->shell_rx_fifo, data) == K_ERR_NONE) {
|
||||
tos_sem_post(&SHELL_CTL->shell_rx_sem);
|
||||
}
|
||||
}
|
||||
|
54
board/RHF0M0E5_STM32WLE5xx/BSP/Hardware/PM25/sensor_parser.h
Normal file
54
board/RHF0M0E5_STM32WLE5xx/BSP/Hardware/PM25/sensor_parser.h
Normal file
@@ -0,0 +1,54 @@
|
||||
/*----------------------------------------------------------------------------
|
||||
* Tencent is pleased to support the open source community by making TencentOS
|
||||
* available.
|
||||
*
|
||||
* Copyright (C) 2019 THL A29 Limited, a Tencent company. All rights reserved.
|
||||
* If you have downloaded a copy of the TencentOS binary from Tencent, please
|
||||
* note that the TencentOS binary is licensed under the BSD 3-Clause License.
|
||||
*
|
||||
* If you have downloaded a copy of the TencentOS source code from Tencent,
|
||||
* please note that TencentOS source code is licensed under the BSD 3-Clause
|
||||
* License, except for the third-party components listed below which are
|
||||
* subject to different license terms. Your integration of TencentOS into your
|
||||
* own projects may require compliance with the BSD 3-Clause License, as well
|
||||
* as the other licenses applicable to the third-party components included
|
||||
* within TencentOS.
|
||||
*---------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef _TOS_SHELL_H_
|
||||
#define _TOS_SHELL_H_
|
||||
|
||||
#include "tos_k.h"
|
||||
|
||||
#define SHELL_CMD_ARGV_MAX 16
|
||||
#define SHELL_OUTPUT_MAX 256
|
||||
#define SHELL_PARSER_TASK_STACK_SIZE 1024
|
||||
#define SHELL_PARSER_TASK_PRIO 5
|
||||
|
||||
typedef void (*shell_output_t)(const char *str);
|
||||
|
||||
typedef struct shell_control_st {
|
||||
k_task_t parser;
|
||||
|
||||
shell_output_t output;
|
||||
|
||||
char *cmd_buffer;
|
||||
int cmd_buffer_size;
|
||||
|
||||
k_sem_t shell_rx_sem;
|
||||
k_chr_fifo_t shell_rx_fifo;
|
||||
uint8_t *shell_rx_fifo_buffer;
|
||||
} shell_ctl_t;
|
||||
|
||||
#define SHELL_CTL ((shell_ctl_t *)(&shell_ctl))
|
||||
|
||||
__API__ int tos_shell_init(char *cmd_buf, int cmd_buf_size, shell_output_t output);
|
||||
|
||||
__API__ void tos_shell_deinit(void);
|
||||
|
||||
__API__ void tos_shell_printf(const char *format, ...);
|
||||
|
||||
__API__ void tos_shell_input_byte(uint8_t data);
|
||||
|
||||
#endif /* _TOS_SHELL_H_ */
|
||||
|
@@ -49,9 +49,10 @@ extern "C" {
|
||||
#define USARTx_RX_AF GPIO_AF7_USART1
|
||||
|
||||
extern UART_HandleTypeDef huart1;
|
||||
extern UART_HandleTypeDef huart2;
|
||||
|
||||
void MX_USART1_UART_Init(void);
|
||||
|
||||
void MX_USART2_UART_Init(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
@@ -52,7 +52,7 @@
|
||||
/*!
|
||||
* Maximal datarate that can be used by the node
|
||||
*/
|
||||
#define CN470_TX_MAX_DATARATE DR_5
|
||||
#define CN470_TX_MAX_DATARATE DR_0
|
||||
|
||||
/*!
|
||||
* Minimal datarate that can be used by the node
|
||||
@@ -62,7 +62,7 @@
|
||||
/*!
|
||||
* Maximal datarate that can be used by the node
|
||||
*/
|
||||
#define CN470_RX_MAX_DATARATE DR_5
|
||||
#define CN470_RX_MAX_DATARATE DR_0
|
||||
|
||||
/*!
|
||||
* Default datarate used by the node
|
||||
|
@@ -4,7 +4,7 @@
|
||||
#define APPLICATION_TASK_STK_SIZE 4096
|
||||
|
||||
extern void application_entry(void *arg);
|
||||
osThreadDef(application_entry, osPriorityNormal, 1, APPLICATION_TASK_STK_SIZE);
|
||||
osThreadDef(application_entry, 3, 1, APPLICATION_TASK_STK_SIZE);
|
||||
|
||||
__weak void application_entry(void *arg)
|
||||
{
|
||||
|
@@ -27,11 +27,11 @@ int fgetc(FILE *f)
|
||||
|
||||
void board_init(void)
|
||||
{
|
||||
HAL_Init();
|
||||
SystemClock_Config();
|
||||
HAL_Init();
|
||||
SystemClock_Config();
|
||||
|
||||
SystemApp_Init();
|
||||
MX_LoRaWAN_Init();
|
||||
MX_LoRaWAN_Init();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -25,7 +25,7 @@
|
||||
#include "main.h"
|
||||
#include "stm32wlxx_it.h"
|
||||
#include "tos_k.h"
|
||||
|
||||
#include "sensor_parser.h"
|
||||
/* Private includes ----------------------------------------------------------*/
|
||||
/* USER CODE BEGIN Includes */
|
||||
/* USER CODE END Includes */
|
||||
@@ -62,6 +62,7 @@
|
||||
|
||||
/* External variables --------------------------------------------------------*/
|
||||
extern UART_HandleTypeDef huart1;
|
||||
extern UART_HandleTypeDef huart2;
|
||||
extern SUBGHZ_HandleTypeDef hsubghz;
|
||||
/* USER CODE BEGIN EV */
|
||||
|
||||
@@ -220,11 +221,35 @@ void USART1_IRQHandler(void)
|
||||
/* USER CODE END USART2_IRQn 1 */
|
||||
}
|
||||
|
||||
void USART2_IRQHandler(void)
|
||||
{
|
||||
/* USER CODE BEGIN LPUART1_IRQn 0 */
|
||||
|
||||
/* USER CODE END LPUART1_IRQn 0 */
|
||||
tos_knl_irq_enter();
|
||||
HAL_UART_IRQHandler(&huart2);
|
||||
tos_knl_irq_leave();
|
||||
/* USER CODE BEGIN LPUART1_IRQn 1 */
|
||||
|
||||
/* USER CODE END LPUART1_IRQn 1 */
|
||||
}
|
||||
|
||||
void Radio_IRQHandler(void)
|
||||
{
|
||||
HAL_SUBGHZ_IRQHandler(&hsubghz);
|
||||
}
|
||||
/* USER CODE BEGIN 1 */
|
||||
|
||||
/* USER CODE BEGIN 1 */
|
||||
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
|
||||
{
|
||||
extern uint8_t msg;
|
||||
|
||||
if(huart ->Instance == USART2)
|
||||
{
|
||||
tos_shell_input_byte(msg);
|
||||
HAL_UART_Receive_IT(&huart2, (uint8_t*)&msg, 1);
|
||||
|
||||
}
|
||||
}
|
||||
/* USER CODE END 1 */
|
||||
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
|
||||
|
@@ -25,7 +25,10 @@
|
||||
/* External variables --------------------------------------------------------*/
|
||||
/* Private typedef -----------------------------------------------------------*/
|
||||
|
||||
uint8_t msg;
|
||||
|
||||
UART_HandleTypeDef huart1;
|
||||
UART_HandleTypeDef huart2;
|
||||
|
||||
/* Private define ------------------------------------------------------------*/
|
||||
/* Private macro -------------------------------------------------------------*/
|
||||
@@ -50,31 +53,86 @@ void MX_USART1_UART_Init(void)
|
||||
}
|
||||
}
|
||||
|
||||
void MX_USART2_UART_Init(void)
|
||||
{
|
||||
huart2.Instance = USART2;
|
||||
huart2.Init.BaudRate = 9600;
|
||||
huart2.Init.WordLength = UART_WORDLENGTH_8B;
|
||||
huart2.Init.StopBits = UART_STOPBITS_1;
|
||||
huart2.Init.Parity = UART_PARITY_NONE;
|
||||
huart2.Init.Mode = UART_MODE_TX_RX;
|
||||
huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE;
|
||||
huart2.Init.OverSampling = UART_OVERSAMPLING_16;
|
||||
huart2.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;
|
||||
huart2.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;
|
||||
|
||||
if (HAL_UART_Init(&huart2) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
|
||||
HAL_UART_Receive_IT(&huart2, &msg, 1);
|
||||
}
|
||||
|
||||
void HAL_UART_MspInit(UART_HandleTypeDef *uartHandle)
|
||||
{
|
||||
GPIO_InitTypeDef GPIO_InitStruct = {0};
|
||||
RCC_PeriphCLKInitTypeDef PeriphClkInit = {0};
|
||||
|
||||
if(uartHandle->Instance==USART2)
|
||||
{
|
||||
/* USER CODE BEGIN USART2_MspInit 0 */
|
||||
|
||||
/* Enable GPIO TX/RX clock */
|
||||
USARTx_TX_GPIO_CLK_ENABLE();
|
||||
USARTx_RX_GPIO_CLK_ENABLE();
|
||||
/* USER CODE END USART2_MspInit 0 */
|
||||
/* USART2 clock enable */
|
||||
__HAL_RCC_USART2_CLK_ENABLE();
|
||||
|
||||
USARTx_CLK_ENABLE();
|
||||
__HAL_RCC_GPIOA_CLK_ENABLE();
|
||||
/**USART2 GPIO Configuration
|
||||
PA2 ------> USART2_TX
|
||||
PA3 ------> USART2_RX
|
||||
*/
|
||||
GPIO_InitStruct.Pin = GPIO_PIN_2|GPIO_PIN_3;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
|
||||
GPIO_InitStruct.Alternate = GPIO_AF7_USART2;
|
||||
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
|
||||
|
||||
GPIO_InitStruct.Pin = USARTx_TX_Pin;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||||
GPIO_InitStruct.Pull = GPIO_PULLUP;
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
|
||||
GPIO_InitStruct.Alternate = USARTx_TX_AF;
|
||||
HAL_GPIO_Init(USARTx_TX_GPIO_Port, &GPIO_InitStruct);
|
||||
/* USART2 interrupt Init */
|
||||
HAL_NVIC_SetPriority(USART2_IRQn, 0, 0);
|
||||
HAL_NVIC_EnableIRQ(USART2_IRQn);
|
||||
/* USER CODE BEGIN USART2_MspInit 1 */
|
||||
|
||||
GPIO_InitStruct.Pin = USARTx_RX_Pin;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
|
||||
GPIO_InitStruct.Alternate = USARTx_RX_AF;
|
||||
HAL_GPIO_Init(USARTx_RX_GPIO_Port, &GPIO_InitStruct);
|
||||
/* USER CODE END USART2_MspInit 1 */
|
||||
}
|
||||
else if(uartHandle->Instance==USART1)
|
||||
{
|
||||
/* Enable GPIO TX/RX clock */
|
||||
USARTx_TX_GPIO_CLK_ENABLE();
|
||||
USARTx_RX_GPIO_CLK_ENABLE();
|
||||
|
||||
USARTx_CLK_ENABLE();
|
||||
|
||||
GPIO_InitStruct.Pin = USARTx_TX_Pin;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||||
GPIO_InitStruct.Pull = GPIO_PULLUP;
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
|
||||
GPIO_InitStruct.Alternate = USARTx_TX_AF;
|
||||
HAL_GPIO_Init(USARTx_TX_GPIO_Port, &GPIO_InitStruct);
|
||||
|
||||
GPIO_InitStruct.Pin = USARTx_RX_Pin;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
|
||||
GPIO_InitStruct.Alternate = USARTx_RX_AF;
|
||||
HAL_GPIO_Init(USARTx_RX_GPIO_Port, &GPIO_InitStruct);
|
||||
|
||||
/* USART1 interrupt Init */
|
||||
HAL_NVIC_SetPriority(USART1_IRQn, 0, 0);
|
||||
HAL_NVIC_EnableIRQ(USART1_IRQn);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
|
||||
|
@@ -60,7 +60,7 @@ extern "C" {
|
||||
#define LORAWAN_PUBLIC_NETWORK true
|
||||
|
||||
/*root key*/
|
||||
#define LORAWAN_APP_KEY { 0x8c, 0xf9, 0x57, 0x20, 0x00, 0x00, 0xf7, 0x37, 0x1e, 0x29, 0xaa, 0xaa, 0xad, 0x20, 0x4a, 0x72 }
|
||||
#define LORAWAN_APP_KEY { 0x12, 0x34, 0x56, 0x78, 0x91, 0x23, 0x45, 0x67, 0x89, 0x12, 0x34, 0x56, 0x78, 0x91, 0x23, 0x45 }
|
||||
|
||||
/*for ABP================================================================================*/
|
||||
#define STATIC_DEVICE_ADDRESS 1 //if 0 , using a ramdom address
|
||||
@@ -68,22 +68,21 @@ extern "C" {
|
||||
#define LORAWAN_NETWORK_ID ( uint32_t )0
|
||||
|
||||
#define LORAWAN_DEVICE_ADDRESS ( uint32_t )0x0100000a
|
||||
#define LORAWAN_NWK_KEY { 0x8c, 0xf9, 0x57, 0x20, 0x00, 0x00, 0xf7, 0x37, 0x1e, 0x29, 0xaa, 0xaa, 0xad, 0x20, 0x4a, 0x72 }
|
||||
#define LORAWAN_NWK_KEY { 0x12, 0x34, 0x56, 0x78, 0x91, 0x23, 0x45, 0x67, 0x89, 0x12, 0x34, 0x56, 0x78, 0x91, 0x23, 0x45 }
|
||||
|
||||
|
||||
/*for 1.1.x*/
|
||||
#define LORAWAN_F_NWK_S_INT_KEY { 0x8c, 0xf9, 0x57, 0x20, 0x00, 0x00, 0xf7, 0x37, 0x1e, 0x29, 0xaa, 0xaa, 0xad, 0x20, 0x4a, 0x72 }
|
||||
#define LORAWAN_S_NWK_S_INT_KEY { 0x8c, 0xf9, 0x57, 0x20, 0x00, 0x00, 0xf7, 0x37, 0x1e, 0x29, 0xaa, 0xaa, 0xad, 0x20, 0x4a, 0x72 }
|
||||
#define LORAWAN_NWK_S_ENC_KEY { 0x8c, 0xf9, 0x57, 0x20, 0x00, 0x00, 0xf7, 0x37, 0x1e, 0x29, 0xaa, 0xaa, 0xad, 0x20, 0x4a, 0x72 }
|
||||
#define LORAWAN_APP_S_KEY { 0x8c, 0xf9, 0x57, 0x20, 0x00, 0x00, 0xf7, 0x37, 0x1e, 0x29, 0xaa, 0xaa, 0xad, 0x20, 0x4a, 0x72 }
|
||||
#define LORAWAN_F_NWK_S_INT_KEY { 0x12, 0x34, 0x56, 0x78, 0x91, 0x23, 0x45, 0x67, 0x89, 0x12, 0x34, 0x56, 0x78, 0x91, 0x23, 0x45 }
|
||||
#define LORAWAN_S_NWK_S_INT_KEY { 0x12, 0x34, 0x56, 0x78, 0x91, 0x23, 0x45, 0x67, 0x89, 0x12, 0x34, 0x56, 0x78, 0x91, 0x23, 0x45 }
|
||||
#define LORAWAN_NWK_S_ENC_KEY { 0x12, 0x34, 0x56, 0x78, 0x91, 0x23, 0x45, 0x67, 0x89, 0x12, 0x34, 0x56, 0x78, 0x91, 0x23, 0x45 }
|
||||
#define LORAWAN_APP_S_KEY { 0x12, 0x34, 0x56, 0x78, 0x91, 0x23, 0x45, 0x67, 0x89, 0x12, 0x34, 0x56, 0x78, 0x91, 0x23, 0x45 }
|
||||
|
||||
/*for OTAA================================================================================*/
|
||||
#define STATIC_DEVICE_EUI 1 //if 0 , using a ramdom EUI
|
||||
|
||||
#define IEEE_OUI 0x01, 0x01, 0x01
|
||||
#define LORAWAN_DEVICE_EUI { 0x8c, 0xf9, 0x57, 0x20, 0x00, 0x00, 0xf7, 0x37}
|
||||
#define LORAWAN_JOIN_EUI /*APP_EUI*/ { 0x8c, 0xf9, 0x57, 0x20, 0x00, 0x00, 0xf7, 0x37}
|
||||
|
||||
#define LORAWAN_DEVICE_EUI { 0x8c, 0xf9, 0x57, 0x20, 0x00, 0x00, 0x4d, 0xf7}
|
||||
#define LORAWAN_JOIN_EUI /*APP_EUI*/ { 0x8c, 0xf9, 0x57, 0x20, 0x00, 0x00, 0x4d, 0xf7}
|
||||
|
||||
|
||||
|
||||
|
@@ -3,19 +3,29 @@
|
||||
#include "timer.h"
|
||||
#include "app_system.h"
|
||||
#include "app_lorawan.h"
|
||||
//#include "stm32_seq.h"
|
||||
#include "stm32_lpm.h"
|
||||
|
||||
#include "adc_if.h"
|
||||
#include "lorawan_version.h"
|
||||
|
||||
#include <tos_k.h>
|
||||
|
||||
#include "sensor_parser.h"
|
||||
|
||||
#define APP_TX_DUTYCYCLE 30000 //ms
|
||||
#define LORAWAN_DOWNLINK_PORT 2
|
||||
#define LORAWAN_UPLINK_PORT 10
|
||||
|
||||
|
||||
k_mail_q_t mail_q;
|
||||
#define DATA_CNT 26
|
||||
uint8_t mail_buf[DATA_CNT];
|
||||
|
||||
|
||||
typedef struct device_data_st {
|
||||
uint8_t data[DATA_CNT];
|
||||
} __PACKED__ dev_data_t;
|
||||
|
||||
|
||||
/*!
|
||||
* user main_callback function declare , you need to implement them
|
||||
* and register.
|
||||
@@ -47,7 +57,6 @@ lw_app_data_t app_data = { app_data_buff, 0, 0 };
|
||||
|
||||
/*send task function declaration*/
|
||||
static TimerEvent_t send_timer;
|
||||
//static k_timer_t send_timer;
|
||||
static void send_process(void *args);
|
||||
static void cycle_send_event(void *context);
|
||||
static void Lora_start_send(void);
|
||||
@@ -82,18 +91,18 @@ void MX_LoRaWAN_Init(void)
|
||||
/*Class*/
|
||||
lw_request_class(CLASS_A);
|
||||
|
||||
/*channel 8-16*/
|
||||
/*channel 80-87*/
|
||||
LWChannel_mask_t ch={0x0000,0,0,0,0,0x00FF};
|
||||
lw_current_chmask_set(&ch);
|
||||
|
||||
/*tx dr*/
|
||||
lw_config_tx_datarate_set(DR_3);
|
||||
lw_config_tx_datarate_set(DR_5);
|
||||
|
||||
/*OTAA*/
|
||||
lw_config_otaa_set(LORA_ENABLE);
|
||||
|
||||
/*enable adr*/
|
||||
lw_adr_set(LORA_ENABLE);
|
||||
lw_adr_set(LORA_DISABLE);
|
||||
|
||||
/*set retry*/
|
||||
lw_confirm_retry_set(3);
|
||||
@@ -101,29 +110,107 @@ void MX_LoRaWAN_Init(void)
|
||||
printf("lorawan init ok.\r\n");
|
||||
}
|
||||
|
||||
void application_entry(void *arg)
|
||||
{
|
||||
uint8_t pool[DATA_CNT];
|
||||
#define CMD_LEN_MAX 50
|
||||
char cmd_buf[CMD_LEN_MAX];
|
||||
dev_data_t dev_data;
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD><C5BA><EFBFBD>
|
||||
tos_sem_create_max(&lora_mac_process_sem, 0, 1);
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
tos_task_create(&lora_mac_process_task,
|
||||
"lora_mac_process_task",
|
||||
LoraMacProcess_task_entry,
|
||||
NULL,
|
||||
2,
|
||||
lora_mac_process_task_stack,
|
||||
sizeof(lora_mac_process_task_stack),
|
||||
10);
|
||||
|
||||
Lora_start_send();
|
||||
uint16_t report_period = 10;
|
||||
|
||||
void uart_output(const char *str)
|
||||
{
|
||||
/* if using c lib printf through uart, a simpler one is: */
|
||||
printf(str);
|
||||
}
|
||||
|
||||
void recv_callback(uint8_t *data, uint8_t len)
|
||||
{
|
||||
int i = 0;
|
||||
|
||||
printf("len: %d\n", len);
|
||||
|
||||
for (i = 0; i < len; ++i) {
|
||||
printf("data[%d]: %d\n", i, data[i]);
|
||||
}
|
||||
|
||||
if (len == 1) {
|
||||
report_period = data[0];
|
||||
} else if (len >= 2) {
|
||||
report_period = data[0] | (data[1] << 8);
|
||||
}
|
||||
printf("report_period: %d\n", report_period);
|
||||
}
|
||||
|
||||
void application_entry(void *arg)
|
||||
{
|
||||
|
||||
int i = 0;
|
||||
int ret = 0;
|
||||
int send_failed_count = 0;
|
||||
|
||||
tos_mail_q_create(&mail_q, pool, DATA_CNT, sizeof(uint8_t));
|
||||
tos_shell_init(cmd_buf, sizeof(cmd_buf), uart_output);
|
||||
|
||||
//create task to process loramac
|
||||
tos_sem_create_max(&lora_mac_process_sem, 0, 1);
|
||||
tos_task_create(&lora_mac_process_task,
|
||||
"lora_mac_process_task",
|
||||
LoraMacProcess_task_entry,
|
||||
NULL,
|
||||
2,
|
||||
lora_mac_process_task_stack,
|
||||
sizeof(lora_mac_process_task_stack),
|
||||
10);
|
||||
|
||||
//report pm2.5 data
|
||||
while (1) {
|
||||
size_t mail_size;
|
||||
|
||||
tos_mail_q_pend(&mail_q, &dev_data.data, &mail_size, TOS_TIME_FOREVER);
|
||||
|
||||
/*fill the data*/
|
||||
i = 0;
|
||||
app_data.port = LORAWAN_UPLINK_PORT;
|
||||
|
||||
for (i = 0; i < mail_size; i++) {
|
||||
app_data.buff[i] = dev_data.data[i];
|
||||
printf("[%d] %x\n", i, dev_data.data[i]);
|
||||
}
|
||||
printf("\n\n");
|
||||
app_data.size = i;
|
||||
|
||||
/*Check if it is in OTAA mode*/
|
||||
if(LORA_ENABLE == lw_config_otaa_get())
|
||||
{
|
||||
/*check if it is already joined*/
|
||||
if(lw_join_status() != LORA_SET)
|
||||
{
|
||||
lw_join();
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
ret = lw_send(&app_data, LORAWAN_CONFIRMED_MSG);
|
||||
if (ret != LORAMAC_STATUS_OK )
|
||||
{
|
||||
printf("LoRa Send data faild!, retcode = %d, count is %d\r\n",ret, send_failed_count);
|
||||
send_failed_count++;
|
||||
if (send_failed_count > 10)
|
||||
{
|
||||
NVIC_SystemReset();// when lora send faied more than 10 times , cpu reset to reconnect.
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
send_failed_count = 0;
|
||||
}
|
||||
|
||||
tos_task_delay(10000);
|
||||
}
|
||||
|
||||
//Lora_start_send();
|
||||
}
|
||||
|
||||
/*==============================================================
|
||||
create a send task ,the task is periodic trigger
|
||||
================================================================*/
|
||||
void Lora_start_send(void)
|
||||
{
|
||||
/* send everytime timer elapses */
|
||||
@@ -134,8 +221,6 @@ void Lora_start_send(void)
|
||||
|
||||
static void cycle_send_event(void *args)
|
||||
{
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//UTIL_SEQ_SetTask(CFG_SEQ_TASK_LORA_SEND_ON_TX_TIMER, CFG_SEQ_Prio_0);
|
||||
send_process(NULL);
|
||||
/*Wait for next tx slot*/
|
||||
TimerStart(&send_timer);
|
||||
@@ -250,8 +335,6 @@ void mac_event_callback(APP_EVENT_t evt,const void* param)
|
||||
}
|
||||
static void LoraMacProcessNotify(void)
|
||||
{
|
||||
//UTIL_SEQ_SetTask(CFG_SEQ_TASK_LORAMAC_PROCESS, CFG_SEQ_Prio_0);
|
||||
//<2F>ͷ<EFBFBD><CDB7>ź<EFBFBD><C5BA><EFBFBD>
|
||||
tos_sem_post(&lora_mac_process_sem);
|
||||
}
|
||||
|
||||
|
@@ -3,7 +3,6 @@
|
||||
#include "main.h"
|
||||
#include "app_system.h"
|
||||
#include "adc_if.h"
|
||||
//#include "stm32_seq.h"
|
||||
|
||||
#include "stm32_systime.h"
|
||||
#include "stm32_lpm.h"
|
||||
@@ -34,6 +33,8 @@ void SystemApp_Init(void)
|
||||
Gpio_PreInit();
|
||||
|
||||
vcom_Init(NULL);
|
||||
|
||||
MX_USART2_UART_Init();
|
||||
|
||||
/*Initialize the temperature and Battery measurement services */
|
||||
SYS_InitMeasurement();
|
||||
|
@@ -117,11 +117,6 @@
|
||||
<pMon>STLink\ST-LINKIII-KEIL_SWO.dll</pMon>
|
||||
</DebugOpt>
|
||||
<TargetDriverDllRegistry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>JL2CM3</Key>
|
||||
<Name>-U260106173 -O78 -S2 -ZTIFSpeedSel5000 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -TO18 -TC10000000 -TP21 -TDS8000 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32WLxx_CM4.FLM -FS08000000 -FL040000 -FP0($$Device:STM32WLE5JCIx$CMSIS\Flash\STM32WLxx_CM4.FLM)</Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>UL2CM3</Key>
|
||||
@@ -130,7 +125,7 @@
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>ST-LINKIII-KEIL_SWO</Key>
|
||||
<Name>-U066DFF495056805087213734 -O206 -SF4000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight SW-DP") -D00(6BA02477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8000 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32WLxx_CM4.FLM -FS08000000 -FL040000 -FP0($$Device:STM32WLE5JCIx$CMSIS\Flash\STM32WLxx_CM4.FLM)</Name>
|
||||
<Name>-U51FF68064965575333151687 -O206 -SF4000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight SW-DP") -D00(6BA02477) -L00(0) -TO131090 -TC10000000 -TT10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO31 -FD20000000 -FC1000 -FN1 -FF0STM32WLxx_CM4.FLM -FS08000000 -FL040000 -FP0($$Device:STM32WLE5JCIx$CMSIS\Flash\STM32WLxx_CM4.FLM)</Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
@@ -336,18 +331,6 @@
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\..\BSP\Src\main.c</PathWithFileName>
|
||||
<FilenameWithoutPath>main.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>7</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\..\BSP\Src\mcu_init.c</PathWithFileName>
|
||||
<FilenameWithoutPath>mcu_init.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
@@ -355,7 +338,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>8</FileNumber>
|
||||
<FileNumber>7</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -367,7 +350,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>9</FileNumber>
|
||||
<FileNumber>8</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -379,7 +362,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>10</FileNumber>
|
||||
<FileNumber>9</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -391,7 +374,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>11</FileNumber>
|
||||
<FileNumber>10</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -403,7 +386,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>12</FileNumber>
|
||||
<FileNumber>11</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -415,7 +398,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>13</FileNumber>
|
||||
<FileNumber>12</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -427,7 +410,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>14</FileNumber>
|
||||
<FileNumber>13</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -447,7 +430,7 @@
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>15</FileNumber>
|
||||
<FileNumber>14</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -459,7 +442,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>16</FileNumber>
|
||||
<FileNumber>15</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -471,7 +454,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>17</FileNumber>
|
||||
<FileNumber>16</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -483,7 +466,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>18</FileNumber>
|
||||
<FileNumber>17</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -495,7 +478,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>19</FileNumber>
|
||||
<FileNumber>18</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -507,7 +490,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>20</FileNumber>
|
||||
<FileNumber>19</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -519,7 +502,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>21</FileNumber>
|
||||
<FileNumber>20</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -531,7 +514,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>22</FileNumber>
|
||||
<FileNumber>21</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -543,7 +526,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>23</FileNumber>
|
||||
<FileNumber>22</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -555,7 +538,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>24</FileNumber>
|
||||
<FileNumber>23</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -567,7 +550,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>25</FileNumber>
|
||||
<FileNumber>24</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -579,7 +562,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>26</FileNumber>
|
||||
<FileNumber>25</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -591,7 +574,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>27</FileNumber>
|
||||
<FileNumber>26</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -603,7 +586,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>28</FileNumber>
|
||||
<FileNumber>27</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -615,7 +598,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>29</FileNumber>
|
||||
<FileNumber>28</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -627,7 +610,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>30</FileNumber>
|
||||
<FileNumber>29</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -639,7 +622,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>31</FileNumber>
|
||||
<FileNumber>30</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -651,7 +634,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>32</FileNumber>
|
||||
<FileNumber>31</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -663,7 +646,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>33</FileNumber>
|
||||
<FileNumber>32</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -675,7 +658,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>34</FileNumber>
|
||||
<FileNumber>33</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -687,7 +670,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>35</FileNumber>
|
||||
<FileNumber>34</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -707,7 +690,7 @@
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>36</FileNumber>
|
||||
<FileNumber>35</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -727,7 +710,7 @@
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>5</GroupNumber>
|
||||
<FileNumber>37</FileNumber>
|
||||
<FileNumber>36</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -739,7 +722,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>5</GroupNumber>
|
||||
<FileNumber>38</FileNumber>
|
||||
<FileNumber>37</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -751,7 +734,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>5</GroupNumber>
|
||||
<FileNumber>39</FileNumber>
|
||||
<FileNumber>38</FileNumber>
|
||||
<FileType>2</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -771,7 +754,7 @@
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>6</GroupNumber>
|
||||
<FileNumber>40</FileNumber>
|
||||
<FileNumber>39</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -783,7 +766,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>6</GroupNumber>
|
||||
<FileNumber>41</FileNumber>
|
||||
<FileNumber>40</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -795,7 +778,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>6</GroupNumber>
|
||||
<FileNumber>42</FileNumber>
|
||||
<FileNumber>41</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -807,7 +790,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>6</GroupNumber>
|
||||
<FileNumber>43</FileNumber>
|
||||
<FileNumber>42</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -819,7 +802,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>6</GroupNumber>
|
||||
<FileNumber>44</FileNumber>
|
||||
<FileNumber>43</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -831,7 +814,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>6</GroupNumber>
|
||||
<FileNumber>45</FileNumber>
|
||||
<FileNumber>44</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -843,7 +826,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>6</GroupNumber>
|
||||
<FileNumber>46</FileNumber>
|
||||
<FileNumber>45</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -855,7 +838,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>6</GroupNumber>
|
||||
<FileNumber>47</FileNumber>
|
||||
<FileNumber>46</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -867,7 +850,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>6</GroupNumber>
|
||||
<FileNumber>48</FileNumber>
|
||||
<FileNumber>47</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -879,7 +862,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>6</GroupNumber>
|
||||
<FileNumber>49</FileNumber>
|
||||
<FileNumber>48</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -891,7 +874,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>6</GroupNumber>
|
||||
<FileNumber>50</FileNumber>
|
||||
<FileNumber>49</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -903,7 +886,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>6</GroupNumber>
|
||||
<FileNumber>51</FileNumber>
|
||||
<FileNumber>50</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -915,7 +898,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>6</GroupNumber>
|
||||
<FileNumber>52</FileNumber>
|
||||
<FileNumber>51</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -927,7 +910,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>6</GroupNumber>
|
||||
<FileNumber>53</FileNumber>
|
||||
<FileNumber>52</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -939,7 +922,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>6</GroupNumber>
|
||||
<FileNumber>54</FileNumber>
|
||||
<FileNumber>53</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -951,7 +934,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>6</GroupNumber>
|
||||
<FileNumber>55</FileNumber>
|
||||
<FileNumber>54</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -963,7 +946,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>6</GroupNumber>
|
||||
<FileNumber>56</FileNumber>
|
||||
<FileNumber>55</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -975,7 +958,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>6</GroupNumber>
|
||||
<FileNumber>57</FileNumber>
|
||||
<FileNumber>56</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -987,7 +970,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>6</GroupNumber>
|
||||
<FileNumber>58</FileNumber>
|
||||
<FileNumber>57</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -999,7 +982,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>6</GroupNumber>
|
||||
<FileNumber>59</FileNumber>
|
||||
<FileNumber>58</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1011,7 +994,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>6</GroupNumber>
|
||||
<FileNumber>60</FileNumber>
|
||||
<FileNumber>59</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1023,7 +1006,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>6</GroupNumber>
|
||||
<FileNumber>61</FileNumber>
|
||||
<FileNumber>60</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1035,7 +1018,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>6</GroupNumber>
|
||||
<FileNumber>62</FileNumber>
|
||||
<FileNumber>61</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1047,7 +1030,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>6</GroupNumber>
|
||||
<FileNumber>63</FileNumber>
|
||||
<FileNumber>62</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1059,7 +1042,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>6</GroupNumber>
|
||||
<FileNumber>64</FileNumber>
|
||||
<FileNumber>63</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1071,7 +1054,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>6</GroupNumber>
|
||||
<FileNumber>65</FileNumber>
|
||||
<FileNumber>64</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1083,7 +1066,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>6</GroupNumber>
|
||||
<FileNumber>66</FileNumber>
|
||||
<FileNumber>65</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1095,7 +1078,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>6</GroupNumber>
|
||||
<FileNumber>67</FileNumber>
|
||||
<FileNumber>66</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1115,7 +1098,7 @@
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>7</GroupNumber>
|
||||
<FileNumber>68</FileNumber>
|
||||
<FileNumber>67</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1141,6 +1124,18 @@
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>9</GroupNumber>
|
||||
<FileNumber>68</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\..\BSP\Src\main.c</PathWithFileName>
|
||||
<FilenameWithoutPath>main.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>9</GroupNumber>
|
||||
<FileNumber>69</FileNumber>
|
||||
@@ -1224,7 +1219,7 @@
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
<GroupName>lorawan/pattern</GroupName>
|
||||
<GroupName>Hardware</GroupName>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
@@ -1236,14 +1231,34 @@
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\..\BSP\Hardware\PM25\sensor_parser.c</PathWithFileName>
|
||||
<FilenameWithoutPath>sensor_parser.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
<GroupName>lorawan/pattern</GroupName>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>12</GroupNumber>
|
||||
<FileNumber>76</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\..\BSP\Middlewares\LoRaWAN\Patterns\Basic\lora.c</PathWithFileName>
|
||||
<FilenameWithoutPath>lora.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>11</GroupNumber>
|
||||
<FileNumber>76</FileNumber>
|
||||
<GroupNumber>12</GroupNumber>
|
||||
<FileNumber>77</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1262,8 +1277,8 @@
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>12</GroupNumber>
|
||||
<FileNumber>77</FileNumber>
|
||||
<GroupNumber>13</GroupNumber>
|
||||
<FileNumber>78</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1274,8 +1289,8 @@
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>12</GroupNumber>
|
||||
<FileNumber>78</FileNumber>
|
||||
<GroupNumber>13</GroupNumber>
|
||||
<FileNumber>79</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1286,8 +1301,8 @@
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>12</GroupNumber>
|
||||
<FileNumber>79</FileNumber>
|
||||
<GroupNumber>13</GroupNumber>
|
||||
<FileNumber>80</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1298,8 +1313,8 @@
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>12</GroupNumber>
|
||||
<FileNumber>80</FileNumber>
|
||||
<GroupNumber>13</GroupNumber>
|
||||
<FileNumber>81</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1310,8 +1325,8 @@
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>12</GroupNumber>
|
||||
<FileNumber>81</FileNumber>
|
||||
<GroupNumber>13</GroupNumber>
|
||||
<FileNumber>82</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1322,8 +1337,8 @@
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>12</GroupNumber>
|
||||
<FileNumber>82</FileNumber>
|
||||
<GroupNumber>13</GroupNumber>
|
||||
<FileNumber>83</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1334,8 +1349,8 @@
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>12</GroupNumber>
|
||||
<FileNumber>83</FileNumber>
|
||||
<GroupNumber>13</GroupNumber>
|
||||
<FileNumber>84</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1346,8 +1361,8 @@
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>12</GroupNumber>
|
||||
<FileNumber>84</FileNumber>
|
||||
<GroupNumber>13</GroupNumber>
|
||||
<FileNumber>85</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1358,8 +1373,8 @@
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>12</GroupNumber>
|
||||
<FileNumber>85</FileNumber>
|
||||
<GroupNumber>13</GroupNumber>
|
||||
<FileNumber>86</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1370,8 +1385,8 @@
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>12</GroupNumber>
|
||||
<FileNumber>86</FileNumber>
|
||||
<GroupNumber>13</GroupNumber>
|
||||
<FileNumber>87</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1382,8 +1397,8 @@
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>12</GroupNumber>
|
||||
<FileNumber>87</FileNumber>
|
||||
<GroupNumber>13</GroupNumber>
|
||||
<FileNumber>88</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1402,8 +1417,8 @@
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>13</GroupNumber>
|
||||
<FileNumber>88</FileNumber>
|
||||
<GroupNumber>14</GroupNumber>
|
||||
<FileNumber>89</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1414,8 +1429,8 @@
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>13</GroupNumber>
|
||||
<FileNumber>89</FileNumber>
|
||||
<GroupNumber>14</GroupNumber>
|
||||
<FileNumber>90</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1426,8 +1441,8 @@
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>13</GroupNumber>
|
||||
<FileNumber>90</FileNumber>
|
||||
<GroupNumber>14</GroupNumber>
|
||||
<FileNumber>91</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1438,8 +1453,8 @@
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>13</GroupNumber>
|
||||
<FileNumber>91</FileNumber>
|
||||
<GroupNumber>14</GroupNumber>
|
||||
<FileNumber>92</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1450,8 +1465,8 @@
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>13</GroupNumber>
|
||||
<FileNumber>92</FileNumber>
|
||||
<GroupNumber>14</GroupNumber>
|
||||
<FileNumber>93</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1462,8 +1477,8 @@
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>13</GroupNumber>
|
||||
<FileNumber>93</FileNumber>
|
||||
<GroupNumber>14</GroupNumber>
|
||||
<FileNumber>94</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1474,8 +1489,8 @@
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>13</GroupNumber>
|
||||
<FileNumber>94</FileNumber>
|
||||
<GroupNumber>14</GroupNumber>
|
||||
<FileNumber>95</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1486,8 +1501,8 @@
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>13</GroupNumber>
|
||||
<FileNumber>95</FileNumber>
|
||||
<GroupNumber>14</GroupNumber>
|
||||
<FileNumber>96</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1498,8 +1513,8 @@
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>13</GroupNumber>
|
||||
<FileNumber>96</FileNumber>
|
||||
<GroupNumber>14</GroupNumber>
|
||||
<FileNumber>97</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1510,8 +1525,8 @@
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>13</GroupNumber>
|
||||
<FileNumber>97</FileNumber>
|
||||
<GroupNumber>14</GroupNumber>
|
||||
<FileNumber>98</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1522,8 +1537,8 @@
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>13</GroupNumber>
|
||||
<FileNumber>98</FileNumber>
|
||||
<GroupNumber>14</GroupNumber>
|
||||
<FileNumber>99</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1534,8 +1549,8 @@
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>13</GroupNumber>
|
||||
<FileNumber>99</FileNumber>
|
||||
<GroupNumber>14</GroupNumber>
|
||||
<FileNumber>100</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1546,8 +1561,8 @@
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>13</GroupNumber>
|
||||
<FileNumber>100</FileNumber>
|
||||
<GroupNumber>14</GroupNumber>
|
||||
<FileNumber>101</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1566,8 +1581,8 @@
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>14</GroupNumber>
|
||||
<FileNumber>101</FileNumber>
|
||||
<GroupNumber>15</GroupNumber>
|
||||
<FileNumber>102</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1586,8 +1601,8 @@
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>15</GroupNumber>
|
||||
<FileNumber>102</FileNumber>
|
||||
<GroupNumber>16</GroupNumber>
|
||||
<FileNumber>103</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1598,8 +1613,8 @@
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>15</GroupNumber>
|
||||
<FileNumber>103</FileNumber>
|
||||
<GroupNumber>16</GroupNumber>
|
||||
<FileNumber>104</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1618,8 +1633,8 @@
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>16</GroupNumber>
|
||||
<FileNumber>104</FileNumber>
|
||||
<GroupNumber>17</GroupNumber>
|
||||
<FileNumber>105</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1630,8 +1645,8 @@
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>16</GroupNumber>
|
||||
<FileNumber>105</FileNumber>
|
||||
<GroupNumber>17</GroupNumber>
|
||||
<FileNumber>106</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -1642,8 +1657,8 @@
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>16</GroupNumber>
|
||||
<FileNumber>106</FileNumber>
|
||||
<GroupNumber>17</GroupNumber>
|
||||
<FileNumber>107</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@@ -16,14 +16,14 @@
|
||||
<TargetCommonOption>
|
||||
<Device>STM32WLE5JCIx</Device>
|
||||
<Vendor>STMicroelectronics</Vendor>
|
||||
<PackID>Keil.STM32WLxx_DFP.1.0.2.OEM</PackID>
|
||||
<PackURL>http://www.keil.com/pack</PackURL>
|
||||
<Cpu>IRAM(0x20000000,0x10000) IROM(0x08000000,0x40000) CPUTYPE("Cortex-M4") FPU2 CLOCK(12000000) ELITTLE</Cpu>
|
||||
<PackID>Keil.STM32WLxx_DFP.1.0.0</PackID>
|
||||
<PackURL>http://www.keil.com/pack/</PackURL>
|
||||
<Cpu>IRAM(0x20000000,0x10000) IROM(0x08000000,0x40000) CPUTYPE("Cortex-M4") CLOCK(12000000) ELITTLE</Cpu>
|
||||
<FlashUtilSpec></FlashUtilSpec>
|
||||
<StartupFile></StartupFile>
|
||||
<FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32WLxx_CM4 -FS08000000 -FL040000 -FP0($$Device:STM32WLE5JCIx$Drivers\CMSIS\Flash\STM32WLxx_CM4.FLM))</FlashDriverDll>
|
||||
<FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32WLxx_CM4 -FS08000000 -FL040000 -FP0($$Device:STM32WLE5JCIx$CMSIS\Flash\STM32WLxx_CM4.FLM))</FlashDriverDll>
|
||||
<DeviceId>0</DeviceId>
|
||||
<RegisterFile>$$Device:STM32WLE5JCIx$Drivers\CMSIS\Device\ST\STM32WLxx\Include\stm32wlxx.h</RegisterFile>
|
||||
<RegisterFile>$$Device:STM32WLE5JCIx$Drivers\Device\ST\STM32WLxx\Include\stm32wlxx.h</RegisterFile>
|
||||
<MemoryEnv></MemoryEnv>
|
||||
<Cmp></Cmp>
|
||||
<Asm></Asm>
|
||||
@@ -33,7 +33,7 @@
|
||||
<SLE66CMisc></SLE66CMisc>
|
||||
<SLE66AMisc></SLE66AMisc>
|
||||
<SLE66LinkerMisc></SLE66LinkerMisc>
|
||||
<SFDFile>$$Device:STM32WLE5JCIx$Drivers\CMSIS\SVD\STM32WL5x_CM4.svd</SFDFile>
|
||||
<SFDFile>$$Device:STM32WLE5JCIx$CMSIS\SVD\STM32WLE5_CM4.svd</SFDFile>
|
||||
<bCustSvd>0</bCustSvd>
|
||||
<UseEnv>0</UseEnv>
|
||||
<BinPath></BinPath>
|
||||
@@ -52,9 +52,9 @@
|
||||
<OutputName>TencentOS_Tiny</OutputName>
|
||||
<CreateExecutable>1</CreateExecutable>
|
||||
<CreateLib>0</CreateLib>
|
||||
<CreateHexFile>0</CreateHexFile>
|
||||
<CreateHexFile>1</CreateHexFile>
|
||||
<DebugInformation>1</DebugInformation>
|
||||
<BrowseInformation>0</BrowseInformation>
|
||||
<BrowseInformation>1</BrowseInformation>
|
||||
<ListingPath>.\List\</ListingPath>
|
||||
<HexFormatSelection>1</HexFormatSelection>
|
||||
<Merge32K>0</Merge32K>
|
||||
@@ -183,7 +183,7 @@
|
||||
<hadIRAM>1</hadIRAM>
|
||||
<hadXRAM>0</hadXRAM>
|
||||
<uocXRam>0</uocXRam>
|
||||
<RvdsVP>1</RvdsVP>
|
||||
<RvdsVP>0</RvdsVP>
|
||||
<RvdsMve>0</RvdsMve>
|
||||
<RvdsCdeCp>0</RvdsCdeCp>
|
||||
<hadIRAM2>0</hadIRAM2>
|
||||
@@ -339,7 +339,7 @@
|
||||
<MiscControls></MiscControls>
|
||||
<Define>USE_HAL_DRIVER,STM32WLE5xx,CORE_CM4</Define>
|
||||
<Undefine></Undefine>
|
||||
<IncludePath>..\..\..\..\platform\vendor_bsp\st\STM32WLxx_HAL_Driver\Inc;..\..\..\..\platform\vendor_bsp\st\STM32WLxx_HAL_Driver\Inc\Legacy;..\..\..\..\platform\vendor_bsp\st\CMSIS\Device\ST\STM32WLxx\Include;..\..\..\..\platform\vendor_bsp\st\CMSIS\Include;..\..\..\..\arch\arm\arm-v7m\common\include;..\..\..\..\arch\arm\arm-v7m\cortex-m4\armcc;..\..\..\..\kernel\core\include;..\..\..\..\kernel\pm\include;..\..\..\..\osal\cmsis_os;..\..\TOS_CONFIG;..\..\BSP\Middlewares\LoRaWAN\Conf;..\..\BSP\Middlewares\LoRaWAN\Crypto;..\..\BSP\Middlewares\LoRaWAN\Mac;..\..\BSP\Middlewares\LoRaWAN\Patterns\Basic;..\..\BSP\Middlewares\LoRaWAN\Utilities;..\..\BSP\Middlewares\SubGHz_Phy;..\..\BSP\Middlewares\SubGHz_Phy\stm32_radio_driver;..\..\BSP\Inc;.\App;.\Target;..\..\BSP\Utilities\lpm\tiny_lpm;..\..\BSP\Utilities\misc</IncludePath>
|
||||
<IncludePath>..\..\..\..\platform\vendor_bsp\st\STM32WLxx_HAL_Driver\Inc;..\..\..\..\platform\vendor_bsp\st\STM32WLxx_HAL_Driver\Inc\Legacy;..\..\..\..\platform\vendor_bsp\st\CMSIS\Device\ST\STM32WLxx\Include;..\..\..\..\platform\vendor_bsp\st\CMSIS\Include;..\..\..\..\arch\arm\arm-v7m\common\include;..\..\..\..\arch\arm\arm-v7m\cortex-m4\armcc;..\..\..\..\kernel\core\include;..\..\..\..\kernel\pm\include;..\..\..\..\osal\cmsis_os;..\..\TOS_CONFIG;..\..\BSP\Middlewares\LoRaWAN\Conf;..\..\BSP\Middlewares\LoRaWAN\Crypto;..\..\BSP\Middlewares\LoRaWAN\Mac;..\..\BSP\Middlewares\LoRaWAN\Patterns\Basic;..\..\BSP\Middlewares\LoRaWAN\Utilities;..\..\BSP\Middlewares\SubGHz_Phy;..\..\BSP\Middlewares\SubGHz_Phy\stm32_radio_driver;..\..\BSP\Inc;.\App;.\Target;..\..\BSP\Utilities\lpm\tiny_lpm;..\..\BSP\Utilities\misc;..\..\BSP\Hardware\PM25</IncludePath>
|
||||
</VariousControls>
|
||||
</Cads>
|
||||
<Aads>
|
||||
@@ -413,11 +413,6 @@
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\..\BSP\Src\gpio.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>main.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\..\BSP\Src\main.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>mcu_init.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
@@ -761,6 +756,11 @@
|
||||
<Group>
|
||||
<GroupName>TOS-CONFIG</GroupName>
|
||||
<Files>
|
||||
<File>
|
||||
<FileName>main.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\..\BSP\Src\main.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>tos_config.h</FileName>
|
||||
<FileType>5</FileType>
|
||||
@@ -798,6 +798,16 @@
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>Hardware</GroupName>
|
||||
<Files>
|
||||
<File>
|
||||
<FileName>sensor_parser.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\..\BSP\Hardware\PM25\sensor_parser.c</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>lorawan/pattern</GroupName>
|
||||
<Files>
|
||||
@@ -998,8 +1008,8 @@
|
||||
<RTE>
|
||||
<apis/>
|
||||
<components>
|
||||
<component Cclass="CMSIS" Cgroup="CORE" Cvendor="ARM" Cversion="5.3.0" condition="ARMv6_7_8-M Device">
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.6.0"/>
|
||||
<component Cclass="CMSIS" Cgroup="CORE" Cvendor="ARM" Cversion="5.4.0" condition="ARMv6_7_8-M Device">
|
||||
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.7.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="TencentOS_Tiny"/>
|
||||
</targetInfos>
|
||||
|
Reference in New Issue
Block a user