云台底层控制写完,未测试
This commit is contained in:
parent
73d440be4d
commit
7d46287def
9 changed files with 2079 additions and 1766 deletions
File diff suppressed because it is too large
Load diff
|
|
@ -1946,9 +1946,6 @@
|
|||
<file>
|
||||
<name>$PROJ_DIR$\..\src\app\debug.c</name>
|
||||
</file>
|
||||
<file>
|
||||
<name>$PROJ_DIR$\..\src\app\display.c</name>
|
||||
</file>
|
||||
<file>
|
||||
<name>$PROJ_DIR$\..\src\app\input.c</name>
|
||||
</file>
|
||||
|
|
@ -1970,6 +1967,9 @@
|
|||
<configuration>Debug</configuration>
|
||||
</excluded>
|
||||
</file>
|
||||
<file>
|
||||
<name>$PROJ_DIR$\..\src\app\orient.c</name>
|
||||
</file>
|
||||
<file>
|
||||
<name>$PROJ_DIR$\..\src\app\output.c</name>
|
||||
</file>
|
||||
|
|
|
|||
|
|
@ -222,9 +222,6 @@
|
|||
<file>
|
||||
<name>$PROJ_DIR$\..\src\app\debug.c</name>
|
||||
</file>
|
||||
<file>
|
||||
<name>$PROJ_DIR$\..\src\app\display.c</name>
|
||||
</file>
|
||||
<file>
|
||||
<name>$PROJ_DIR$\..\src\app\input.c</name>
|
||||
</file>
|
||||
|
|
@ -243,6 +240,9 @@
|
|||
<file>
|
||||
<name>$PROJ_DIR$\..\src\app\NormalDemo_Flash.c</name>
|
||||
</file>
|
||||
<file>
|
||||
<name>$PROJ_DIR$\..\src\app\orient.c</name>
|
||||
</file>
|
||||
<file>
|
||||
<name>$PROJ_DIR$\..\src\app\output.c</name>
|
||||
</file>
|
||||
|
|
|
|||
|
|
@ -16,32 +16,33 @@
|
|||
|
||||
|
||||
/*
|
||||
* 8266
|
||||
* µ÷ÊÔÄ£¿é,»ò8266
|
||||
*/
|
||||
#define WIFI_UARTX UART0 // PTA1,PTA2
|
||||
#define DEBUG_UARTX UART0 // PTA1,PTA2
|
||||
|
||||
/*
|
||||
* µ÷ÊÔÄ£¿é,»òÔÆÌ¨
|
||||
* ÔÆÌ¨
|
||||
*/
|
||||
#define DEBUG_UARTX UART1 // PTC3,PTC4
|
||||
|
||||
#define ORIENT_UARTX UART1 // PTC3,PTC4
|
||||
#define RE_DE_PINX PTC1
|
||||
|
||||
/*
|
||||
* 输入模块
|
||||
*/
|
||||
#define UP_KEY_PINX PTE20
|
||||
#define DOWN_KEY_PINX PTA17
|
||||
#define OK_KEY_PINX PTE23
|
||||
#define RET_KEY_PINX PTA4
|
||||
#define AMS_KEY_PINX PTA5
|
||||
#define UP_KEY_PINX PTA4
|
||||
#define DOWN_KEY_PINX PTA5
|
||||
#define OK_KEY_PINX PTE20
|
||||
#define RET_KEY_PINX PTE30
|
||||
#define AMS_KEY_PINX PTD5
|
||||
#define WIFI_KEY_PINX PTD7
|
||||
#define MR_KEY_PINX PTE30
|
||||
#define MR_KEY_PINX PTE23
|
||||
#define MB_KEY_PINX PTA16
|
||||
#define MUVB_KEY_PINX PTD6
|
||||
#define MUVB_KEY_PINX PTD4
|
||||
// knob用必须是PTA或PTD端口的
|
||||
#define KNOB_A_PINX PTD6
|
||||
#define KNOB_B_PINX PTD7
|
||||
#define KNOB_KEY_PINX PTD4
|
||||
#define KNOB_A_PINX PTD7
|
||||
#define KNOB_B_PINX PTD6
|
||||
#define KNOB_KEY_PINX PTE20
|
||||
|
||||
|
||||
|
||||
|
|
@ -56,19 +57,21 @@
|
|||
*/
|
||||
#define DS1302_CE_PINX PTB2
|
||||
#define DS1302_CLK_PINX PTB1
|
||||
#define DS1302_IO_PINX PTB0
|
||||
#define DS1302_IO_PINX PTB3
|
||||
|
||||
/*
|
||||
* 控制执行模块
|
||||
*
|
||||
*/
|
||||
#define LGRED_PINX PTC12
|
||||
#define LGBLUE_PINX PTC13
|
||||
#define LGUVB_PINX PTC15
|
||||
#define WATER_PINX PTC16
|
||||
#define LGRED_PINX PTC17
|
||||
#define LGBLUE_PINX PTC16
|
||||
#define LGUVB_PINX PTC13
|
||||
#define WATER_PINX PTD1
|
||||
|
||||
/*
|
||||
* led控制,多选几个任意端口
|
||||
*/
|
||||
|
||||
#define LG1_PINX PTC9
|
||||
#define LG2_PINX PTC8
|
||||
#define LG3_PINX PTC7
|
||||
#endif // CONFIG_H
|
||||
|
|
|
|||
51
plan_manage_main/src/app/include/orient.h
Normal file
51
plan_manage_main/src/app/include/orient.h
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
/*
|
||||
* orient.h - 方向控制
|
||||
*
|
||||
* 所有如上,所有如下
|
||||
*/
|
||||
|
||||
|
||||
#ifndef ORIENT_H
|
||||
#define ORIENT_H
|
||||
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
|
||||
|
||||
|
||||
typedef enum orient_
|
||||
{
|
||||
ORIENT_UP = 0, ORIENT_DOWN, ORIENT_RIGHT, ORIENT_LEFT
|
||||
} orient;
|
||||
|
||||
typedef enum preset_op_
|
||||
{
|
||||
PRESET_SET = 0, PRESET_CLEAR, PRESET_CALL
|
||||
} preset_op;
|
||||
|
||||
typedef enum orient_mode_
|
||||
{
|
||||
MODE_AUTO = 0, MODE_MANUL
|
||||
} orient_mode;
|
||||
|
||||
|
||||
|
||||
void orient_init(void);
|
||||
|
||||
void orient_setspeed(uint8_t addr, orient ori, uint8_t spd);
|
||||
|
||||
void orient_setpreset(uint8_t addr, preset_op op, uint8_t npre);
|
||||
|
||||
void orient_setmode(uint8_t addr, orient_mode mod);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif /* ORIENT_H */
|
||||
|
||||
118
plan_manage_main/src/app/orient.c
Normal file
118
plan_manage_main/src/app/orient.c
Normal file
|
|
@ -0,0 +1,118 @@
|
|||
/*
|
||||
* orient.c - 关于光照方向控制的模块
|
||||
*
|
||||
* 所有如上,所有如下
|
||||
*/
|
||||
|
||||
|
||||
#include "uart.h"
|
||||
|
||||
#include "include/orient.h"
|
||||
#include "include/config.h"
|
||||
|
||||
|
||||
void orient_init(void)
|
||||
{
|
||||
uart_init(ORIENT_UARTX, 2400);
|
||||
orient_setmode(0, MODE_MANUL);
|
||||
orient_setmode(1, MODE_MANUL);
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
* orient_setspeed() - 设置方向控制的速度以及角度
|
||||
*
|
||||
* @addr: 地址码
|
||||
* @ori: 方向
|
||||
* @spd: 表示速度,范围在0~100
|
||||
*/
|
||||
void orient_setspeed(uint8_t addr, orient ori, uint8_t spd)
|
||||
{
|
||||
uint8_t cmd[7] = { 0xff, addr, 0x00, 0x00, 0x00, 0x00, 0x00 };
|
||||
|
||||
switch (ori)
|
||||
{
|
||||
case ORIENT_UP:
|
||||
cmd[3] = 0x08;
|
||||
break;
|
||||
case ORIENT_DOWN:
|
||||
cmd[3] = 0x10;
|
||||
break;
|
||||
case ORIENT_LEFT:
|
||||
cmd[3] = 0x04;
|
||||
break;
|
||||
case ORIENT_RIGHT:
|
||||
cmd[3] = 0x02;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (spd > 100)
|
||||
{
|
||||
spd = 100;
|
||||
}
|
||||
cmd[4] = 0x3f * spd / 100;
|
||||
cmd[6] = cmd[1] + cmd[2] + cmd[3] + cmd[4] + cmd[5];
|
||||
|
||||
uart_sendN(ORIENT_UARTX, cmd, 7);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* orient_setpreset() - 设置预置点
|
||||
*
|
||||
* @addr: 地址码
|
||||
* @op: 对预置点的操作
|
||||
* @npre: 预置点编号
|
||||
*/
|
||||
void orient_setpreset(uint8_t addr, preset_op op, uint8_t npre)
|
||||
{
|
||||
uint8_t cmd[7] = { 0xff, addr, 0x00, 0x00, 0x00, npre, 0x00 };
|
||||
|
||||
switch (op)
|
||||
{
|
||||
case PRESET_SET:
|
||||
cmd[3] = 0x03;
|
||||
break;
|
||||
case PRESET_CALL:
|
||||
cmd[3] = 0x07;
|
||||
break;
|
||||
case PRESET_CLEAR:
|
||||
cmd[3] = 0x05;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
cmd[6] = cmd[1] + cmd[2] + cmd[3] + cmd[4] + cmd[5];
|
||||
uart_sendN(ORIENT_UARTX, cmd, 7);
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
* orient_setmode() - 设置云台模式
|
||||
*
|
||||
* @addr: 地址码
|
||||
* @mod: 模式标志
|
||||
*/
|
||||
void orient_setmode(uint8_t addr, orient_mode mod)
|
||||
{
|
||||
uint8_t cmd[7] = { 0xff, addr, 0x00, 0x00, 0x00, 0x00, 0x00 };
|
||||
|
||||
switch (mod)
|
||||
{
|
||||
case MODE_AUTO:
|
||||
cmd[2] = 0x90;
|
||||
break;
|
||||
case MODE_MANUL:
|
||||
cmd[2] = 0x00;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
cmd[6] = cmd[1] + cmd[2] + cmd[3] + cmd[4] + cmd[5];
|
||||
|
||||
uart_sendN(ORIENT_UARTX, cmd, 7);
|
||||
return;
|
||||
}
|
||||
|
|
@ -11,6 +11,7 @@
|
|||
#include "include/pm_time.h"
|
||||
#include "include/plan_handle.h"
|
||||
#include "include/pm_flash.h"
|
||||
#include "include/orient.h"
|
||||
|
||||
|
||||
/*
|
||||
|
|
@ -26,5 +27,6 @@ void pm_init(void)
|
|||
tft_init();
|
||||
ds1302_init();
|
||||
plan_handle_init(); // 计划处理初始化必须在flash初始化之后
|
||||
orient_init();
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,76 @@
|
|||
* tft.c - tft ÏÔʾÆÁµÄ½Ó¿Ú
|
||||
*
|
||||
* uart hmi·½Ê½
|
||||
* 这个模块的核心是一个状态机框架,如下
|
||||
* switch (tft_stt.pgn)
|
||||
* {
|
||||
* case ORIGINAL_PG:
|
||||
* switch (kvp_menu[etn].attr)
|
||||
* {
|
||||
* case R_NUM:
|
||||
* break;
|
||||
* case RW_NUM:
|
||||
* break;
|
||||
* case RW_PIC:
|
||||
* break;
|
||||
* case SW_PAGE:
|
||||
* break;
|
||||
* case R_TXT:
|
||||
* break;
|
||||
* default:
|
||||
* break;
|
||||
* }
|
||||
* break;
|
||||
* case MENU_PG:
|
||||
* switch (kvp_menu[etn].attr)
|
||||
* {
|
||||
* case R_NUM:
|
||||
* break;
|
||||
* case RW_NUM:
|
||||
* break;
|
||||
* case RW_PIC:
|
||||
* break;
|
||||
* case SW_PAGE:
|
||||
* break;
|
||||
* case R_TXT:
|
||||
* break;
|
||||
* default:
|
||||
* break;
|
||||
* }
|
||||
* break;
|
||||
* case OBJ_SET_PG:
|
||||
* switch (kvp_obj_set[tft_stt.objn][etn].attr)
|
||||
* {
|
||||
* case R_NUM:
|
||||
* break;
|
||||
* case RW_NUM:
|
||||
* break;
|
||||
* case RW_PIC:
|
||||
* break;
|
||||
* case SW_PAGE:
|
||||
* break;
|
||||
* case R_TXT:
|
||||
* break;
|
||||
* default:
|
||||
* break;
|
||||
* }
|
||||
* break;
|
||||
* default:
|
||||
* break;
|
||||
* }
|
||||
* 关于显示的所有,最终都会体现在这个框架里,也就是所谓的状态机里,逻辑简单,细节繁琐
|
||||
*
|
||||
* 解释几个关键变量:
|
||||
* tft_stt - 包含状态机当前的状态信息
|
||||
* kvp_* - 数组,每一个元素具有一个页面中单个元素的数据信息,它的集合组成整个页
|
||||
* 面的数据信息,它的元素顺序应该符合页面中的实际顺序,也即它的元素顺序表示了页
|
||||
* 面元素的顺序信息
|
||||
* *_lyt - 数组,配合kvp_*描述一个页面的布局,其每一个元素表示页面中对应行中第一
|
||||
* 个元素在kvp_*数组中的下标
|
||||
* 每一对*_lyt和kvp_*完整的表示了一个页面,也就是数据信息和布局信息
|
||||
* ( * 号意指通配符;页面是按行分割的)
|
||||
*
|
||||
* 所有如上,所有如下
|
||||
*/
|
||||
|
||||
#include <stdint.h>
|
||||
|
|
@ -17,6 +87,8 @@
|
|||
#include "include/plan_handle.h"
|
||||
#include "include/tft_plan_internal.h"
|
||||
#include "include/pm_flash.h"
|
||||
#include "include/orient.h"
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -37,7 +109,7 @@ typedef enum page_name_
|
|||
|
||||
typedef enum entry_attr_
|
||||
{
|
||||
R_NUM = 0, RW_NUM, RW_PIC, SW_PAGE, R_TXT
|
||||
R_NUM = 0, RW_NUM, RW_PIC, SW_PAGE, R_TXT, RW_TXT
|
||||
} entry_attr;
|
||||
|
||||
typedef enum tft_colour_
|
||||
|
|
@ -78,7 +150,7 @@ kv_pair kvp_obj_set[][PLAN_DATA_NUM] =
|
|||
{ "bg_h", 14, RW_NUM }, { "bg_mi", 0, RW_NUM }, { "ed_h", 14, RW_NUM }, { "ed_mi", 0, RW_NUM }, // 5~8
|
||||
{ "lg_r", 0, RW_PIC}, { "lg_b", 0, RW_PIC }, { "lg_uvb", 0, RW_PIC }, { "water", 0, RW_PIC }, // 9~12
|
||||
{ "pd_d", 3, RW_NUM }, { "pd_h", 3, RW_NUM }, { "pd_mi", 3, RW_NUM }, // 13~15
|
||||
{ "x", 0, RW_NUM }, { "y", 0, RW_NUM }, // 16~17
|
||||
{ "x", 0, RW_TXT }, { "y", 0, RW_TXT }, // 16~17
|
||||
{ "cnt", 0, R_NUM } //18
|
||||
}, // 0
|
||||
{
|
||||
|
|
@ -87,7 +159,7 @@ kv_pair kvp_obj_set[][PLAN_DATA_NUM] =
|
|||
{ "bg_h", 14, RW_NUM }, { "bg_mi", 0, RW_NUM }, { "ed_h", 14, RW_NUM }, { "ed_mi", 0, RW_NUM }, // 5~8
|
||||
{ "lg_r", 0, RW_PIC}, { "lg_b", 0, RW_PIC }, { "lg_uvb", 0, RW_PIC }, { "water", 0, RW_PIC }, // 9~12
|
||||
{ "pd_d", 3, RW_NUM }, { "pd_h", 3, RW_NUM }, { "pd_mi", 3, RW_NUM }, // 13~15
|
||||
{ "x", 0, RW_NUM }, { "y", 0, RW_NUM }, // 16~17
|
||||
{ "x", 0, RW_TXT }, { "y", 0, RW_TXT }, // 16~17
|
||||
{ "cnt", 0, R_NUM } //18
|
||||
}, // 1
|
||||
{
|
||||
|
|
@ -96,7 +168,7 @@ kv_pair kvp_obj_set[][PLAN_DATA_NUM] =
|
|||
{ "bg_h", 14, RW_NUM }, { "bg_mi", 0, RW_NUM }, { "ed_h", 14, RW_NUM }, { "ed_mi", 0, RW_NUM }, // 5~8
|
||||
{ "lg_r", 0, RW_PIC}, { "lg_b", 0, RW_PIC }, { "lg_uvb", 0, RW_PIC }, { "water", 0, RW_PIC }, // 9~12
|
||||
{ "pd_d", 3, RW_NUM }, { "pd_h", 3, RW_NUM }, { "pd_mi", 3, RW_NUM }, // 13~15
|
||||
{ "x", 0, RW_NUM }, { "y", 0, RW_NUM }, // 16~17
|
||||
{ "x", 0, RW_TXT }, { "y", 0, RW_TXT }, // 16~17
|
||||
{ "cnt", 0, R_NUM } //18
|
||||
}, // 2
|
||||
{
|
||||
|
|
@ -105,7 +177,7 @@ kv_pair kvp_obj_set[][PLAN_DATA_NUM] =
|
|||
{ "bg_h", 14, RW_NUM }, { "bg_mi", 0, RW_NUM }, { "ed_h", 14, RW_NUM }, { "ed_mi", 0, RW_NUM }, // 5~8
|
||||
{ "lg_r", 0, RW_PIC}, { "lg_b", 0, RW_PIC }, { "lg_uvb", 0, RW_PIC }, { "water", 0, RW_PIC }, // 9~12
|
||||
{ "pd_d", 3, RW_NUM }, { "pd_h", 3, RW_NUM }, { "pd_mi", 3, RW_NUM }, // 13~15
|
||||
{ "x", 0, RW_NUM }, { "y", 0, RW_NUM }, // 16~17
|
||||
{ "x", 0, RW_TXT }, { "y", 0, RW_TXT }, // 16~17
|
||||
{ "cnt", 0, R_NUM } //18
|
||||
}, // 3
|
||||
{
|
||||
|
|
@ -114,7 +186,7 @@ kv_pair kvp_obj_set[][PLAN_DATA_NUM] =
|
|||
{ "bg_h", 14, RW_NUM }, { "bg_mi", 0, RW_NUM }, { "ed_h", 14, RW_NUM }, { "ed_mi", 0, RW_NUM }, // 5~8
|
||||
{ "lg_r", 0, RW_PIC}, { "lg_b", 0, RW_PIC }, { "lg_uvb", 0, RW_PIC }, { "water", 0, RW_PIC }, // 9~12
|
||||
{ "pd_d", 3, RW_NUM }, { "pd_h", 3, RW_NUM }, { "pd_mi", 3, RW_NUM }, // 13~15
|
||||
{ "x", 0, RW_NUM }, { "y", 0, RW_NUM }, // 16~17
|
||||
{ "x", 0, RW_TXT }, { "y", 0, RW_TXT }, // 16~17
|
||||
{ "cnt", 0, R_NUM } //18
|
||||
}, // 4
|
||||
{
|
||||
|
|
@ -123,7 +195,7 @@ kv_pair kvp_obj_set[][PLAN_DATA_NUM] =
|
|||
{ "bg_h", 14, RW_NUM }, { "bg_mi", 0, RW_NUM }, { "ed_h", 14, RW_NUM }, { "ed_mi", 0, RW_NUM }, // 5~8
|
||||
{ "lg_r", 0, RW_PIC}, { "lg_b", 0, RW_PIC }, { "lg_uvb", 0, RW_PIC }, { "water", 0, RW_PIC }, // 9~12
|
||||
{ "pd_d", 3, RW_NUM }, { "pd_h", 3, RW_NUM }, { "pd_mi", 3, RW_NUM }, // 13~15
|
||||
{ "x", 0, RW_NUM }, { "y", 0, RW_NUM }, // 16~17
|
||||
{ "x", 0, RW_TXT }, { "y", 0, RW_TXT }, // 16~17
|
||||
{ "cnt", 0, R_NUM } //18
|
||||
}, // 5
|
||||
{
|
||||
|
|
@ -132,7 +204,7 @@ kv_pair kvp_obj_set[][PLAN_DATA_NUM] =
|
|||
{ "bg_h", 14, RW_NUM }, { "bg_mi", 0, RW_NUM }, { "ed_h", 14, RW_NUM }, { "ed_mi", 0, RW_NUM }, // 5~8
|
||||
{ "lg_r", 0, RW_PIC}, { "lg_b", 0, RW_PIC }, { "lg_uvb", 0, RW_PIC }, { "water", 0, RW_PIC }, // 9~12
|
||||
{ "pd_d", 3, RW_NUM }, { "pd_h", 3, RW_NUM }, { "pd_mi", 3, RW_NUM }, // 13~15
|
||||
{ "x", 0, RW_NUM }, { "y", 0, RW_NUM }, // 16~17
|
||||
{ "x", 0, RW_TXT }, { "y", 0, RW_TXT }, // 16~17
|
||||
{ "cnt", 0, R_NUM } //18
|
||||
}, // 6
|
||||
{
|
||||
|
|
@ -141,7 +213,7 @@ kv_pair kvp_obj_set[][PLAN_DATA_NUM] =
|
|||
{ "bg_h", 14, RW_NUM }, { "bg_mi", 0, RW_NUM }, { "ed_h", 14, RW_NUM }, { "ed_mi", 0, RW_NUM }, // 5~8
|
||||
{ "lg_r", 0, RW_PIC}, { "lg_b", 0, RW_PIC }, { "lg_uvb", 0, RW_PIC }, { "water", 0, RW_PIC }, // 9~12
|
||||
{ "pd_d", 3, RW_NUM }, { "pd_h", 3, RW_NUM }, { "pd_mi", 3, RW_NUM }, // 13~15
|
||||
{ "x", 0, RW_NUM }, { "y", 0, RW_NUM }, // 16~17
|
||||
{ "x", 0, RW_TXT }, { "y", 0, RW_TXT }, // 16~17
|
||||
{ "cnt", 0, R_NUM } //18
|
||||
}, // 7
|
||||
};
|
||||
|
|
@ -682,6 +754,50 @@ static void tft_input(void)
|
|||
tft_set_color(tft_stt.etn, TFT_PURPLE);
|
||||
clear_key_m();
|
||||
break;
|
||||
case RW_TXT:
|
||||
tft_set_color(tft_stt.etn, TFT_RED);
|
||||
in_lmt = tft_input_limit(kvp_obj_set[tft_stt.objn][tft_stt.etn].key);
|
||||
bg_v = kvp_obj_set[tft_stt.objn][tft_stt.etn].value;
|
||||
knob_enable();
|
||||
uint8_t addr = 0;
|
||||
if (strcmp(kvp_obj_set[tft_stt.objn][tft_stt.etn].key, "x") == 0)
|
||||
{
|
||||
addr = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
addr = 1;
|
||||
}
|
||||
while (get_key_mean(RET_KEY) == N_KEY)
|
||||
{
|
||||
in_v = bg_v + get_knob_val();
|
||||
if (in_v < in_lmt.min)
|
||||
{
|
||||
kvp_obj_set[tft_stt.objn][tft_stt.etn].value = in_lmt.min;
|
||||
bg_v = in_lmt.min;
|
||||
knob_clear();
|
||||
}
|
||||
else if (in_v > in_lmt.max)
|
||||
{
|
||||
kvp_obj_set[tft_stt.objn][tft_stt.etn].value = in_lmt.max;
|
||||
bg_v = in_lmt.max;
|
||||
knob_clear();
|
||||
}
|
||||
else
|
||||
{
|
||||
kvp_obj_set[tft_stt.objn][tft_stt.etn].value = in_v;
|
||||
}
|
||||
sprintf(tft_cmd_str, "%s.txt=\"%d\"", kvp_obj_set[tft_stt.objn][tft_stt.etn].key,
|
||||
kvp_obj_set[tft_stt.objn][tft_stt.etn].value);
|
||||
tft_send_cmd(tft_cmd_str);
|
||||
|
||||
orient_setspeed(addr, kvp_obj_set[tft_stt.objn][tft_stt.etn].value >= 0 ? ORIENT_RIGHT : ORIENT_LEFT, kvp_obj_set[tft_stt.objn][tft_stt.etn].value);
|
||||
}
|
||||
orient_setmode(addr, MODE_MANUL);
|
||||
knob_disable();
|
||||
tft_set_color(tft_stt.etn, TFT_PURPLE);
|
||||
clear_key_m();
|
||||
break;
|
||||
case SW_PAGE:
|
||||
break;
|
||||
default:
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
Loading…
Add table
Add a link
Reference in a new issue