mirror of
https://github.com/jomjol/AI-on-the-edge-device.git
synced 2025-12-09 13:06:54 +03:00
gpio handler works again
remove memory leak in FlowDigit
This commit is contained in:
@@ -14,13 +14,14 @@
|
|||||||
#include <vector>
|
#include <vector>
|
||||||
//#include <regex>
|
//#include <regex>
|
||||||
|
|
||||||
|
#include "defines.h"
|
||||||
|
|
||||||
#include "server_GPIO.h"
|
#include "server_GPIO.h"
|
||||||
|
|
||||||
#include "ClassLogFile.h"
|
#include "ClassLogFile.h"
|
||||||
#include "configFile.h"
|
#include "configFile.h"
|
||||||
#include "Helper.h"
|
#include "Helper.h"
|
||||||
#include "interface_mqtt.h"
|
#include "interface_mqtt.h"
|
||||||
#include "ClassFlowMQTT.h"
|
|
||||||
|
|
||||||
static const char *TAG_SERVERGPIO = "server_GPIO";
|
static const char *TAG_SERVERGPIO = "server_GPIO";
|
||||||
QueueHandle_t gpio_queue_handle = NULL;
|
QueueHandle_t gpio_queue_handle = NULL;
|
||||||
@@ -481,3 +482,37 @@ gpio_int_type_t GpioHandler::resolveIntType(std::string input)
|
|||||||
|
|
||||||
return GPIO_INTR_DISABLE;
|
return GPIO_INTR_DISABLE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static GpioHandler *gpioHandler = NULL;
|
||||||
|
|
||||||
|
void gpio_handler_create(httpd_handle_t server)
|
||||||
|
{
|
||||||
|
if (gpioHandler == NULL)
|
||||||
|
gpioHandler = new GpioHandler(CONFIG_FILE, server);
|
||||||
|
}
|
||||||
|
|
||||||
|
void gpio_handler_init()
|
||||||
|
{
|
||||||
|
if (gpioHandler != NULL) {
|
||||||
|
gpioHandler->init();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void gpio_handler_deinit() {
|
||||||
|
if (gpioHandler != NULL) {
|
||||||
|
gpioHandler->deinit();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void gpio_handler_destroy()
|
||||||
|
{
|
||||||
|
if (gpioHandler != NULL) {
|
||||||
|
delete gpioHandler;
|
||||||
|
gpioHandler = NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
GpioHandler* gpio_handler_get()
|
||||||
|
{
|
||||||
|
return gpioHandler;
|
||||||
|
}
|
||||||
|
|||||||
@@ -84,6 +84,12 @@ private:
|
|||||||
gpio_int_type_t resolveIntType(std::string input);
|
gpio_int_type_t resolveIntType(std::string input);
|
||||||
};
|
};
|
||||||
|
|
||||||
void GpioHandlerStart();
|
void gpio_handler_create(httpd_handle_t server);
|
||||||
|
void gpio_handler_init();
|
||||||
|
void gpio_handler_deinit();
|
||||||
|
void gpio_handler_destroy();
|
||||||
|
GpioHandler* gpio_handler_get();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif //SERVER_GPIO_H
|
#endif //SERVER_GPIO_H
|
||||||
@@ -284,7 +284,11 @@ bool ClassFlowAnalog::doNeuralNetwork(string time)
|
|||||||
string zwcnn = "/sdcard" + cnnmodelfile;
|
string zwcnn = "/sdcard" + cnnmodelfile;
|
||||||
zwcnn = FormatFileName(zwcnn);
|
zwcnn = FormatFileName(zwcnn);
|
||||||
printf(zwcnn.c_str());printf("\n");
|
printf(zwcnn.c_str());printf("\n");
|
||||||
tflite->LoadModel(zwcnn);
|
if (!tflite->LoadModel(zwcnn)) {
|
||||||
|
printf("Can't read model file /sdcard%s\n", cnnmodelfile.c_str());
|
||||||
|
delete tflite;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
tflite->MakeAllocate();
|
tflite->MakeAllocate();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@@ -209,7 +209,7 @@ bool ClassFlowControll::doFlow(string time)
|
|||||||
int repeat = 0;
|
int repeat = 0;
|
||||||
|
|
||||||
#ifdef DEBUG_DETAIL_ON
|
#ifdef DEBUG_DETAIL_ON
|
||||||
LogFile.WriteHeapInfo("ClassFlowAnalog::doFlow - Start");
|
LogFile.WriteHeapInfo("ClassFlowControll::doFlow - Start");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
for (int i = 0; i < FlowControll.size(); ++i)
|
for (int i = 0; i < FlowControll.size(); ++i)
|
||||||
@@ -238,7 +238,7 @@ bool ClassFlowControll::doFlow(string time)
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef DEBUG_DETAIL_ON
|
#ifdef DEBUG_DETAIL_ON
|
||||||
LogFile.WriteHeapInfo("ClassFlowAnalog::doFlow");
|
LogFile.WriteHeapInfo("ClassFlowControll::doFlow");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -243,6 +243,7 @@ bool ClassFlowDigit::doNeuralNetwork(string time)
|
|||||||
printf(zwcnn.c_str());printf("\n");
|
printf(zwcnn.c_str());printf("\n");
|
||||||
if (!tflite->LoadModel(zwcnn)) {
|
if (!tflite->LoadModel(zwcnn)) {
|
||||||
printf("Can't read model file /sdcard%s\n", cnnmodelfile.c_str());
|
printf("Can't read model file /sdcard%s\n", cnnmodelfile.c_str());
|
||||||
|
delete tflite;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ ClassLogFile LogFile("/sdcard/log/message", "log_%Y-%m-%d.txt");
|
|||||||
|
|
||||||
void ClassLogFile::WriteHeapInfo(std::string _id)
|
void ClassLogFile::WriteHeapInfo(std::string _id)
|
||||||
{
|
{
|
||||||
std::string _zw = "\t" + _id;
|
std::string _zw = "\t" + _id;
|
||||||
if (loglevel > 0)
|
if (loglevel > 0)
|
||||||
_zw = _zw + "\t" + getESPHeapInfo();
|
_zw = _zw + "\t" + getESPHeapInfo();
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,6 @@ FILE(GLOB_RECURSE app_sources ${CMAKE_CURRENT_SOURCE_DIR}/*.*)
|
|||||||
|
|
||||||
idf_component_register(SRCS ${app_sources}
|
idf_component_register(SRCS ${app_sources}
|
||||||
INCLUDE_DIRS "."
|
INCLUDE_DIRS "."
|
||||||
REQUIRES main jomjol_image_proc jomjol_logfile esp_http_server esp32-camera-master jomjol_controlcamera jomjol_flowcontroll jomjol_helper)
|
REQUIRES jomjol_image_proc jomjol_logfile esp_http_server esp32-camera-master jomjol_controlcamera jomjol_flowcontroll jomjol_helper)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
#include "ClassFlowControll.h"
|
#include "ClassFlowControll.h"
|
||||||
|
|
||||||
#include "ClassLogFile.h"
|
#include "ClassLogFile.h"
|
||||||
#include "server_main.h"
|
#include "server_GPIO.h"
|
||||||
|
|
||||||
#define DEBUG_DETAIL_ON
|
#define DEBUG_DETAIL_ON
|
||||||
|
|
||||||
|
|||||||
@@ -137,9 +137,7 @@ void task_NoSDBlink(void *pvParameter)
|
|||||||
|
|
||||||
esp_err_t handler_gpio(httpd_req_t *req)
|
esp_err_t handler_gpio(httpd_req_t *req)
|
||||||
{
|
{
|
||||||
printf("freemem -3-: %u\n", esp_get_free_heap_size());
|
|
||||||
gpio_handler_init();
|
gpio_handler_init();
|
||||||
printf("freemem -4-: %u\n", esp_get_free_heap_size());
|
|
||||||
|
|
||||||
char resp_str [30];
|
char resp_str [30];
|
||||||
sprintf(resp_str, "OK. freemem %u", esp_get_free_heap_size());
|
sprintf(resp_str, "OK. freemem %u", esp_get_free_heap_size());
|
||||||
@@ -219,7 +217,7 @@ extern "C" void app_main(void)
|
|||||||
camuri.user_ctx = (void*)server;
|
camuri.user_ctx = (void*)server;
|
||||||
httpd_register_uri_handler(server, &camuri);
|
httpd_register_uri_handler(server, &camuri);
|
||||||
|
|
||||||
gpio_handler_create();
|
gpio_handler_create(server);
|
||||||
|
|
||||||
printf("vor reg server main\n");
|
printf("vor reg server main\n");
|
||||||
register_server_main_uri(server, "/sdcard");
|
register_server_main_uri(server, "/sdcard");
|
||||||
|
|||||||
@@ -25,9 +25,6 @@ std::string starttime = "";
|
|||||||
|
|
||||||
static const char *TAG_SERVERMAIN = "server-main";
|
static const char *TAG_SERVERMAIN = "server-main";
|
||||||
|
|
||||||
static GpioHandler *gpioHandler = NULL;
|
|
||||||
|
|
||||||
|
|
||||||
/* An HTTP GET handler */
|
/* An HTTP GET handler */
|
||||||
esp_err_t info_get_handler(httpd_req_t *req)
|
esp_err_t info_get_handler(httpd_req_t *req)
|
||||||
{
|
{
|
||||||
@@ -454,35 +451,3 @@ void connect_handler(void* arg, esp_event_base_t event_base,
|
|||||||
*server = start_webserver();
|
*server = start_webserver();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void gpio_handler_create()
|
|
||||||
{
|
|
||||||
if (gpioHandler == NULL)
|
|
||||||
gpioHandler = new GpioHandler(CONFIG_FILE, server);
|
|
||||||
}
|
|
||||||
|
|
||||||
void gpio_handler_init()
|
|
||||||
{
|
|
||||||
if (gpioHandler != NULL) {
|
|
||||||
gpioHandler->init();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void gpio_handler_deinit() {
|
|
||||||
if (gpioHandler != NULL) {
|
|
||||||
gpioHandler->deinit();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void gpio_handler_destroy()
|
|
||||||
{
|
|
||||||
if (gpioHandler != NULL) {
|
|
||||||
delete gpioHandler;
|
|
||||||
gpioHandler = NULL;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
GpioHandler* gpio_handler_get()
|
|
||||||
{
|
|
||||||
return gpioHandler;
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -16,12 +16,6 @@
|
|||||||
|
|
||||||
extern httpd_handle_t server;
|
extern httpd_handle_t server;
|
||||||
|
|
||||||
void gpio_handler_create();
|
|
||||||
void gpio_handler_init();
|
|
||||||
void gpio_handler_deinit();
|
|
||||||
void gpio_handler_destroy();
|
|
||||||
GpioHandler* gpio_handler_get();
|
|
||||||
|
|
||||||
httpd_handle_t start_webserver(void);
|
httpd_handle_t start_webserver(void);
|
||||||
|
|
||||||
void register_server_main_uri(httpd_handle_t server, const char *base_path);
|
void register_server_main_uri(httpd_handle_t server, const char *base_path);
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
const char* GIT_REV="7b8f10a";
|
const char* GIT_REV="b205326";
|
||||||
const char* GIT_TAG="";
|
const char* GIT_TAG="";
|
||||||
const char* GIT_BRANCH="gpio-handler";
|
const char* GIT_BRANCH="gpio-handler";
|
||||||
const char* BUILD_TIME="2021-07-03 00:47";
|
const char* BUILD_TIME="2021-07-05 23:02";
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
const char* GIT_REV="7b8f10a";
|
const char* GIT_REV="b205326";
|
||||||
const char* GIT_TAG="";
|
const char* GIT_TAG="";
|
||||||
const char* GIT_BRANCH="gpio-handler";
|
const char* GIT_BRANCH="gpio-handler";
|
||||||
const char* BUILD_TIME="2021-07-03 00:46";
|
const char* BUILD_TIME="2021-07-05 23:02";
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -59,7 +59,13 @@ CheckDigitIncreaseConsistency = false
|
|||||||
;password = PASSWORD
|
;password = PASSWORD
|
||||||
|
|
||||||
;[GPIO]
|
;[GPIO]
|
||||||
;IO16 = input
|
;MainTopicMQTT = watermeter2/GPIO
|
||||||
|
;IO1 = input disabled false false
|
||||||
|
;IO0 = input disabled false false
|
||||||
|
;IO3 = input disabled false false
|
||||||
|
;IO4 = built-in-led disabled 10 false false
|
||||||
|
;IO12 = input-pullup disabled 10 false false
|
||||||
|
;IO13 = input-pullup disabled 10 false false
|
||||||
|
|
||||||
[AutoTimer]
|
[AutoTimer]
|
||||||
AutoStart = true
|
AutoStart = true
|
||||||
|
|||||||
@@ -36,6 +36,10 @@ textarea {
|
|||||||
.invalid-input {
|
.invalid-input {
|
||||||
background-color: #FFAA00;
|
background-color: #FFAA00;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.hidden {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
@@ -676,7 +680,7 @@ textarea {
|
|||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr class="GPIO_item">
|
||||||
<td width="20px" style="padding-left: 40px;">
|
<td width="20px" style="padding-left: 40px;">
|
||||||
<input type="checkbox" id="GPIO_MainTopicMQTT_enabled" value="1" onclick = 'InvertEnableItem("GPIO", "MainTopicMQTT")' unchecked >
|
<input type="checkbox" id="GPIO_MainTopicMQTT_enabled" value="1" onclick = 'InvertEnableItem("GPIO", "MainTopicMQTT")' unchecked >
|
||||||
</td>
|
</td>
|
||||||
@@ -692,7 +696,7 @@ textarea {
|
|||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<!------------- GPIO0 begin ------------------>
|
<!------------- GPIO0 begin ------------------>
|
||||||
<tr class="GPIO_IO0">
|
<tr class="GPIO_IO0 GPIO_item">
|
||||||
<td width="20px" style="padding-left: 40px;">
|
<td width="20px" style="padding-left: 40px;">
|
||||||
<input type="checkbox" id="GPIO_IO0_enabled" value="1" onclick = 'InvertEnableItem("GPIO", "IO0")' unchecked>
|
<input type="checkbox" id="GPIO_IO0_enabled" value="1" onclick = 'InvertEnableItem("GPIO", "IO0")' unchecked>
|
||||||
</td>
|
</td>
|
||||||
@@ -718,7 +722,7 @@ textarea {
|
|||||||
<span style="color: red">Pin is used to activate flash mode and must therefore be HIGH when booting.</span>
|
<span style="color: red">Pin is used to activate flash mode and must therefore be HIGH when booting.</span>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="GPIO_IO0">
|
<tr class="GPIO_IO0 GPIO_item">
|
||||||
<td width="20px" style="padding-left: 40px;"></td>
|
<td width="20px" style="padding-left: 40px;"></td>
|
||||||
<td>
|
<td>
|
||||||
<span>GPIO 0 use interrupt</span>
|
<span>GPIO 0 use interrupt</span>
|
||||||
@@ -739,7 +743,7 @@ textarea {
|
|||||||
GPIO 0 enable interrupt trigger
|
GPIO 0 enable interrupt trigger
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="GPIO_IO0">
|
<tr class="GPIO_IO0 GPIO_item">
|
||||||
<td width="20px" style="padding-left: 40px;"></td>
|
<td width="20px" style="padding-left: 40px;"></td>
|
||||||
<td>
|
<td>
|
||||||
<span>GPIO 0 PWM duty resolution</span>
|
<span>GPIO 0 PWM duty resolution</span>
|
||||||
@@ -751,7 +755,7 @@ textarea {
|
|||||||
GPIO 0 LEDC PWM duty resolution in bit
|
GPIO 0 LEDC PWM duty resolution in bit
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="GPIO_IO0">
|
<tr class="GPIO_IO0 GPIO_item">
|
||||||
<td width="20px" style="padding-left: 40px;"></td>
|
<td width="20px" style="padding-left: 40px;"></td>
|
||||||
<td>
|
<td>
|
||||||
<span>GPIO 0 enable MQTT</span>
|
<span>GPIO 0 enable MQTT</span>
|
||||||
@@ -763,7 +767,7 @@ textarea {
|
|||||||
GPIO 0 enable MQTT publishing/subscribing
|
GPIO 0 enable MQTT publishing/subscribing
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="GPIO_IO0">
|
<tr class="GPIO_IO0 GPIO_item">
|
||||||
<td width="20px" style="padding-left: 40px;"></td>
|
<td width="20px" style="padding-left: 40px;"></td>
|
||||||
<td>
|
<td>
|
||||||
<span>GPIO 0 enable HTTP</span>
|
<span>GPIO 0 enable HTTP</span>
|
||||||
@@ -775,7 +779,7 @@ textarea {
|
|||||||
GPIO 0 enable HTTP write/read
|
GPIO 0 enable HTTP write/read
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="GPIO_IO0">
|
<tr class="GPIO_IO0 GPIO_item">
|
||||||
<td width="20px" style="padding-left: 40px;"></td>
|
<td width="20px" style="padding-left: 40px;"></td>
|
||||||
<td>
|
<td>
|
||||||
<span>GPIO 0 name</span>
|
<span>GPIO 0 name</span>
|
||||||
@@ -790,7 +794,7 @@ textarea {
|
|||||||
<!------------- GPIO0 end ------------------>
|
<!------------- GPIO0 end ------------------>
|
||||||
|
|
||||||
<!------------- GPIO1 begin ------------------>
|
<!------------- GPIO1 begin ------------------>
|
||||||
<tr class="GPIO_IO1">
|
<tr class="GPIO_IO1 GPIO_item">
|
||||||
<td width="20px" style="padding-left: 40px;">
|
<td width="20px" style="padding-left: 40px;">
|
||||||
<input type="checkbox" id="GPIO_IO1_enabled" value="1" onclick = 'InvertEnableItem("GPIO", "IO1")' unchecked>
|
<input type="checkbox" id="GPIO_IO1_enabled" value="1" onclick = 'InvertEnableItem("GPIO", "IO1")' unchecked>
|
||||||
</td>
|
</td>
|
||||||
@@ -814,7 +818,7 @@ textarea {
|
|||||||
GPIO 1 <br><span style="color: blue">Used by default for serial communication as TX pin.<br>Required for seriales monitor.</span>
|
GPIO 1 <br><span style="color: blue">Used by default for serial communication as TX pin.<br>Required for seriales monitor.</span>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="GPIO_IO1">
|
<tr class="GPIO_IO1 GPIO_item">
|
||||||
<td width="20px" style="padding-left: 40px;"></td>
|
<td width="20px" style="padding-left: 40px;"></td>
|
||||||
<td>
|
<td>
|
||||||
<span>GPIO 1 use interrupt</span>
|
<span>GPIO 1 use interrupt</span>
|
||||||
@@ -835,7 +839,7 @@ textarea {
|
|||||||
GPIO 1 enable interrupt trigger
|
GPIO 1 enable interrupt trigger
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="GPIO_IO1">
|
<tr class="GPIO_IO1 GPIO_item">
|
||||||
<td width="20px" style="padding-left: 40px;"></td>
|
<td width="20px" style="padding-left: 40px;"></td>
|
||||||
<td>
|
<td>
|
||||||
<span>GPIO 1 PWM duty resolution</span>
|
<span>GPIO 1 PWM duty resolution</span>
|
||||||
@@ -847,7 +851,7 @@ textarea {
|
|||||||
GPIO 1 LEDC PWM duty resolution in bit
|
GPIO 1 LEDC PWM duty resolution in bit
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="GPIO_IO1">
|
<tr class="GPIO_IO1 GPIO_item">
|
||||||
<td width="20px" style="padding-left: 40px;"></td>
|
<td width="20px" style="padding-left: 40px;"></td>
|
||||||
<td>
|
<td>
|
||||||
<span>GPIO 1 enable MQTT</span>
|
<span>GPIO 1 enable MQTT</span>
|
||||||
@@ -859,7 +863,7 @@ textarea {
|
|||||||
GPIO 1 enable MQTT publishing/subscribing
|
GPIO 1 enable MQTT publishing/subscribing
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="GPIO_IO1">
|
<tr class="GPIO_IO1 GPIO_item">
|
||||||
<td width="20px" style="padding-left: 40px;"></td>
|
<td width="20px" style="padding-left: 40px;"></td>
|
||||||
<td>
|
<td>
|
||||||
<span>GPIO 1 enable HTTP</span>
|
<span>GPIO 1 enable HTTP</span>
|
||||||
@@ -871,7 +875,7 @@ textarea {
|
|||||||
GPIO 1 enable HTTP write/read
|
GPIO 1 enable HTTP write/read
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="GPIO_IO1">
|
<tr class="GPIO_IO1 GPIO_item">
|
||||||
<td width="20px" style="padding-left: 40px;"></td>
|
<td width="20px" style="padding-left: 40px;"></td>
|
||||||
<td>
|
<td>
|
||||||
<span>GPIO 1 name</span>
|
<span>GPIO 1 name</span>
|
||||||
@@ -886,7 +890,7 @@ textarea {
|
|||||||
<!------------- GPIO1 end ------------------>
|
<!------------- GPIO1 end ------------------>
|
||||||
|
|
||||||
<!------------- GPIO3 begin ------------------>
|
<!------------- GPIO3 begin ------------------>
|
||||||
<tr class="GPIO_IO3">
|
<tr class="GPIO_IO3 GPIO_item">
|
||||||
<td width="20px" style="padding-left: 40px;">
|
<td width="20px" style="padding-left: 40px;">
|
||||||
<input type="checkbox" id="GPIO_IO3_enabled" value="1" onclick = 'InvertEnableItem("GPIO", "IO3")' unchecked>
|
<input type="checkbox" id="GPIO_IO3_enabled" value="1" onclick = 'InvertEnableItem("GPIO", "IO3")' unchecked>
|
||||||
</td>
|
</td>
|
||||||
@@ -910,7 +914,7 @@ textarea {
|
|||||||
GPIO 3 <span style="color: blue">Used by default for serial communication as RX pin.</span>
|
GPIO 3 <span style="color: blue">Used by default for serial communication as RX pin.</span>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="GPIO_IO3">
|
<tr class="GPIO_IO3 GPIO_item">
|
||||||
<td width="20px" style="padding-left: 40px;"></td>
|
<td width="20px" style="padding-left: 40px;"></td>
|
||||||
<td>
|
<td>
|
||||||
<span>GPIO 3 use interrupt</span>
|
<span>GPIO 3 use interrupt</span>
|
||||||
@@ -931,7 +935,7 @@ textarea {
|
|||||||
GPIO 3 Used by default for serial communication as RX pin.
|
GPIO 3 Used by default for serial communication as RX pin.
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="GPIO_IO3">
|
<tr class="GPIO_IO3 GPIO_item">
|
||||||
<td width="20px" style="padding-left: 40px;"></td>
|
<td width="20px" style="padding-left: 40px;"></td>
|
||||||
<td>
|
<td>
|
||||||
<span>GPIO 3 PWM duty resolution</span>
|
<span>GPIO 3 PWM duty resolution</span>
|
||||||
@@ -943,7 +947,7 @@ textarea {
|
|||||||
GPIO 3 LEDC PWM duty resolution in bit
|
GPIO 3 LEDC PWM duty resolution in bit
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="GPIO_IO3">
|
<tr class="GPIO_IO3 GPIO_item">
|
||||||
<td width="20px" style="padding-left: 40px;"></td>
|
<td width="20px" style="padding-left: 40px;"></td>
|
||||||
<td>
|
<td>
|
||||||
<span>GPIO 3 enable MQTT</span>
|
<span>GPIO 3 enable MQTT</span>
|
||||||
@@ -955,7 +959,7 @@ textarea {
|
|||||||
GPIO 3 enable MQTT publishing/subscribing
|
GPIO 3 enable MQTT publishing/subscribing
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="GPIO_IO3">
|
<tr class="GPIO_IO3 GPIO_item">
|
||||||
<td width="20px" style="padding-left: 40px;"></td>
|
<td width="20px" style="padding-left: 40px;"></td>
|
||||||
<td>
|
<td>
|
||||||
<span>GPIO 3 enable HTTP</span>
|
<span>GPIO 3 enable HTTP</span>
|
||||||
@@ -967,7 +971,7 @@ textarea {
|
|||||||
GPIO 3 enable HTTP write/read
|
GPIO 3 enable HTTP write/read
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="GPIO_IO3">
|
<tr class="GPIO_IO3 GPIO_item">
|
||||||
<td width="20px" style="padding-left: 40px;"></td>
|
<td width="20px" style="padding-left: 40px;"></td>
|
||||||
<td>
|
<td>
|
||||||
<span>GPIO 3 name</span>
|
<span>GPIO 3 name</span>
|
||||||
@@ -982,9 +986,9 @@ textarea {
|
|||||||
<!------------- GPIO3 end ------------------>
|
<!------------- GPIO3 end ------------------>
|
||||||
|
|
||||||
<!------------- GPIO4 begin ------------------>
|
<!------------- GPIO4 begin ------------------>
|
||||||
<tr class="GPIO_IO4">
|
<tr class="GPIO_IO4 GPIO_item">
|
||||||
<td width="20px" style="padding-left: 40px;">
|
<td width="20px" style="padding-left: 40px;">
|
||||||
<input type="checkbox" id="GPIO_IO4_enabled" value="1" onclick = 'InvertEnableItem("GPI4", "IO4")' unchecked>
|
<input type="checkbox" id="GPIO_IO4_enabled" value="1" onclick = 'InvertEnableItem("GPIO", "IO4")' unchecked>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<span id="GPIO_IO4_text">GPIO 4 state</span>
|
<span id="GPIO_IO4_text">GPIO 4 state</span>
|
||||||
@@ -1008,7 +1012,7 @@ textarea {
|
|||||||
<span style="color: red">Pin is used for build-in flash light.</span>
|
<span style="color: red">Pin is used for build-in flash light.</span>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="GPIO_IO4">
|
<tr class="GPIO_IO4 GPIO_item">
|
||||||
<td width="20px" style="padding-left: 40px;"></td>
|
<td width="20px" style="padding-left: 40px;"></td>
|
||||||
<td>
|
<td>
|
||||||
<span>GPIO 4 use interrupt</span>
|
<span>GPIO 4 use interrupt</span>
|
||||||
@@ -1029,7 +1033,7 @@ textarea {
|
|||||||
GPIO 4 enable interrupt trigger
|
GPIO 4 enable interrupt trigger
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="GPIO_IO4">
|
<tr class="GPIO_IO4 GPIO_item">
|
||||||
<td width="20px" style="padding-left: 40px;"></td>
|
<td width="20px" style="padding-left: 40px;"></td>
|
||||||
<td>
|
<td>
|
||||||
<span>GPIO 4 PWM duty resolution</span>
|
<span>GPIO 4 PWM duty resolution</span>
|
||||||
@@ -1041,7 +1045,7 @@ textarea {
|
|||||||
GPIO 4 LEDC PWM duty resolution in bit
|
GPIO 4 LEDC PWM duty resolution in bit
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="GPIO_IO4">
|
<tr class="GPIO_IO4 GPIO_item">
|
||||||
<td width="20px" style="padding-left: 40px;"></td>
|
<td width="20px" style="padding-left: 40px;"></td>
|
||||||
<td>
|
<td>
|
||||||
<span>GPIO 4 enable MQTT</span>
|
<span>GPIO 4 enable MQTT</span>
|
||||||
@@ -1053,7 +1057,7 @@ textarea {
|
|||||||
GPIO 4 enable MQTT publishing/subscribing
|
GPIO 4 enable MQTT publishing/subscribing
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="GPIO_IO4">
|
<tr class="GPIO_IO4 GPIO_item">
|
||||||
<td width="20px" style="padding-left: 40px;"></td>
|
<td width="20px" style="padding-left: 40px;"></td>
|
||||||
<td>
|
<td>
|
||||||
<span>GPIO 4 enable HTTP</span>
|
<span>GPIO 4 enable HTTP</span>
|
||||||
@@ -1065,7 +1069,7 @@ textarea {
|
|||||||
GPIO 4 enable HTTP write/read
|
GPIO 4 enable HTTP write/read
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="GPIO_IO4">
|
<tr class="GPIO_IO4 GPIO_item">
|
||||||
<td width="20px" style="padding-left: 40px;"></td>
|
<td width="20px" style="padding-left: 40px;"></td>
|
||||||
<td>
|
<td>
|
||||||
<span>GPIO 4 name</span>
|
<span>GPIO 4 name</span>
|
||||||
@@ -1080,7 +1084,7 @@ textarea {
|
|||||||
<!------------- GPIO4 end ------------------>
|
<!------------- GPIO4 end ------------------>
|
||||||
|
|
||||||
<!------------- GPIO12 begin ------------------>
|
<!------------- GPIO12 begin ------------------>
|
||||||
<tr class="GPIO_IO12">
|
<tr class="GPIO_IO12 GPIO_item">
|
||||||
<td width="20px" style="padding-left: 40px;">
|
<td width="20px" style="padding-left: 40px;">
|
||||||
<input type="checkbox" id="GPIO_IO12_enabled" value="1" onclick = 'InvertEnableItem("GPIO", "IO12")' unchecked>
|
<input type="checkbox" id="GPIO_IO12_enabled" value="1" onclick = 'InvertEnableItem("GPIO", "IO12")' unchecked>
|
||||||
</td>
|
</td>
|
||||||
@@ -1104,7 +1108,7 @@ textarea {
|
|||||||
GPIO 12 is usable without restrictions
|
GPIO 12 is usable without restrictions
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="GPIO_IO12">
|
<tr class="GPIO_IO12 GPIO_item">
|
||||||
<td width="20px" style="padding-left: 40px;"></td>
|
<td width="20px" style="padding-left: 40px;"></td>
|
||||||
<td>
|
<td>
|
||||||
<span>GPIO 12 use interrupt</span>
|
<span>GPIO 12 use interrupt</span>
|
||||||
@@ -1125,7 +1129,7 @@ textarea {
|
|||||||
GPIO 12 enable interrupt trigger
|
GPIO 12 enable interrupt trigger
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="GPIO_IO12">
|
<tr class="GPIO_IO12 GPIO_item">
|
||||||
<td width="20px" style="padding-left: 40px;"></td>
|
<td width="20px" style="padding-left: 40px;"></td>
|
||||||
<td>
|
<td>
|
||||||
<span>GPIO 12 PWM duty resolution</span>
|
<span>GPIO 12 PWM duty resolution</span>
|
||||||
@@ -1137,7 +1141,7 @@ textarea {
|
|||||||
GPIO 12 LEDC PWM duty resolution in bit
|
GPIO 12 LEDC PWM duty resolution in bit
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="GPIO_IO12">
|
<tr class="GPIO_IO12 GPIO_item">
|
||||||
<td width="20px" style="padding-left: 40px;"></td>
|
<td width="20px" style="padding-left: 40px;"></td>
|
||||||
<td>
|
<td>
|
||||||
<span>GPIO 12 enable MQTT</span>
|
<span>GPIO 12 enable MQTT</span>
|
||||||
@@ -1149,7 +1153,7 @@ textarea {
|
|||||||
GPIO 12 enable MQTT publishing/subscribing
|
GPIO 12 enable MQTT publishing/subscribing
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="GPIO_IO12">
|
<tr class="GPIO_IO12 GPIO_item">
|
||||||
<td width="20px" style="padding-left: 40px;"></td>
|
<td width="20px" style="padding-left: 40px;"></td>
|
||||||
<td>
|
<td>
|
||||||
<span>GPIO 12 enable HTTP</span>
|
<span>GPIO 12 enable HTTP</span>
|
||||||
@@ -1161,7 +1165,7 @@ textarea {
|
|||||||
GPIO 12 enable HTTP write/read
|
GPIO 12 enable HTTP write/read
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="GPIO_IO12">
|
<tr class="GPIO_IO12 GPIO_item">
|
||||||
<td width="20px" style="padding-left: 40px;"></td>
|
<td width="20px" style="padding-left: 40px;"></td>
|
||||||
<td>
|
<td>
|
||||||
<span>GPIO 12 name</span>
|
<span>GPIO 12 name</span>
|
||||||
@@ -1176,7 +1180,7 @@ textarea {
|
|||||||
<!------------- GPIO12 end ------------------>
|
<!------------- GPIO12 end ------------------>
|
||||||
|
|
||||||
<!------------- GPIO13 begin ------------------>
|
<!------------- GPIO13 begin ------------------>
|
||||||
<tr class="GPIO_IO13">
|
<tr class="GPIO_IO13 GPIO_item">
|
||||||
<td width="20px" style="padding-left: 40px;">
|
<td width="20px" style="padding-left: 40px;">
|
||||||
<input type="checkbox" id="GPIO_IO13_enabled" value="1" onclick = 'InvertEnableItem("GPIO", "IO13")' unchecked>
|
<input type="checkbox" id="GPIO_IO13_enabled" value="1" onclick = 'InvertEnableItem("GPIO", "IO13")' unchecked>
|
||||||
</td>
|
</td>
|
||||||
@@ -1200,7 +1204,7 @@ textarea {
|
|||||||
GPIO 13 is usable without restrictions
|
GPIO 13 is usable without restrictions
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="GPIO_IO13">
|
<tr class="GPIO_IO13 GPIO_item">
|
||||||
<td width="20px" style="padding-left: 40px;"></td>
|
<td width="20px" style="padding-left: 40px;"></td>
|
||||||
<td>
|
<td>
|
||||||
<span>GPIO 13 use interrupt</span>
|
<span>GPIO 13 use interrupt</span>
|
||||||
@@ -1221,7 +1225,7 @@ textarea {
|
|||||||
GPIO 13 enable interrupt trigger
|
GPIO 13 enable interrupt trigger
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="GPIO_IO13">
|
<tr class="GPIO_IO13 GPIO_item">
|
||||||
<td width="20px" style="padding-left: 40px;"></td>
|
<td width="20px" style="padding-left: 40px;"></td>
|
||||||
<td>
|
<td>
|
||||||
<span>GPIO 13 PWM duty resolution</span>
|
<span>GPIO 13 PWM duty resolution</span>
|
||||||
@@ -1233,7 +1237,7 @@ textarea {
|
|||||||
GPIO 13 LEDC PWM duty resolution in bit
|
GPIO 13 LEDC PWM duty resolution in bit
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="GPIO_IO13">
|
<tr class="GPIO_IO13 GPIO_item">
|
||||||
<td width="20px" style="padding-left: 40px;"></td>
|
<td width="20px" style="padding-left: 40px;"></td>
|
||||||
<td>
|
<td>
|
||||||
<span>GPIO 13 enable MQTT</span>
|
<span>GPIO 13 enable MQTT</span>
|
||||||
@@ -1245,7 +1249,7 @@ textarea {
|
|||||||
GPIO 13 enable MQTT publishing/subscribing
|
GPIO 13 enable MQTT publishing/subscribing
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="GPIO_IO13">
|
<tr class="GPIO_IO13 GPIO_item">
|
||||||
<td width="20px" style="padding-left: 40px;"></td>
|
<td width="20px" style="padding-left: 40px;"></td>
|
||||||
<td>
|
<td>
|
||||||
<span>GPIO 13 enable HTTP</span>
|
<span>GPIO 13 enable HTTP</span>
|
||||||
@@ -1257,7 +1261,7 @@ textarea {
|
|||||||
GPIO 13 enable HTTP write/read
|
GPIO 13 enable HTTP write/read
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="GPIO_IO13">
|
<tr class="GPIO_IO13 GPIO_item">
|
||||||
<td width="20px" style="padding-left: 40px;"></td>
|
<td width="20px" style="padding-left: 40px;"></td>
|
||||||
<td>
|
<td>
|
||||||
<span>GPIO 13 name</span>
|
<span>GPIO 13 name</span>
|
||||||
@@ -1518,6 +1522,17 @@ function setEnabled(className, enabled) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function setVisible(className, visible) {
|
||||||
|
let elements = document.getElementsByClassName(className);
|
||||||
|
for (i = 0; i < elements.length; i++) {
|
||||||
|
if (visible) {
|
||||||
|
elements[i].classList.remove("hidden");
|
||||||
|
} else {
|
||||||
|
elements[i].classList.add("hidden");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function EnDisableItem(_status, _param, _category, _cat, _name, _optional)
|
function EnDisableItem(_status, _param, _category, _cat, _name, _optional)
|
||||||
{
|
{
|
||||||
_status = _param[_cat][_name]["found"] && _category[_cat]["enabled"];
|
_status = _param[_cat][_name]["found"] && _category[_cat]["enabled"];
|
||||||
@@ -1582,6 +1597,7 @@ function UpdateInput() {
|
|||||||
document.getElementById("Category_Digits_enabled").checked = category["Digits"]["enabled"];
|
document.getElementById("Category_Digits_enabled").checked = category["Digits"]["enabled"];
|
||||||
document.getElementById("Category_MQTT_enabled").checked = category["MQTT"]["enabled"];
|
document.getElementById("Category_MQTT_enabled").checked = category["MQTT"]["enabled"];
|
||||||
document.getElementById("Category_GPIO_enabled").checked = category["GPIO"]["enabled"];
|
document.getElementById("Category_GPIO_enabled").checked = category["GPIO"]["enabled"];
|
||||||
|
setVisible("GPIO_item", category["GPIO"]["enabled"]);
|
||||||
|
|
||||||
WriteParameter(param, category, "MakeImage", "LogImageLocation", true);
|
WriteParameter(param, category, "MakeImage", "LogImageLocation", true);
|
||||||
WriteParameter(param, category, "MakeImage", "LogfileRetentionInDays", true);
|
WriteParameter(param, category, "MakeImage", "LogfileRetentionInDays", true);
|
||||||
|
|||||||
Reference in New Issue
Block a user