暂存,测试主从连接
This commit is contained in:
parent
6a8040ca2f
commit
c932d616cd
|
@ -17,7 +17,9 @@
|
|||
"shell.h": "c",
|
||||
"ch59x_common.h": "c",
|
||||
"flexible_button.h": "c",
|
||||
"stdint.h": "c"
|
||||
"stdint.h": "c",
|
||||
"bsp_flash.h": "c",
|
||||
"bsp_valve.h": "c"
|
||||
},
|
||||
"marscode.chatLanguage": "cn"
|
||||
}
|
||||
|
|
|
@ -24,8 +24,11 @@
|
|||
#include "bsp_uart.h"
|
||||
#include "log.h"
|
||||
|
||||
#include "bsp_i2c.h"
|
||||
#include "bsp_adc.h"
|
||||
|
||||
#undef LOG_ENABLE
|
||||
#define LOG_ENABLE 0
|
||||
#define LOG_ENABLE 1
|
||||
|
||||
#undef LOG_TAG
|
||||
#define LOG_TAG "peripheral"
|
||||
|
@ -52,7 +55,7 @@
|
|||
#define SBP_PHY_UPDATE_DELAY 2400
|
||||
|
||||
// What is the advertising interval when device is discoverable (units of 625us, 80=50ms)
|
||||
#define DEFAULT_ADVERTISING_INTERVAL (160 * 10)
|
||||
#define DEFAULT_ADVERTISING_INTERVAL (160 * 1)
|
||||
|
||||
// Limited discoverable mode advertises for 30.72s, and then stops
|
||||
// General discoverable mode advertises indefinitely
|
||||
|
@ -759,14 +762,61 @@ static void UploadPeriodicTask(void)
|
|||
// // peripheralChar4Notify(notiData, SIMPLEPROFILE_CHAR4_LEN);
|
||||
// peripheralChar4Notify(notiData, 5);
|
||||
// counter++;
|
||||
TsRawFrameData RawData;
|
||||
static uint8_t humi = 0;
|
||||
humi++;
|
||||
BSP_VALVE_Generate_Data(&RawData, 30, 25, humi);
|
||||
if (humi > 99)
|
||||
|
||||
#if 1
|
||||
// VBAT
|
||||
uint32_t CountBat = 0;
|
||||
uint16_t adcBuff[40];
|
||||
uint8_t i = 0;
|
||||
// uint32_t countadc = 0;
|
||||
uint16_t min_number = 0;
|
||||
uint16_t max_number = 0;
|
||||
|
||||
ADC_InterBATSampInit();
|
||||
for (i = 0; i < 20; i++)
|
||||
{
|
||||
humi = 0;
|
||||
adcBuff[i] = ADC_ExcutSingleConver(); // 连续采样20次
|
||||
}
|
||||
for (i = 0; i < 20; i++)
|
||||
{
|
||||
CountBat += adcBuff[i];
|
||||
if (i == 0)
|
||||
{
|
||||
min_number = adcBuff[i];
|
||||
max_number = adcBuff[i];
|
||||
}
|
||||
min_number = ((min_number > adcBuff[i]) ? adcBuff[i] : min_number); // 软件滤波
|
||||
max_number = ((max_number < adcBuff[i]) ? adcBuff[i] : max_number);
|
||||
}
|
||||
logDebug("min_number = %d, max_number = %d", min_number, max_number);
|
||||
CountBat = (CountBat - min_number - max_number) / 18; // 删除最小与最大值
|
||||
logDebug("AverageCountBat = %d", CountBat);
|
||||
#endif
|
||||
|
||||
int ret;
|
||||
|
||||
GXHTC3C_Wakeup();
|
||||
DelayMs(20);
|
||||
|
||||
GXHTC3C_GetStart();
|
||||
DelayMs(20);
|
||||
float humi, temp;
|
||||
ret = GXHTC3C_GetTempHumi(&humi, &temp);
|
||||
if (ret == 0)
|
||||
{
|
||||
logDebug("humi %.2f %, temp %.2f C", humi, temp);
|
||||
}
|
||||
|
||||
GXHTC3C_Sleep();
|
||||
|
||||
TsRawFrameData RawData;
|
||||
// static uint8_t humi;
|
||||
// humi++;
|
||||
BSP_VALVE_Generate_Data(&RawData, 0, CountBat/100, temp, humi);
|
||||
// if (humi > 99)
|
||||
// {
|
||||
// humi = 0;
|
||||
// }
|
||||
peripheralChar4Notify(&RawData.buf[0], RawData.len);
|
||||
}
|
||||
|
||||
|
|
|
@ -157,7 +157,7 @@ void Main_Circulation()
|
|||
*/
|
||||
void BLE_AdvertiseEventCB(uint32_t timeUs)
|
||||
{
|
||||
// logDebug("BLE_AdvertiseEventCB");
|
||||
logDebug("BLE_AdvertiseEventCB");
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
|
|
|
@ -119,7 +119,10 @@ int i2c_write_to(uint8_t addr_7bit, const uint8_t *data, uint8_t length,
|
|||
int i2c_read_from(uint8_t addr_7bit, uint8_t *data, uint8_t length,
|
||||
uint8_t send_stop, int timeout);
|
||||
|
||||
|
||||
void GXHTC3C_Sleep(void);
|
||||
void GXHTC3C_Wakeup(void);
|
||||
void GXHTC3C_GetStart(void);
|
||||
uint8_t GXHTC3C_GetTempHumi(float *humi, float *temp);
|
||||
|
||||
void BSP_I2C_DeInit(void);
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
* @Author : stark1898y 1658608470@qq.com
|
||||
* @Date : 2024-12-12 15:55:38
|
||||
* @LastEditors : stark1898y 1658608470@qq.com
|
||||
* @LastEditTime : 2024-12-12 19:08:06
|
||||
* @LastEditTime : 2024-12-14 18:08:58
|
||||
* @FilePath : \BLE_TYQ_CH592F\BSP\inc\bsp_valve.h
|
||||
* @Description :
|
||||
*
|
||||
|
@ -55,19 +55,18 @@ typedef enum
|
|||
|
||||
typedef struct __attribute__((packed))
|
||||
{
|
||||
uint8_t type; // 阀门类型
|
||||
|
||||
uint8_t bat; // 1B 电池电压 30=3V,18=1.8V
|
||||
int8_t temp; // 1B 阀门温度 有符号整数 25 ℃
|
||||
uint8_t hum; // 1B 阀门湿度 %RH
|
||||
|
||||
// uint8_t status; // 1B 阀门工作状态 超欠压、过流
|
||||
// uint8_t connct_status; // 1B 阀门连接状态 (电磁阀BLE控制盒) 0=未连接 1=已连接
|
||||
// uint8_t switch_status; // 1B 阀门开关状态 0=未知 1=关闭 2=关闭过,未按按键恢复 3=关闭过,按下了恢复键 4=打开
|
||||
uint8_t switch_status; // 1B 阀门开关状态 0=未知 1=关闭 2=关闭过,未按按键恢复 3=关闭过,按下了恢复键 4=打开
|
||||
int8_t temp; // 1B 阀门温度 有符号整数 25 ℃
|
||||
|
||||
// uint32_t in_pressure; // 4B 阀门入口压力 Pa
|
||||
// uint32_t out_pressure; // 4B 阀门出口压力 Pa
|
||||
// uint32_t atm_pressure; // 4B 阀门大气压力 Pa
|
||||
uint32_t in_pressure; // 4B 阀门入口压力 Pa
|
||||
uint32_t out_pressure; // 4B 阀门出口压力 Pa
|
||||
uint32_t atm_pressure; // 4B 阀门大气压力 Pa
|
||||
uint8_t type; // 阀门类型
|
||||
uint8_t bat; // 1B 电池电压 30=3V,18=1.8V
|
||||
uint8_t hum; // 1B 阀门湿度 %RH
|
||||
uint8_t rssi;
|
||||
} TsValveData;
|
||||
|
||||
uint8_t CheckSum(const uint8_t *data, size_t len);
|
||||
|
@ -76,7 +75,9 @@ void BSP_VAVLE_Init(void);
|
|||
|
||||
TsFrameData* BSP_VAVLE_GetFrameData(uint8_t *data, uint16_t len);
|
||||
|
||||
void BSP_VALVE_Generate_Data(TsRawFrameData *pRawData, uint8_t bat, int8_t temp, uint8_t hum);
|
||||
uint8_t GenerateRawFrame(TsRawFrameData *pRawData, uint8_t cmd, const uint8_t *p_src, uint8_t src_len);
|
||||
|
||||
void BSP_VALVE_Generate_Data(TsRawFrameData *pRawData, uint8_t switch_status, uint8_t bat, int8_t temp, uint8_t hum);
|
||||
void BSP_VALVE_Generate_ValveResponse(TsRawFrameData *pRawData, TeFrameCmd cmd, uint8_t status);
|
||||
|
||||
#endif // ! __BSP_VALVE_H__
|
||||
|
|
|
@ -181,7 +181,7 @@ TsFrameData* BSP_VAVLE_GetFrameData(uint8_t *data, uint16_t len)
|
|||
// }
|
||||
}
|
||||
|
||||
uint8_t _GenerateRawFrame(TsRawFrameData *pRawData, uint8_t cmd, const uint8_t *p_src, uint8_t src_len)
|
||||
uint8_t GenerateRawFrame(TsRawFrameData *pRawData, uint8_t cmd, const uint8_t *p_src, uint8_t src_len)
|
||||
{
|
||||
// 0xAA CMD/DATA/ DATA_LEN (DATA) checksum 0x55
|
||||
pRawData->len = src_len + 5;
|
||||
|
@ -204,16 +204,24 @@ uint8_t _GenerateRawFrame(TsRawFrameData *pRawData, uint8_t cmd, const uint8_t *
|
|||
return 0;
|
||||
}
|
||||
|
||||
void BSP_VALVE_Generate_Data(TsRawFrameData *pRawData, uint8_t bat, int8_t temp, uint8_t hum)
|
||||
void BSP_VALVE_Generate_Data(TsRawFrameData *pRawData, uint8_t switch_status, uint8_t bat, int8_t temp, uint8_t hum)
|
||||
{
|
||||
TsValveData ValveData;
|
||||
|
||||
ValveData.switch_status = 0;
|
||||
ValveData.temp = temp; // 阀门温度 有符号整数 25 ℃
|
||||
|
||||
ValveData.in_pressure = 1.6 * 1000000;
|
||||
ValveData.out_pressure = 3000;
|
||||
ValveData.atm_pressure = 96000;
|
||||
|
||||
ValveData.type = kTyq; // 阀门类型
|
||||
ValveData.bat = bat; // 电池电压 30=3V,18=1.8V
|
||||
ValveData.temp = temp; // 阀门温度 有符号整数 25 ℃
|
||||
ValveData.hum = hum; // 阀门湿度 %RH
|
||||
|
||||
_GenerateRawFrame(pRawData, kCmdData, (uint8_t*)&ValveData, sizeof(ValveData));
|
||||
ValveData.rssi = 0;
|
||||
|
||||
GenerateRawFrame(pRawData, kCmdData, (uint8_t*)&ValveData, sizeof(ValveData));
|
||||
// logHexDumpAll(&pRawData->buf[0], pRawData->len);
|
||||
}
|
||||
|
||||
|
@ -221,7 +229,7 @@ void BSP_VALVE_Generate_ValveResponse(TsRawFrameData *pRawData, TeFrameCmd cmd,
|
|||
{
|
||||
uint8_t data = 0;
|
||||
data = status;
|
||||
_GenerateRawFrame(pRawData, cmd, &data, 1);
|
||||
GenerateRawFrame(pRawData, cmd, &data, 1);
|
||||
// logHexDumpAll(&pRawData->buf[0], pRawData->len);
|
||||
}
|
||||
|
||||
|
|
|
@ -124,7 +124,7 @@
|
|||
#define CLK_OSC32K 1 // 该项请勿在此修改,必须在工程配置里的预处理中修改,如包含主机角色必须使用外部32K
|
||||
#endif
|
||||
#ifndef BLE_MEMHEAP_SIZE
|
||||
#define BLE_MEMHEAP_SIZE (1024*4)
|
||||
#define BLE_MEMHEAP_SIZE (1024*7)
|
||||
#endif
|
||||
#ifndef BLE_BUFF_MAX_LEN
|
||||
#define BLE_BUFF_MAX_LEN 251
|
||||
|
|
Loading…
Reference in New Issue