Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
co2ampel
ampel-firmware
Commits
b345893b
Commit
b345893b
authored
Feb 17, 2022
by
Eric Duminil
Browse files
Distributing html more evenly
parent
73317ec1
Pipeline
#5857
passed with stage
in 2 minutes and 32 seconds
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
ampel-firmware/web_server.cpp
View file @
b345893b
...
...
@@ -48,7 +48,6 @@ namespace web_server {
// "<meta http-equiv='refresh' content='%d'>"
"</head>"
"<body>"
"<div class='pure-g'><div class='pure-u-1'><div class='pure-menu'><p class='pure-menu-heading'>HfT-Stuttgart CO<sub>2</sub> Ampel</p></div></div>"
"<div class='pure-u-1'><ul class='pure-menu pure-menu-horizontal pure-menu-list'>"
"<li class='pure-menu-item'><a href='/config' class='pure-menu-link'>Config</a></li>"
...
...
@@ -62,26 +61,26 @@ namespace web_server {
// Show a colored dot on the webpage, with a similar color than on LED Ring.
"hue=(1-(Math.min(Math.max(parseInt(document.title),500),1600)-500)/1100)*120;"
"document.getElementById('led').style.color=['hsl(',hue,',100%%,50%%)'].join('');"
"</script>"
"<div class='pure-g'>"
"<div class='pure-u-1' id='graph'></div>"
// Graph placeholder
"</div>"
"<div class='pure-g'>"
"<table id='table' class='pure-table-striped pure-u-1 pure-u-md-1-2'>"
);
"</script>"
);
body1_template
=
PSTR
(
"<tr><th colspan='2'>%s</th></tr>"
body1_template
=
PSTR
(
"<div class='pure-g'>"
"<div class='pure-u-1' id='graph'></div>"
// Graph placeholder
"</div>"
"<div class='pure-g'>"
"<table id='table' class='pure-table-striped pure-u-1 pure-u-md-1-2'>"
"<tr><th colspan='2'>%s</th></tr>"
"<tr><td>CO<sub>2</sub></td><td>%5d ppm</td></tr>"
"<tr><td>Temperature</td><td>%.1f℃</td></tr>"
"<tr><td>Humidity</td><td>%.1f%%</td></tr>"
"<tr><td>Last measurement</td><td>%s</td></tr>"
"<tr><td>Timestep</td><td>%5d s</td></tr>"
"<tbody>"
"<tr><th colspan='2'>CSV</th></tr>"
//TODO: Gray out if !config::csv_active
"<tbody
%s
>"
"<tr><th colspan='2'>CSV</th></tr>"
//TODO: Gray out if !config::csv_active
"<tr><td>Last write</td><td>%s</td></tr>"
"<tr><td>Interval</td><td>%5d s</td></tr>"
"<tr><td>Available space</td><td>%d kB</td></tr>"
"</tbody>"
"<tbody>"
"<tbody
%s
>"
"<tr><th colspan='2'>MQTT</th></tr>"
"<tr><td>Connected?</td><td>%s</td></tr>"
"<tr><td>Last publish</td><td>%s</td></tr>"
...
...
@@ -90,7 +89,7 @@ namespace web_server {
body2_template
=
PSTR
(
#if defined(ESP32)
"<tbody>"
"<tbody
%s
>"
"<tr><th colspan='2'>LoRaWAN</th></tr>"
"<tr><td>Connected?</td><td>%s</td></tr>"
"<tr><td>Frequency</td><td>%s MHz</td></tr>"
...
...
@@ -202,7 +201,7 @@ namespace web_server {
//NOTE: Splitting in multiple parts in order to use less RAM. Higher than 2000 apparently crashes the ESP8266
char
content
[
2000
];
// Current size (with Lorawan):
// INFO - Header size : 1
826
- Body size :
200
5 - Script size : 19
04
//
INFO - Header size : 1
685
- Body
1
size :
843 - Body2 size : 139
5 - Script size : 19
18
snprintf_P
(
content
,
sizeof
(
content
),
header_template
,
sensor
::
co2
,
config
::
ampel_name
(),
wifi
::
local_ip
,
csv_writer
::
filename
);
...
...
@@ -214,9 +213,10 @@ namespace web_server {
// Body
snprintf_P
(
content
,
sizeof
(
content
),
body1_template
,
config
::
ampel_name
(),
sensor
::
co2
,
sensor
::
temperature
,
sensor
::
humidity
,
sensor
::
timestamp
,
config
::
measurement_timestep
,
csv_writer
::
last_successful_write
,
config
::
csv_interval
,
csv_writer
::
getAvailableSpace
()
/
1024
,
mqtt
::
connected
?
"Yes"
:
"No"
,
mqtt
::
last_successful_publish
,
config
::
mqtt_sending_interval
);
sensor
::
humidity
,
sensor
::
timestamp
,
config
::
measurement_timestep
,
config
::
is_csv_active
()
?
""
:
"hidden"
,
csv_writer
::
last_successful_write
,
config
::
csv_interval
,
csv_writer
::
getAvailableSpace
()
/
1024
,
config
::
is_mqtt_active
()
?
""
:
"hidden"
,
mqtt
::
connected
?
"Yes"
:
"No"
,
mqtt
::
last_successful_publish
,
config
::
mqtt_sending_interval
);
Serial
.
print
(
F
(
" - Body1 size : "
));
Serial
.
print
(
strlen
(
content
));
...
...
@@ -224,8 +224,8 @@ namespace web_server {
snprintf_P
(
content
,
sizeof
(
content
),
body2_template
,
#if defined(ESP32)
lorawan
::
connected
?
"Yes"
:
"No"
,
config
::
lorawan_frequency_plan
,
lorawan
::
last_transmission
,
config
::
lorawan_sending_interval
,
config
::
is_lorawan_active
()
?
""
:
"hidden"
,
lorawan
::
connected
?
"Yes"
:
"No"
,
config
::
lorawan_frequency_plan
,
lorawan
::
last_transmission
,
config
::
lorawan_sending_interval
,
#endif
config
::
temperature_offset
,
config
::
auto_calibrate_sensor
?
"Yes"
:
"No"
,
config
::
ampel_name
(),
config
::
ampel_name
(),
wifi
::
local_ip
,
wifi
::
local_ip
,
ampel
.
macAddress
,
ESP
.
getFreeHeap
(),
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment