added fuzzy matching feature to at_echo; added set some AT+ commands for RHF76; added support for LSM6DS3;

1. in tos_at.h, added int  fuzzy_matching; field into at_echo_st struct, if this field is set to K_TRUE, then if echo message contains the string in "echo_expect" field.
2. added __API__ int tos_at_echo_fuzzy_matching_create(at_echo_t *echo, char *buffer, size_t buffer_size, char *echo_expect_contains) api to tos_at.c, which will create an at_echo_t with fuzzy_matching = K_TRUE;
3. added RHF76_ATCMD_SET_DELAY and  rhf76_set_delay to RHF76.h to allow set/query RX delay config
4. added RHF76_ATCMD_SET_DATA_RATE and rhf76_set_data_rate to RHF76.h to allow set/query date rate config
5. added rhf76_at_cmd_exe for DEBUG purpose, so that user can execute any AT+ commands they want
6. added code in lora_demo.c to demonstrate package segmentation.
This commit is contained in:
Winfred LIN
2020-04-06 23:11:48 +10:00
parent 47d6313ba1
commit b6cb7147cc
14 changed files with 1258 additions and 522 deletions

View File

@@ -20,6 +20,7 @@ extern "C" {
#include "HTS221.h"
#include "LPS22HB.h"
#include "LIS3MDL.h"
#include "LSM6DS3.h"
/* Exported types ------------------------------------------------------------*/
typedef struct
@@ -27,35 +28,31 @@ typedef struct
sensor_press_t sensor_press; /* pressure sensor */
sensor_tempnhumi_t sensor_tempnhumi; /* temperature and humidity */
sensor_magn_t sensor_magn; /* magnetometer */
//--------------------------- accelerator and gyroscope -------------------//
int16_t accel_x; /* in g */
int16_t accel_y; /* in g */
int16_t accel_z; /* in g */
int16_t gyro_x; /* in degree/s */
int16_t gyro_y; /* in degree/s */
int16_t gyro_z; /* in degree/s */
sensor_motion_t sensor_motion; /* accelerometer, gyroscope */
} sensor_data_t;
// application configuration types
typedef enum{
DCT_IS_CONFIRM = 0x00U,
DCT_REPORT_PERIOD = 0x01U,
DCT_REPEAT_TIME = 0x02U,
DCT_MAGN_FULLSCALE = 0x03U,
DCT_DEFAULT = 0xFFU,
DCT_IS_CONFIRM = 0x00U,
DCT_REPORT_PERIOD = 0x01U,
DCT_REPEAT_TIME = 0x02U,
DCT_MAGN_FULLSCALE = 0x03U,
DCT_ACCEL_FULLSCALE = 0x04U,
DCT_GYRO_FULLSCALE = 0x05U,
DCT_DEFAULT = 0xFFU,
}DeviceConfigType_TypeDef;
// application configuration
typedef struct
{
uint32_t config_address;
uint16_t report_period;
uint8_t repeat_time;
LIS3MDL_FullScaleTypeDef magn_fullscale;
bool is_confirmed;
}DeviceConfig_TypeDef;
uint32_t config_address;
uint16_t report_period;
uint8_t repeat_time;
LIS3MDL_FullScaleTypeDef magn_fullscale;
LSM6DS3_AccelFullscaleTypeDef accel_fullscale;
LSM6DS3_GyroFullscaleTypeDef gyro_fullscale;
bool is_confirmed;
}DeviceConfig_TypeDef;
/* Exported constants --------------------------------------------------------*/
/* External variables --------------------------------------------------------*/