修复自定义按键功能的问题,修复后台UI的问题

This commit is contained in:
Your Name
2025-03-20 22:41:37 +08:00
parent 542e5daf8a
commit 84cf4bfc06
7 changed files with 928 additions and 860 deletions

View File

@@ -19,7 +19,7 @@
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
# IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
###############################################################################
###############################################################################
NAME := App_TC1

View File

@@ -20,6 +20,11 @@
<meta name="msapplication-TileColor" content="#3372DF">
<link rel="shortcut icon" href="http://yuntong.icu/tc1/images/favicon.png">
<link rel="stylesheet" href="assets/css_pack.css">
<style>
.mdl-menu {
z-index: 9999 !important;
}
</style>
</head>
<body>
<div class="demo-layout mdl-layout mdl-js-layout mdl-layout--fixed-drawer mdl-layout--fixed-header">
@@ -116,7 +121,7 @@
<div class="page page2 mdl-cell mdl-cell--5-col demo-card-square mdl-card mdl-shadow--2dp"
<div class="page page1 mdl-cell mdl-cell--5-col demo-card-square mdl-card mdl-shadow--2dp"
style="overflow: unset;">
<div class="mdl-card__title mdl-card--expand">
@@ -277,7 +282,29 @@
</div>
<div class="page page2 mdl-cell mdl-cell--5-col demo-card-square mdl-card mdl-shadow--2dp"
<div class="page page1 mdl-cell mdl-cell--5-col demo-card-square mdl-card mdl-shadow--2dp"
style="overflow: unset;">
<div class="mdl-card__title mdl-card--expand">
<h2 class="mdl-card__title-text">功率图</h2>
</div>
<div id="ct-chart-par"
class="page page1 mdl-card__supporting-text mdl-shadow--2dp mdl-cell mdl-cell--6-col"
style="height:315px;overflow-x:scroll;overflow-y:hidden;">
<table class="pw">
<tr>
<td>当前功率: <span id="p" class="success">0</span> W</td>
<td>今日电量: <span id="w_t" class="error">0</span> kW·h</td>
<td>昨日电量: <span id="w_y" class="error">0</span> kW·h</td>
<td>总电量: <span id="w" class="error">0</span> kW·h</td>
</tr>
</table>
<div id="ct-chart" class="ct-chart ct-perfect-fourth"
style="height:280px;margin-top:40px;"></div>
</div>
</div>
<div class="page page1 mdl-cell mdl-cell--5-col demo-card-square mdl-card mdl-shadow--2dp"
style="overflow: unset;">
<div class="mdl-card__title mdl-card--expand">
<h2 class="mdl-card__title-text">按键自定义</h2>
@@ -291,28 +318,6 @@
</div>
<div class="page page2 mdl-cell mdl-cell--5-col demo-card-square mdl-card mdl-shadow--2dp"
style="overflow: unset;">
<div class="mdl-card__title mdl-card--expand">
<h2 class="mdl-card__title-text">功率图</h2>
</div>
<div id="ct-chart-par"
class="page page1 mdl-card__supporting-text mdl-shadow--2dp mdl-cell mdl-cell--6-col"
style="height:315px;overflow-x:scroll;overflow-y:hidden;">
<table class="pw">
<tr>
<td>当前功率: <span id="p" class="success">0</span> W</td>
<td>今日电量: <span id="w_t" class="error">0</span> kW·h</td>
<td>昨日电量: <span id="w_y" class="error">0</span> kW·h</td>
<td>总电量: <span id="w" class="error">0</span> kW·h</td>
</tr>
</table>
<div id="ct-chart" class="ct-chart ct-perfect-fourth"
style="height:280px;margin-top:40px;"></div>
</div>
</div>
<div class="page page2 mdl-cell mdl-cell--5-col demo-card-square mdl-card mdl-shadow--2dp"
style="overflow: unset;">
<div class="mdl-card__title mdl-card--expand">

File diff suppressed because it is too large Load Diff

View File

@@ -84,9 +84,12 @@ void UserRelaySet(unsigned char i, char on) {
} else if (on == Relay_OFF) {
MicoGpioOutputLow(relay[i]);
} else if (on == Relay_TOGGLE) {
MicoGpioOutputTrigger(relay[i]);
if(user_config->socket_status[i]==Relay_OFF){
MicoGpioOutputHigh(relay[i]);
}else{
MicoGpioOutputLow(relay[i]);
}
}
user_config->socket_status[i] = on >= 0 ? on : (user_config->socket_status[i] == 0 ? 1 : 0);
if (RelayOut() && user_config->power_led_enabled) {
@@ -123,16 +126,17 @@ static void KeyLong10sPress(void) {
static void KeyShortPress(int clickCnt) {
key_log("WARNGIN:Power key quick clicked %d time%s",clickCnt,clickCnt>1?"s":"");
if (clickCnt > 10)
if (clickCnt > 10||clickCnt <= 0)
return;
switch (user_config->user[clickCnt]) {
case SWITCH_TOTAL_SOCKET:
key_log("WARNGIN:SWITCH_TOTAL_SOCKET");
if (RelayOut()) {
UserRelaySetAll(0);
} else {
UserRelaySetAll(1);
}
mico_system_context_update(sys_config);
for (int i = 0; i < SOCKET_NUM; i++) {
UserMqttSendSocketState(i);
}
@@ -144,12 +148,14 @@ static void KeyShortPress(int clickCnt) {
case SWITCH_SOCKET_4:
case SWITCH_SOCKET_5:
case SWITCH_SOCKET_6:
key_log("WARNGIN:SWITCH_SOCKET%d %s",user_config->user[clickCnt] - 1,user_config->socket_names[user_config->user[clickCnt] - 1]);
UserRelaySet(user_config->user[clickCnt] - 1, Relay_TOGGLE);
UserMqttSendSocketState(user_config->user[clickCnt] - 1);
UserMqttSendTotalSocketState();
mico_system_context_update(sys_config);
break;
case SWITCH_LED_ENABLE:
key_log("WARNGIN:SWITCH_LED_ENABLE");
MQTT_LED_ENABLED = MQTT_LED_ENABLED == 0 ? 1 : 0;
if (RelayOut() && MQTT_LED_ENABLED) {
UserLedSet(1);
@@ -172,6 +178,10 @@ uint16_t key_time = 0;
#define BUTTON_LONG_PRESS_TIME 10 //100ms*10=1s
static void ClickEndTimeoutHandler(void *arg) {
if(click_count<=0){
click_count = 0;
return;
}
KeyShortPress(click_count);
click_count = 0;
}
@@ -237,7 +247,7 @@ static void KeyFallingIrqHandler(void *arg) {
void KeyInit(void) {
MicoGpioInitialize(Button, INPUT_PULL_UP);
mico_rtos_init_timer(&user_key_timer, 100, KeyTimeoutHandler, NULL);
mico_rtos_init_timer(&click_end_timer, 300, ClickEndTimeoutHandler, NULL);
mico_rtos_init_timer(&click_end_timer, 400, ClickEndTimeoutHandler, NULL);
MicoGpioEnableIRQ(Button, IRQ_TRIGGER_FALLING_EDGE, KeyFallingIrqHandler, NULL);
}