Verbesserung Settings Menü
This commit is contained in:
1 parent
333d87af3e
commit
f468f09ad2
1 file changed
+29
-9
@@ -173,15 +173,22 @@ void send_page(const String &message = String())
|
|||||||
page += html_escape(active_settings->access_point_name);
|
page += html_escape(active_settings->access_point_name);
|
||||||
page += F("'></label><label>WLAN-Passwort<input name='ap_password' type='password' minlength='8' maxlength='63' required value='");
|
page += F("'></label><label>WLAN-Passwort<input name='ap_password' type='password' minlength='8' maxlength='63' required value='");
|
||||||
page += html_escape(active_settings->access_point_password);
|
page += html_escape(active_settings->access_point_password);
|
||||||
page += F("'></label><label>Callsign<input name='callsign' maxlength='16' required value='");
|
page += F("'></label>");
|
||||||
|
#ifdef DEVICE_SAILPLANE
|
||||||
|
page += F("<label>Callsign<input name='callsign' maxlength='16' required value='");
|
||||||
page += html_escape(active_settings->callsign);
|
page += html_escape(active_settings->callsign);
|
||||||
page += F("'></label><label>Min Speed (km/h)<input name='min' type='number' min='0' max='300' required value='");
|
page += F("'></label><label>Min Speed (km/h)<input name='min' type='number' min='0' max='300' required value='");
|
||||||
page += String(active_settings->min_speed);
|
page += String(active_settings->min_speed);
|
||||||
page += F("'></label><label>Max Speed (km/h)<input name='max' type='number' min='1' max='300' required value='");
|
page += F("'></label><label>Max Speed (km/h)<input name='max' type='number' min='1' max='300' required value='");
|
||||||
page += String(active_settings->max_speed);
|
page += String(active_settings->max_speed);
|
||||||
page += F("'></label><label>Uebertragungszeit (Sekunden)<input name='active_time' type='number' min='1' max='600' required value='");
|
page += F("'></label>");
|
||||||
|
#endif
|
||||||
|
#ifdef DEVICE_SAILPLANE
|
||||||
|
page += F("<label>Uebertragungszeit (Sekunden)<input name='active_time' type='number' min='1' max='600' required value='");
|
||||||
page += String(active_settings->active_time_seconds);
|
page += String(active_settings->active_time_seconds);
|
||||||
page += F("'></label><button type='submit'>Speichern</button></form>"
|
page += F("'></label>");
|
||||||
|
#endif
|
||||||
|
page += F("<button type='submit'>Speichern</button></form>"
|
||||||
"<h2>Firmware aktualisieren</h2><form method='post' action='/update' enctype='multipart/form-data'>"
|
"<h2>Firmware aktualisieren</h2><form method='post' action='/update' enctype='multipart/form-data'>"
|
||||||
"<input name='firmware' type='file' accept='.bin' required><button type='submit'>Upload starten</button>"
|
"<input name='firmware' type='file' accept='.bin' required><button type='submit'>Upload starten</button>"
|
||||||
"</form><p><small>Access Point: ");
|
"</form><p><small>Access Point: ");
|
||||||
@@ -192,18 +199,27 @@ void send_page(const String &message = String())
|
|||||||
|
|
||||||
bool parse_settings(TelemetrySettings &settings)
|
bool parse_settings(TelemetrySettings &settings)
|
||||||
{
|
{
|
||||||
|
#ifdef DEVICE_SAILPLANE
|
||||||
String callsign = server.arg("callsign");
|
String callsign = server.arg("callsign");
|
||||||
String access_point_name = server.arg("ap_name");
|
|
||||||
String access_point_password = server.arg("ap_password");
|
|
||||||
int min_speed = server.arg("min").toInt();
|
int min_speed = server.arg("min").toInt();
|
||||||
int max_speed = server.arg("max").toInt();
|
int max_speed = server.arg("max").toInt();
|
||||||
int active_time_seconds = server.arg("active_time").toInt();
|
int active_time_seconds = server.arg("active_time").toInt();
|
||||||
callsign.trim();
|
callsign.trim();
|
||||||
|
if (callsign.length() == 0 || callsign.length() > 16 || min_speed < 0 || max_speed > 300 || min_speed >= max_speed || active_time_seconds < 1 || active_time_seconds > 600)
|
||||||
|
return false;
|
||||||
|
#else
|
||||||
|
String callsign = settings.callsign;
|
||||||
|
int min_speed = settings.min_speed;
|
||||||
|
int max_speed = settings.max_speed;
|
||||||
|
int active_time_seconds = settings.active_time_seconds;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
String access_point_name = server.arg("ap_name");
|
||||||
|
String access_point_password = server.arg("ap_password");
|
||||||
access_point_name.trim();
|
access_point_name.trim();
|
||||||
access_point_password.trim();
|
access_point_password.trim();
|
||||||
|
|
||||||
if (callsign.length() == 0 || callsign.length() > 16 || access_point_password.length() < 8 || access_point_password.length() > 63 || min_speed < 0 || max_speed > 300 ||
|
if (access_point_password.length() < 8 || access_point_password.length() > 63)
|
||||||
min_speed >= max_speed || active_time_seconds < 1 || active_time_seconds > 600)
|
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
settings.callsign = callsign;
|
settings.callsign = callsign;
|
||||||
@@ -329,8 +345,12 @@ bool webinterface_begin(TelemetrySettings &settings)
|
|||||||
settings.min_speed = preferences.getInt("min", default_min_speed);
|
settings.min_speed = preferences.getInt("min", default_min_speed);
|
||||||
settings.max_speed = preferences.getInt("max", default_max_speed);
|
settings.max_speed = preferences.getInt("max", default_max_speed);
|
||||||
settings.active_time_seconds = preferences.getUInt("active_time", default_active_time_seconds);
|
settings.active_time_seconds = preferences.getUInt("active_time", default_active_time_seconds);
|
||||||
if (settings.access_point_name.length() == 0 || settings.access_point_name.length() > 32 || settings.access_point_password.length() < 8 || settings.access_point_password.length() > 63 || settings.callsign.length() == 0 || settings.min_speed < 0 || settings.min_speed >= settings.max_speed ||
|
|
||||||
settings.max_speed > 300 || settings.active_time_seconds < 1 || settings.active_time_seconds > 600)
|
bool settings_valid = settings.access_point_name.length() > 0 && settings.access_point_name.length() <= 32 && settings.access_point_password.length() >= 8 && settings.access_point_password.length() <= 63;
|
||||||
|
#ifdef DEVICE_SAILPLANE
|
||||||
|
settings_valid = settings_valid && settings.callsign.length() > 0 && settings.min_speed >= 0 && settings.min_speed < settings.max_speed && settings.max_speed <= 300 && settings.active_time_seconds >= 1 && settings.active_time_seconds <= 600;
|
||||||
|
#endif
|
||||||
|
if (!settings_valid)
|
||||||
{
|
{
|
||||||
settings.callsign = default_callsign;
|
settings.callsign = default_callsign;
|
||||||
settings.access_point_name = default_access_point_name();
|
settings.access_point_name = default_access_point_name();
|
||||||
|
|||||||
Reference in new issue
Block a user