diff --git a/examples/csvLogger/.vscode/arduino.json b/examples/csvLogger/.vscode/arduino.json new file mode 100644 index 0000000..c0f261b --- /dev/null +++ b/examples/csvLogger/.vscode/arduino.json @@ -0,0 +1,6 @@ +{ + "configuration": "JTAGAdapter=default,PSRAM=disabled,FlashMode=qio,FlashSize=4M,LoopCore=1,EventsCore=1,USBMode=hwcdc,CDCOnBoot=default,MSCOnBoot=default,DFUOnBoot=default,UploadMode=default,PartitionScheme=default,CPUFreq=240,UploadSpeed=921600,DebugLevel=none,EraseFlash=none", + "board": "esp32:esp32:esp32s3", + "port": "COM3", + "sketch": "csvLogger.ino" +} \ No newline at end of file diff --git a/examples/csvLogger/.vscode/c_cpp_properties.json b/examples/csvLogger/.vscode/c_cpp_properties.json new file mode 100644 index 0000000..ff5990a --- /dev/null +++ b/examples/csvLogger/.vscode/c_cpp_properties.json @@ -0,0 +1,404 @@ +{ + "version": 4, + "configurations": [ + { + "name": "Arduino", + "compilerPath": "C:\\Users\\cotes\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\xtensa-esp32s3-elf-gcc\\esp-12.2.0_20230208\\bin\\xtensa-esp32s3-elf-g++", + "compilerArgs": [ + "-MMD", + "-w", + "-iprefix" + ], + "intelliSenseMode": "gcc-x64", + "includePath": [ + "C:\\Dropbox\\ArduinoLibs\\esp-fs-webserver\\examples\\csvLogger", + "C:\\Users\\cotes\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\esp32-arduino-libs\\idf-release_v5.1-442a798083\\esp32s3\\qio_qspi\\include", + "C:\\Users\\cotes\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.0\\cores\\esp32", + "C:\\Users\\cotes\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.0\\variants\\esp32s3", + "C:\\Users\\cotes\\OneDrive\\Documenti\\Arduino\\libraries\\esp-fs-webserver\\src", + "C:\\Users\\cotes\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.0\\libraries\\FS\\src", + "C:\\Users\\cotes\\OneDrive\\Documenti\\Arduino\\libraries\\ArduinoJson\\src", + "C:\\Users\\cotes\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.0\\libraries\\WiFi\\src", + "C:\\Users\\cotes\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.0\\libraries\\Network\\src", + "C:\\Users\\cotes\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.0\\libraries\\ESPmDNS\\src", + "C:\\Users\\cotes\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.0\\libraries\\HTTPUpdateServer\\src", + "C:\\Users\\cotes\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.0\\libraries\\SPIFFS\\src", + "C:\\Users\\cotes\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.0\\libraries\\Update\\src", + "C:\\Users\\cotes\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.0\\libraries\\WebServer\\src", + "C:\\Users\\cotes\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.0\\libraries\\DNSServer\\src", + "C:\\Users\\cotes\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.0\\libraries\\AsyncUDP\\src", + "C:\\Users\\cotes\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.0\\libraries\\NetworkClientSecure\\src", + "C:\\Users\\cotes\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.0\\libraries\\LittleFS\\src", + "c:\\users\\cotes\\appdata\\local\\arduino15\\packages\\esp32\\tools\\xtensa-esp32s3-elf-gcc\\esp-12.2.0_20230208\\xtensa-esp32s3-elf\\include\\c++\\12.2.0", + "c:\\users\\cotes\\appdata\\local\\arduino15\\packages\\esp32\\tools\\xtensa-esp32s3-elf-gcc\\esp-12.2.0_20230208\\xtensa-esp32s3-elf\\include\\c++\\12.2.0\\xtensa-esp32s3-elf", + "c:\\users\\cotes\\appdata\\local\\arduino15\\packages\\esp32\\tools\\xtensa-esp32s3-elf-gcc\\esp-12.2.0_20230208\\xtensa-esp32s3-elf\\include\\c++\\12.2.0\\backward", + "c:\\users\\cotes\\appdata\\local\\arduino15\\packages\\esp32\\tools\\xtensa-esp32s3-elf-gcc\\esp-12.2.0_20230208\\lib\\gcc\\xtensa-esp32s3-elf\\12.2.0\\include", + "c:\\users\\cotes\\appdata\\local\\arduino15\\packages\\esp32\\tools\\xtensa-esp32s3-elf-gcc\\esp-12.2.0_20230208\\lib\\gcc\\xtensa-esp32s3-elf\\12.2.0\\include-fixed", + "c:\\users\\cotes\\appdata\\local\\arduino15\\packages\\esp32\\tools\\xtensa-esp32s3-elf-gcc\\esp-12.2.0_20230208\\xtensa-esp32s3-elf\\sys-include", + "c:\\users\\cotes\\appdata\\local\\arduino15\\packages\\esp32\\tools\\xtensa-esp32s3-elf-gcc\\esp-12.2.0_20230208\\xtensa-esp32s3-elf\\include" + ], + "forcedInclude": [ + "C:\\Users\\cotes\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.0\\cores\\esp32\\Arduino.h" + ], + "cStandard": "c11", + "cppStandard": "c++11", + "defines": [ + "F_CPU=240000000L", + "ARDUINO=10607", + "ARDUINO_ESP32S3_DEV", + "ARDUINO_ARCH_ESP32", + "ARDUINO_BOARD=\"ESP32S3_DEV\"", + "ARDUINO_VARIANT=\"esp32s3\"", + "ARDUINO_PARTITION_default", + "ARDUINO_HOST_OS=\"windows\"", + "ARDUINO_FQBN=\"esp32:esp32:esp32s3:JTAGAdapter=default,PSRAM=disabled,FlashMode=qio,FlashSize=4M,LoopCore=1,EventsCore=1,USBMode=hwcdc,CDCOnBoot=default,MSCOnBoot=default,DFUOnBoot=default,UploadMode=default,PartitionScheme=default,CPUFreq=240,UploadSpeed=921600,DebugLevel=none,EraseFlash=none,ZigbeeMode=default\"", + "ESP32", + "CORE_DEBUG_LEVEL=0", + "ARDUINO_RUNNING_CORE=1", + "ARDUINO_EVENT_RUNNING_CORE=1", + "ARDUINO_USB_MODE=1", + "ARDUINO_USB_CDC_ON_BOOT=0", + "ARDUINO_USB_MSC_ON_BOOT=0", + "ARDUINO_USB_DFU_ON_BOOT=0", + "__DBL_MIN_EXP__=(-1021)", + "__cpp_attributes=200809L", + "__cpp_nontype_template_parameter_auto=201606L", + "__UINT_LEAST16_MAX__=0xffff", + "__ATOMIC_ACQUIRE=2", + "__FLT_MIN__=1.1754943508222875e-38F", + "__GCC_IEC_559_COMPLEX=0", + "__cpp_aggregate_nsdmi=201304L", + "__UINT_LEAST8_TYPE__=unsigned char", + "__INTMAX_C(c)=c ## LL", + "__CHAR_BIT__=8", + "__UINT8_MAX__=0xff", + "__WINT_MAX__=0xffffffffU", + "__FLT32_MIN_EXP__=(-125)", + "__cpp_static_assert=201411L", + "__ORDER_LITTLE_ENDIAN__=1234", + "__SIZE_MAX__=0xffffffffU", + "__WCHAR_MAX__=0xffff", + "__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1=1", + "__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2=1", + "__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4=1", + "__DBL_DENORM_MIN__=double(4.9406564584124654e-324L)", + "__GCC_ATOMIC_CHAR_LOCK_FREE=2", + "__GCC_IEC_559=0", + "__FLT32X_DECIMAL_DIG__=17", + "__FLT_EVAL_METHOD__=0", + "__cpp_binary_literals=201304L", + "__FLT64_DECIMAL_DIG__=17", + "__cpp_noexcept_function_type=201510L", + "__GCC_ATOMIC_CHAR32_T_LOCK_FREE=2", + "__cpp_variadic_templates=200704L", + "__UINT_FAST64_MAX__=0xffffffffffffffffULL", + "__SIG_ATOMIC_TYPE__=int", + "__DBL_MIN_10_EXP__=(-307)", + "__FINITE_MATH_ONLY__=0", + "__cpp_variable_templates=201304L", + "__FLT32X_MAX_EXP__=1024", + "__GNUC_PATCHLEVEL__=0", + "__FLT32_HAS_DENORM__=1", + "__UINT_FAST8_MAX__=0xffffffffU", + "__cpp_rvalue_reference=200610L", + "__cpp_nested_namespace_definitions=201411L", + "__INT8_C(c)=c", + "__INT_LEAST8_WIDTH__=8", + "__cpp_variadic_using=201611L", + "__UINT_LEAST64_MAX__=0xffffffffffffffffULL", + "__INT_LEAST8_MAX__=0x7f", + "__cpp_capture_star_this=201603L", + "__SHRT_MAX__=0x7fff", + "__LDBL_MAX__=1.7976931348623157e+308L", + "__cpp_if_constexpr=201606L", + "__LDBL_IS_IEC_60559__=2", + "__UINT_LEAST8_MAX__=0xff", + "__GCC_ATOMIC_BOOL_LOCK_FREE=2", + "__UINTMAX_TYPE__=long long unsigned int", + "__FLT_EVAL_METHOD_TS_18661_3__=0", + "__CHAR_UNSIGNED__=1", + "__UINT32_MAX__=0xffffffffUL", + "__GXX_EXPERIMENTAL_CXX0X__=1", + "__LDBL_MAX_EXP__=1024", + "__WINT_MIN__=0U", + "__FLT32X_IS_IEC_60559__=2", + "__INT_LEAST16_WIDTH__=16", + "__SCHAR_MAX__=0x7f", + "__WCHAR_MIN__=0", + "__INT64_C(c)=c ## LL", + "__GCC_ATOMIC_POINTER_LOCK_FREE=2", + "__SIZEOF_INT__=4", + "__FLT32X_MANT_DIG__=53", + "__GCC_ATOMIC_CHAR16_T_LOCK_FREE=2", + "__cpp_aligned_new=201606L", + "__FLT32_MAX_10_EXP__=38", + "__STDC_HOSTED__=1", + "__XTENSA_EL__=1", + "__cpp_decltype_auto=201304L", + "__DBL_DIG__=15", + "__FLT32_DIG__=6", + "__FLT_EPSILON__=1.1920928955078125e-7F", + "__GXX_WEAK__=1", + "__SHRT_WIDTH__=16", + "__FLT32_IS_IEC_60559__=2", + "__LDBL_MIN__=2.2250738585072014e-308L", + "__DBL_IS_IEC_60559__=2", + "__cpp_threadsafe_static_init=200806L", + "__cpp_enumerator_attributes=201411L", + "__FLT32X_HAS_INFINITY__=1", + "__INT32_MAX__=0x7fffffffL", + "__INT_WIDTH__=32", + "__SIZEOF_LONG__=4", + "__UINT16_C(c)=c", + "__DECIMAL_DIG__=17", + "__FLT64_EPSILON__=2.2204460492503131e-16F64", + "__INT16_MAX__=0x7fff", + "__FLT64_MIN_EXP__=(-1021)", + "__LDBL_HAS_QUIET_NAN__=1", + "__FLT64_MANT_DIG__=53", + "__GNUC__=12", + "__GXX_RTTI=1", + "__FLT_HAS_DENORM__=1", + "__SIZEOF_LONG_DOUBLE__=8", + "__BIGGEST_ALIGNMENT__=16", + "__STDC_UTF_16__=1", + "__FLT64_MAX_10_EXP__=308", + "__cpp_delegating_constructors=200604L", + "__FLT32_HAS_INFINITY__=1", + "__DBL_MAX__=double(1.7976931348623157e+308L)", + "__cpp_raw_strings=200710L", + "__INT_FAST32_MAX__=0x7fffffff", + "__DBL_HAS_INFINITY__=1", + "__cpp_deduction_guides=201703L", + "__HAVE_SPECULATION_SAFE_VALUE=1", + "__cpp_fold_expressions=201603L", + "__INTPTR_WIDTH__=32", + "__UINT_LEAST32_MAX__=0xffffffffUL", + "__FLT32X_HAS_DENORM__=1", + "__INT_FAST16_TYPE__=int", + "__LDBL_HAS_DENORM__=1", + "__cplusplus=201703L", + "__cpp_ref_qualifiers=200710L", + "__INT_LEAST32_MAX__=0x7fffffffL", + "__DEPRECATED=1", + "__cpp_rvalue_references=200610L", + "__DBL_MAX_EXP__=1024", + "__WCHAR_WIDTH__=16", + "__FLT32_MAX__=3.4028234663852886e+38F32", + "__GCC_ATOMIC_LONG_LOCK_FREE=2", + "__PTRDIFF_MAX__=0x7fffffff", + "__FLT32_HAS_QUIET_NAN__=1", + "__GNUG__=12", + "__LONG_LONG_MAX__=0x7fffffffffffffffLL", + "__SIZEOF_SIZE_T__=4", + "__cpp_nsdmi=200809L", + "__SIZEOF_WINT_T__=4", + "__LONG_LONG_WIDTH__=64", + "__cpp_initializer_lists=200806L", + "__FLT32_MAX_EXP__=128", + "__cpp_hex_float=201603L", + "__GXX_ABI_VERSION=1017", + "__FLT_MIN_EXP__=(-125)", + "__cpp_lambdas=200907L", + "__INT_FAST64_TYPE__=long long int", + "__FP_FAST_FMAF=1", + "__FLT64_DENORM_MIN__=4.9406564584124654e-324F64", + "__DBL_MIN__=double(2.2250738585072014e-308L)", + "__SIZEOF_POINTER__=4", + "__DBL_HAS_QUIET_NAN__=1", + "__FLT32X_EPSILON__=2.2204460492503131e-16F32x", + "__FLT64_MIN_10_EXP__=(-307)", + "__REGISTER_PREFIX__", + "__UINT16_MAX__=0xffff", + "__FLT32_MIN__=1.1754943508222875e-38F32", + "__UINT8_TYPE__=unsigned char", + "__FLT_DIG__=6", + "__NO_INLINE__=1", + "__DEC_EVAL_METHOD__=2", + "__FLT_MANT_DIG__=24", + "__LDBL_DECIMAL_DIG__=17", + "__VERSION__=\"12.2.0\"", + "__UINT64_C(c)=c ## ULL", + "__cpp_unicode_characters=201411L", + "__GCC_ATOMIC_INT_LOCK_FREE=2", + "__FLT32_MANT_DIG__=24", + "__FLOAT_WORD_ORDER__=__ORDER_LITTLE_ENDIAN__", + "__cpp_aggregate_bases=201603L", + "__SCHAR_WIDTH__=8", + "__INT32_C(c)=c ## L", + "__ORDER_PDP_ENDIAN__=3412", + "__INT_FAST32_TYPE__=int", + "__UINT_LEAST16_TYPE__=short unsigned int", + "__DBL_HAS_DENORM__=1", + "__cpp_rtti=199711L", + "__SIZE_TYPE__=unsigned int", + "__UINT64_MAX__=0xffffffffffffffffULL", + "__FLT_IS_IEC_60559__=2", + "__GNUC_WIDE_EXECUTION_CHARSET_NAME=\"UTF-16LE\"", + "__INT8_TYPE__=signed char", + "__cpp_digit_separators=201309L", + "__ELF__=1", + "__xtensa__=1", + "__FLT_RADIX__=2", + "__INT_LEAST16_TYPE__=short int", + "__LDBL_EPSILON__=2.2204460492503131e-16L", + "__UINTMAX_C(c)=c ## ULL", + "__FLT32X_MIN__=2.2250738585072014e-308F32x", + "__SIG_ATOMIC_MAX__=0x7fffffff", + "__GCC_ATOMIC_WCHAR_T_LOCK_FREE=2", + "__USER_LABEL_PREFIX__", + "__SIZEOF_PTRDIFF_T__=4", + "__LDBL_DIG__=15", + "__FLT64_IS_IEC_60559__=2", + "__FLT32X_MIN_EXP__=(-1021)", + "__INT_FAST16_MAX__=0x7fffffff", + "__GCC_CONSTRUCTIVE_SIZE=32", + "__FLT64_DIG__=15", + "__UINT_FAST32_MAX__=0xffffffffU", + "__UINT_LEAST64_TYPE__=long long unsigned int", + "__FLT_HAS_QUIET_NAN__=1", + "__FLT_MAX_10_EXP__=38", + "__LONG_MAX__=0x7fffffffL", + "__FLT_HAS_INFINITY__=1", + "__GNUC_EXECUTION_CHARSET_NAME=\"UTF-8\"", + "__cpp_unicode_literals=200710L", + "__UINT_FAST16_TYPE__=unsigned int", + "__INT_FAST32_WIDTH__=32", + "__CHAR16_TYPE__=short unsigned int", + "__PRAGMA_REDEFINE_EXTNAME=1", + "__SIZE_WIDTH__=32", + "__INT_LEAST16_MAX__=0x7fff", + "__INT64_MAX__=0x7fffffffffffffffLL", + "__FLT32_DENORM_MIN__=1.4012984643248171e-45F32", + "__SIG_ATOMIC_WIDTH__=32", + "__INT_LEAST64_TYPE__=long long int", + "__INT16_TYPE__=short int", + "__INT_LEAST8_TYPE__=signed char", + "__cpp_structured_bindings=201606L", + "__INT_FAST8_MAX__=0x7fffffff", + "__INTPTR_MAX__=0x7fffffff", + "__cpp_sized_deallocation=201309L", + "__cpp_guaranteed_copy_elision=201606L", + "__FLT64_HAS_QUIET_NAN__=1", + "__FLT32_MIN_10_EXP__=(-37)", + "__EXCEPTIONS=1", + "__PTRDIFF_WIDTH__=32", + "__LDBL_MANT_DIG__=53", + "__cpp_range_based_for=201603L", + "__FLT64_HAS_INFINITY__=1", + "__STDCPP_DEFAULT_NEW_ALIGNMENT__=8", + "__SIG_ATOMIC_MIN__=(-__SIG_ATOMIC_MAX__ - 1)", + "__cpp_nontype_template_args=201411L", + "__cpp_return_type_deduction=201304L", + "__INTPTR_TYPE__=int", + "__UINT16_TYPE__=short unsigned int", + "__WCHAR_TYPE__=short unsigned int", + "__SIZEOF_FLOAT__=4", + "__UINTPTR_MAX__=0xffffffffU", + "__INT_FAST64_WIDTH__=64", + "__cpp_decltype=200707L", + "__FLT32_DECIMAL_DIG__=9", + "__INT_FAST64_MAX__=0x7fffffffffffffffLL", + "__GCC_ATOMIC_TEST_AND_SET_TRUEVAL=1", + "__FLT_NORM_MAX__=3.4028234663852886e+38F", + "__UINT_FAST64_TYPE__=long long unsigned int", + "__cpp_inline_variables=201606L", + "__INT_MAX__=0x7fffffff", + "__STDCPP_THREADS__=1", + "__INT64_TYPE__=long long int", + "__FLT_MAX_EXP__=128", + "__DBL_MANT_DIG__=53", + "__cpp_inheriting_constructors=201511L", + "__INT_LEAST64_MAX__=0x7fffffffffffffffLL", + "__FP_FAST_FMAF32=1", + "__WINT_TYPE__=unsigned int", + "__UINT_LEAST32_TYPE__=long unsigned int", + "__SIZEOF_SHORT__=2", + "__FLT32_NORM_MAX__=3.4028234663852886e+38F32", + "__LDBL_MIN_EXP__=(-1021)", + "__FLT64_MAX__=1.7976931348623157e+308F64", + "__WINT_WIDTH__=32", + "__cpp_template_auto=201606L", + "__INT_LEAST64_WIDTH__=64", + "__FLT32X_MAX_10_EXP__=308", + "__WCHAR_UNSIGNED__=1", + "__LDBL_MAX_10_EXP__=308", + "__ATOMIC_RELAXED=0", + "__DBL_EPSILON__=double(2.2204460492503131e-16L)", + "__XTENSA_WINDOWED_ABI__=1", + "__UINT8_C(c)=c", + "__FLT64_MAX_EXP__=1024", + "__INT_LEAST32_TYPE__=long int", + "__SIZEOF_WCHAR_T__=2", + "__FLT64_NORM_MAX__=1.7976931348623157e+308F64", + "__INTMAX_MAX__=0x7fffffffffffffffLL", + "__INT_FAST8_TYPE__=int", + "__cpp_namespace_attributes=201411L", + "__LDBL_HAS_INFINITY__=1", + "__GNUC_STDC_INLINE__=1", + "__FLT64_HAS_DENORM__=1", + "__FLT32_EPSILON__=1.1920928955078125e-7F32", + "__DBL_DECIMAL_DIG__=17", + "__STDC_UTF_32__=1", + "__INT_FAST8_WIDTH__=32", + "__FLT32X_MAX__=1.7976931348623157e+308F32x", + "__DBL_NORM_MAX__=double(1.7976931348623157e+308L)", + "__BYTE_ORDER__=__ORDER_LITTLE_ENDIAN__", + "__GCC_DESTRUCTIVE_SIZE=32", + "__XTENSA__=1", + "__INTMAX_WIDTH__=64", + "__ORDER_BIG_ENDIAN__=4321", + "__cpp_runtime_arrays=198712L", + "__UINT64_TYPE__=long long unsigned int", + "__UINT32_C(c)=c ## UL", + "__cpp_alias_templates=200704L", + "__FLT_DENORM_MIN__=1.4012984643248171e-45F", + "__INT8_MAX__=0x7f", + "__LONG_WIDTH__=32", + "__UINT_FAST32_TYPE__=unsigned int", + "__FLT32X_NORM_MAX__=1.7976931348623157e+308F32x", + "__CHAR32_TYPE__=long unsigned int", + "__FLT_MAX__=3.4028234663852886e+38F", + "__cpp_constexpr=201603L", + "__INT32_TYPE__=long int", + "__SIZEOF_DOUBLE__=8", + "__cpp_exceptions=199711L", + "__FLT_MIN_10_EXP__=(-37)", + "__FLT64_MIN__=2.2250738585072014e-308F64", + "__INT_LEAST32_WIDTH__=32", + "__INTMAX_TYPE__=long long int", + "__FLT32X_HAS_QUIET_NAN__=1", + "__ATOMIC_CONSUME=1", + "__GNUC_MINOR__=2", + "__INT_FAST16_WIDTH__=32", + "__UINTMAX_MAX__=0xffffffffffffffffULL", + "__FLT32X_DENORM_MIN__=4.9406564584124654e-324F32x", + "__cpp_template_template_args=201611L", + "__DBL_MAX_10_EXP__=308", + "__LDBL_DENORM_MIN__=4.9406564584124654e-324L", + "__INT16_C(c)=c", + "__STDC__=1", + "__FLT32X_DIG__=15", + "__PTRDIFF_TYPE__=int", + "__ATOMIC_SEQ_CST=5", + "__UINT32_TYPE__=long unsigned int", + "__FLT32X_MIN_10_EXP__=(-307)", + "__UINTPTR_TYPE__=unsigned int", + "__LDBL_MIN_10_EXP__=(-307)", + "__cpp_generic_lambdas=201304L", + "__SIZEOF_LONG_LONG__=8", + "__cpp_user_defined_literals=200809L", + "__GCC_ATOMIC_LLONG_LOCK_FREE=1", + "__FLT_DECIMAL_DIG__=9", + "__UINT_FAST16_MAX__=0xffffffffU", + "__LDBL_NORM_MAX__=1.7976931348623157e+308L", + "__GCC_ATOMIC_SHORT_LOCK_FREE=2", + "__UINT_FAST8_TYPE__=unsigned int", + "__cpp_init_captures=201304L", + "__ATOMIC_ACQ_REL=4", + "__ATOMIC_RELEASE=3", + "USBCON" + ] + } + ] +} \ No newline at end of file diff --git a/examples/csvLogger/csvLogger.ino b/examples/csvLogger/csvLogger.ino index eaafcee..ce5b9b6 100644 --- a/examples/csvLogger/csvLogger.ino +++ b/examples/csvLogger/csvLogger.ino @@ -70,7 +70,7 @@ void getUpdatedtime(const uint32_t timeout) { //////////////////////////// Append a row to csv file /////////////////////////////////// -bool appenRow() { +bool appendRow() { getUpdatedtime(10); char filename[32]; @@ -181,6 +181,6 @@ void loop() { static uint32_t updateTime; if (millis() - updateTime > 30000) { updateTime = millis(); - appenRow(); + appendRow(); } } diff --git a/examples/simpleServer/.vscode/arduino.json b/examples/simpleServer/.vscode/arduino.json new file mode 100644 index 0000000..7a31714 --- /dev/null +++ b/examples/simpleServer/.vscode/arduino.json @@ -0,0 +1,5 @@ +{ + "configuration": "USBMode=hwcdc,JTAGAdapter=default,CDCOnBoot=default,PartitionScheme=default,CPUFreq=160,FlashMode=qio,FlashFreq=80,UploadSpeed=921600,DebugLevel=none,EraseFlash=none", + "board": "esp32:esp32:nologo_esp32c3_super_mini", + "sketch": "simpleServer.ino" +} \ No newline at end of file diff --git a/examples/simpleServer/.vscode/c_cpp_properties.json b/examples/simpleServer/.vscode/c_cpp_properties.json new file mode 100644 index 0000000..5e39f70 --- /dev/null +++ b/examples/simpleServer/.vscode/c_cpp_properties.json @@ -0,0 +1,451 @@ +{ + "version": 4, + "configurations": [ + { + "name": "Arduino", + "compilerPath": "C:\\Users\\Tolentino\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\esp-rv32\\2302\\bin\\riscv32-esp-elf-g++", + "compilerArgs": [ + "-MMD", + "-Wall", + "-Wextra", + "-Werror=return-type", + "-iprefix" + ], + "intelliSenseMode": "gcc-x64", + "includePath": [ + "d:\\Dropbox\\ArduinoLibs\\esp-fs-webserver\\examples\\simpleServer", + "C:\\Users\\Tolentino\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\esp32-arduino-libs\\idf-release_v5.1-632e0c2a\\esp32c3\\qio_qspi\\include", + "C:\\Users\\Tolentino\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.7\\cores\\esp32", + "C:\\Users\\Tolentino\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.7\\variants\\nologo_esp32c3_super_mini", + "C:\\Users\\Tolentino\\Documents\\Arduino\\libraries\\esp-fs-webserver\\src", + "C:\\Users\\Tolentino\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.7\\libraries\\FS\\src", + "C:\\Users\\Tolentino\\Documents\\Arduino\\libraries\\ArduinoJson\\src", + "C:\\Users\\Tolentino\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.7\\libraries\\WiFi\\src", + "C:\\Users\\Tolentino\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.7\\libraries\\Network\\src", + "C:\\Users\\Tolentino\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.7\\libraries\\ESPmDNS\\src", + "C:\\Users\\Tolentino\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.7\\libraries\\HTTPUpdateServer\\src", + "C:\\Users\\Tolentino\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.7\\libraries\\SPIFFS\\src", + "C:\\Users\\Tolentino\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.7\\libraries\\Update\\src", + "C:\\Users\\Tolentino\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.7\\libraries\\WebServer\\src", + "C:\\Users\\Tolentino\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.7\\libraries\\DNSServer\\src", + "C:\\Users\\Tolentino\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.7\\libraries\\AsyncUDP\\src", + "C:\\Users\\Tolentino\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.7\\libraries\\NetworkClientSecure\\src", + "C:\\Users\\Tolentino\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.7\\libraries\\LittleFS\\src", + "c:\\users\\tolentino\\appdata\\local\\arduino15\\packages\\esp32\\tools\\esp-rv32\\2302\\riscv32-esp-elf\\include\\c++\\12.2.0", + "c:\\users\\tolentino\\appdata\\local\\arduino15\\packages\\esp32\\tools\\esp-rv32\\2302\\riscv32-esp-elf\\include\\c++\\12.2.0\\riscv32-esp-elf", + "c:\\users\\tolentino\\appdata\\local\\arduino15\\packages\\esp32\\tools\\esp-rv32\\2302\\riscv32-esp-elf\\include\\c++\\12.2.0\\backward", + "c:\\users\\tolentino\\appdata\\local\\arduino15\\packages\\esp32\\tools\\esp-rv32\\2302\\lib\\gcc\\riscv32-esp-elf\\12.2.0\\include", + "c:\\users\\tolentino\\appdata\\local\\arduino15\\packages\\esp32\\tools\\esp-rv32\\2302\\lib\\gcc\\riscv32-esp-elf\\12.2.0\\include-fixed", + "c:\\users\\tolentino\\appdata\\local\\arduino15\\packages\\esp32\\tools\\esp-rv32\\2302\\riscv32-esp-elf\\sys-include", + "c:\\users\\tolentino\\appdata\\local\\arduino15\\packages\\esp32\\tools\\esp-rv32\\2302\\riscv32-esp-elf\\include" + ], + "forcedInclude": [ + "C:\\Users\\Tolentino\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.7\\cores\\esp32\\Arduino.h" + ], + "cStandard": "c11", + "cppStandard": "c++11", + "defines": [ + "F_CPU=160000000L", + "ARDUINO=10819", + "ARDUINO_NOLOGO_ESP32C3_SUPER_MINI", + "ARDUINO_ARCH_ESP32", + "ARDUINO_BOARD=\"NOLOGO_ESP32C3_SUPER_MINI\"", + "ARDUINO_VARIANT=\"nologo_esp32c3_super_mini\"", + "ARDUINO_PARTITION_default", + "ARDUINO_HOST_OS=\"windows\"", + "ARDUINO_FQBN=\"esp32:esp32:nologo_esp32c3_super_mini:USBMode=hwcdc,JTAGAdapter=default,CDCOnBoot=default,PartitionScheme=default,CPUFreq=160,FlashMode=qio,FlashFreq=80,UploadSpeed=921600,DebugLevel=none,EraseFlash=none\"", + "ESP32=ESP32", + "CORE_DEBUG_LEVEL=0", + "ARDUINO_USB_MODE=1", + "ARDUINO_USB_CDC_ON_BOOT=1", + "__riscv=1", + "__DBL_MIN_EXP__=(-1021)", + "__cpp_attributes=200809L", + "__cpp_nontype_template_parameter_auto=201606L", + "__riscv_atomic=1", + "__UINT_LEAST16_MAX__=0xffff", + "__ATOMIC_ACQUIRE=2", + "__FLT128_MAX_10_EXP__=4932", + "__FLT_MIN__=1.17549435082228750796873653722224568e-38F", + "__GCC_IEC_559_COMPLEX=2", + "__cpp_aggregate_nsdmi=201304L", + "__UINT_LEAST8_TYPE__=unsigned char", + "__INTMAX_C(c)=c ## LL", + "__CHAR_BIT__=8", + "__UINT8_MAX__=0xff", + "__WINT_MAX__=0xffffffffU", + "__FLT32_MIN_EXP__=(-125)", + "__cpp_static_assert=201411L", + "__ORDER_LITTLE_ENDIAN__=1234", + "__SIZE_MAX__=0xffffffffU", + "__WCHAR_MAX__=0x7fffffff", + "__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4=1", + "__DBL_DENORM_MIN__=double(4.94065645841246544176568792868221372e-324L)", + "__GCC_ATOMIC_CHAR_LOCK_FREE=1", + "__riscv_float_abi_soft=1", + "__GCC_IEC_559=2", + "__FLT32X_DECIMAL_DIG__=17", + "__FLT_EVAL_METHOD__=0", + "__cpp_binary_literals=201304L", + "__FLT64_DECIMAL_DIG__=17", + "__cpp_noexcept_function_type=201510L", + "__GCC_ATOMIC_CHAR32_T_LOCK_FREE=2", + "__cpp_variadic_templates=200704L", + "__UINT_FAST64_MAX__=0xffffffffffffffffULL", + "__SIG_ATOMIC_TYPE__=int", + "__DBL_MIN_10_EXP__=(-307)", + "__FINITE_MATH_ONLY__=0", + "__cpp_variable_templates=201304L", + "__FLT32X_MAX_EXP__=1024", + "__GNUC_PATCHLEVEL__=0", + "__FLT32_HAS_DENORM__=1", + "__UINT_FAST8_MAX__=0xffffffffU", + "__cpp_rvalue_reference=200610L", + "__cpp_nested_namespace_definitions=201411L", + "__INT8_C(c)=c", + "__INT_LEAST8_WIDTH__=8", + "__cpp_variadic_using=201611L", + "__UINT_LEAST64_MAX__=0xffffffffffffffffULL", + "__INT_LEAST8_MAX__=0x7f", + "__cpp_capture_star_this=201603L", + "__SHRT_MAX__=0x7fff", + "__LDBL_MAX__=1.18973149535723176508575932662800702e+4932L", + "__FLT64X_MAX_10_EXP__=4932", + "__cpp_if_constexpr=201606L", + "__riscv_cmodel_medlow=1", + "__LDBL_IS_IEC_60559__=2", + "__FLT64X_HAS_QUIET_NAN__=1", + "__UINT_LEAST8_MAX__=0xff", + "__GCC_ATOMIC_BOOL_LOCK_FREE=1", + "__FLT128_DENORM_MIN__=6.47517511943802511092443895822764655e-4966F128", + "__UINTMAX_TYPE__=long long unsigned int", + "__FLT_EVAL_METHOD_TS_18661_3__=0", + "__CHAR_UNSIGNED__=1", + "__UINT32_MAX__=0xffffffffUL", + "__GXX_EXPERIMENTAL_CXX0X__=1", + "__riscv_fdiv=1", + "__LDBL_MAX_EXP__=16384", + "__FLT128_MIN_EXP__=(-16381)", + "__WINT_MIN__=0U", + "__FLT128_MIN_10_EXP__=(-4931)", + "__FLT32X_IS_IEC_60559__=2", + "__INT_LEAST16_WIDTH__=16", + "__SCHAR_MAX__=0x7f", + "__FLT128_MANT_DIG__=113", + "__WCHAR_MIN__=(-__WCHAR_MAX__ - 1)", + "__INT64_C(c)=c ## LL", + "__GCC_ATOMIC_POINTER_LOCK_FREE=2", + "__SIZEOF_INT__=4", + "__FLT32X_MANT_DIG__=53", + "__GCC_ATOMIC_CHAR16_T_LOCK_FREE=1", + "__cpp_aligned_new=201606L", + "__FLT32_MAX_10_EXP__=38", + "__FLT64X_EPSILON__=1.92592994438723585305597794258492732e-34F64x", + "__STDC_HOSTED__=1", + "__cpp_decltype_auto=201304L", + "__DBL_DIG__=15", + "__FLT32_DIG__=6", + "__FLT_EPSILON__=1.19209289550781250000000000000000000e-7F", + "__GXX_WEAK__=1", + "__SHRT_WIDTH__=16", + "__FLT32_IS_IEC_60559__=2", + "__LDBL_MIN__=3.36210314311209350626267781732175260e-4932L", + "__DBL_IS_IEC_60559__=2", + "__cpp_threadsafe_static_init=200806L", + "__cpp_enumerator_attributes=201411L", + "__FLT64X_DENORM_MIN__=6.47517511943802511092443895822764655e-4966F64x", + "__FP_FAST_FMA=1", + "__FLT32X_HAS_INFINITY__=1", + "__INT32_MAX__=0x7fffffffL", + "__INT_WIDTH__=32", + "__SIZEOF_LONG__=4", + "__UINT16_C(c)=c", + "__DECIMAL_DIG__=36", + "__FLT64_EPSILON__=2.22044604925031308084726333618164062e-16F64", + "__INT16_MAX__=0x7fff", + "__FLT64_MIN_EXP__=(-1021)", + "__FLT64X_MIN_10_EXP__=(-4931)", + "__LDBL_HAS_QUIET_NAN__=1", + "__FLT64_MANT_DIG__=53", + "__FLT64X_MANT_DIG__=113", + "__GNUC__=12", + "__GXX_RTTI=1", + "__FLT_HAS_DENORM__=1", + "__SIZEOF_LONG_DOUBLE__=16", + "__BIGGEST_ALIGNMENT__=16", + "__STDC_UTF_16__=1", + "__FLT64_MAX_10_EXP__=308", + "__cpp_delegating_constructors=200604L", + "__FLT32_HAS_INFINITY__=1", + "__DBL_MAX__=double(1.79769313486231570814527423731704357e+308L)", + "__cpp_raw_strings=200710L", + "__INT_FAST32_MAX__=0x7fffffff", + "__DBL_HAS_INFINITY__=1", + "__cpp_fold_expressions=201603L", + "__INTPTR_WIDTH__=32", + "__FLT64X_HAS_INFINITY__=1", + "__UINT_LEAST32_MAX__=0xffffffffUL", + "__FLT32X_HAS_DENORM__=1", + "__INT_FAST16_TYPE__=int", + "__LDBL_HAS_DENORM__=1", + "__cplusplus=201703L", + "__cpp_ref_qualifiers=200710L", + "__DEPRECATED=1", + "__cpp_rvalue_references=200610L", + "__DBL_MAX_EXP__=1024", + "__WCHAR_WIDTH__=32", + "__FLT32_MAX__=3.40282346638528859811704183484516925e+38F32", + "__GCC_ATOMIC_LONG_LOCK_FREE=2", + "__PTRDIFF_MAX__=0x7fffffff", + "__FLT32_HAS_QUIET_NAN__=1", + "__GNUG__=12", + "__LONG_LONG_MAX__=0x7fffffffffffffffLL", + "__SIZEOF_SIZE_T__=4", + "__cpp_nsdmi=200809L", + "__FLT64X_MIN_EXP__=(-16381)", + "__SIZEOF_WINT_T__=4", + "__LONG_LONG_WIDTH__=64", + "__cpp_initializer_lists=200806L", + "__FLT32_MAX_EXP__=128", + "__cpp_hex_float=201603L", + "__GXX_ABI_VERSION=1017", + "__FLT128_HAS_INFINITY__=1", + "__FLT_MIN_EXP__=(-125)", + "__GCC_HAVE_DWARF2_CFI_ASM=1", + "__cpp_lambdas=200907L", + "__riscv_flen=64", + "__INT_FAST64_TYPE__=long long int", + "__FP_FAST_FMAF=1", + "__FLT128_NORM_MAX__=1.18973149535723176508575932662800702e+4932F128", + "__FLT64_DENORM_MIN__=4.94065645841246544176568792868221372e-324F64", + "__cpp_template_auto=201606L", + "__DBL_MIN__=double(2.22507385850720138309023271733240406e-308L)", + "__FLT64X_NORM_MAX__=1.18973149535723176508575932662800702e+4932F64x", + "__SIZEOF_POINTER__=4", + "__DBL_HAS_QUIET_NAN__=1", + "__FLT32X_EPSILON__=2.22044604925031308084726333618164062e-16F32x", + "__FLT64_MIN_10_EXP__=(-307)", + "__riscv_mul=1", + "__FLT64X_DECIMAL_DIG__=36", + "__REGISTER_PREFIX__", + "__UINT16_MAX__=0xffff", + "__FLT32_MIN__=1.17549435082228750796873653722224568e-38F32", + "__UINT8_TYPE__=unsigned char", + "__FLT_DIG__=6", + "__NO_INLINE__=1", + "__DEC_EVAL_METHOD__=2", + "__FLT_MANT_DIG__=24", + "__LDBL_DECIMAL_DIG__=36", + "__VERSION__=\"12.2.0\"", + "__UINT64_C(c)=c ## ULL", + "__cpp_unicode_characters=201411L", + "__INT_LEAST32_MAX__=0x7fffffffL", + "__GCC_ATOMIC_INT_LOCK_FREE=2", + "__FLT128_MAX_EXP__=16384", + "__FLT32_MANT_DIG__=24", + "__FLOAT_WORD_ORDER__=__ORDER_LITTLE_ENDIAN__", + "__cpp_aggregate_bases=201603L", + "__FLT128_HAS_DENORM__=1", + "__FLT128_DIG__=33", + "__SCHAR_WIDTH__=8", + "__INT32_C(c)=c ## L", + "__ORDER_PDP_ENDIAN__=3412", + "__riscv_muldiv=1", + "__INT_FAST32_TYPE__=int", + "__UINT_LEAST16_TYPE__=short unsigned int", + "__DBL_HAS_DENORM__=1", + "__cpp_rtti=199711L", + "__SIZE_TYPE__=unsigned int", + "__UINT64_MAX__=0xffffffffffffffffULL", + "__FLT_IS_IEC_60559__=2", + "__riscv_xlen=32", + "__GNUC_WIDE_EXECUTION_CHARSET_NAME=\"UTF-32LE\"", + "__FLT64X_DIG__=33", + "__INT8_TYPE__=signed char", + "__cpp_digit_separators=201309L", + "__ELF__=1", + "__FLT_RADIX__=2", + "__INT_LEAST16_TYPE__=short int", + "__LDBL_EPSILON__=1.92592994438723585305597794258492732e-34L", + "__UINTMAX_C(c)=c ## ULL", + "__FLT32X_MIN__=2.22507385850720138309023271733240406e-308F32x", + "__SIG_ATOMIC_MAX__=0x7fffffff", + "__GCC_ATOMIC_WCHAR_T_LOCK_FREE=2", + "__USER_LABEL_PREFIX__", + "__SIZEOF_PTRDIFF_T__=4", + "__riscv_fsqrt=1", + "__LDBL_DIG__=33", + "__FLT64_IS_IEC_60559__=2", + "__FLT32X_MIN_EXP__=(-1021)", + "__INT_FAST16_MAX__=0x7fffffff", + "__GCC_CONSTRUCTIVE_SIZE=32", + "__FLT64_DIG__=15", + "__UINT_FAST32_MAX__=0xffffffffU", + "__UINT_LEAST64_TYPE__=long long unsigned int", + "__FLT_HAS_QUIET_NAN__=1", + "__FLT_MAX_10_EXP__=38", + "__LONG_MAX__=0x7fffffffL", + "__FLT64X_HAS_DENORM__=1", + "__FLT_HAS_INFINITY__=1", + "__GNUC_EXECUTION_CHARSET_NAME=\"UTF-8\"", + "__cpp_unicode_literals=200710L", + "__UINT_FAST16_TYPE__=unsigned int", + "__INT_FAST32_WIDTH__=32", + "__CHAR16_TYPE__=short unsigned int", + "__PRAGMA_REDEFINE_EXTNAME=1", + "__SIZE_WIDTH__=32", + "__INT_LEAST16_MAX__=0x7fff", + "__INT64_MAX__=0x7fffffffffffffffLL", + "__FLT32_DENORM_MIN__=1.40129846432481707092372958328991613e-45F32", + "__SIG_ATOMIC_WIDTH__=32", + "__INT_LEAST64_TYPE__=long long int", + "__INT16_TYPE__=short int", + "__INT_LEAST8_TYPE__=signed char", + "__cpp_structured_bindings=201606L", + "__INT_FAST8_MAX__=0x7fffffff", + "__FLT128_MAX__=1.18973149535723176508575932662800702e+4932F128", + "__INTPTR_MAX__=0x7fffffff", + "__cpp_sized_deallocation=201309L", + "__cpp_guaranteed_copy_elision=201606L", + "__FLT64_HAS_QUIET_NAN__=1", + "__FLT32_MIN_10_EXP__=(-37)", + "__EXCEPTIONS=1", + "__PTRDIFF_WIDTH__=32", + "__LDBL_MANT_DIG__=113", + "__riscv_m=2000000", + "__cpp_range_based_for=201603L", + "__FLT64_HAS_INFINITY__=1", + "__FLT64X_MAX__=1.18973149535723176508575932662800702e+4932F64x", + "__STDCPP_DEFAULT_NEW_ALIGNMENT__=16", + "__SIG_ATOMIC_MIN__=(-__SIG_ATOMIC_MAX__ - 1)", + "__cpp_nontype_template_args=201411L", + "__cpp_return_type_deduction=201304L", + "__INTPTR_TYPE__=int", + "__UINT16_TYPE__=short unsigned int", + "__WCHAR_TYPE__=int", + "__SIZEOF_FLOAT__=4", + "__UINTPTR_MAX__=0xffffffffU", + "__INT_FAST64_WIDTH__=64", + "__cpp_decltype=200707L", + "__FLT32_DECIMAL_DIG__=9", + "__INT_FAST64_MAX__=0x7fffffffffffffffLL", + "__GCC_ATOMIC_TEST_AND_SET_TRUEVAL=1", + "__FLT_NORM_MAX__=3.40282346638528859811704183484516925e+38F", + "__FLT64X_MAX_EXP__=16384", + "__UINT_FAST64_TYPE__=long long unsigned int", + "__cpp_inline_variables=201606L", + "__riscv_a=2001000", + "__riscv_c=2000000", + "__riscv_d=2002000", + "__riscv_f=2002000", + "__riscv_i=2001000", + "__INT_MAX__=0x7fffffff", + "__STDCPP_THREADS__=1", + "__riscv_zicsr=2000000", + "__INT64_TYPE__=long long int", + "__FLT_MAX_EXP__=128", + "__DBL_MANT_DIG__=53", + "__cpp_inheriting_constructors=201511L", + "__INT_LEAST64_MAX__=0x7fffffffffffffffLL", + "__FP_FAST_FMAF32=1", + "__WINT_TYPE__=unsigned int", + "__UINT_LEAST32_TYPE__=long unsigned int", + "__SIZEOF_SHORT__=2", + "__FLT32_NORM_MAX__=3.40282346638528859811704183484516925e+38F32", + "__LDBL_MIN_EXP__=(-16381)", + "__riscv_compressed=1", + "__FLT64_MAX__=1.79769313486231570814527423731704357e+308F64", + "__WINT_WIDTH__=32", + "__FP_FAST_FMAF64=1", + "__INT_LEAST64_WIDTH__=64", + "__FLT32X_MAX_10_EXP__=308", + "__FLT64X_IS_IEC_60559__=2", + "__LDBL_MAX_10_EXP__=4932", + "__ATOMIC_RELAXED=0", + "__DBL_EPSILON__=double(2.22044604925031308084726333618164062e-16L)", + "__FLT128_MIN__=3.36210314311209350626267781732175260e-4932F128", + "__UINT8_C(c)=c", + "__FLT64_MAX_EXP__=1024", + "__INT_LEAST32_TYPE__=long int", + "__SIZEOF_WCHAR_T__=4", + "__FLT64_NORM_MAX__=1.79769313486231570814527423731704357e+308F64", + "__FLT128_HAS_QUIET_NAN__=1", + "__INTMAX_MAX__=0x7fffffffffffffffLL", + "__INT_FAST8_TYPE__=int", + "__cpp_namespace_attributes=201411L", + "__FLT64X_MIN__=3.36210314311209350626267781732175260e-4932F64x", + "__LDBL_HAS_INFINITY__=1", + "__GNUC_STDC_INLINE__=1", + "__FLT64_HAS_DENORM__=1", + "__FLT32_EPSILON__=1.19209289550781250000000000000000000e-7F32", + "__FP_FAST_FMAF32x=1", + "__DBL_DECIMAL_DIG__=17", + "__STDC_UTF_32__=1", + "__INT_FAST8_WIDTH__=32", + "__FLT32X_MAX__=1.79769313486231570814527423731704357e+308F32x", + "__DBL_NORM_MAX__=double(1.79769313486231570814527423731704357e+308L)", + "__BYTE_ORDER__=__ORDER_LITTLE_ENDIAN__", + "__GCC_DESTRUCTIVE_SIZE=32", + "__INTMAX_WIDTH__=64", + "__ORDER_BIG_ENDIAN__=4321", + "__cpp_runtime_arrays=198712L", + "__UINT64_TYPE__=long long unsigned int", + "__UINT32_C(c)=c ## UL", + "__cpp_alias_templates=200704L", + "__riscv_arch_test=1", + "__FLT_DENORM_MIN__=1.40129846432481707092372958328991613e-45F", + "__FLT128_IS_IEC_60559__=2", + "__INT8_MAX__=0x7f", + "__LONG_WIDTH__=32", + "__UINT_FAST32_TYPE__=unsigned int", + "__FLT32X_NORM_MAX__=1.79769313486231570814527423731704357e+308F32x", + "__CHAR32_TYPE__=long unsigned int", + "__FLT_MAX__=3.40282346638528859811704183484516925e+38F", + "__cpp_constexpr=201603L", + "__cpp_deduction_guides=201703L", + "__INT32_TYPE__=long int", + "__SIZEOF_DOUBLE__=8", + "__cpp_exceptions=199711L", + "__FLT_MIN_10_EXP__=(-37)", + "__FLT64_MIN__=2.22507385850720138309023271733240406e-308F64", + "__INT_LEAST32_WIDTH__=32", + "__INTMAX_TYPE__=long long int", + "__FLT32X_HAS_QUIET_NAN__=1", + "__ATOMIC_CONSUME=1", + "__GNUC_MINOR__=2", + "__INT_FAST16_WIDTH__=32", + "__UINTMAX_MAX__=0xffffffffffffffffULL", + "__FLT32X_DENORM_MIN__=4.94065645841246544176568792868221372e-324F32x", + "__cpp_template_template_args=201611L", + "__DBL_MAX_10_EXP__=308", + "__LDBL_DENORM_MIN__=6.47517511943802511092443895822764655e-4966L", + "__INT16_C(c)=c", + "__STDC__=1", + "__FLT32X_DIG__=15", + "__PTRDIFF_TYPE__=int", + "__riscv_div=1", + "__ATOMIC_SEQ_CST=5", + "__riscv_zifencei=2000000", + "__UINT32_TYPE__=long unsigned int", + "__FLT32X_MIN_10_EXP__=(-307)", + "__UINTPTR_TYPE__=unsigned int", + "__LDBL_MIN_10_EXP__=(-4931)", + "__cpp_generic_lambdas=201304L", + "__FLT128_EPSILON__=1.92592994438723585305597794258492732e-34F128", + "__SIZEOF_LONG_LONG__=8", + "__cpp_user_defined_literals=200809L", + "__FLT128_DECIMAL_DIG__=36", + "__GCC_ATOMIC_LLONG_LOCK_FREE=1", + "__FLT_DECIMAL_DIG__=9", + "__UINT_FAST16_MAX__=0xffffffffU", + "__LDBL_NORM_MAX__=1.18973149535723176508575932662800702e+4932L", + "__GCC_ATOMIC_SHORT_LOCK_FREE=1", + "__UINT_FAST8_TYPE__=unsigned int", + "__cpp_init_captures=201304L", + "__ATOMIC_ACQ_REL=4", + "__ATOMIC_RELEASE=3", + "USBCON" + ] + } + ] +} \ No newline at end of file diff --git a/examples/simpleServer/simpleServer.ino b/examples/simpleServer/simpleServer.ino index 5c17f39..b849b40 100644 --- a/examples/simpleServer/simpleServer.ino +++ b/examples/simpleServer/simpleServer.ino @@ -6,9 +6,8 @@ FSWebServer myWebServer(FILESYSTEM, 80); -#ifndef LED_BUILTIN -#define LED_BUILTIN 2 -#endif +#undef LED_BUILTIN +#define LED_BUILTIN 8 // In order to set SSID and password open the /setup webserver page // const char* ssid; @@ -67,7 +66,7 @@ void setup(){ startFilesystem(); // Try to connect to stored SSID, start AP if fails after timeout - myWebServer.setAP("ESP_AP", "123456789"); + myWebServer.setAP("ESP32C3", "123456789"); IPAddress myIP = myWebServer.startWiFi(15000); Serial.println("\n"); diff --git a/src/SerialLog.h b/src/SerialLog.h index 60c7822..71859a6 100644 --- a/src/SerialLog.h +++ b/src/SerialLog.h @@ -9,8 +9,8 @@ extern "C" { #endif -#define __FILE_NAME__ (strrchr(__FILE__, '\\') ? strrchr(__FILE__, '\\') + 1 : __FILE__) -#define _LOG_FORMAT(letter, format) "\n["#letter"][%s:%u] %s():\t" format, __FILE_NAME__, __LINE__, __FUNCTION__ +#define __FILE__NAME__ (strrchr(__FILE__, '\\') ? strrchr(__FILE__, '\\') + 1 : __FILE__) +#define _LOG_FORMAT(letter, format) "\n["#letter"][%s:%u] %s():\t" format, __FILE__NAME__, __LINE__, __FUNCTION__ #if LOG_LEVEL == 0 #define log_error(format, ...) diff --git a/src/SetupConfig.hpp b/src/SetupConfig.hpp index 69e0c7e..a489e5e 100644 --- a/src/SetupConfig.hpp +++ b/src/SetupConfig.hpp @@ -190,14 +190,14 @@ class SetupConfigurator void addDropdownList(const char *label, const char** array, size_t size) { // If key is present in json, we don't need to create it. - if ((*m_doc).containsKey(label)) - return; + #if ARDUINOJSON_VERSION_MAJOR > 6 + JsonObject obj = (*m_doc)[label].to(); + #else + JsonObject obj = (*m_doc).createNestedObject(label); + #endif - #if ARDUINOJSON_VERSION_MAJOR > 6 - JsonObject obj = (*m_doc)[label].to(); - #else - JsonObject obj = (*m_doc).createNestedObject(label); - #endif + if (obj.isNull()) + return; obj["selected"] = array[0]; // first element selected as default #if ARDUINOJSON_VERSION_MAJOR > 6 @@ -252,8 +252,12 @@ class SetupConfigurator key += numOptions ; // If key is present and value is the same, we don't need to create/update it. - if (m_doc->containsKey(key.c_str())) + JsonVariant foundObject = (*m_doc)[key]; + if (foundObject.isNull()) return; + + // if (m_doc->containsKey(key.c_str())) + // return; // if min, max, step != from default, treat this as object in order to set other properties if (d_min != MIN_F || d_max != MAX_F || step != 1.0) { diff --git a/src/esp-fs-webserver.cpp b/src/esp-fs-webserver.cpp index 19d9563..d5f9769 100644 --- a/src/esp-fs-webserver.cpp +++ b/src/esp-fs-webserver.cpp @@ -1,66 +1,67 @@ #include "esp-fs-webserver.h" #include "detail/RequestHandlersImpl.h" -// Override default handleClient() method to increase connection speed -#if defined(ESP32) -void FSWebServer::handleClient() -{ - if (_currentStatus == HC_NONE) { - _currentClient = _server.available(); - if (!_currentClient) { - if (_nullDelay) { - delay(1); - } - return; - } - log_v("New client: client.localIP()=%s", _currentClient.localIP().toString().c_str()); - _currentStatus = HC_WAIT_READ; - _statusChange = millis(); - } - - bool keepCurrentClient = false; - - if (_currentClient.connected()) { - switch (_currentStatus) { - // No-op to avoid C++ compiler warning - case HC_NONE: - break; - - // Wait for data from client to become available - case HC_WAIT_READ: - if (_currentClient.available()) { - if (_parseRequest(_currentClient)) { - _currentClient.setTimeout(HTTP_MAX_SEND_WAIT / 1000); - _contentLength = CONTENT_LENGTH_NOT_SET; - _handleRequest(); - } - } - else { - if (millis() - _statusChange <= 100) { - keepCurrentClient = true; - } - yield(); - } - break; - - // Wait for client to close the connection - case HC_WAIT_CLOSE: - if (millis() - _statusChange <= HTTP_MAX_CLOSE_WAIT) { - keepCurrentClient = true; - yield(); - } - break; - } - } - - if (!keepCurrentClient) { - _currentClient = WiFiClient(); - _currentStatus = HC_NONE; - _currentUpload.reset(); - } -} -#endif - +// // Override default handleClient() method to increase connection speed +// #if defined(ESP32) +// void FSWebServer::handleClient() +// { +// if (_currentStatus == HC_NONE) { +// _currentClient = _server.available(); +// if (!_currentClient) { +// if (_nullDelay) { +// delay(1); +// } +// return; +// } +// log_v("New client: client.localIP()=%s", _currentClient.localIP().toString().c_str()); +// _currentStatus = HC_WAIT_READ; +// _statusChange = millis(); +// } + +// bool keepCurrentClient = false; + +// if (_currentClient.connected()) { +// switch (_currentStatus) { +// // No-op to avoid C++ compiler warning +// case HC_NONE: +// break; + +// // Wait for data from client to become available +// case HC_WAIT_READ: +// if (_currentClient.available()) { +// if (_parseRequest(_currentClient)) { +// _currentClient.setTimeout(HTTP_MAX_SEND_WAIT / 1000); +// _contentLength = CONTENT_LENGTH_NOT_SET; +// _handleRequest(); +// } +// } +// else { +// if (millis() - _statusChange <= 100) { +// keepCurrentClient = true; +// } +// yield(); +// } +// break; + +// // Wait for client to close the connection +// case HC_WAIT_CLOSE: +// if (millis() - _statusChange <= HTTP_MAX_CLOSE_WAIT) { +// keepCurrentClient = true; +// yield(); +// } +// break; +// } +// } + +// if (!keepCurrentClient) { +// _currentClient = WiFiClient(); +// _currentStatus = HC_NONE; +// _currentUpload.reset(); +// } +// } +// #endif + +#define MDNS_INSTANCE "esp-fs-webserver" void FSWebServer::setHostname(const char* host) { m_host = host; @@ -131,7 +132,7 @@ void FSWebServer::run() if (m_websocket != nullptr) m_websocket->loop(); - + #if defined(ESP8266) MDNS.update(); #endif @@ -272,7 +273,6 @@ IPAddress FSWebServer::startWiFi(uint32_t timeout, bool apFlag, CallbackF fn) if (strlen(_ssid)) { m_apmode = false; - WiFi.begin(_ssid, _pass); uint32_t startTime = millis(); log_info("Connecting to '%s'", _ssid); @@ -294,17 +294,44 @@ IPAddress FSWebServer::startWiFi(uint32_t timeout, bool apFlag, CallbackF fn) } MDNS.addService("http", "tcp", m_port); #else - // Initialize mDNS - ESP_ERROR_CHECK( mdns_init() ); - // Set mDNS hostname (required if you want to advertise services) - ESP_ERROR_CHECK( mdns_hostname_set(m_host.c_str()) ); - ESP_LOGI("", "mdns hostname set to: [%s]", m_host.c_str()); - // Set default mDNS instance name - ESP_ERROR_CHECK( mdns_instance_name_set("EXAMPLE_MDNS_INSTANCE") ); - // Structure with TXT records - mdns_txt_item_t serviceTxtData[1] = {{"board", "esp32"}}; - // Initialize service - ESP_ERROR_CHECK( mdns_service_add("ESP32-WebServer", "_http", "_tcp", 80, serviceTxtData, 1) ); + WiFi.setHostname(m_host.c_str()); + // // Initialize mDNS + // ESP_ERROR_CHECK( mdns_init() ); + // // Set mDNS hostname (required if you want to advertise services) + // ESP_ERROR_CHECK( mdns_hostname_set(m_host.c_str()) ); + // log_info("mdns hostname set to: [%s]", m_host.c_str()); + // // Set default mDNS instance name + // ESP_ERROR_CHECK( mdns_instance_name_set("MDNS_INSTANCE") ); + // // Structure with TXT records + // mdns_txt_item_t serviceTxtData[1] = {{"board", "esp32"}}; + // // Initialize service + // ESP_ERROR_CHECK( mdns_service_add("ESP32-WebServer", "_http", "_tcp", 80, serviceTxtData, 1) ); + + //initialize mDNS service + esp_err_t err = mdns_init(); + if (err) { + log_error("MDNS Init failed: %d\n", err); + } + + //set hostname + mdns_hostname_set(m_host.c_str()); + log_info("mdns hostname set to: [%s]", m_host.c_str()); + //set default instance + mdns_instance_name_set(MDNS_INSTANCE); + //add our services + mdns_service_add(NULL, "_http", "_tcp", 80, NULL, 0); + mdns_service_add(NULL, "_arduino", "_tcp", 3232, NULL, 0); + mdns_service_instance_name_set("_http", "_tcp", MDNS_INSTANCE); + mdns_service_subtype_add_for_host(MDNS_INSTANCE, "_http", "_tcp", NULL, "_server"); + + mdns_txt_item_t serviceTxtData[3] = { + {"board","{esp32}"}, + {"u","user"}, + {"p","password"} + }; + //set txt data for service (will free and replace current data) + mdns_service_txt_set("_http", "_tcp", serviceTxtData, 3); + #endif if ((WiFi.status() == WL_CONNECTED) || apFlag) diff --git a/src/esp-fs-webserver.h b/src/esp-fs-webserver.h index 2be2846..cc06d97 100644 --- a/src/esp-fs-webserver.h +++ b/src/esp-fs-webserver.h @@ -53,7 +53,7 @@ #include "esp_task_wdt.h" #include "sys/stat.h" #include - #include + #include #include #include using WebServerClass = WebServer; @@ -280,10 +280,10 @@ class FSWebServer : public WebServerClass IPAddress m_captiveIp = IPAddress(192, 168, 4, 1); ServerWebSocket* m_websocket; - #if defined(ESP32) - // Override default handleClient() method to increase connection speed - void handleClient() override; - #endif + // #if defined(ESP32) + // // Override default handleClient() method to increase connection speed + // void handleClient() override; + // #endif // Default handler for all URIs not defined above, use it to read files from filesystem bool captivePortal(); diff --git a/src/websocket/WebSocketsClient.cpp b/src/websocket/WebSocketsClient.cpp index 30c0300..9774970 100644 --- a/src/websocket/WebSocketsClient.cpp +++ b/src/websocket/WebSocketsClient.cpp @@ -484,7 +484,7 @@ void WebSocketsClient::clientDisconnect(WSclient_t * client) { if(client->tcp) { if(client->tcp->connected()) { - client->tcp->flush(); + client->tcp->clear(); client->tcp->stop(); } event = true;