mirror of
https://git.mirrors.martin98.com/https://github.com/luc-github/ESP3D.git
synced 2025-08-04 09:40:40 +08:00
516 lines
22 KiB
C++
516 lines
22 KiB
C++
/*
|
|
ESP400.cpp - ESP3D command class
|
|
|
|
Copyright (c) 2014 Luc Lebosse. All rights reserved.
|
|
|
|
This code is free software; you can redistribute it and/or
|
|
modify it under the terms of the GNU Lesser General Public
|
|
License as published by the Free Software Foundation; either
|
|
version 2.1 of the License, or (at your option) any later version.
|
|
|
|
This code is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Lesser General Public License for more details.
|
|
|
|
You should have received a copy of the GNU Lesser General Public
|
|
License along with This code; if not, write to the Free Software
|
|
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
*/
|
|
#include "../../include/esp3d_config.h"
|
|
#include "../commands.h"
|
|
#include "../esp3doutput.h"
|
|
#include "../settings_esp3d.h"
|
|
#include "../../modules/serial/serial_service.h"
|
|
#include "../../modules/authentication/authentication_service.h"
|
|
//Get full ESP3D settings
|
|
//[ESP400]<pwd=admin>
|
|
bool Commands::ESP400(const char* cmd_params, level_authenticate_type auth_type, ESP3DOutput * output)
|
|
{
|
|
#ifdef AUTHENTICATION_FEATURE
|
|
if (auth_type != LEVEL_ADMIN) {
|
|
output->printERROR("Wrong authentication!", 401);
|
|
return false;
|
|
}
|
|
#else
|
|
(void)auth_type;
|
|
#endif //AUTHENTICATION_FEATURE
|
|
(void)cmd_params;
|
|
//Start JSON
|
|
output->print ("{\"Settings\":[");
|
|
|
|
#if defined (WIFI_FEATURE) || defined (ETH_FEATURE) || defined(BT_FEATURE)
|
|
//Hostname network/network
|
|
output->print ("{\"F\":\"network/network\",\"P\":\"");
|
|
output->print (ESP_HOSTNAME);
|
|
output->print ("\",\"T\":\"S\",\"V\":\"");
|
|
output->print (Settings_ESP3D::read_string(ESP_HOSTNAME));
|
|
output->print ("\",\"H\":\"hostname\" ,\"S\":\"");
|
|
output->print (Settings_ESP3D::get_max_string_size(ESP_HOSTNAME));
|
|
output->print ("\", \"M\":\"");
|
|
output->print (Settings_ESP3D::get_min_string_size(ESP_HOSTNAME));
|
|
output->print ("\"}");
|
|
#endif //WIFI_FEATURE || ETH_FEATURE || BT_FEATURE
|
|
//radio mode network/network
|
|
output->print (",{\"F\":\"network/network\",\"P\":\"");
|
|
output->print (ESP_RADIO_MODE);
|
|
output->print ("\",\"T\":\"B\",\"V\":\"");
|
|
output->print (Settings_ESP3D::read_byte(ESP_RADIO_MODE));
|
|
output->print ("\",\"H\":\"radio mode\",\"O\":[{\"none\":\"0\"}");
|
|
#ifdef WIFI_FEATURE
|
|
output->print (",{\"sta\":\"1\"},{\"ap\":\"2\"}");
|
|
#endif //WIFI_FEATURE
|
|
#ifdef BLUETOOTH_FEATURE
|
|
output->print (",{\"bt\":\"3\"}");
|
|
#endif //BLUETOOTH_FEATURE
|
|
#ifdef ETH_FEATURE
|
|
output->print (",{\"eth-sta\":\"4\"}");
|
|
#endif //ETH_FEATURE
|
|
output->print ("]}");
|
|
#ifdef WIFI_FEATURE
|
|
//STA SSID network/sta
|
|
output->print (",{\"F\":\"network/sta\",\"P\":\"");
|
|
output->print (ESP_STA_SSID);
|
|
output->print ("\",\"T\":\"S\",\"V\":\"");
|
|
output->print (Settings_ESP3D::read_string(ESP_STA_SSID));
|
|
output->print ("\",\"S\":\"");
|
|
output->print (Settings_ESP3D::get_max_string_size(ESP_STA_SSID));
|
|
output->print ("\",\"H\":\"SSID\",\"M\":\"");
|
|
output->print (Settings_ESP3D::get_min_string_size(ESP_STA_SSID));
|
|
output->print ("\"}");
|
|
|
|
//STA password
|
|
output->print (",{\"F\":\"network/sta\",\"P\":\"");
|
|
output->print (ESP_STA_PASSWORD);
|
|
output->print ("\",\"T\":\"S\",\"N\":\"1\",\"V\":\"");
|
|
output->print (HIDDEN_PASSWORD);
|
|
output->print ("\",\"S\":\"");
|
|
output->print (Settings_ESP3D::get_max_string_size(ESP_STA_PASSWORD));
|
|
output->print ("\",\"H\":\"pwd\",\"M\":\"");
|
|
output->print (Settings_ESP3D::get_min_string_size(ESP_STA_PASSWORD));
|
|
output->print ("\"}");
|
|
|
|
#endif //WIFI_FEATURE
|
|
#if defined(WIFI_FEATURE) || defined(ETH_FEATURE)
|
|
//STA IP mode
|
|
output->print (",{\"F\":\"network/sta\",\"P\":\"");
|
|
output->print (ESP_STA_IP_MODE);
|
|
output->print ("\",\"T\":\"B\",\"V\":\"");
|
|
output->print (Settings_ESP3D::read_byte(ESP_STA_IP_MODE));
|
|
output->print ("\",\"H\":\"ip mode\",\"O\":[{\"dhcp\":\"1\"},{\"static\":\"0\"}]}");
|
|
|
|
//STA static IP
|
|
output->print (",{\"F\":\"network/sta\",\"P\":\"");
|
|
output->print (ESP_STA_IP_VALUE);
|
|
output->print ("\",\"T\":\"A\",\"V\":\"");
|
|
output->print (Settings_ESP3D::read_IP_String(ESP_STA_IP_VALUE));
|
|
output->print ("\",\"H\":\"ip\"}");
|
|
|
|
//STA static Gateway
|
|
output->print (",{\"F\":\"network/sta\",\"P\":\"");
|
|
output->print (ESP_STA_GATEWAY_VALUE);
|
|
output->print ("\",\"T\":\"A\",\"V\":\"");
|
|
output->print (Settings_ESP3D::read_IP_String(ESP_STA_GATEWAY_VALUE));
|
|
output->print ("\",\"H\":\"gw\"}");
|
|
|
|
//STA static Mask
|
|
output->print (",{\"F\":\"network/sta\",\"P\":\"");
|
|
output->print (ESP_STA_MASK_VALUE);
|
|
output->print ("\",\"T\":\"A\",\"V\":\"");
|
|
output->print (Settings_ESP3D::read_IP_String(ESP_STA_MASK_VALUE));
|
|
output->print ("\",\"H\":\"msk\"}");
|
|
#endif //WIFI_FEATURE || ETH_FEATURE
|
|
#if defined(WIFI_FEATURE)
|
|
//AP SSID network/ap
|
|
output->print (",{\"F\":\"network/ap\",\"P\":\"");
|
|
output->print (ESP_AP_SSID);
|
|
output->print ("\",\"T\":\"S\",\"V\":\"");
|
|
output->print (Settings_ESP3D::read_string(ESP_AP_SSID));
|
|
output->print ("\",\"S\":\"");
|
|
output->print (Settings_ESP3D::get_max_string_size(ESP_AP_SSID));
|
|
output->print ("\",\"H\":\"SSID\",\"M\":\"");
|
|
output->print (Settings_ESP3D::get_min_string_size(ESP_AP_SSID));
|
|
output->print ("\"}");
|
|
|
|
//AP password
|
|
output->print (",{\"F\":\"network/ap\",\"P\":\"");
|
|
output->print (ESP_AP_PASSWORD);
|
|
output->print ("\",\"T\":\"S\",\"N\":\"1\",\"V\":\"");
|
|
output->print (HIDDEN_PASSWORD);
|
|
output->print ("\",\"S\":\"");
|
|
output->print (Settings_ESP3D::get_max_string_size(ESP_AP_PASSWORD));
|
|
output->print ("\",\"H\":\"pwd\",\"M\":\"");
|
|
output->print (Settings_ESP3D::get_min_string_size(ESP_AP_PASSWORD));
|
|
output->print ("\"}");
|
|
|
|
//AP static IP
|
|
output->print (",{\"F\":\"network/ap\",\"P\":\"");
|
|
output->print (ESP_AP_IP_VALUE);
|
|
output->print ("\",\"T\":\"A\",\"V\":\"");
|
|
output->print (Settings_ESP3D::read_IP_String(ESP_AP_IP_VALUE));
|
|
output->print ("\",\"H\":\"ip\"}");
|
|
|
|
//AP Channel
|
|
output->print (",{\"F\":\"network/ap\",\"P\":\"");
|
|
output->print (ESP_AP_CHANNEL);
|
|
output->print ("\",\"T\":\"B\",\"V\":\"");
|
|
output->print (Settings_ESP3D::read_byte(ESP_AP_CHANNEL));
|
|
output->print ("\",\"H\":\"channel\",\"O\":[");
|
|
for (uint8_t i = Settings_ESP3D::get_min_byte(ESP_AP_CHANNEL); i <= Settings_ESP3D::get_max_byte(ESP_AP_CHANNEL) ; i++) {
|
|
if (i > 1) {
|
|
output->print (",");
|
|
}
|
|
output->printf("{\"%d\":\"%d\"}", i, i);
|
|
}
|
|
output->print ("]}");
|
|
#endif //WIFI_FEATURE
|
|
|
|
#ifdef AUTHENTICATION_FEATURE
|
|
//Admin password
|
|
output->print (",{\"F\":\"security/security\",\"P\":\"");
|
|
output->print (ESP_ADMIN_PWD);
|
|
output->print ("\",\"T\":\"S\",\"V\":\"");
|
|
output->print (HIDDEN_PASSWORD);
|
|
output->print ("\",\"S\":\"");
|
|
output->print (Settings_ESP3D::get_max_string_size(ESP_ADMIN_PWD));
|
|
output->print ("\",\"H\":\"adm pwd\",\"M\":\"");
|
|
output->print (Settings_ESP3D::get_min_string_size(ESP_ADMIN_PWD));
|
|
output->print ("\"}");
|
|
|
|
//User password
|
|
output->print (",{\"F\":\"security/security\",\"P\":\"");
|
|
output->print (ESP_USER_PWD);
|
|
output->print ("\",\"T\":\"S\",\"V\":\"");
|
|
output->print (HIDDEN_PASSWORD);
|
|
output->print ("\",\"S\":\"");
|
|
output->print (Settings_ESP3D::get_max_string_size(ESP_USER_PWD));
|
|
output->print ("\",\"H\":\"user pwd\",\"M\":\"");
|
|
output->print (Settings_ESP3D::get_min_string_size(ESP_USER_PWD));
|
|
output->print ("\"}");
|
|
#endif //AUTHENTICATION_FEATURE
|
|
|
|
#ifdef HTTP_FEATURE
|
|
//HTTP On service/http
|
|
output->print (",{\"F\":\"service/http\",\"P\":\"");
|
|
output->print (ESP_HTTP_ON);
|
|
output->print ("\",\"T\":\"B\",\"V\":\"");
|
|
output->print (Settings_ESP3D::read_byte(ESP_HTTP_ON));
|
|
output->print ("\",\"H\":\"enable\",\"O\":[{\"no\":\"0\"},{\"yes\":\"1\"}]}");
|
|
|
|
//HTTP Port
|
|
output->print (",{\"F\":\"service/http\",\"P\":\"");
|
|
output->print (ESP_HTTP_PORT);
|
|
output->print ("\",\"T\":\"I\",\"V\":\"");
|
|
output->print (Settings_ESP3D::read_uint32(ESP_HTTP_PORT));
|
|
output->print ("\",\"H\":\"port\",\"S\":\"");
|
|
output->print (Settings_ESP3D::get_max_int32_value(ESP_HTTP_PORT));
|
|
output->print ("\",\"M\":\"");
|
|
output->print (Settings_ESP3D::get_min_int32_value(ESP_HTTP_PORT));
|
|
output->print ("\"}");
|
|
#endif //HTTP_FEATURE
|
|
|
|
#ifdef TELNET_FEATURE
|
|
//TELNET On service/telnet
|
|
output->print (",{\"F\":\"service/telnetp\",\"P\":\"");
|
|
output->print (ESP_TELNET_ON);
|
|
output->print ("\",\"T\":\"B\",\"V\":\"");
|
|
output->print (Settings_ESP3D::read_byte(ESP_TELNET_ON));
|
|
output->print ("\",\"H\":\"enable\",\"O\":[{\"no\":\"0\"},{\"yes\":\"1\"}]}");
|
|
|
|
//TELNET Port
|
|
output->print (",{\"F\":\"service/telnetp\",\"P\":\"");
|
|
output->print (ESP_TELNET_PORT);
|
|
output->print ("\",\"T\":\"I\",\"V\":\"");
|
|
output->print (Settings_ESP3D::read_uint32(ESP_TELNET_PORT));
|
|
output->print ("\",\"H\":\"port\",\"S\":\"");
|
|
output->print (Settings_ESP3D::get_max_int32_value(ESP_TELNET_PORT));
|
|
output->print ("\",\"M\":\"");
|
|
output->print (Settings_ESP3D::get_min_int32_value(ESP_TELNET_PORT));
|
|
output->print ("\"}");
|
|
#endif //TELNET
|
|
|
|
#ifdef FTP_FEATURE
|
|
//FTP On service/ftp
|
|
output->print (",{\"F\":\"service/ftp\",\"P\":\"");
|
|
output->print (ESP_FTP_ON);
|
|
output->print ("\",\"T\":\"B\",\"V\":\"");
|
|
output->print (Settings_ESP3D::read_byte(ESP_FTP_ON));
|
|
output->print ("\",\"H\":\"enable\",\"O\":[{\"no\":\"0\"},{\"yes\":\"1\"}]}");
|
|
|
|
//FTP Ports
|
|
output->print (",{\"F\":\"service/ftp\",\"P\":\"");
|
|
output->print (ESP_FTP_CTRL_PORT);
|
|
output->print ("\",\"T\":\"I\",\"V\":\"");
|
|
output->print (Settings_ESP3D::read_uint32(ESP_FTP_CTRL_PORT));
|
|
output->print ("\",\"H\":\"control port\",\"S\":\"");
|
|
output->print (Settings_ESP3D::get_max_int32_value(ESP_FTP_CTRL_PORT));
|
|
output->print ("\",\"M\":\"");
|
|
output->print (Settings_ESP3D::get_min_int32_value(ESP_FTP_CTRL_PORT));
|
|
output->print ("\"}");
|
|
|
|
output->print (",{\"F\":\"service/ftp\",\"P\":\"");
|
|
output->print (ESP_FTP_DATA_ACTIVE_PORT);
|
|
output->print ("\",\"T\":\"I\",\"V\":\"");
|
|
output->print (Settings_ESP3D::read_uint32(ESP_FTP_DATA_ACTIVE_PORT));
|
|
output->print ("\",\"H\":\"active port\",\"S\":\"");
|
|
output->print (Settings_ESP3D::get_max_int32_value(ESP_FTP_DATA_ACTIVE_PORT));
|
|
output->print ("\",\"M\":\"");
|
|
output->print (Settings_ESP3D::get_min_int32_value(ESP_FTP_DATA_ACTIVE_PORT));
|
|
output->print ("\"}");
|
|
|
|
output->print (",{\"F\":\"service/ftp\",\"P\":\"");
|
|
output->print (ESP_FTP_DATA_PASSIVE_PORT);
|
|
output->print ("\",\"T\":\"I\",\"V\":\"");
|
|
output->print (Settings_ESP3D::read_uint32(ESP_FTP_DATA_PASSIVE_PORT));
|
|
output->print ("\",\"H\":\"passive port\",\"S\":\"");
|
|
output->print (Settings_ESP3D::get_max_int32_value(ESP_FTP_DATA_PASSIVE_PORT));
|
|
output->print ("\",\"M\":\"");
|
|
output->print (Settings_ESP3D::get_min_int32_value(ESP_FTP_DATA_PASSIVE_PORT));
|
|
output->print ("\"}");
|
|
#endif //FTP_FEATURE
|
|
|
|
#ifdef TIMESTAMP_FEATURE
|
|
|
|
//Internet Time
|
|
output->print (",{\"F\":\"service/time\",\"P\":\"");
|
|
output->print (ESP_INTERNET_TIME);
|
|
output->print("\",\"T\":\"B\",\"V\":\"");
|
|
output->print ((int8_t)Settings_ESP3D::read_byte(ESP_INTERNET_TIME));
|
|
output->print("\",\"H\":\"i-time\",\"O\":[{\"no\":\"0\"},{\"yes\":\"1\"}]}");
|
|
|
|
//Time zone
|
|
output->print (",{\"F\":\"service/time\",\"P\":\"");
|
|
output->print (ESP_TIMEZONE);
|
|
output->print("\",\"T\":\"B\",\"V\":\"");
|
|
output->print ((int8_t)Settings_ESP3D::read_byte(ESP_TIMEZONE));
|
|
output->print("\",\"H\":\"tzone\",\"O\":[");
|
|
for (int8_t i = Settings_ESP3D::get_min_byte(ESP_TIMEZONE); i <= Settings_ESP3D::get_max_byte(ESP_TIMEZONE) ; i++) {
|
|
if (i > Settings_ESP3D::get_min_byte(ESP_TIMEZONE)) {
|
|
output->print (",");
|
|
}
|
|
output->printf("{\"%d\":\"%d\"}", i, i);
|
|
}
|
|
output->print("]}");
|
|
|
|
//DST
|
|
output->print (",{\"F\":\"service/time\",\"P\":\"");
|
|
output->print (ESP_TIME_IS_DST);
|
|
output->print("\",\"T\":\"B\",\"V\":\"");
|
|
output->print (Settings_ESP3D::read_byte(ESP_TIME_IS_DST));
|
|
output->print("\",\"H\":\"dst\",\"O\":[{\"no\":\"0\"},{\"yes\":\"1\"}]}");
|
|
|
|
//Time Server1
|
|
output->print (",{\"F\":\"service/time\",\"P\":\"");
|
|
output->print (ESP_TIME_SERVER1);
|
|
output->print("\",\"T\":\"S\",\"V\":\"");
|
|
output->print (strlen(Settings_ESP3D::read_string(ESP_TIME_SERVER1))==0?" ":Settings_ESP3D::read_string(ESP_TIME_SERVER1));
|
|
output->print ("\",\"S\":\"");
|
|
output->print (Settings_ESP3D::get_max_string_size(ESP_TIME_SERVER1));
|
|
output->print ("\",\"H\":\"t-server\",\"M\":\"");
|
|
output->print (Settings_ESP3D::get_min_string_size(ESP_TIME_SERVER1));
|
|
output->print ("\"}");
|
|
|
|
//27- Time Server2
|
|
output->print (",{\"F\":\"service/time\",\"P\":\"");
|
|
output->print (ESP_TIME_SERVER2);
|
|
output->print("\",\"T\":\"S\",\"V\":\"");
|
|
output->print (strlen(Settings_ESP3D::read_string(ESP_TIME_SERVER2))==0?" ":Settings_ESP3D::read_string(ESP_TIME_SERVER2));
|
|
output->print ("\",\"S\":\"");
|
|
output->print (Settings_ESP3D::get_max_string_size(ESP_TIME_SERVER2));
|
|
output->print ("\",\"H\":\"t-server\",\"M\":\"");
|
|
output->print (Settings_ESP3D::get_min_string_size(ESP_TIME_SERVER2));
|
|
output->print ("\"}");
|
|
|
|
//28- Time Server3
|
|
output->print (",{\"F\":\"service/time\",\"P\":\"");
|
|
output->print (ESP_TIME_SERVER3);
|
|
output->print("\",\"T\":\"S\",\"V\":\"");
|
|
output->print (strlen(Settings_ESP3D::read_string(ESP_TIME_SERVER3))==0?" ":Settings_ESP3D::read_string(ESP_TIME_SERVER3));
|
|
output->print ("\",\"S\":\"");
|
|
output->print (Settings_ESP3D::get_max_string_size(ESP_TIME_SERVER3));
|
|
output->print ("\",\"H\":\"t-server\",\"M\":\"");
|
|
output->print (Settings_ESP3D::get_min_string_size(ESP_TIME_SERVER3));
|
|
output->print ("\"}");
|
|
#endif //TIMESTAMP_FEATURE
|
|
|
|
#ifdef NOTIFICATION_FEATURE
|
|
//Auto notification
|
|
output->print (",{\"F\":\"service/notification\",\"P\":\"");
|
|
output->print (ESP_AUTO_NOTIFICATION);
|
|
output->print("\",\"T\":\"B\",\"V\":\"");
|
|
output->print (Settings_ESP3D::read_byte(ESP_AUTO_NOTIFICATION));
|
|
output->print("\",\"H\":\"auto notif\",\"O\":[{\"no\":\"0\"},{\"yes\":\"1\"}]}");
|
|
//Notification type
|
|
output->print (",{\"F\":\"service/notification\",\"P\":\"");
|
|
output->print (ESP_NOTIFICATION_TYPE);
|
|
output->print ("\",\"T\":\"B\",\"V\":\"");
|
|
output->print (Settings_ESP3D::read_byte(ESP_NOTIFICATION_TYPE));
|
|
output->print ("\",\"H\":\"notification\",\"O\":[{\"none\":\"0\"},{\"pushover\":\"");
|
|
output->print (ESP_PUSHOVER_NOTIFICATION);
|
|
output->print ("\"},{\"email\":\"");
|
|
output->print (ESP_EMAIL_NOTIFICATION);
|
|
output->print ("\"},{\"line\":\"");
|
|
output->print (ESP_LINE_NOTIFICATION);
|
|
output->print ("\"},{\"telegram\":\"");
|
|
output->print (ESP_TELEGRAM_NOTIFICATION);
|
|
output->print ("\"}]}");
|
|
//Token 1
|
|
output->print (",{\"F\":\"service/notification\",\"P\":\"");
|
|
output->print (ESP_NOTIFICATION_TOKEN1);
|
|
output->print ("\",\"T\":\"S\",\"V\":\"");
|
|
output->print (HIDDEN_PASSWORD);
|
|
output->print ("\",\"S\":\"");
|
|
output->print (Settings_ESP3D::get_max_string_size(ESP_NOTIFICATION_TOKEN1));
|
|
output->print ("\",\"H\":\"t1\",\"M\":\"");
|
|
output->print (Settings_ESP3D::get_min_string_size(ESP_NOTIFICATION_TOKEN1));
|
|
output->print ("\"}");
|
|
//Token 2
|
|
output->print (",{\"F\":\"service/notification\",\"P\":\"");
|
|
output->print (ESP_NOTIFICATION_TOKEN2);
|
|
output->print ("\",\"T\":\"S\",\"V\":\"");
|
|
output->print (HIDDEN_PASSWORD);
|
|
output->print ("\",\"S\":\"");
|
|
output->print (Settings_ESP3D::get_max_string_size(ESP_NOTIFICATION_TOKEN2));
|
|
output->print ("\",\"H\":\"t2\",\"M\":\"");
|
|
output->print (Settings_ESP3D::get_min_string_size(ESP_NOTIFICATION_TOKEN2));
|
|
output->print ("\"}");
|
|
//Notifications Settings
|
|
output->print (",{\"F\":\"service/notification\",\"P\":\"");
|
|
output->print (ESP_NOTIFICATION_SETTINGS);
|
|
output->print ("\",\"T\":\"S\",\"V\":\"");
|
|
output->print ((strlen(Settings_ESP3D::read_string(ESP_NOTIFICATION_SETTINGS))==0)?" ":Settings_ESP3D::read_string(ESP_NOTIFICATION_SETTINGS));
|
|
output->print ("\",\"S\":\"");
|
|
output->print (Settings_ESP3D::get_max_string_size(ESP_NOTIFICATION_SETTINGS));
|
|
output->print ("\",\"H\":\"ts\",\"M\":\"");
|
|
output->print (Settings_ESP3D::get_min_string_size(ESP_NOTIFICATION_SETTINGS));
|
|
output->print ("\"}");
|
|
#endif //NOTIFICATION_FEATURE
|
|
#ifdef CAMERA_DEVICE
|
|
//Camera Port
|
|
output->print (",{\"F\":\"device/camera\",\"P\":\"");
|
|
output->print (ESP_CAMERA_PORT);
|
|
output->print ("\",\"T\":\"I\",\"V\":\"");
|
|
output->print (Settings_ESP3D::read_uint32(ESP_CAMERA_PORT));
|
|
output->print ("\",\"H\":\"port\",\"S\":\"");
|
|
output->print (Settings_ESP3D::get_max_int32_value(ESP_CAMERA_PORT));
|
|
output->print ("\",\"M\":\"");
|
|
output->print (Settings_ESP3D::get_min_int32_value(ESP_CAMERA_PORT));
|
|
output->print ("\"}");
|
|
#endif //CAMERA_DEVICE
|
|
#ifdef BUZZER_DEVICE
|
|
//Buzzer state
|
|
output->print (",{\"F\":\"device/device\",\"P\":\"");
|
|
output->print (ESP_BUZZER);
|
|
output->print ("\",\"T\":\"B\",\"V\":\"");
|
|
output->print (Settings_ESP3D::read_byte(ESP_BUZZER));
|
|
output->print ("\",\"H\":\"buzzer\",\"O\":[{\"no\":\"0\"},{\"yes\":\"1\"}]}");
|
|
#endif //BUZZER_DEVICE
|
|
|
|
#ifdef DHT_DEVICE
|
|
//DHT type
|
|
output->print (",{\"F\":\"device/dht\",\"P\":\"");
|
|
output->print (ESP_DHT_TYPE);
|
|
output->print ("\",\"T\":\"B\",\"V\":\"");
|
|
output->print (Settings_ESP3D::read_byte(ESP_DHT_TYPE));
|
|
output->print ("\",\"H\":\"type\",\"O\":[{\"none\":\"0\"},{\"11\":\"");
|
|
output->print (DHT11_DEVICE);
|
|
output->print ("\"},{\"22\":\"");
|
|
output->print (DHT22_DEVICE);
|
|
output->print ("\"}]}");
|
|
|
|
//DHT interval
|
|
output->print (",{\"F\":\"device/dht\",\"P\":\"");
|
|
output->print (ESP_DHT_INTERVAL);
|
|
output->print ("\",\"T\":\"I\",\"V\":\"");
|
|
output->print (Settings_ESP3D::read_uint32(ESP_DHT_INTERVAL));
|
|
output->print ("\",\"H\":\"intervalms\",\"S\":\"");
|
|
output->print (Settings_ESP3D::get_max_int32_value(ESP_DHT_INTERVAL));
|
|
output->print ("\",\"M\":\"");
|
|
output->print (Settings_ESP3D::get_min_int32_value(ESP_DHT_INTERVAL));
|
|
output->print ("\"}");
|
|
#endif //DHT_DEVICE
|
|
#ifdef SD_DEVICE
|
|
//Direct SD
|
|
output->print(",{\"F\":\"device/sd\",\"P\":\"");
|
|
output->print(ESP_SD_DEVICE_TYPE);
|
|
output->print("\",\"T\":\"B\",\"V\":\"");
|
|
output->print (Settings_ESP3D::read_byte(ESP_SD_DEVICE_TYPE));
|
|
//hard coded for readibility but should use ESP_NO_SD / ESP_DIRECT_SD / ESP_SHARED_SD
|
|
output->print("\",\"H\":\"type\",\"O\":[{\"none\":\"0\"},{\"direct\":\"1\"},{\"dhared\":\"2\"}]}");
|
|
//SPI SD Divider
|
|
output->print(",{\"F\":\"device/sd\",\"P\":\"");
|
|
output->print(ESP_SD_SPEED_DIV);
|
|
output->print("\",\"T\":\"B\",\"V\":\"");
|
|
output->print (Settings_ESP3D::read_byte(ESP_SD_SPEED_DIV));
|
|
output->print("\",\"H\":\"speedx\",\"O\":[{\"1\":\"1\"},{\"2\":\"2\"},{\"3\":\"3\"},{\"4\":\"4\"},{\"6\":\"6\"},{\"8\":\"8\"},{\"16\":\"16\"},{\"32\":\"32\"}]}");
|
|
#endif //SD_DEVICE
|
|
//Target FW
|
|
output->print (",{\"F\":\"system/system\",\"P\":\"");
|
|
output->print (ESP_TARGET_FW);
|
|
output->print ("\",\"T\":\"B\",\"V\":\"");
|
|
output->print (Settings_ESP3D::read_byte(ESP_TARGET_FW));
|
|
output->print ("\",\"H\":\"targetfw\",\"O\":[{\"repetier\":\"");
|
|
output->print (REPETIER);
|
|
output->print ("\"},{\"repetier4davinci\":\"");
|
|
output->print (REPETIER4DV);
|
|
output->print ("\"},{\"marlin\":\"");
|
|
output->print (MARLIN);
|
|
output->print ("\"},{\"marlinkimbra\":\"");
|
|
output->print (MARLINKIMBRA);
|
|
output->print ("\"},{\"smoothieware\":\"");
|
|
output->print (SMOOTHIEWARE);
|
|
output->print ("\"},{\"grbl\":\"");
|
|
output->print (GRBL);
|
|
output->print ("\"},{\"unknown\":\"");
|
|
output->print (UNKNOWN_FW);
|
|
output->print ("\"}]}");
|
|
//Baud Rate
|
|
output->print (",{\"F\":\"system/system\",\"P\":\"");
|
|
output->print (ESP_BAUD_RATE);
|
|
output->print ("\",\"T\":\"I\",\"V\":\"");
|
|
output->print (Settings_ESP3D::read_uint32(ESP_BAUD_RATE));
|
|
output->print ("\",\"H\":\"baud\",\"O\":[");
|
|
uint8_t count = 0;
|
|
const long *bl = serial_service.get_baudratelist(&count);
|
|
for (uint8_t i = 0 ; i < count ; i++) {
|
|
if (i > 0) {
|
|
output->print (",");
|
|
}
|
|
output->printf("{\"%ld\":\"%ld\"}", bl[i], bl[i]);
|
|
}
|
|
output->print ("]}");
|
|
//Start delay
|
|
output->print (",{\"F\":\"system/system\",\"P\":\"");
|
|
output->print (ESP_BOOT_DELAY);
|
|
output->print ("\",\"T\":\"I\",\"V\":\"");
|
|
output->print (Settings_ESP3D::read_uint32(ESP_BOOT_DELAY));
|
|
output->print ("\",\"H\":\"bootdelay\",\"S\":\"");
|
|
output->print (Settings_ESP3D::get_max_int32_value(ESP_BOOT_DELAY));
|
|
output->print ("\",\"M\":\"");
|
|
output->print (Settings_ESP3D::get_min_int32_value(ESP_BOOT_DELAY));
|
|
output->print ("\"}");
|
|
//Output flag
|
|
output->print (",{\"F\":\"system/system\",\"P\":\"");
|
|
output->print (ESP_OUTPUT_FLAG);
|
|
output->print ("\",\"T\":\"F\",\"V\":\"");
|
|
output->print (Settings_ESP3D::read_byte(ESP_OUTPUT_FLAG));
|
|
output->printf ("\",\"H\":\"outputmsg\",\"O\":[{\"M117\":\"%d\"}", ESP_PRINTER_LCD_CLIENT);
|
|
#ifdef DISPLAY_DEVICE
|
|
output->printf (",{\"screen\":\"%d\"}", ESP_SCREEN_CLIENT);
|
|
#endif //DISPLAY_DEVICE
|
|
output->printf (",{\"serial\":\"%d\"}", ESP_SERIAL_CLIENT);
|
|
#ifdef WS_DATA_FEATURE
|
|
output->printf (",{\"ws\":\"%d\"}", ESP_WEBSOCKET_CLIENT);
|
|
#endif //WS_DATA_FEATURE
|
|
#ifdef BLUETOOTH_FEATURE
|
|
output->printf (",{\"bt\":\"%d\"}", ESP_BT_CLIENT);
|
|
#endif //BLUETOOTH_FEATURE
|
|
#ifdef TELNET_FEATURE
|
|
output->printf (",{\"telnet\":\"%d\"}", ESP_TELNET_CLIENT);
|
|
#endif //TELNET_FEATURE
|
|
output->print ("]}");
|
|
|
|
output->print ("]}");
|
|
return true;
|
|
}
|