git hashes on about page
This commit is contained in:
@@ -67,7 +67,8 @@ CFLAGS = -Os -std=gnu99 -Werror -Wpointer-arith -Wundef -Wall -Wl,-EL -fno-inli
|
|||||||
-nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH \
|
-nostdlib -mlongcalls -mtext-section-literals -D__ets__ -DICACHE_FLASH \
|
||||||
-Wno-address -Wno-unused
|
-Wno-address -Wno-unused
|
||||||
|
|
||||||
CFLAGS += -DGIT_HASH='"$(shell git rev-parse --short HEAD)"'
|
CFLAGS += -DGIT_HASH_BACKEND='"$(shell git rev-parse --short HEAD)"'
|
||||||
|
CFLAGS += -DGIT_HASH_FRONTEND='"$(shell cd front-end && git rev-parse --short HEAD)"'
|
||||||
CFLAGS += -DADMIN_PASSWORD=$(ADMIN_PASSWORD)
|
CFLAGS += -DADMIN_PASSWORD=$(ADMIN_PASSWORD)
|
||||||
|
|
||||||
ifdef GLOBAL_CFLAGS
|
ifdef GLOBAL_CFLAGS
|
||||||
|
|||||||
+1
-1
Submodule front-end updated: 2b93cedd3f...fd2a6df245
+13
-24
@@ -33,34 +33,14 @@ httpd_cgi_state ICACHE_FLASH_ATTR tplScreen(HttpdConnData *connData, char *token
|
|||||||
sprintf(buff, "%d", termconf->theme);
|
sprintf(buff, "%d", termconf->theme);
|
||||||
tplSend(connData, buff, -1);
|
tplSend(connData, buff, -1);
|
||||||
}
|
}
|
||||||
|
else if (streq(token, "want_all_fn")) {
|
||||||
|
sprintf(buff, "%d", termconf->want_all_fn);
|
||||||
|
tplSend(connData, buff, -1);
|
||||||
|
}
|
||||||
|
|
||||||
return HTTPD_CGI_DONE;
|
return HTTPD_CGI_DONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
httpd_cgi_state ICACHE_FLASH_ATTR
|
|
||||||
cgiTermInitialImage(HttpdConnData *connData)
|
|
||||||
{
|
|
||||||
const int bufsiz = 512;
|
|
||||||
char buff[bufsiz];
|
|
||||||
|
|
||||||
if (connData->conn == NULL) {
|
|
||||||
//Connection aborted. Clean up.
|
|
||||||
// Release data object
|
|
||||||
screenSerializeToBuffer(NULL, 0, &connData->cgiData);
|
|
||||||
return HTTPD_CGI_DONE;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (connData->cgiData == NULL) {
|
|
||||||
httpdStartResponse(connData, 200);
|
|
||||||
httpdHeader(connData, "Content-Type", "application/octet-stream");
|
|
||||||
httpdEndHeaders(connData);
|
|
||||||
}
|
|
||||||
|
|
||||||
httpd_cgi_state cont = screenSerializeToBuffer(buff, bufsiz, &connData->cgiData);
|
|
||||||
httpdSend(connData, buff, -1); // no encode
|
|
||||||
return cont;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** "About" page */
|
/** "About" page */
|
||||||
httpd_cgi_state ICACHE_FLASH_ATTR
|
httpd_cgi_state ICACHE_FLASH_ATTR
|
||||||
tplAbout(HttpdConnData *connData, char *token, void **arg)
|
tplAbout(HttpdConnData *connData, char *token, void **arg)
|
||||||
@@ -82,9 +62,18 @@ tplAbout(HttpdConnData *connData, char *token, void **arg)
|
|||||||
else if (streq(token, "vers_sdk")) {
|
else if (streq(token, "vers_sdk")) {
|
||||||
tplSend(connData, STR(ESP_SDK_VERSION), -1);
|
tplSend(connData, STR(ESP_SDK_VERSION), -1);
|
||||||
}
|
}
|
||||||
|
else if (streq(token, "hash_backend")) {
|
||||||
|
tplSend(connData, GIT_HASH_BACKEND, -1);
|
||||||
|
}
|
||||||
|
else if (streq(token, "hash_frontend")) {
|
||||||
|
tplSend(connData, GIT_HASH_FRONTEND, -1);
|
||||||
|
}
|
||||||
else if (streq(token, "githubrepo")) {
|
else if (streq(token, "githubrepo")) {
|
||||||
tplSend(connData, TERMINAL_GITHUB_REPO, -1);
|
tplSend(connData, TERMINAL_GITHUB_REPO, -1);
|
||||||
}
|
}
|
||||||
|
else if (streq(token, "githubrepo_front")) {
|
||||||
|
tplSend(connData, TERMINAL_GITHUB_REPO_FRONT, -1);
|
||||||
|
}
|
||||||
|
|
||||||
return HTTPD_CGI_DONE;
|
return HTTPD_CGI_DONE;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -137,6 +137,12 @@ cgiTermCfgSetParams(HttpdConnData *connData)
|
|||||||
notify_screen_content = true;
|
notify_screen_content = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (GET_ARG("want_all_fn")) {
|
||||||
|
cgi_dbg("AllFN mode: %s", buff);
|
||||||
|
n = atoi(buff);
|
||||||
|
termconf->want_all_fn = (bool)n;
|
||||||
|
}
|
||||||
|
|
||||||
if (GET_ARG("crlf_mode")) {
|
if (GET_ARG("crlf_mode")) {
|
||||||
cgi_dbg("CRLF mode: %s", buff);
|
cgi_dbg("CRLF mode: %s", buff);
|
||||||
n = atoi(buff);
|
n = atoi(buff);
|
||||||
@@ -321,6 +327,9 @@ tplTermCfg(HttpdConnData *connData, char *token, void **arg)
|
|||||||
else if (streq(token, "fn_alt_mode")) {
|
else if (streq(token, "fn_alt_mode")) {
|
||||||
sprintf(buff, "%d", (int)termconf->fn_alt_mode);
|
sprintf(buff, "%d", (int)termconf->fn_alt_mode);
|
||||||
}
|
}
|
||||||
|
else if (streq(token, "want_all_fn")) {
|
||||||
|
sprintf(buff, "%d", (int)termconf->want_all_fn);
|
||||||
|
}
|
||||||
else if (streq(token, "crlf_mode")) {
|
else if (streq(token, "crlf_mode")) {
|
||||||
sprintf(buff, "%d", (int)termconf->crlf_mode);
|
sprintf(buff, "%d", (int)termconf->crlf_mode);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,7 +32,6 @@ const HttpdBuiltInUrl routes[] ESP_CONST_DATA = {
|
|||||||
ROUTE_FILE("/help/?", "/help.html"),
|
ROUTE_FILE("/help/?", "/help.html"),
|
||||||
|
|
||||||
// --- Sockets ---
|
// --- Sockets ---
|
||||||
ROUTE_CGI("/term/init", cgiTermInitialImage),
|
|
||||||
ROUTE_WS(URL_WS_UPDATE, updateSockConnect),
|
ROUTE_WS(URL_WS_UPDATE, updateSockConnect),
|
||||||
|
|
||||||
// --- System control ---
|
// --- System control ---
|
||||||
|
|||||||
+9
-1
@@ -188,6 +188,7 @@ terminal_restore_defaults(void)
|
|||||||
termconf->show_config_links = SCR_DEF_SHOW_MENU;
|
termconf->show_config_links = SCR_DEF_SHOW_MENU;
|
||||||
termconf->cursor_shape = SCR_DEF_CURSOR_SHAPE;
|
termconf->cursor_shape = SCR_DEF_CURSOR_SHAPE;
|
||||||
termconf->crlf_mode = SCR_DEF_CRLF;
|
termconf->crlf_mode = SCR_DEF_CRLF;
|
||||||
|
termconf->want_all_fn = SCR_DEF_ALLFN;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -231,7 +232,7 @@ terminal_apply_settings_noclear(void)
|
|||||||
changed = 1;
|
changed = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Migrate to v3
|
// Migrate to v4
|
||||||
if (termconf->config_version < 4) {
|
if (termconf->config_version < 4) {
|
||||||
persist_dbg("termconf: Updating to version 4");
|
persist_dbg("termconf: Updating to version 4");
|
||||||
termconf->cursor_shape = CURSOR_BLOCK_BL;
|
termconf->cursor_shape = CURSOR_BLOCK_BL;
|
||||||
@@ -239,6 +240,13 @@ terminal_apply_settings_noclear(void)
|
|||||||
changed = 1;
|
changed = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Migrate to v5
|
||||||
|
if (termconf->config_version < 4) {
|
||||||
|
persist_dbg("termconf: Updating to version 5");
|
||||||
|
termconf->want_all_fn = 0;
|
||||||
|
changed = 1;
|
||||||
|
}
|
||||||
|
|
||||||
termconf->config_version = TERMCONF_VERSION;
|
termconf->config_version = TERMCONF_VERSION;
|
||||||
|
|
||||||
// Validation...
|
// Validation...
|
||||||
|
|||||||
+4
-3
@@ -37,7 +37,7 @@
|
|||||||
// Size designed for the terminal config structure
|
// Size designed for the terminal config structure
|
||||||
// Must be constant to avoid corrupting user config after upgrade
|
// Must be constant to avoid corrupting user config after upgrade
|
||||||
#define TERMCONF_SIZE 300
|
#define TERMCONF_SIZE 300
|
||||||
#define TERMCONF_VERSION 4
|
#define TERMCONF_VERSION 5
|
||||||
|
|
||||||
#define TERM_BTN_LEN 10
|
#define TERM_BTN_LEN 10
|
||||||
#define TERM_BTN_MSG_LEN 10
|
#define TERM_BTN_MSG_LEN 10
|
||||||
@@ -46,7 +46,7 @@
|
|||||||
|
|
||||||
#define SCR_DEF_DISPLAY_TOUT_MS 12
|
#define SCR_DEF_DISPLAY_TOUT_MS 12
|
||||||
#define SCR_DEF_DISPLAY_COOLDOWN_MS 35
|
#define SCR_DEF_DISPLAY_COOLDOWN_MS 35
|
||||||
#define SCR_DEF_PARSER_TOUT_MS 10
|
#define SCR_DEF_PARSER_TOUT_MS 0
|
||||||
#define SCR_DEF_FN_ALT_MODE true // true - SS3 codes, easier to parse & for xterm compatibility
|
#define SCR_DEF_FN_ALT_MODE true // true - SS3 codes, easier to parse & for xterm compatibility
|
||||||
#define SCR_DEF_WIDTH 26
|
#define SCR_DEF_WIDTH 26
|
||||||
#define SCR_DEF_HEIGHT 10
|
#define SCR_DEF_HEIGHT 10
|
||||||
@@ -69,7 +69,7 @@ enum CursorShape {
|
|||||||
#define SCR_DEF_SHOW_MENU 1
|
#define SCR_DEF_SHOW_MENU 1
|
||||||
#define SCR_DEF_CURSOR_SHAPE CURSOR_BLOCK_BL
|
#define SCR_DEF_CURSOR_SHAPE CURSOR_BLOCK_BL
|
||||||
#define SCR_DEF_CRLF 0
|
#define SCR_DEF_CRLF 0
|
||||||
|
#define SCR_DEF_ALLFN 0
|
||||||
|
|
||||||
// --- Persistent Settings ---
|
// --- Persistent Settings ---
|
||||||
#define CURSOR_BLINKS(shape) ((shape)==CURSOR_BLOCK_BL||(shape)==CURSOR_UNDERLINE_BL||(shape)==CURSOR_BAR_BL)
|
#define CURSOR_BLINKS(shape) ((shape)==CURSOR_BLOCK_BL||(shape)==CURSOR_UNDERLINE_BL||(shape)==CURSOR_BAR_BL)
|
||||||
@@ -93,6 +93,7 @@ typedef struct {
|
|||||||
char btn_msg[TERM_BTN_COUNT][TERM_BTN_MSG_LEN];
|
char btn_msg[TERM_BTN_COUNT][TERM_BTN_MSG_LEN];
|
||||||
enum CursorShape cursor_shape;
|
enum CursorShape cursor_shape;
|
||||||
bool crlf_mode;
|
bool crlf_mode;
|
||||||
|
bool want_all_fn;
|
||||||
} TerminalConfigBundle;
|
} TerminalConfigBundle;
|
||||||
|
|
||||||
// Live config
|
// Live config
|
||||||
|
|||||||
+2
-1
@@ -9,8 +9,9 @@
|
|||||||
#define FW_V_MINOR 1
|
#define FW_V_MINOR 1
|
||||||
#define FW_V_PATCH 0
|
#define FW_V_PATCH 0
|
||||||
|
|
||||||
#define FIRMWARE_VERSION STR(FW_V_MAJOR) "." STR(FW_V_MINOR) "." STR(FW_V_PATCH) "+" GIT_HASH
|
#define FIRMWARE_VERSION STR(FW_V_MAJOR) "." STR(FW_V_MINOR) "." STR(FW_V_PATCH)
|
||||||
#define FIRMWARE_VERSION_NUM (FW_V_MAJOR*1000 + FW_V_MINOR*10 + FW_V_PATCH) // this is used in ID queries
|
#define FIRMWARE_VERSION_NUM (FW_V_MAJOR*1000 + FW_V_MINOR*10 + FW_V_PATCH) // this is used in ID queries
|
||||||
#define TERMINAL_GITHUB_REPO "https://github.com/espterm/espterm-firmware"
|
#define TERMINAL_GITHUB_REPO "https://github.com/espterm/espterm-firmware"
|
||||||
|
#define TERMINAL_GITHUB_REPO_FRONT "https://github.com/espterm/espterm-front-end"
|
||||||
|
|
||||||
#endif //ESP_VT100_FIRMWARE_VERSION_H
|
#endif //ESP_VT100_FIRMWARE_VERSION_H
|
||||||
|
|||||||
Reference in New Issue
Block a user