Skip to content

Commit 43b2050

Browse files
authored
Merge pull request #447 from luc-github/2.1-devt
fixes and improvements from Devt
2 parents 9746a4e + af0d8a0 commit 43b2050

File tree

6 files changed

+253
-225
lines changed

6 files changed

+253
-225
lines changed

esp3d/config.cpp

Lines changed: 48 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1562,7 +1562,7 @@ void CONFIG::print_config (tpipe output, bool plaintext, ESPResponseStream *esp
15621562
}
15631563
#else
15641564
//go next record
1565-
station = STAILQ_NEXT (station, next);
1565+
station = STAILQ_NEXT (station, next);
15661566
}
15671567
wifi_softap_free_station_info();
15681568
#endif
@@ -1979,3 +1979,50 @@ void CONFIG::print_config (tpipe output, bool plaintext, ESPResponseStream *esp
19791979
ESPCOM::print (F ("\n"), output, espresponse);
19801980
}
19811981
}
1982+
1983+
#ifdef DEBUG_OUTPUT_SOCKET
1984+
#if defined(ARDUINO_ARCH_ESP8266)
1985+
#define NODEBUG_WEBSOCKETS
1986+
#include <WebSocketsServer.h>
1987+
extern WebSocketsServer * socket_server;
1988+
const char * pathToFileName(const char * path)
1989+
{
1990+
size_t i = 0;
1991+
size_t pos = 0;
1992+
char * p = (char *)path;
1993+
while(*p) {
1994+
i++;
1995+
if(*p == '/' || *p == '\\') {
1996+
pos = i;
1997+
}
1998+
p++;
1999+
}
2000+
return path+pos;
2001+
}
2002+
#endif //ARDUINO_ARCH_ESP8266
2003+
2004+
void log_socket(const char *format, ...){
2005+
if(socket_server){
2006+
char loc_buf[255];
2007+
char * temp = loc_buf;
2008+
va_list arg;
2009+
va_list copy;
2010+
va_start(arg, format);
2011+
va_copy(copy, arg);
2012+
size_t len = vsnprintf(NULL, 0, format, arg);
2013+
va_end(copy);
2014+
if(len >= sizeof(loc_buf)){
2015+
temp = new char[len+1];
2016+
if(temp == NULL) {
2017+
return;
2018+
}
2019+
}
2020+
len = vsnprintf(temp, len+1, format, arg);
2021+
socket_server->sendBIN(ESPCOM::current_socket_id,(uint8_t *)temp,strlen(temp));
2022+
va_end(arg);
2023+
if(len > 255){
2024+
delete[] temp;
2025+
}
2026+
}
2027+
}
2028+
#endif

esp3d/config.h

Lines changed: 109 additions & 96 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
*/
2020

2121
//version and sources location
22-
#define FW_VERSION "2.1.1.b1"
22+
#define FW_VERSION "2.1.1.b6"
2323
#define REPOSITORY "https://github.com/luc-github/ESP3D"
2424

2525
//Customize ESP3D ////////////////////////////////////////////////////////////////////////
@@ -128,22 +128,25 @@
128128
#define OLED_DISPLAY_SSD1306 // OLED Display Type: SSD1306(OLED_DISPLAY_SSD1306) / SH1106(OLED_DISPLAY_SH1106), comment this line out to disable oled
129129
#define OLED_PIN_SDA 4 //5 //SDA; // i2c SDA Pin
130130
#define OLED_PIN_SCL 15 //4 //SCL; // i2c SCL Pin
131-
#define OLED_ADDR 0x3c
131+
#define OLED_ADDR 0x3c
132132
#define HELTEC_EMBEDDED_PIN 16 //0 to disable
133133
#define OLED_FLIP_VERTICALY 1 //0 to disable
134134
#endif
135135

136136

137137
//Supported FW /////////////////////////////////////////////////////////////
138138
#define UNKNOWN_FW 0
139-
#define REPETIER4DV 1
140-
#define MARLIN 2
141-
#define MARLINKIMBRA 3
142-
#define SMOOTHIEWARE 4
143-
#define REPETIER 5
144-
#define GRBL 6
139+
#define REPETIER4DV 1
140+
#define MARLIN 2
141+
#define MARLINKIMBRA 3
142+
#define SMOOTHIEWARE 4
143+
#define REPETIER 5
144+
#define GRBL 6
145145
#define MAX_FW_ID 6
146146

147+
//For FW which has issue with checksum or not handling M110 properly///////
148+
//#define DISABLE_SERIAL_CHECKSUM
149+
147150
//Do not Edit after this line //////////////////////////////////////////////
148151

149152
//DEBUG Flag do not do this when connected to printer !!!
@@ -152,6 +155,7 @@
152155
//#define DEBUG_OUTPUT_SPIFFS
153156
//#define DEBUG_OUTPUT_SERIAL
154157
//#define DEBUG_OUTPUT_TCP
158+
//#define DEBUG_OUTPUT_SOCKET
155159

156160
//Sanity check
157161
#ifndef SDCARD_FEATURE
@@ -162,6 +166,7 @@
162166

163167
#if defined(ASYNCWEBSERVER)
164168
#define ESP_USE_ASYNC true
169+
#error it no more supported
165170
#else
166171
#define ESP_USE_ASYNC false
167172
#endif
@@ -210,6 +215,14 @@ using fs::File;
210215
//NOT YET IMPLEMENTED!!! Keep it as TODO
211216
//#define WEBHOST_SDCARD_FEATURE
212217

218+
#ifdef DEBUG_OUTPUT_SOCKET
219+
extern void log_socket(const char *format, ...);
220+
extern const char * pathToFileName(const char * path);
221+
#define log_esp3d(format, ...) log_socket("\n[ESP3D][%s:%u] %s(): " format "\n", pathToFileName(__FILE__), __LINE__, __FUNCTION__, ##__VA_ARGS__)
222+
#else
223+
#define log_esp3d(format, ...)
224+
#endif
225+
213226
#ifdef DEBUG_ESP3D
214227
#ifdef DEBUG_OUTPUT_SPIFFS
215228
#ifndef FS_NO_GLOBALS
@@ -290,54 +303,54 @@ typedef enum {
290303

291304

292305
//flags
293-
#define AP_MODE 1
294-
#define CLIENT_MODE 2
295-
#define DHCP_MODE 1
296-
#define STATIC_IP_MODE 2
306+
#define AP_MODE 1
307+
#define CLIENT_MODE 2
308+
#define DHCP_MODE 1
309+
#define STATIC_IP_MODE 2
297310

298311
//position in EEPROM
299312
//AP mode = 1; Station client mode = 2
300-
#define EP_WIFI_MODE 0 //1 byte = flag
301-
#define EP_STA_SSID 1 //33 bytes 32+1 = string ; warning does not support multibyte char like chinese
302-
#define EP_STA_PASSWORD 34 //65 bytes 64 +1 = string ;warning does not support multibyte char like chinese
303-
#define EP_STA_IP_MODE 99 //1 byte = flag
304-
#define EP_STA_IP_VALUE 100 //4 bytes xxx.xxx.xxx.xxx
305-
#define EP_STA_MASK_VALUE 104 //4 bytes xxx.xxx.xxx.xxx
306-
#define EP_STA_GATEWAY_VALUE 108 //4 bytes xxx.xxx.xxx.xxx
307-
#define EP_BAUD_RATE 112 //4 bytes = int
308-
#define EP_STA_PHY_MODE 116 //1 byte = flag
309-
#define EP_SLEEP_MODE 117 //1 byte = flag
310-
#define EP_CHANNEL 118 //1 byte = flag
311-
#define EP_AUTH_TYPE 119 //1 byte = flag
312-
#define EP_SSID_VISIBLE 120 //1 byte = flag
313-
#define EP_WEB_PORT 121 //4 bytes = int
314-
#define EP_DATA_PORT 125 //4 bytes = int
315-
#define EP_OUTPUT_FLAG 129 //1 bytes = flag
316-
#define EP_HOSTNAME 130//33 bytes 32+1 = string ; warning does not support multibyte char like chinese
317-
#define EP_DHT_INTERVAL 164//4 bytes = int
313+
#define EP_WIFI_MODE 0 //1 byte = flag
314+
#define EP_STA_SSID 1 //33 bytes 32+1 = string ; warning does not support multibyte char like chinese
315+
#define EP_STA_PASSWORD 34 //65 bytes 64 +1 = string ;warning does not support multibyte char like chinese
316+
#define EP_STA_IP_MODE 99 //1 byte = flag
317+
#define EP_STA_IP_VALUE 100 //4 bytes xxx.xxx.xxx.xxx
318+
#define EP_STA_MASK_VALUE 104 //4 bytes xxx.xxx.xxx.xxx
319+
#define EP_STA_GATEWAY_VALUE 108 //4 bytes xxx.xxx.xxx.xxx
320+
#define EP_BAUD_RATE 112 //4 bytes = int
321+
#define EP_STA_PHY_MODE 116 //1 byte = flag
322+
#define EP_SLEEP_MODE 117 //1 byte = flag
323+
#define EP_CHANNEL 118 //1 byte = flag
324+
#define EP_AUTH_TYPE 119 //1 byte = flag
325+
#define EP_SSID_VISIBLE 120 //1 byte = flag
326+
#define EP_WEB_PORT 121 //4 bytes = int
327+
#define EP_DATA_PORT 125 //4 bytes = int
328+
#define EP_OUTPUT_FLAG 129 //1 bytes = flag
329+
#define EP_HOSTNAME 130//33 bytes 32+1 = string ; warning does not support multibyte char like chinese
330+
#define EP_DHT_INTERVAL 164//4 bytes = int
318331
#define ESP_NOTIFICATION_TYPE 168 //1 byte = flag
319332
#define ESP_AUTO_NOTIFICATION 170//1 bytes = flag
320-
#define EP_FREE_BYTE1 171//1 bytes = flag
321-
#define EP_FREE_INT3 172//4 bytes = int
322-
#define EP_ADMIN_PWD 176//21 bytes 20+1 = string ; warning does not support multibyte char like chinese
323-
#define EP_USER_PWD 197//21 bytes 20+1 = string ; warning does not support multibyte char like chinese
324-
#define EP_AP_SSID 218 //33 bytes 32+1 = string ; warning does not support multibyte char like chinese
325-
#define EP_AP_PASSWORD 251 //65 bytes 64 +1 = string ;warning does not support multibyte char like chinese
326-
#define EP_AP_IP_VALUE 316 //4 bytes xxx.xxx.xxx.xxx
327-
#define EP_AP_MASK_VALUE 320 //4 bytes xxx.xxx.xxx.xxx
328-
#define EP_AP_GATEWAY_VALUE 324 //4 bytes xxx.xxx.xxx.xxx
329-
#define EP_AP_IP_MODE 329 //1 byte = flag
330-
#define EP_AP_PHY_MODE 330 //1 byte = flag
331-
#define EP_SD_SPEED_DIV 331 //1 byte = flag
333+
#define EP_FREE_BYTE1 171//1 bytes = flag
334+
#define EP_FREE_INT3 172//4 bytes = int
335+
#define EP_ADMIN_PWD 176//21 bytes 20+1 = string ; warning does not support multibyte char like chinese
336+
#define EP_USER_PWD 197//21 bytes 20+1 = string ; warning does not support multibyte char like chinese
337+
#define EP_AP_SSID 218 //33 bytes 32+1 = string ; warning does not support multibyte char like chinese
338+
#define EP_AP_PASSWORD 251 //65 bytes 64 +1 = string ;warning does not support multibyte char like chinese
339+
#define EP_AP_IP_VALUE 316 //4 bytes xxx.xxx.xxx.xxx
340+
#define EP_AP_MASK_VALUE 320 //4 bytes xxx.xxx.xxx.xxx
341+
#define EP_AP_GATEWAY_VALUE 324 //4 bytes xxx.xxx.xxx.xxx
342+
#define EP_AP_IP_MODE 329 //1 byte = flag
343+
#define EP_AP_PHY_MODE 330 //1 byte = flag
344+
#define EP_SD_SPEED_DIV 331 //1 byte = flag
332345
#define ESP_NOTIFICATION_TOKEN1 332 //64 bytes 63+1 = string ; warning does not support multibyte char like chinese
333346
#define ESP_NOTIFICATION_TOKEN2 396 //64 bytes 63+1 = string ; warning does not support multibyte char like chinese
334-
#define EP_DHT_TYPE 460 //1 bytes = flag
335-
#define EP_TARGET_FW 461 //1 bytes = flag
347+
#define EP_DHT_TYPE 460 //1 bytes = flag
348+
#define EP_TARGET_FW 461 //1 bytes = flag
336349
#define EP_TIMEZONE 462//1 bytes = flag
337350
#define EP_TIME_ISDST 463//1 bytes = flag
338-
#define EP_TIME_SERVER1 464//129 bytes 128+1 = string ; warning does not support multibyte char like chinese
339-
#define EP_TIME_SERVER2 593 //129 bytes 128+1 = string ; warning does not support multibyte char like chinese
340-
#define EP_TIME_SERVER3 722 //129 bytes 128+1 = string ; warning does not support multibyte char like chinese
351+
#define EP_TIME_SERVER1 464//128 bytes 127+1 = string ; warning does not support multibyte char like chinese
352+
#define EP_TIME_SERVER2 593 //128 bytes 127+1 = string ; warning does not support multibyte char like chinese
353+
#define EP_TIME_SERVER3 722 //128 bytes 127+1 = string ; warning does not support multibyte char like chinese
341354
#define EP_IS_DIRECT_SD 850//1 bytes = flag
342355
#define EP_PRIMARY_SD 851//1 bytes = flag
343356
#define EP_SECONDARY_SD 852//1 bytes = flag
@@ -350,35 +363,35 @@ typedef enum {
350363
#define LAST_EEPROM_ADDRESS 983
351364

352365
//default values
353-
#define DEFAULT_WIFI_MODE AP_MODE
354-
const char DEFAULT_AP_SSID [] PROGMEM = "ESP3D";
355-
const char DEFAULT_AP_PASSWORD [] PROGMEM = "12345678";
356-
const char DEFAULT_STA_SSID [] PROGMEM = "ESP3D";
357-
const char DEFAULT_STA_PASSWORD [] PROGMEM = "12345678";
358-
const byte DEFAULT_STA_IP_MODE = DHCP_MODE;
359-
const byte DEFAULT_AP_IP_MODE = STATIC_IP_MODE;
360-
const byte DEFAULT_IP_VALUE[] = {192, 168, 0, 1};
361-
const byte DEFAULT_MASK_VALUE[] = {255, 255, 255, 0};
362-
#define DEFAULT_GATEWAY_VALUE DEFAULT_IP_VALUE
363-
const long DEFAULT_BAUD_RATE = 115200;
364-
#define DEFAULT_PHY_MODE WIFI_PHY_MODE_11G
365-
#define DEFAULT_SLEEP_MODE WIFI_MODEM_SLEEP
366-
#define DEFAULT_CHANNEL 11
367-
#define DEFAULT_AUTH_TYPE AUTH_WPA_PSK
368-
#define DEFAULT_SSID_VISIBLE 1
369-
#define DEFAULT_MAX_CONNECTIONS 4
370-
#define DEFAULT_BEACON_INTERVAL 100
371-
const int DEFAULT_WEB_PORT = 80;
372-
const int DEFAULT_DATA_PORT = 8888;
373-
const char DEFAULT_ADMIN_PWD [] PROGMEM = "admin";
374-
const char DEFAULT_USER_PWD [] PROGMEM = "user";
375-
const char DEFAULT_ADMIN_LOGIN [] PROGMEM = "admin";
376-
const char DEFAULT_USER_LOGIN [] PROGMEM = "user";
377-
const char DEFAULT_TIME_SERVER1 [] PROGMEM = "1.pool.ntp.org";
378-
const char DEFAULT_TIME_SERVER2 [] PROGMEM = "2.pool.ntp.org";
379-
const char DEFAULT_TIME_SERVER3 [] PROGMEM = "0.pool.ntp.org";
380-
#define DEFAULT_TIME_ZONE 0
381-
#define DEFAULT_TIME_DST 0
366+
#define DEFAULT_WIFI_MODE AP_MODE
367+
const char DEFAULT_AP_SSID [] PROGMEM = "ESP3D";
368+
const char DEFAULT_AP_PASSWORD [] PROGMEM = "12345678";
369+
const char DEFAULT_STA_SSID [] PROGMEM = "ESP3D";
370+
const char DEFAULT_STA_PASSWORD [] PROGMEM = "12345678";
371+
const byte DEFAULT_STA_IP_MODE = DHCP_MODE;
372+
const byte DEFAULT_AP_IP_MODE = STATIC_IP_MODE;
373+
const byte DEFAULT_IP_VALUE[] = {192, 168, 0, 1};
374+
const byte DEFAULT_MASK_VALUE[] = {255, 255, 255, 0};
375+
#define DEFAULT_GATEWAY_VALUE DEFAULT_IP_VALUE
376+
const long DEFAULT_BAUD_RATE = 115200;
377+
#define DEFAULT_PHY_MODE WIFI_PHY_MODE_11G
378+
#define DEFAULT_SLEEP_MODE WIFI_MODEM_SLEEP
379+
#define DEFAULT_CHANNEL 11
380+
#define DEFAULT_AUTH_TYPE AUTH_WPA_PSK
381+
#define DEFAULT_SSID_VISIBLE 1
382+
#define DEFAULT_MAX_CONNECTIONS 4
383+
#define DEFAULT_BEACON_INTERVAL 100
384+
const int DEFAULT_WEB_PORT = 80;
385+
const int DEFAULT_DATA_PORT = 8888;
386+
const char DEFAULT_ADMIN_PWD [] PROGMEM = "admin";
387+
const char DEFAULT_USER_PWD [] PROGMEM = "user";
388+
const char DEFAULT_ADMIN_LOGIN [] PROGMEM = "admin";
389+
const char DEFAULT_USER_LOGIN [] PROGMEM = "user";
390+
const char DEFAULT_TIME_SERVER1 [] PROGMEM = "1.pool.ntp.org";
391+
const char DEFAULT_TIME_SERVER2 [] PROGMEM = "2.pool.ntp.org";
392+
const char DEFAULT_TIME_SERVER3 [] PROGMEM = "0.pool.ntp.org";
393+
#define DEFAULT_TIME_ZONE 0
394+
#define DEFAULT_TIME_DST 0
382395
#define DEFAULT_PRIMARY_SD 2
383396
#define DEFAULT_SECONDARY_SD 1
384397
#define DEFAULT_DIRECT_SD_CHECK 0
@@ -401,9 +414,9 @@ const int DEFAULT_DHT_INTERVAL = 30;
401414
#define NOTIFICATION_ESP_ONLINE "Hi, %ESP_NAME% is now online at %ESP_IP%"
402415

403416
//Notifications
404-
#define ESP_PUSHOVER_NOTIFICATION 1
405-
#define ESP_EMAIL_NOTIFICATION 2
406-
#define ESP_LINE_NOTIFICATION 3
417+
#define ESP_PUSHOVER_NOTIFICATION 1
418+
#define ESP_EMAIL_NOTIFICATION 2
419+
#define ESP_LINE_NOTIFICATION 3
407420

408421
#ifdef SDCARD_FEATURE
409422
#define DEFAULT_IS_DIRECT_SD 1
@@ -473,29 +486,29 @@ const uint16_t Setting[][2] = {
473486
#define FLAG_BLOCK_TCP 0x010
474487

475488
//values
476-
#define DEFAULT_MAX_WEB_PORT 65001
477-
#define DEFAULT_MIN_WEB_PORT 1
478-
#define DEFAULT_MAX_DATA_PORT 65001
479-
#define DEFAULT_MIN_DATA_PORT 1
489+
#define DEFAULT_MAX_WEB_PORT 65001
490+
#define DEFAULT_MIN_WEB_PORT 1
491+
#define DEFAULT_MAX_DATA_PORT 65001
492+
#define DEFAULT_MIN_DATA_PORT 1
480493

481494
#define MAX_TRY 2000
482495

483496
//sizes
484-
#define EEPROM_SIZE 1024 //max is 1024
485-
#define MAX_SSID_LENGTH 32
486-
#define MIN_SSID_LENGTH 1
487-
#define MAX_PASSWORD_LENGTH 64
497+
#define EEPROM_SIZE 1024 //max is 1024
498+
#define MAX_SSID_LENGTH 32
499+
#define MIN_SSID_LENGTH 1
500+
#define MAX_PASSWORD_LENGTH 64
488501
//min size of password is 0 or upper than 8 char
489502
//so let set min is 0
490-
#define MIN_PASSWORD_LENGTH 0
491-
#define MAX_LOCAL_PASSWORD_LENGTH 16
492-
#define MIN_LOCAL_PASSWORD_LENGTH 1
493-
#define MAX_DATA_LENGTH 128
494-
#define MIN_DATA_LENGTH 0
495-
#define IP_LENGTH 4
496-
#define INTEGER_LENGTH 4
497-
#define MAX_HOSTNAME_LENGTH 32
498-
#define MIN_HOSTNAME_LENGTH 1
503+
#define MIN_PASSWORD_LENGTH 0
504+
#define MAX_LOCAL_PASSWORD_LENGTH 16
505+
#define MIN_LOCAL_PASSWORD_LENGTH 1
506+
#define MAX_DATA_LENGTH 127
507+
#define MIN_DATA_LENGTH 0
508+
#define IP_LENGTH 4
509+
#define INTEGER_LENGTH 4
510+
#define MAX_HOSTNAME_LENGTH 32
511+
#define MIN_HOSTNAME_LENGTH 1
499512
#define WL_MAC_ADDR_LENGTH 6
500513

501514
//EEPROM Version

esp3d/data/index.html.gz

31.3 KB
Binary file not shown.

0 commit comments

Comments
 (0)