update version for release

This commit is contained in:
yelvlab 2024-12-16 19:27:21 +08:00
parent 0398076df2
commit 243b3bf0f2
6 changed files with 37 additions and 27 deletions

View File

@ -4,9 +4,9 @@ include(cmake/toolchain.cmake)
project(xlsw_3dp_ultrasonic_300K)
set(POWER_VOLTAGE "12V")
set(VERSION_MAJOR 0)
set(VERSION_MINOR 1)
set(VERSION_PATCH 14)
set(VERSION_MAJOR 1)
set(VERSION_MINOR 0)
set(VERSION_PATCH 0)
set(VERSION "V${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}")
string(TIMESTAMP CURRENT_DATE "%Y-%m-%d")

View File

@ -2,15 +2,27 @@
## 传感器数据传输与样式
- USART
- RS485
- baudrate 115200
- 8N1
- 命令格式
- `M1` 读取超声距离数据
- `M2` 读取红外温度数据
- 数据格式
```cap_val:183 Distance: 7361 Temp:2735```
- cap_val:183 超声死区外的ToF数据
- Distance: 7361 距离数据100倍mm距离值
- Temp:2735 温度数据100倍摄氏度值
- 超声 uint16_t
- 有效值:`M1: 8772` 88.72mm
- 最小值:`M1: 4250` 42.50mm
- 最大值:`M1: 13005` 130.05mm
- 红外 int
- 有效值:`M2: 2225` 22.25℃
- 最小值:`M2: -4000` -40.00℃
- 最大值:`M2: 8500` 85.00℃
- 数据获取间隔
- 超声波500ms
- 红外500ms
## 供电与数据
@ -31,9 +43,7 @@
1. XLSW_US-IR_FW: 表示该项目为300K模拟超声波测距与IR非接触式测温方案的MCU固件
2. 12V: 表示目前编译固件为12V供电情况下优化的校正参数建议与实际对应这样可以获得更好的测距准确度
3. 2024-x-x: 表示编译日期
- 请注意,如果需要修改供电电压,请同时修改以上两个地方,否则可能会导致供电电压不匹配的问题。
## TODO List
@ -59,8 +69,8 @@
- [x] 配置IIC接口到PF0/1
- [x] 移植读取目标温度的函数
- [ ] 设置不同反射率下的校准
- [ ] 读取环境温度
- [x] 读取环境温度
### 条件编译
- [ ] 自动判断某一个条件编译是否开启并在CmakeList中添加对应选项输出文件时加以标识
- [x] 自动判断某一个条件编译是否开启并在CmakeList中添加对应选项输出文件时加以标识

View File

@ -27,6 +27,6 @@
/* this function configures I2C Peripheral & GPIO AF for I2C */
void MLX90614_I2CConfig(void);
/* this function reads object temperature */
uint16_t MLX90614_GetObjectTemperature(void);
int MLX90614_GetObjectTemperature(void);
#endif //MLX90614_H

View File

@ -12,15 +12,15 @@
#define BUFSIZE 8
extern uint16_t g_distance_uint16;
extern uint16_t g_temperature_uint16;
extern int g_temperature_int;
void process_command(char *cmd) {
if (strncmp(cmd, "M1", 2) == 0) {
printf("M1 -=-=- OK!\r\n");
// printf("M1 -=-=- OK!\r\n");
printf("Distance: %d\r\n", g_distance_uint16);
} else if (strncmp(cmd, "M2", 2) == 0) {
printf("M2 -=-=- OK!\r\n");
printf("Temperature: %d\r\n", g_temperature_uint16);
// printf("M2 -=-=- OK!\r\n");
printf("Temperature: %d\r\n", g_temperature_int);
// } else if (strncmp(cmd, "M3", 2) == 0) {
// char *param_str = cmd + 2; // Skip "M3"
// int param = atoi(param_str + 1); // Skip "S" and convert to integer

View File

@ -15,7 +15,7 @@
extern uint32_t g_capture_value;
uint16_t g_distance_uint16;
uint16_t g_temperature_uint16;
int g_temperature_int;
/*!
\brief main function
@ -37,11 +37,11 @@ int main(void)
/* ---------- debug end ---------- */
printf("\r\n");
printf("XLSW-3DP-UltraSonic Analog 300K! V0.1.14\r\n");
printf("\r\n");
delay_ms(2000);
// printf("\r\n");
// printf("XLSW-3DP-UltraSonic Analog 300K! V0.1.14\r\n");
// printf("\r\n");
//
// delay_ms(2000);
while (1)
{
@ -58,7 +58,7 @@ int main(void)
// printf(result, distance_uint16);
// printf("Temp:%d\n", MLX90614_GetObjectTemperature());
g_temperature_uint16 = MLX90614_GetObjectTemperature();
g_temperature_int = MLX90614_GetObjectTemperature();
}
}

View File

@ -39,9 +39,9 @@ void MLX90614_I2CConfig(void) {
* @param[out] temp_raw: object temperature
* @retval None
*/
uint16_t MLX90614_GetObjectTemperature(void) {
int MLX90614_GetObjectTemperature(void) {
uint8_t data[3] = {0};
uint16_t temp_raw = 0;
int temp_raw = 0;
uint16_t timeout = 0;
i2c_ack_config(IR_I2C, I2C_ACK_ENABLE);