修复一些小问题
This commit is contained in:
4
.vscode/launch.json
vendored
4
.vscode/launch.json
vendored
@@ -25,14 +25,10 @@
|
||||
"executable": "${workspaceFolder}/build/output/kernel.img.out",
|
||||
"symbolFiles": [
|
||||
"${workspaceFolder}/build/mkrtos/mkrtos_knl/mkrtos.elf",
|
||||
// "${workspaceFolder}/build/mkrtos/mkrtos_user/server/app/app.elf",
|
||||
],
|
||||
"servertype": "jlink",
|
||||
"cwd": "${fileDirname}",
|
||||
// "miDebuggerPath": "/home/zhangzheng/gcc-arm-none-eabi-5_4-2016q3/bin/arm-none-eabi-gdb",
|
||||
"device": "STM32F103RE",
|
||||
// "serverpath": "/usr/local/bin/JLinkGDBServerCL",
|
||||
// "runToMain": true,
|
||||
"configFiles": [
|
||||
"interface/jlink.cfg",
|
||||
"${workspaceFolder}/mkrtos_cfg/stm32f103ret6.cfg",
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
#include "u_env.h"
|
||||
#include "u_sleep.h"
|
||||
#include "e180-zg120.h"
|
||||
#include "sysinfo.h"
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
|
||||
@@ -336,22 +337,55 @@ static void cmd_local_parse(uint8_t *data)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#pragma pack(1)
|
||||
typedef struct dev_info
|
||||
{
|
||||
uint16_t head;
|
||||
uint8_t dev_inx;
|
||||
uint8_t dev_type;
|
||||
uint8_t data[0];
|
||||
} dev_info_t;
|
||||
|
||||
static void cmd_zcl_send_parse(uint8_t *data, int len)
|
||||
{
|
||||
|
||||
uapp_sys_info_t *info = &sys_info;
|
||||
switch (data[0])
|
||||
{
|
||||
case 0x0F:
|
||||
{
|
||||
printf("==========================================\n");
|
||||
// printf("==========================================\n");
|
||||
|
||||
zcl_request_pack_t *pack = (zcl_request_pack_t *)(data + 1);
|
||||
|
||||
int data_len = len - 5 - 1 - sizeof(zcl_request_pack_t);
|
||||
|
||||
uint8_t *recv_data = data + 1 + sizeof(zcl_request_pack_t) + 1;
|
||||
printf("recv data:\n");
|
||||
print_hex(data + 1 + sizeof(zcl_request_pack_t) + 1, data_len);
|
||||
printf("==========================================\n");
|
||||
print_hex(recv_data, data_len);
|
||||
dev_info_t *dev_info = (dev_info_t *)recv_data;
|
||||
if (dev_info->head != 0xfffe)
|
||||
{
|
||||
break;
|
||||
}
|
||||
switch (dev_info->dev_type)
|
||||
{
|
||||
case 0: /*温度数据*/
|
||||
{
|
||||
int val = (((int *)(dev_info->data))[dev_info->dev_inx]) / 10;
|
||||
info->zigbee_temp[0] = val;
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
{
|
||||
int *val = (int *)(dev_info->data);
|
||||
|
||||
info->noise[dev_info->dev_inx] = val[0] / 10;
|
||||
info->noise_temp[dev_info->dev_inx] = val[1];
|
||||
}
|
||||
break;
|
||||
}
|
||||
// printf("==========================================\n");
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -679,7 +713,7 @@ int mod_reset(int reset_mode, uint16_t panid, uint8_t channel)
|
||||
len = zigbee_gen_pack(data_cache, TYPE_CFG, 0x04, (uint8_t *)(&pack), sizeof(pack));
|
||||
zigbee_send_bytes(data_cache, len);
|
||||
|
||||
wait_pack(100);
|
||||
wait_pack(500);
|
||||
queue_t *q = uart4_queue_get();
|
||||
int ret;
|
||||
while ((ret = zigbee_pack_get(q, data_cache)) > 0)
|
||||
@@ -712,7 +746,7 @@ int mod_set_node_type(enum point_type p_type)
|
||||
len = zigbee_gen_pack(data_cache, TYPE_CFG, 0x05, &p_type, 1);
|
||||
zigbee_send_bytes(data_cache, len);
|
||||
|
||||
wait_pack(100);
|
||||
wait_pack(500);
|
||||
queue_t *q = uart4_queue_get();
|
||||
|
||||
int ret;
|
||||
@@ -746,7 +780,7 @@ int mod_start_cfg_net(uint8_t mode)
|
||||
len = zigbee_gen_pack(data_cache, TYPE_CFG, 0x02, &mode, 1);
|
||||
zigbee_send_bytes(data_cache, len);
|
||||
|
||||
wait_pack(100);
|
||||
wait_pack(500);
|
||||
queue_t *q = uart4_queue_get();
|
||||
|
||||
int ret;
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#include "u_types.h"
|
||||
#include "sysinfo.h"
|
||||
#include "stm32_sys.h"
|
||||
#include "relay.h"
|
||||
#include <assert.h>
|
||||
|
||||
void relay_init(void)
|
||||
@@ -23,6 +24,13 @@ void relay_init(void)
|
||||
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
|
||||
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
|
||||
GPIO_Init(GPIOB, &GPIO_InitStructure);
|
||||
|
||||
relay_ctrl(0, 0);
|
||||
relay_ctrl(1, 0);
|
||||
relay_ctrl(2, 0);
|
||||
relay_ctrl(3, 0);
|
||||
relay_ctrl(4, 0);
|
||||
relay_ctrl(5, 0);
|
||||
}
|
||||
void relay_ctrl(uint8_t index, uint8_t state)
|
||||
{
|
||||
|
||||
@@ -17,6 +17,7 @@ typedef struct
|
||||
float noise[3];
|
||||
float noise_temp[3];
|
||||
uint8_t relay[6];
|
||||
int zigbee_temp[4];
|
||||
|
||||
uint8_t netID;
|
||||
uint8_t devID;
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
#include <stdlib.h>
|
||||
|
||||
// 刷新时间
|
||||
#define HIM_LCD_TIME_100MS 200
|
||||
#define HIM_LCD_TIME_100MS 500
|
||||
// LCD串口接收BUF
|
||||
uint8_t cmd_buffer[CMD_MAX_SIZE]; // 指令缓存
|
||||
|
||||
@@ -569,6 +569,10 @@ void UpdateUI(void)
|
||||
SetSliderValue(0, 39, temp_val);
|
||||
SetTextInt32(0, 41, (sys_info.noise_temp[2]), 1, 0); // 设置文本值
|
||||
|
||||
/*Zigbee温度*/
|
||||
uapp_sys_info_t *info = &sys_info;
|
||||
SetTextInt32(0, 64, info->zigbee_temp[0], 1, 0); // 设置文本值
|
||||
|
||||
// SetTextInt32(0, 100, ABS(sys_info.noise[0] - sys_info.noise[1]), 1, 0);
|
||||
|
||||
timer_tick_last_ui_update = sys_read_tick();
|
||||
|
||||
@@ -35,17 +35,13 @@ int main(int argc, char *args[])
|
||||
printf("argc:%d args[0]:%s\n", argc, args[0]);
|
||||
u_sleep_ms(100);
|
||||
drv_init();
|
||||
// sys_info.devID = 12;
|
||||
// sys_info_save();
|
||||
// sys_info.devID = 0;
|
||||
// assert(sys_info.devID == 12);
|
||||
ulog_write_str(u_get_global_env()->log_hd, "app start..\n");
|
||||
relay_test();
|
||||
// relay_test();
|
||||
|
||||
if (mod_send_data(0x10de, 1, 0, 0, "hello world", strlen("hello world")) >= 0)
|
||||
{
|
||||
printf("send ok..\n");
|
||||
}
|
||||
// if (mod_send_data(0x10de, 1, 0, 0, "hello world", strlen("hello world")) >= 0)
|
||||
// {
|
||||
// printf("send ok..\n");
|
||||
// }
|
||||
while (1)
|
||||
{
|
||||
MDM_RTU_Loop();
|
||||
@@ -54,22 +50,7 @@ int main(int argc, char *args[])
|
||||
UpdateUI();
|
||||
usart2_loop();
|
||||
io_ctrl_loop();
|
||||
|
||||
e180_loop();
|
||||
|
||||
// if (uart4_cn > 0)
|
||||
// {
|
||||
// print_hex(uart4_data, uart4_cn);
|
||||
// uart4_cn = 0;
|
||||
// recv_flags = 0;
|
||||
// }
|
||||
// u_sleep_ms(10);
|
||||
// printf("temp:%f press:%f\n", (sys_info.board_temp), (sys_info.pressure));
|
||||
// for (int i = 0; i < 4; i++)
|
||||
// {
|
||||
// printf("tmp%d:%f\n", i, sys_info.temp[i]);
|
||||
// }
|
||||
// usart3_send_string("usart3..\n");
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user