esp8266_web_settings beta
SystemDetailsDisplay.h
1/*
2 * Copyright (c) 2021, 2022 G. R. McDorman
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a copy
5 * of this software and associated documentation files (the "Software"), to deal
6 * in the Software without restriction, including without limitation the rights
7 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 * copies of the Software, and to permit persons to whom the Software is
9 * furnished to do so, subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in all
12 * copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20 * SOFTWARE.
21 */
22
23#pragma once
24
25
26#include "grmcdorman/device/Device.h"
27#include "grmcdorman/Setting.h"
28
29namespace grmcdorman::device
30{
39 {
40 public:
46
52 const __FlashStringHelper *identifier() const override
53 {
54 static const char info_name[] PROGMEM = "system_details";
55 return FPSTR(info_name);
56 }
57
63 void setup() override
64 {
65 firmware_name.set(get_firmware_name());
66 }
72 void loop() override
73 {
74 }
75 DynamicJsonDocument as_json() const override;
76 private:
77 InfoSettingHtml firmware_name;
78 InfoSettingHtml compile_datetime;
79 InfoSettingHtml architecture;
80 InfoSettingHtml device_chip_id;
81 InfoSettingHtml flash_chip;
82 InfoSettingHtml last_reset;
83 InfoSettingHtml flash_size;
84 InfoSettingHtml real_flash_size;
85 InfoSettingHtml sketch_size;
86 InfoSettingHtml vendor_chip_id;
87 InfoSettingHtml core_version;
88 InfoSettingHtml boot_version;
89 InfoSettingHtml sdk_version;
90 InfoSettingHtml cpu_frequency;
91 };
92}
The generic device interface.
Definition: Device.h:46
static const __FlashStringHelper * get_firmware_name()
Get the firmware prefix.
Definition: Device.h:195
This class is a readonly system-details panel.
Definition: SystemDetailsDisplay.h:39
void loop() override
Loop.
Definition: SystemDetailsDisplay.h:72
SystemDetailsDisplay()
Construct a new SystemDetailsDisplay Device object.
Definition: SystemDetailsDisplay.cpp:35
const __FlashStringHelper * identifier() const override
The device identifier, "system_details".
Definition: SystemDetailsDisplay.h:52
void setup() override
Setup.
Definition: SystemDetailsDisplay.h:63
DynamicJsonDocument as_json() const override
Get the values, as a JSON document.
Definition: SystemDetailsDisplay.cpp:89