Code Monkey home page Code Monkey logo

arduino-littlefs-upload's People

Contributors

candideu avatar dacarson avatar earlephilhower avatar metaphorme avatar per1234 avatar schmidtsamuelw avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

arduino-littlefs-upload's Issues

Select different baud rate

I was tring to upload a file to an ESP-32-WROOM-32 module. Initially I got the error:

esptool.py v4.6
Serial port /dev/cu.usbserial-110
Connecting....
Chip is ESP32-D0WD-V3 (revision v3.1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
WARNING: Detected crystal freq 41.01MHz is quite different to normalized freq 40MHz. Unsupported crystal in use?
Crystal is 40MHz
MAC: fc:b4:67:77:7f:9c
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 921600
Changed.

A fatal error occurred: Unable to verify flash chip connection (Invalid head of packet (0xE0): Possible serial noise or corruption.).


ERROR:  Upload failed, error code: 2

I resolved it by manually re running the Uploading LittleFS filesystem command with --baud 115200 instead of --baud 921600

I'm putting this out there in case anyone needs a similar workaround. I would also suggest including this in the glitches section of the README or maybe adding the possibility to select a different baud rate from the UI.

BTW, thank you for this library @earlephilhower

File system full

Hi! I'm starting to get the following error, using the version released three days ago (1.1.5):

LittleFS Filesystem Uploader

Building LittleFS filesystem
C:\Users\[user]\AppData\Local\Arduino15\packages\esp8266\tools\mklittlefs\3.1.0-gcc10.3-e5f9fec/mklittlefs.exe -c C:\Users\[user]\Documents\Arduino\LittleFS-test/data -p 256 -b 8192 -s 2072576 C:\Users\[user]\AppData\Local\Temp\tmp-9752-JpwJrT6euN4a-.littlefs.bin
/colouringbook.js
/index.html
littlefs/lfs.c:561:error: No more free space 371
lfs_write error(-28): File system is full.

error adding file!
ERROR:  Mklittlefs failed, error code: 1

My sketch + data folder are 3MB total, and I'm using a WEMOS D1 Mini Pro (16MB Flash Memory)

Flashing file system stuck

I takes nearly 2 minutes to flash the data dir. data dir contains only one simple text file. why is it taking long time to flash?

Activating extension 'arduino-littlefs-upload' failed

Hello, I got "Activating extension 'arduino-littlefs-upload' failed" when try to "Upload LittleFS to Pico/ESP8266/ESP32" due to: Cannot find ..\arduino-littlefs-upload\out\extension.js'. Required ...\backend\plugin-host.js. There is no \out\extensions.js in the VSIX file but there is backend\plugin-host.js.
By the way I am using Arduino IDE 2.3.2, Arduino-Pico V3.9.1 and window 11.

ESP32 support

Please add ESP32 support.

It looks like it could be added similar to its predecessor, ESP8266. The command line tool is there on my mac:
./Library/Arduino15/packages/esp32/tools/mklittlefs
./Library/Arduino15/packages/esp32/tools/mklittlefs/3.0.0-gnu12-dc7f933/mklittlefs

I'd be willing to work on this myself, if you are able to provide instructions on how to build the VSIX file. I see that it is a deflate/zip file, but I am not sure how to build it.

Show "Board details not available. Compile the sketch once." when click upload

Sorry for bothering you again...

I had set fqbn and I could compile and upload my firmware. But when I tried to update files into LittleFS, it shows "Board details not available. Compile the sketch once.".

I tried to know what it means and found something here :

if ((arduinoContext.boardDetails === undefined) ||  (arduinoContext.fqbn === undefined)){
    vscode.window.showErrorMessage("Board details not available. Compile the sketch once.");
    return;
}

I'm sure that I have set my fqbn, but I don't know how to set arduinoContext.boardDetails. Maybe this problem has to do with this?

fqbn had set:

截屏2023-10-25 01 32 01

boardDetails had set(maybe):

截屏2023-10-25 01 33 00

Tools -> Get board info:

截屏2023-10-25 01 34 02

Thanks for your help!

Have a nice day! :)

No "Upload LittleFS to Pico/ESP8266" found in Arduino IDE 2.2.1 after installed

Hi Philhower!
 So grateful for your work! But I meet some problems during using this plugin.
 I downloaded arduino-littlefs-upload-1.0.0.vsix from release page and place it into ~/.arduinoIDE/plugins/, but nothing changed in my tool menu. After that, I tried to put it in both ~/.arduinoIDE/plugins/ and ~/.arduinoIDE/plugin-storage, and nothing changed. Then, I downloaded arduino-littlefs-upload-1.0.0.vsix from git branch and place it into both ~/.arduinoIDE/plugins/ and ~/.arduinoIDE/plugin-storage, and nothing changed. By the way, [Ctrl] + [Shift] + [P] don't work on my mac, as a result I try to find in tool menu.
 I'm sorry that I'm new to arduino and something I do maybe roughly, but I'm so appreciat if you could help me to fix this problem.

Environment:

  • macOS 14.0
  • Arduino IDE 2.2.1
  • ESP 8266

Pictures:

截屏2023-10-24 23 51 57

My tool menu.

截屏2023-10-24 23 48 25

Place I put arduino-littlefs-upload-1.0.0.vsix in.

ESP32 Support

Hi,

Just wondering if you're looking to get this working with ESP32 boards? Currently when I try to upload I get the following error:

ERROR: Only Arduino-Pico RP2040 and ESP8266 supported.

I updated to the latest nightly build before the above test.

Version: 2.2.2-nightly-20240101
Date: 2024-01-01T03:13:38.842Z

esptool not found

First of all: thank you for your plugin, as it is the only (easy) way to upload to the SPIFFS area on the ESP.

But... your plugin tries to call the Python version of the ESP Tool (esptool.py) - which is not installed, there is only the compiled version in the tools folder.

I'm on a Mac mini with M2 processor and Arduino IDE 2.3.2.

If your plugin would i.e. call

/Users/aziemer/Library/Arduino15/packages/esp32/tools/esptool_py/4.5.1/esptool

instead of

python3 /Users/aziemer/Library/Arduino15/packages/esp32/tools/esptool_py/4.5.1/esptool.py

it should work. I don't know, if this is specific to the Mac with arm64 architecture or not.

best regards Andreas

No data folder found

I am using an ESP32 Dev Module running Arduino 2.3.2. I have the following data directory with my sketch

C:\Users\marka\Documents\Arduino\Aerator_Livewell_Switch\data

ERROR: No port specified, check IDE menus. - although serial monitor connects successfully

Hi @earlephilhower, thank you for the work on this plugin. I did use it successfully before. Currently, however, I am facing issues connecting to the board. The error message does not give me a clue.

LittleFS Filesystem Uploader

ERROR: No port specified, check IDE menus.

The port (COM7) is specified in "Tools > Port" in the Arduino IDE. And in fact Serial Monitor can connect and display messages successfully. (For the upload attempts I detached the Serial Monitor as I read it cannot be used concurrently.) This should show that the port is specified correctly and works.

What else could be checked? Which (other) IDE menu might be referred to by the error message? Maybe the error message can be enhanced.

Thank you in advance for your assistance.
-slowjoe


Environment:

  • Windows 10
  • Arduino IDE
    • Version: 2.2.1
    • Date: 2023-08-31T14:35:44.802Z
    • CLI Version: 0.34.0
  • Board: LOLIN(WEMOS) D1 mini (clone)

ERROR: Upload failed, error code: 1

Hi,
Issue when uploading to the pico-w :-(
Hope you can help.

`
LittleFS Filesystem Uploader v1.1.7 -- https://github.com/earlephilhower/arduino-littlefs-upload

Sketch Path: /Users/craig/Documents/Arduino/rpicow
Data Path: /Users/craig/Documents/Arduino/rpicow/data
Device: RP2040 series

Building LittleFS filesystem
Command Line: /Users/craig/Library/Arduino15/packages/rp2040/tools/pqt-mklittlefs/2.2.0-d04e724/mklittlefs -c /Users/craig/Documents/Arduino/rpicow/data -p 256 -b 4096 -s 65536 /var/folders/dh/qd12r7d170sfs_6nhs13fsnh0000gn/T/tmp-18226-NK5yQ5PRGw7n-.littlefs.bin
/update.html
/index.html
/styles.css
/scripts.js

Uploading LittleFS filesystem
Command Line: /Users/craig/Library/Arduino15/packages/rp2040/tools/pqt-python3/1.0.1-base-3a57aed/python3 /Users/craig/Library/Arduino15/packages/rp2040/hardware/rp2040/3.8.1/tools/uf2conv.py --base 270462976 --serial /dev/cu.usbmodem11312201 --family RP2040 /var/folders/dh/qd12r7d170sfs_6nhs13fsnh0000gn/T/tmp-18226-NK5yQ5PRGw7n-.littlefs.bin
Resetting /dev/cu.usbmodem11312201
Converting to uf2, output size: 131072, start address: 0x101ef000
Scanning for RP2040 devices
No drive to deploy.

ERROR: Upload failed, error code: 1

`
Arduino IDE 2.3.2 on Mini Mac M1, 2020
Flash Size: 2MB "(Sketch: 1984KB, FS: 64KB)" (have tried other configs as well, still same)
Contents of /data is < 1KB

I can upload normally using the IDE no problem.

FYI
#include <WiFi.h> #include <WebServer.h> #include <LittleFS.h> #include <ArduinoOTA.h> #include <NTPClient.h> #include <WiFiUdp.h> #include "credentials.h" #include "hardware.h" #include "webpages.h" .. // rest of code

Folders

This appears to copy only files on the root level. Is there any possibility that folder contents will be added? Thanks.

Port is busy during file system upload

I cannot upload files as Arduino IDE complains that the port is busy and gives a fatal error:

A fatal esptool.py error occurred: [Errno 16] could not open port /dev/cu.usbserial-0001: [Errno 16] Resource busy: '/dev/cu.usbserial-0001'

The only solution I found is this:

  • Select an incorrect port, for example: "/dev/cu.wlan-debug" in Arduino IDE Tools/Port
  • Start sketch uploading and wait until the upload procedure becomes blocked, but not until it times out
  • Select the correct port (that is the one with the ESP attached, in my case: "/dev/cu.usbserial-0001") in Arduino IDE Tools/Port
  • Upload the files
  • Upload the sketch if needed

MacBook Air M1
Arduino 2.2.1
ESP8266 NodeMCU 1.0

Access denied upon upload

Uploading LittleFS filesystem
C:\Users\nicod\AppData\Local\Arduino15\packages\esp8266\tools\python3\3.7.2-post1/python3.exe C:\Users\nicod\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.2/tools/upload.py --chip esp8266 --port COM5 --baud 115200 write_flash 3145728 C:\Users\nicod\AppData\Local\Temp\tmp-12172-OcGfrVVmO131-.littlefs.bin
esptool.py v3.0
Serial port COM5

A fatal esptool.py error occurred: could not open port 'COM5': PermissionError(13, 'Access denied.', None, 5)
Completed upload.

Fatal upload error, Chip is ESP32-C3 not ESP32

Hi, I received this error while uploading to an ESP32-C3. Is the C3 not supported yet as I thought it may be covered under the ESP32 cores?

LittleFS Filesystem Uploader

Using partition: default
Building LittleFS filesystem
C:\Users\jak\AppData\Local\Arduino15\packages\esp32\tools\mklittlefs\3.0.0-gnu12-dc7f933/mklittlefs.exe -c C:\Users\jak\OneDrive\Documents\Arduino\Sketches\Testing\INA3221\ESP32-C3_INA3221/data -p 256 -b 4096 -s 1441792 C:\Users\jak\AppData\Local\Temp\tmp-36716-6YiG3mVg3Z5z-.littlefs.bin

Uploading LittleFS filesystem
C:\Users\jak\AppData\Local\Arduino15\packages\esp32\tools\esptool_py\4.5.1/esptool.exe --chip esp32 --port COM6 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size detect 2686976 C:\Users\jak\AppData\Local\Temp\tmp-36716-6YiG3mVg3Z5z-.littlefs.bin
esptool.py v4.5.1
Serial port COM6
Connecting...................

A fatal error occurred: This chip is ESP32-C3 not ESP32. Wrong --chip argument?
ERROR: Upload failed, error code: 2

ERROR: Partition file not found!

Partition Scheme SPIFFS:
LittleFS Filesystem Uploader v1.1.8 -- https://github.com/earlephilhower/arduino-littlefs-upload
Sketch Path: C:\Users\USER\Documents\Arduino\673OEE_db
Data Path: C:\Users\USER\Documents\Arduino\673OEE_db\data
Device: ESP32 series, model esp32s3
Using partition: spiffs
Partitions: C:\Users\USER\AppData\Local\Arduino15\packages\arduino\hardware\esp32\2.0.13\tools\partitions\spiffs.csv
ERROR: Partition file not found!

Partition Scheme Default:
LittleFS Filesystem Uploader v1.1.8 -- https://github.com/earlephilhower/arduino-littlefs-upload

Sketch Path: C:\Users\USER\Documents\Arduino\673OEE_db
Data Path: C:\Users\USER\Documents\Arduino\673OEE_db\data
Device: ESP32 series, model esp32s3
Using partition: default
Partitions: C:\Users\USER\AppData\Local\Arduino15\packages\arduino\hardware\esp32\2.0.13\tools\partitions\default.csv

Building LittleFS filesystem
Command Line: C:\Users\USER\AppData\Local\Arduino15\packages\esp32\tools\mklittlefs\3.0.0-gnu12-dc7f933\mklittlefs.exe -c C:\Users\LMATEEV\Documents\Arduino\673OEE_db\data -p 256 -b 4096 -s 1441792 C:\Users\LMATEEV\AppData\Local\Temp\tmp-58792-b8pjMUPqCff5-.littlefs.bin
/data.sqlite3

Uploading LittleFS filesystem
Command Line: C:\Users\USER\AppData\Local\Arduino15\packages\esp32\tools\esptool_py\4.5.1\esptool.exe --chip esp32s3 --port COM12 --baud NaN --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size detect 2686976 C:\Users\USER\AppData\Local\Temp\tmp-58792-b8pjMUPqCff5-.littlefs.bin
usage: esptool [-h]
[--chip {auto,esp8266,esp32,esp32s2,esp32s3beta2,esp32s3,esp32c3,esp32c6beta,esp32h2beta1,esp32h2beta2,esp32c2,esp32c6,esp32h2}]
[--port PORT] [--baud BAUD]
[--before {default_reset,usb_reset,no_reset,no_reset_no_sync}]
[--after {hard_reset,soft_reset,no_reset,no_reset_stub}]
[--no-stub] [--trace] [--override-vddsdio [{1.8V,1.9V,OFF}]]
[--connect-attempts CONNECT_ATTEMPTS]
{load_ram,dump_mem,read_mem,write_mem,write_flash,run,image_info,make_image,elf2image,read_mac,chip_id,flash_id,read_flash_status,write_flash_status,read_flash,verify_flash,erase_flash,erase_region,merge_bin,get_security_info,version}
...
esptool: error: argument --baud/-b: invalid arg_auto_int value: 'NaN'
ERROR: Upload failed, error code: 2

Partition entry not found in csv file!

No matter which partition scheme I choose, I get the same error.

LittleFS Filesystem Uploader

Using partition: tinyuf2-partitions-4MB
ERROR: Partition entry not found in csv file!

I am running on a Mac Book Pro with an M1. I am trying to push files onto an ESP32-S3 from Adafruit. I can deploy and run code from the Arduino IDE, but I am unable to get resource files onto the SPIFFS file system.

Detect user-selected partitions file (and partitions.csv in sketch folder)

First off, thank you for this plugin. I was expecting to have to write a shell script myself and awkwardly integrate it into my workflow until I stumbled upon this.

Currently, the plugin can only detect the partitions file set as the default for the selected board, ignoring the user's setting in the IDE and the sketch's partitions.csv file, if present. This causes issues in projects where the board's default partition scheme isn't being used, since the plugin will most likely be uploading to the incorrect location or allowing an upload when the actual partition scheme doesn't have a SPIFFS partition. The plugin should detect and use the same partitions file that will be used by the toolchain.

How do change the length of the littlefs.bin file ?

A fatal esptool.py error occurred: File C:\Users\User\AppData\Local\Temp\tmp-19560-x1JsfZZnJqGM-.littlefs.bin (length 7315456) at offset 1048576 will not fit in 1048576 bytes of flash. Use --flash-size argument, or change flashing address.

How do change the length of the littlefs.bin file ?

Board details not available. Compile the sketch once.

hi. Can you help me with error "Board details not available. Compile the sketch once." ?

using Arduino 2.2.1 + nodemcu v3 (esp12-f)
firmware compiled and uploaded. I tried to recompile, re upload but still have error "Board details not available. Compile the sketch once." :(

source code of plugin shows error in two cases:
if ((arduinoContext.boardDetails === undefined) || (arduinoContext.fqbn === undefined)) {
vscode.window.showErrorMessage("Board details not available. Compile the sketch once.");
return;
}

after some modify plugin code, is what I can take from let str = JSON.stringify(arduinoContext, null, 4);
this is before recompile:

{ 
"sketchPath": "Z:\Development\Dryer\DIY-Filament-Dryer", 
"userDirPath": "C:\Users\Niko\Documents\Arduino", 
"dataDirPath": "C:\Users\Niko\AppData\Local\Arduino15" 
}

and this is after recompile:

{
	"sketchPath": "Z:\\Development\\Dryer\\DIY-Filament-Dryer",
	"compileSummary": {
		"buildPath": "D:\\temp\\arduino\\sketches\\0FC4F4D26E59E77276FC5A3C9EC89556",
		"buildProperties": {
			"_id": "nodemcuv2",
			"build.arch": "ESP8266",
			"build.board": "ESP8266_NODEMCU_ESP12E",
			"build.core": "esp8266",
			"build.core.path": "C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266\\cores\\esp8266",
			"build.debug_level": "",
			"build.debug_optim": "-Os",
			"build.debug_port": "",
			"build.eeprom_start": "",
			"build.exception_flags": "-fno-exceptions",
			"build.extra_flags": "",
			"build.f_cpu": "80000000L",
			"build.flash_flags": "-DFLASHMODE_DIO",
			"build.flash_freq": "40",
			"build.flash_ld": "eagle.flash.4m2m.ld",
			"build.flash_mode": "dio",
			"build.flash_size": "4M",
			"build.float": "-u _printf_float -u _scanf_float",
			"build.fqbn": "esp8266com:esp8266:nodemcuv2:led=2,baud=115200,xtal=80,eesz=4M2M,dbg=Disabled,lvl=None____,optim=Smallest,ip=lm2f,vt=flash,exception=disabled,stacksmash=disabled,wipe=none,ssl=all,mmu=3232,non32xfer=fast",
			"build.led": "-DLED_BUILTIN=2",
			"build.library_discovery_phase": "0",
			"build.lwip_flags": "-DLWIP_OPEN_SRC -DTCP_MSS=536 -DLWIP_FEATURES=1 -DLWIP_IPV6=0",
			"build.lwip_include": "lwip2/include",
			"build.lwip_lib": "-llwip2-536-feat",
			"build.mcu": "esp8266",
			"build.mmuflags": "-DMMU_IRAM_SIZE=0x8000 -DMMU_ICACHE_SIZE=0x8000",
			"build.non32xferflags": "",
			"build.opt.flags": "\"@D:\\temp\\arduino\\sketches\\0FC4F4D26E59E77276FC5A3C9EC89556/core/build.opt\"",
			"build.opt.fqfn": "D:\\temp\\arduino\\sketches\\0FC4F4D26E59E77276FC5A3C9EC89556/core/build.opt",
			"build.path": "D:\\temp\\arduino\\sketches\\0FC4F4D26E59E77276FC5A3C9EC89556",
			"build.project_name": "DIY-Filament-Dryer.ino",
			"build.rfcal_addr": "0x3FC000",
			"build.sdk": "NONOSDK22x_190703",
			"build.source.path": "Z:\\Development\\Dryer\\DIY-Filament-Dryer",
			"build.spiffs_blocksize": "8192",
			"build.spiffs_end": "0x3FA000",
			"build.spiffs_pagesize": "256",
			"build.spiffs_start": "0x200000",
			"build.sslflags": "",
			"build.stacksmash_flags": "",
			"build.stdcpp_level": "-std=gnu++17",
			"build.stdcpp_lib": "-lstdc++",
			"build.system.path": "C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266\\system",
			"build.variant": "nodemcu",
			"build.variant.path": "C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266\\variants\\nodemcu",
			"build.vtable_flags": "-DVTABLES_IN_FLASH",
			"commonhfile.fqfn": "C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266\\cores\\esp8266/CommonHFile.h",
			"compiler.S.cmd": "xtensa-lx106-elf-gcc",
			"compiler.S.extra_flags": "",
			"compiler.S.flags": "-c -g -x assembler-with-cpp -MMD -mlongcalls \"-IC:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\xtensa-lx106-elf-gcc\\3.1.0-gcc10.3-e5f9fec/include/\"",
			"compiler.ar.cmd": "xtensa-lx106-elf-ar",
			"compiler.ar.extra_flags": "",
			"compiler.ar.flags": "cru",
			"compiler.as.cmd": "xtensa-lx106-elf-as",
			"compiler.c.cmd": "xtensa-lx106-elf-gcc",
			"compiler.c.elf.cmd": "xtensa-lx106-elf-gcc",
			"compiler.c.elf.extra_flags": "",
			"compiler.c.elf.flags": "-g \"@C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/warnings/none-cflags\" -nostdlib -Wl,--no-check-sections -u app_entry -u _printf_float -u _scanf_float -Wl,-static \"-LC:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/sdk/lib\" \"-LC:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/sdk/lib/NONOSDK22x_190703\" \"-LD:\\temp\\arduino\\sketches\\0FC4F4D26E59E77276FC5A3C9EC89556\" \"-LC:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/sdk/libc/xtensa-lx106-elf/lib\" \"-Tlocal.eagle.flash.ld\" -Wl,--gc-sections -Wl,-wrap,system_restart_local -Wl,-wrap,spi_flash_read",
			"compiler.c.elf.libs": "-lhal -lphy -lpp -lnet80211 -llwip2-536-feat -lwpa -lcrypto -lmain -lwps -lbearssl -lespnow -lsmartconfig -lairkiss -lwpa2 -lstdc++ -lm -lc -lgcc",
			"compiler.c.extra_flags": "",
			"compiler.c.flags": "-c \"@C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/warnings/none-cflags\" -std=gnu17  -g -free -fipa-pta -Werror=return-type -Wpointer-arith -Wno-implicit-function-declaration -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -falign-functions=4 -MMD -ffunction-sections -fdata-sections -fno-exceptions  -DMMU_IRAM_SIZE=0x8000 -DMMU_ICACHE_SIZE=0x8000 ",
			"compiler.cpp.cmd": "xtensa-lx106-elf-g++",
			"compiler.cpp.extra_flags": "",
			"compiler.cpp.flags": "-c \"@C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/warnings/none-cppflags\"  -g -free -fipa-pta -Werror=return-type -mlongcalls -mtext-section-literals -fno-rtti -falign-functions=4 -std=gnu++17 -MMD -ffunction-sections -fdata-sections -fno-exceptions  -DMMU_IRAM_SIZE=0x8000 -DMMU_ICACHE_SIZE=0x8000 ",
			"compiler.cpreprocessor.flags": "-D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ -D_GNU_SOURCE -DESP8266 -Os \"@D:\\temp\\arduino\\sketches\\0FC4F4D26E59E77276FC5A3C9EC89556/core/build.opt\" \"-IC:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/sdk/include\" \"-IC:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/sdk/lwip2/include\" \"-IC:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/sdk/libc/xtensa-lx106-elf/include\" \"-ID:\\temp\\arduino\\sketches\\0FC4F4D26E59E77276FC5A3C9EC89556/core\"",
			"compiler.elf2hex.cmd": "esptool",
			"compiler.elf2hex.extra_flags": "",
			"compiler.elf2hex.flags": "",
			"compiler.libc.path": "C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/sdk/libc/xtensa-lx106-elf",
			"compiler.libraries.ldflags": "",
			"compiler.objcopy.eep.extra_flags": "",
			"compiler.path": "C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\xtensa-lx106-elf-gcc\\3.1.0-gcc10.3-e5f9fec/bin/",
			"compiler.sdk.path": "C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/sdk",
			"compiler.size.cmd": "xtensa-lx106-elf-size",
			"compiler.warning_flags": "@C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/warnings/none",
			"compiler.warning_flags.all": "@C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/warnings/extra",
			"compiler.warning_flags.default": "@C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/warnings/default",
			"compiler.warning_flags.more": "@C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/warnings/more",
			"compiler.warning_flags.none": "@C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/warnings/none",
			"extra.time.dst": "0",
			"extra.time.local": "1700737160",
			"extra.time.utc": "1700729960",
			"extra.time.zone": "7200",
			"globals.h.source.fqfn": "Z:\\Development\\Dryer\\DIY-Filament-Dryer/DIY-Filament-Dryer.ino.globals.h",
			"ide_version": "10607",
			"menu.baud.115200": "115200",
			"menu.baud.115200.upload.speed": "115200",
			"menu.baud.230400.linux": "230400",
			"menu.baud.230400.macosx": "230400",
			"menu.baud.230400.upload.speed": "230400",
			"menu.baud.256000": "256000",
			"menu.baud.256000.upload.speed": "256000",
			"menu.baud.3000000": "3000000",
			"menu.baud.3000000.upload.speed": "3000000",
			"menu.baud.460800.linux": "460800",
			"menu.baud.460800.macosx": "460800",
			"menu.baud.460800.upload.speed": "460800",
			"menu.baud.512000": "512000",
			"menu.baud.512000.upload.speed": "512000",
			"menu.baud.57600": "57600",
			"menu.baud.57600.upload.speed": "57600",
			"menu.baud.921600": "921600",
			"menu.baud.921600.upload.speed": "921600",
			"menu.dbg.Disabled": "Disabled",
			"menu.dbg.Disabled.build.debug_port": "",
			"menu.dbg.Serial": "Serial",
			"menu.dbg.Serial.build.debug_port": "-DDEBUG_ESP_PORT=Serial",
			"menu.dbg.Serial1": "Serial1",
			"menu.dbg.Serial1.build.debug_port": "-DDEBUG_ESP_PORT=Serial1",
			"menu.eesz.4M": "4MB (FS:none OTA:~1019KB)",
			"menu.eesz.4M.build.flash_ld": "eagle.flash.4m.ld",
			"menu.eesz.4M.build.flash_size": "4M",
			"menu.eesz.4M.build.rfcal_addr": "0x3FC000",
			"menu.eesz.4M.build.spiffs_pagesize": "256",
			"menu.eesz.4M1M": "4MB (FS:1MB OTA:~1019KB)",
			"menu.eesz.4M1M.build.flash_ld": "eagle.flash.4m1m.ld",
			"menu.eesz.4M1M.build.flash_size": "4M",
			"menu.eesz.4M1M.build.rfcal_addr": "0x3FC000",
			"menu.eesz.4M1M.build.spiffs_blocksize": "8192",
			"menu.eesz.4M1M.build.spiffs_end": "0x3FA000",
			"menu.eesz.4M1M.build.spiffs_pagesize": "256",
			"menu.eesz.4M1M.build.spiffs_start": "0x300000",
			"menu.eesz.4M2M": "4MB (FS:2MB OTA:~1019KB)",
			"menu.eesz.4M2M.build.flash_ld": "eagle.flash.4m2m.ld",
			"menu.eesz.4M2M.build.flash_size": "4M",
			"menu.eesz.4M2M.build.rfcal_addr": "0x3FC000",
			"menu.eesz.4M2M.build.spiffs_blocksize": "8192",
			"menu.eesz.4M2M.build.spiffs_end": "0x3FA000",
			"menu.eesz.4M2M.build.spiffs_pagesize": "256",
			"menu.eesz.4M2M.build.spiffs_start": "0x200000",
			"menu.eesz.4M3M": "4MB (FS:3MB OTA:~512KB)",
			"menu.eesz.4M3M.build.flash_ld": "eagle.flash.4m3m.ld",
			"menu.eesz.4M3M.build.flash_size": "4M",
			"menu.eesz.4M3M.build.rfcal_addr": "0x3FC000",
			"menu.eesz.4M3M.build.spiffs_blocksize": "8192",
			"menu.eesz.4M3M.build.spiffs_end": "0x3FA000",
			"menu.eesz.4M3M.build.spiffs_pagesize": "256",
			"menu.eesz.4M3M.build.spiffs_start": "0x100000",
			"menu.eesz.autoflash": "Mapping defined by Hardware and Sketch",
			"menu.eesz.autoflash.build.extra_flags": "-DFLASH_MAP_SUPPORT=1",
			"menu.eesz.autoflash.build.flash_ld": "eagle.flash.auto.ld",
			"menu.eesz.autoflash.build.flash_size": "16M",
			"menu.eesz.autoflash.upload.maximum_size": "1044464",
			"menu.exception.disabled": "Disabled (new aborts on oom)",
			"menu.exception.disabled.build.exception_flags": "-fno-exceptions",
			"menu.exception.disabled.build.stdcpp_lib": "-lstdc++",
			"menu.exception.enabled": "Enabled",
			"menu.exception.enabled.build.exception_flags": "-fexceptions",
			"menu.exception.enabled.build.stdcpp_lib": "-lstdc++-exc",
			"menu.ip.hb2f": "v2 Higher Bandwidth",
			"menu.ip.hb2f.build.lwip_flags": "-DLWIP_OPEN_SRC -DTCP_MSS=1460 -DLWIP_FEATURES=1 -DLWIP_IPV6=0",
			"menu.ip.hb2f.build.lwip_include": "lwip2/include",
			"menu.ip.hb2f.build.lwip_lib": "-llwip2-1460-feat",
			"menu.ip.hb2n": "v2 Higher Bandwidth (no features)",
			"menu.ip.hb2n.build.lwip_flags": "-DLWIP_OPEN_SRC -DTCP_MSS=1460 -DLWIP_FEATURES=0 -DLWIP_IPV6=0",
			"menu.ip.hb2n.build.lwip_include": "lwip2/include",
			"menu.ip.hb2n.build.lwip_lib": "-llwip2-1460",
			"menu.ip.hb6f": "v2 IPv6 Higher Bandwidth",
			"menu.ip.hb6f.build.lwip_flags": "-DLWIP_OPEN_SRC -DTCP_MSS=1460 -DLWIP_FEATURES=1 -DLWIP_IPV6=1",
			"menu.ip.hb6f.build.lwip_include": "lwip2/include",
			"menu.ip.hb6f.build.lwip_lib": "-llwip6-1460-feat",
			"menu.ip.lm2f": "v2 Lower Memory",
			"menu.ip.lm2f.build.lwip_flags": "-DLWIP_OPEN_SRC -DTCP_MSS=536 -DLWIP_FEATURES=1 -DLWIP_IPV6=0",
			"menu.ip.lm2f.build.lwip_include": "lwip2/include",
			"menu.ip.lm2f.build.lwip_lib": "-llwip2-536-feat",
			"menu.ip.lm2n": "v2 Lower Memory (no features)",
			"menu.ip.lm2n.build.lwip_flags": "-DLWIP_OPEN_SRC -DTCP_MSS=536 -DLWIP_FEATURES=0 -DLWIP_IPV6=0",
			"menu.ip.lm2n.build.lwip_include": "lwip2/include",
			"menu.ip.lm2n.build.lwip_lib": "-llwip2-536",
			"menu.ip.lm6f": "v2 IPv6 Lower Memory",
			"menu.ip.lm6f.build.lwip_flags": "-DLWIP_OPEN_SRC -DTCP_MSS=536 -DLWIP_FEATURES=1 -DLWIP_IPV6=1",
			"menu.ip.lm6f.build.lwip_include": "lwip2/include",
			"menu.ip.lm6f.build.lwip_lib": "-llwip6-536-feat",
			"menu.led.16": "16",
			"menu.led.16.build.led": "-DLED_BUILTIN=16",
			"menu.led.2": "2",
			"menu.led.2.build.led": "-DLED_BUILTIN=2",
			"menu.lvl.CORE": "CORE",
			"menu.lvl.CORE.build.debug_level": "-DDEBUG_ESP_CORE",
			"menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS": "CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS",
			"menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level": "-DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS",
			"menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT": "CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT",
			"menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level": "-DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT",
			"menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K": "CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K",
			"menu.lvl.COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level": "-DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K",
			"menu.lvl.HTTP_CLIENT": "HTTP_CLIENT",
			"menu.lvl.HTTP_CLIENT.build.debug_level": "-DDEBUG_ESP_HTTP_CLIENT",
			"menu.lvl.HTTP_CLIENTHTTP_SERVER": "HTTP_CLIENT+HTTP_SERVER",
			"menu.lvl.HTTP_CLIENTHTTP_SERVER.build.debug_level": "-DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER",
			"menu.lvl.HTTP_SERVER": "HTTP_SERVER",
			"menu.lvl.HTTP_SERVER.build.debug_level": "-DDEBUG_ESP_HTTP_SERVER",
			"menu.lvl.HTTP_UPDATE": "HTTP_UPDATE",
			"menu.lvl.HTTP_UPDATE.build.debug_level": "-DDEBUG_ESP_HTTP_UPDATE",
			"menu.lvl.HWDT": "HWDT",
			"menu.lvl.HWDT.build.debug_level": "-DDEBUG_ESP_HWDT",
			"menu.lvl.HWDT_NOEXTRA4K": "HWDT_NOEXTRA4K",
			"menu.lvl.HWDT_NOEXTRA4K.build.debug_level": "-DDEBUG_ESP_HWDT_NOEXTRA4K",
			"menu.lvl.MDNS": "MDNS",
			"menu.lvl.MDNS.build.debug_level": "-DDEBUG_ESP_MDNS",
			"menu.lvl.NoAssert-NDEBUG": "NoAssert-NDEBUG",
			"menu.lvl.NoAssert-NDEBUG.build.debug_level": "-DNDEBUG",
			"menu.lvl.None____": "None",
			"menu.lvl.None____.build.debug_level": "",
			"menu.lvl.OOM": "OOM",
			"menu.lvl.OOM.build.debug_level": "-DDEBUG_ESP_OOM",
			"menu.lvl.OTA": "OTA",
			"menu.lvl.OTA.build.debug_level": "-DDEBUG_ESP_OTA",
			"menu.lvl.SSL": "SSL",
			"menu.lvl.SSL.build.debug_level": "-DDEBUG_ESP_SSL",
			"menu.lvl.SSLHTTP_CLIENT": "SSL+HTTP_CLIENT",
			"menu.lvl.SSLHTTP_CLIENT.build.debug_level": "-DDEBUG_ESP_SSL -DDEBUG_ESP_HTTP_CLIENT",
			"menu.lvl.SSLHTTP_CLIENTHTTP_SERVER": "SSL+HTTP_CLIENT+HTTP_SERVER",
			"menu.lvl.SSLHTTP_CLIENTHTTP_SERVER.build.debug_level": "-DDEBUG_ESP_SSL -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER",
			"menu.lvl.SSLHTTP_SERVER": "SSL+HTTP_SERVER",
			"menu.lvl.SSLHTTP_SERVER.build.debug_level": "-DDEBUG_ESP_SSL -DDEBUG_ESP_HTTP_SERVER",
			"menu.lvl.SSLTLS_MEM": "SSL+TLS_MEM",
			"menu.lvl.SSLTLS_MEM.build.debug_level": "-DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM",
			"menu.lvl.SSLTLS_MEMHTTP_CLIENT": "SSL+TLS_MEM+HTTP_CLIENT",
			"menu.lvl.SSLTLS_MEMHTTP_CLIENT.build.debug_level": "-DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT",
			"menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVER": "SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER",
			"menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVER.build.debug_level": "-DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER",
			"menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS": "SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS",
			"menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS.build.debug_level": "-DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS",
			"menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT": "SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT",
			"menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT.build.debug_level": "-DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT",
			"menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K": "SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K",
			"menu.lvl.SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K.build.debug_level": "-DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_ESP_OOM -DDEBUG_ESP_MDNS -DDEBUG_ESP_HWDT_NOEXTRA4K",
			"menu.lvl.SSLTLS_MEMHTTP_SERVER": "SSL+TLS_MEM+HTTP_SERVER",
			"menu.lvl.SSLTLS_MEMHTTP_SERVER.build.debug_level": "-DDEBUG_ESP_SSL -DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_SERVER",
			"menu.lvl.TLS_MEM": "TLS_MEM",
			"menu.lvl.TLS_MEM.build.debug_level": "-DDEBUG_ESP_TLS_MEM",
			"menu.lvl.TLS_MEMHTTP_CLIENT": "TLS_MEM+HTTP_CLIENT",
			"menu.lvl.TLS_MEMHTTP_CLIENT.build.debug_level": "-DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT",
			"menu.lvl.TLS_MEMHTTP_CLIENTHTTP_SERVER": "TLS_MEM+HTTP_CLIENT+HTTP_SERVER",
			"menu.lvl.TLS_MEMHTTP_CLIENTHTTP_SERVER.build.debug_level": "-DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_SERVER",
			"menu.lvl.TLS_MEMHTTP_SERVER": "TLS_MEM+HTTP_SERVER",
			"menu.lvl.TLS_MEMHTTP_SERVER.build.debug_level": "-DDEBUG_ESP_TLS_MEM -DDEBUG_ESP_HTTP_SERVER",
			"menu.lvl.UPDATER": "UPDATER",
			"menu.lvl.UPDATER.build.debug_level": "-DDEBUG_ESP_UPDATER",
			"menu.lvl.WIFI": "WIFI",
			"menu.lvl.WIFI.build.debug_level": "-DDEBUG_ESP_WIFI",
			"menu.mmu.3216": "16KB cache + 32KB IRAM + 16KB 2nd Heap (not shared)",
			"menu.mmu.3216.build.mmuflags": "-DMMU_IRAM_SIZE=0x8000 -DMMU_ICACHE_SIZE=0x4000 -DMMU_SEC_HEAP=0x40108000 -DMMU_SEC_HEAP_SIZE=0x4000",
			"menu.mmu.3232": "32KB cache + 32KB IRAM (balanced)",
			"menu.mmu.3232.build.mmuflags": "-DMMU_IRAM_SIZE=0x8000 -DMMU_ICACHE_SIZE=0x8000",
			"menu.mmu.4816": "16KB cache + 48KB IRAM (IRAM)",
			"menu.mmu.4816.build.mmuflags": "-DMMU_IRAM_SIZE=0xC000 -DMMU_ICACHE_SIZE=0x4000",
			"menu.mmu.4816H": "16KB cache + 48KB IRAM and 2nd Heap (shared)",
			"menu.mmu.4816H.build.mmuflags": "-DMMU_IRAM_SIZE=0xC000 -DMMU_ICACHE_SIZE=0x4000 -DMMU_IRAM_HEAP",
			"menu.mmu.ext128k": "128K Heap External 23LC1024",
			"menu.mmu.ext128k.build.mmuflags": "-DMMU_EXTERNAL_HEAP=128 -DMMU_IRAM_SIZE=0x8000 -DMMU_ICACHE_SIZE=0x8000",
			"menu.mmu.ext8192k": "8M w/256K Heap External 64 MBit PSRAM",
			"menu.mmu.ext8192k.build.mmuflags": "-DMMU_EXTERNAL_HEAP=256 -DMMU_IRAM_SIZE=0x8000 -DMMU_ICACHE_SIZE=0x8000",
			"menu.non32xfer.fast": "Use pgm_read macros for IRAM/PROGMEM",
			"menu.non32xfer.fast.build.non32xferflags": "",
			"menu.non32xfer.safe": "Byte/Word access to IRAM/PROGMEM (very slow)",
			"menu.non32xfer.safe.build.non32xferflags": "-DNON32XFER_HANDLER",
			"menu.optim.Full": "Optimum",
			"menu.optim.Full.build.debug_optim": "-Og",
			"menu.optim.Lite": "Lite",
			"menu.optim.Lite.build.debug_optim": "-Os -fno-optimize-sibling-calls",
			"menu.optim.Smallest": "None",
			"menu.optim.Smallest.build.debug_optim": "-Os",
			"menu.ssl.all": "All SSL ciphers (most compatible)",
			"menu.ssl.all.build.sslflags": "",
			"menu.ssl.basic": "Basic SSL ciphers (lower ROM use)",
			"menu.ssl.basic.build.sslflags": "-DBEARSSL_SSL_BASIC",
			"menu.stacksmash.disabled": "Disabled",
			"menu.stacksmash.disabled.build.stacksmash_flags": "",
			"menu.stacksmash.enabled": "Enabled",
			"menu.stacksmash.enabled.build.stacksmash_flags": "-fstack-protector",
			"menu.vt.flash": "Flash",
			"menu.vt.flash.build.vtable_flags": "-DVTABLES_IN_FLASH",
			"menu.vt.heap": "Heap",
			"menu.vt.heap.build.vtable_flags": "-DVTABLES_IN_DRAM",
			"menu.vt.iram": "IRAM",
			"menu.vt.iram.build.vtable_flags": "-DVTABLES_IN_IRAM",
			"menu.wipe.all": "All Flash Contents",
			"menu.wipe.all.upload.erase_cmd": "erase_flash",
			"menu.wipe.none": "Only Sketch",
			"menu.wipe.none.upload.erase_cmd": "",
			"menu.wipe.sdk": "Sketch + WiFi Settings",
			"menu.wipe.sdk.upload.erase_cmd": "erase_region \"0x3FC000\" 0x4000",
			"menu.xtal.160": "160 MHz",
			"menu.xtal.160.build.f_cpu": "160000000L",
			"menu.xtal.80": "80 MHz",
			"menu.xtal.80.build.f_cpu": "80000000L",
			"mkbuildoptglobals.extra_flags": "",
			"monitor_port.serial.dtr": "off",
			"monitor_port.serial.rts": "off",
			"name": "NodeMCU 1.0 (ESP-12E Module)",
			"pluggable_discovery.required.0": "builtin:serial-discovery",
			"pluggable_discovery.required.1": "builtin:mdns-discovery",
			"pluggable_monitor.required.serial": "builtin:serial-monitor",
			"recipe.S.o.pattern": "\"C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\xtensa-lx106-elf-gcc\\3.1.0-gcc10.3-e5f9fec/bin/xtensa-lx106-elf-gcc\" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ -D_GNU_SOURCE -DESP8266 -Os \"@D:\\temp\\arduino\\sketches\\0FC4F4D26E59E77276FC5A3C9EC89556/core/build.opt\" \"-IC:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/sdk/include\" \"-IC:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/sdk/lwip2/include\" \"-IC:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/sdk/libc/xtensa-lx106-elf/include\" \"-ID:\\temp\\arduino\\sketches\\0FC4F4D26E59E77276FC5A3C9EC89556/core\" -c -g -x assembler-with-cpp -MMD -mlongcalls \"-IC:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\xtensa-lx106-elf-gcc\\3.1.0-gcc10.3-e5f9fec/include/\" -DNONOSDK22x_190703=1 -DF_CPU=80000000L -DLWIP_OPEN_SRC -DTCP_MSS=536 -DLWIP_FEATURES=1 -DLWIP_IPV6=0   -DARDUINO=10607 -DARDUINO_ESP8266_NODEMCU_ESP12E -DARDUINO_ARCH_ESP8266 -DARDUINO_BOARD=\"ESP8266_NODEMCU_ESP12E\" -DARDUINO_BOARD_ID=\"nodemcuv2\" -DLED_BUILTIN=2 -DFLASHMODE_DIO   {includes} \"{source_file}\" -o \"{object_file}\"",
			"recipe.ar.pattern": "\"C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\xtensa-lx106-elf-gcc\\3.1.0-gcc10.3-e5f9fec/bin/xtensa-lx106-elf-ar\" cru  \"{archive_file_path}\" \"{object_file}\"",
			"recipe.c.combine.pattern": "\"C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\xtensa-lx106-elf-gcc\\3.1.0-gcc10.3-e5f9fec/bin/xtensa-lx106-elf-gcc\" -fno-exceptions -Wl,-Map \"-Wl,D:\\temp\\arduino\\sketches\\0FC4F4D26E59E77276FC5A3C9EC89556/DIY-Filament-Dryer.ino.map\" -g \"@C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/warnings/none-cflags\" -nostdlib -Wl,--no-check-sections -u app_entry -u _printf_float -u _scanf_float -Wl,-static \"-LC:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/sdk/lib\" \"-LC:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/sdk/lib/NONOSDK22x_190703\" \"-LD:\\temp\\arduino\\sketches\\0FC4F4D26E59E77276FC5A3C9EC89556\" \"-LC:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/sdk/libc/xtensa-lx106-elf/lib\" \"-Tlocal.eagle.flash.ld\" -Wl,--gc-sections -Wl,-wrap,system_restart_local -Wl,-wrap,spi_flash_read  -o \"D:\\temp\\arduino\\sketches\\0FC4F4D26E59E77276FC5A3C9EC89556/DIY-Filament-Dryer.ino.elf\" -Wl,--start-group {object_files} \"{archive_file_path}\" -lhal -lphy -lpp -lnet80211 -llwip2-536-feat -lwpa -lcrypto -lmain -lwps -lbearssl -lespnow -lsmartconfig -lairkiss -lwpa2 -lstdc++ -lm -lc -lgcc  -Wl,--end-group \"-LD:\\temp\\arduino\\sketches\\0FC4F4D26E59E77276FC5A3C9EC89556\"",
			"recipe.c.o.pattern": "\"C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\xtensa-lx106-elf-gcc\\3.1.0-gcc10.3-e5f9fec/bin/xtensa-lx106-elf-gcc\" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ -D_GNU_SOURCE -DESP8266 -Os \"@D:\\temp\\arduino\\sketches\\0FC4F4D26E59E77276FC5A3C9EC89556/core/build.opt\" \"-IC:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/sdk/include\" \"-IC:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/sdk/lwip2/include\" \"-IC:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/sdk/libc/xtensa-lx106-elf/include\" \"-ID:\\temp\\arduino\\sketches\\0FC4F4D26E59E77276FC5A3C9EC89556/core\" -c \"@C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/warnings/none-cflags\" -std=gnu17  -g -free -fipa-pta -Werror=return-type -Wpointer-arith -Wno-implicit-function-declaration -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -falign-functions=4 -MMD -ffunction-sections -fdata-sections -fno-exceptions  -DMMU_IRAM_SIZE=0x8000 -DMMU_ICACHE_SIZE=0x8000  -DNONOSDK22x_190703=1 -DF_CPU=80000000L -DLWIP_OPEN_SRC -DTCP_MSS=536 -DLWIP_FEATURES=1 -DLWIP_IPV6=0   -DARDUINO=10607 -DARDUINO_ESP8266_NODEMCU_ESP12E -DARDUINO_ARCH_ESP8266 -DARDUINO_BOARD=\"ESP8266_NODEMCU_ESP12E\" -DARDUINO_BOARD_ID=\"nodemcuv2\" -DLED_BUILTIN=2 -DFLASHMODE_DIO   {includes} \"{source_file}\" -o \"{object_file}\"",
			"recipe.cpp.o.pattern": "\"C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\xtensa-lx106-elf-gcc\\3.1.0-gcc10.3-e5f9fec/bin/xtensa-lx106-elf-g++\" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ -D_GNU_SOURCE -DESP8266 -Os \"@D:\\temp\\arduino\\sketches\\0FC4F4D26E59E77276FC5A3C9EC89556/core/build.opt\" \"-IC:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/sdk/include\" \"-IC:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/sdk/lwip2/include\" \"-IC:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/sdk/libc/xtensa-lx106-elf/include\" \"-ID:\\temp\\arduino\\sketches\\0FC4F4D26E59E77276FC5A3C9EC89556/core\" -c \"@C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/warnings/none-cppflags\"  -g -free -fipa-pta -Werror=return-type -mlongcalls -mtext-section-literals -fno-rtti -falign-functions=4 -std=gnu++17 -MMD -ffunction-sections -fdata-sections -fno-exceptions  -DMMU_IRAM_SIZE=0x8000 -DMMU_ICACHE_SIZE=0x8000  -DNONOSDK22x_190703=1 -DF_CPU=80000000L -DLWIP_OPEN_SRC -DTCP_MSS=536 -DLWIP_FEATURES=1 -DLWIP_IPV6=0   -DARDUINO=10607 -DARDUINO_ESP8266_NODEMCU_ESP12E -DARDUINO_ARCH_ESP8266 -DARDUINO_BOARD=\"ESP8266_NODEMCU_ESP12E\" -DARDUINO_BOARD_ID=\"nodemcuv2\" -DLED_BUILTIN=2 -DFLASHMODE_DIO   {includes} \"{source_file}\" -o \"{object_file}\"",
			"recipe.hooks.linking.prelink.1.pattern": "\"C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\python3\\3.7.2-post1/python3\" -I \"C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/mkdir.py\" -p \"D:\\temp\\arduino\\sketches\\0FC4F4D26E59E77276FC5A3C9EC89556/ld_h/\"",
			"recipe.hooks.linking.prelink.2.pattern": "\"C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\python3\\3.7.2-post1/python3\" -I \"C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/cp.py\" \"C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/sdk/ld/eagle.flash.4m2m.ld\" \"D:\\temp\\arduino\\sketches\\0FC4F4D26E59E77276FC5A3C9EC89556/ld_h/local.eagle.flash.ld.h\"",
			"recipe.hooks.linking.prelink.3.pattern": "\"C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\xtensa-lx106-elf-gcc\\3.1.0-gcc10.3-e5f9fec/bin/xtensa-lx106-elf-gcc\" -CC -E -P -DVTABLES_IN_FLASH -DMMU_IRAM_SIZE=0x8000 -DMMU_ICACHE_SIZE=0x8000 \"D:\\temp\\arduino\\sketches\\0FC4F4D26E59E77276FC5A3C9EC89556/ld_h/local.eagle.flash.ld.h\" -o \"D:\\temp\\arduino\\sketches\\0FC4F4D26E59E77276FC5A3C9EC89556/local.eagle.flash.ld\"",
			"recipe.hooks.linking.prelink.4.pattern": "\"C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\xtensa-lx106-elf-gcc\\3.1.0-gcc10.3-e5f9fec/bin/xtensa-lx106-elf-gcc\" -CC -E -P -DVTABLES_IN_FLASH -DMMU_IRAM_SIZE=0x8000 -DMMU_ICACHE_SIZE=0x8000 \"C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/sdk/ld/eagle.app.v6.common.ld.h\" -o \"D:\\temp\\arduino\\sketches\\0FC4F4D26E59E77276FC5A3C9EC89556/local.eagle.app.v6.common.ld\"",
			"recipe.hooks.prebuild.1.pattern": "\"C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\python3\\3.7.2-post1/python3\" -I \"C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/makecorever.py\" --build_path \"D:\\temp\\arduino\\sketches\\0FC4F4D26E59E77276FC5A3C9EC89556\" --platform_path \"C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266\" --version \"3.2.0-dev\"",
			"recipe.hooks.prebuild.2.pattern": "\"C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\python3\\3.7.2-post1/python3\" -I \"C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/mkbuildoptglobals.py\" \"C:\\Program Files\\Arduino IDE\\resources\\app\\lib\\backend\\resources\" 10607 \"D:\\temp\\arduino\\sketches\\0FC4F4D26E59E77276FC5A3C9EC89556\" \"D:\\temp\\arduino\\sketches\\0FC4F4D26E59E77276FC5A3C9EC89556/core/build.opt\" \"Z:\\Development\\Dryer\\DIY-Filament-Dryer/DIY-Filament-Dryer.ino.globals.h\" \"C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266\\cores\\esp8266/CommonHFile.h\" ",
			"recipe.hooks.sketch.prebuild.pattern": "\"C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\python3\\3.7.2-post1/python3\" -I \"C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/signing.py\" --mode header --publickey \"Z:\\Development\\Dryer\\DIY-Filament-Dryer/public.key\" --out \"D:\\temp\\arduino\\sketches\\0FC4F4D26E59E77276FC5A3C9EC89556/core/Updater_Signing.h\"",
			"recipe.objcopy.eep.pattern": "",
			"recipe.objcopy.hex.1.pattern": "\"C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\python3\\3.7.2-post1/python3\" -I \"C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/elf2bin.py\" --eboot \"C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/bootloaders/eboot/eboot.elf\" --app \"D:\\temp\\arduino\\sketches\\0FC4F4D26E59E77276FC5A3C9EC89556/DIY-Filament-Dryer.ino.elf\" --flash_mode dio --flash_freq 40 --flash_size 4M --path \"C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\xtensa-lx106-elf-gcc\\3.1.0-gcc10.3-e5f9fec/bin\" --out \"D:\\temp\\arduino\\sketches\\0FC4F4D26E59E77276FC5A3C9EC89556/DIY-Filament-Dryer.ino.bin\"",
			"recipe.objcopy.hex.2.pattern": "\"C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\python3\\3.7.2-post1/python3\" -I \"C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/signing.py\" --mode sign --privatekey \"Z:\\Development\\Dryer\\DIY-Filament-Dryer/private.key\" --bin \"D:\\temp\\arduino\\sketches\\0FC4F4D26E59E77276FC5A3C9EC89556/DIY-Filament-Dryer.ino.bin\" --out \"D:\\temp\\arduino\\sketches\\0FC4F4D26E59E77276FC5A3C9EC89556/DIY-Filament-Dryer.ino.bin.signed\" --legacy \"D:\\temp\\arduino\\sketches\\0FC4F4D26E59E77276FC5A3C9EC89556/DIY-Filament-Dryer.ino.bin.legacy_sig\"",
			"recipe.objcopy.hex.3.pattern": "\"C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\python3\\3.7.2-post1/python3\" -X utf8 -I \"C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/sizes.py\" --elf \"D:\\temp\\arduino\\sketches\\0FC4F4D26E59E77276FC5A3C9EC89556/DIY-Filament-Dryer.ino.elf\" --path \"C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\xtensa-lx106-elf-gcc\\3.1.0-gcc10.3-e5f9fec/bin\" --mmu \"-DMMU_IRAM_SIZE=0x8000 -DMMU_ICACHE_SIZE=0x8000\"",
			"recipe.output.save_file": "DIY-Filament-Dryer.ino.nodemcu.bin",
			"recipe.output.tmp_file": "DIY-Filament-Dryer.ino.bin",
			"recipe.size.pattern": "\"C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\xtensa-lx106-elf-gcc\\3.1.0-gcc10.3-e5f9fec/bin/xtensa-lx106-elf-size\" -A \"D:\\temp\\arduino\\sketches\\0FC4F4D26E59E77276FC5A3C9EC89556/DIY-Filament-Dryer.ino.elf\"",
			"recipe.size.regex": "^(?:\\.irom0\\.text|\\.text|\\.text1|\\.data|\\.rodata|)\\s+([0-9]+).*",
			"recipe.size.regex.data": "^(?:\\.data|\\.rodata|\\.bss)\\s+([0-9]+).*",
			"runtime.hardware.path": "C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com",
			"runtime.ide.path": "C:\\Program Files\\Arduino IDE\\resources\\app\\lib\\backend\\resources",
			"runtime.ide.version": "10607",
			"runtime.os": "windows",
			"runtime.platform.path": "C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266",
			"runtime.tools.arduinoOTA-1.3.0.path": "C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\arduinoOTA\\1.3.0",
			"runtime.tools.arduinoOTA.path": "C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\arduinoOTA\\1.3.0",
			"runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino7.path": "C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7",
			"runtime.tools.avr-gcc.path": "C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7",
			"runtime.tools.avrdude-6.3.0-arduino17.path": "C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avrdude\\6.3.0-arduino17",
			"runtime.tools.avrdude.path": "C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avrdude\\6.3.0-arduino17",
			"runtime.tools.cp": "C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/cp.py",
			"runtime.tools.ctags-5.8-arduino11.path": "C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\builtin\\tools\\ctags\\5.8-arduino11",
			"runtime.tools.ctags.path": "C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\builtin\\tools\\ctags\\5.8-arduino11",
			"runtime.tools.dfu-discovery-0.1.2.path": "C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\builtin\\tools\\dfu-discovery\\0.1.2",
			"runtime.tools.dfu-discovery.path": "C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\builtin\\tools\\dfu-discovery\\0.1.2",
			"runtime.tools.dfu-util-0.11.0-arduino5.path": "C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\dfu-util\\0.11.0-arduino5",
			"runtime.tools.dfu-util.path": "C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\dfu-util\\0.11.0-arduino5",
			"runtime.tools.eboot": "C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/bootloaders/eboot/eboot.elf",
			"runtime.tools.elf2bin": "C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/elf2bin.py",
			"runtime.tools.esptool.path": "C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/esptool",
			"runtime.tools.esptool_py-4.5.1.path": "C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\esptool_py\\4.5.1",
			"runtime.tools.esptool_py.path": "C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\esptool_py\\4.5.1",
			"runtime.tools.makecorever": "C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/makecorever.py",
			"runtime.tools.mdns-discovery-1.0.2.path": "C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\builtin\\tools\\mdns-discovery\\1.0.2",
			"runtime.tools.mdns-discovery-1.0.6.path": "C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\builtin\\tools\\mdns-discovery\\1.0.6",
			"runtime.tools.mdns-discovery-1.0.9.path": "C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\builtin\\tools\\mdns-discovery\\1.0.9",
			"runtime.tools.mdns-discovery.path": "C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\builtin\\tools\\mdns-discovery\\1.0.9",
			"runtime.tools.mkbuildoptglobals": "C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/mkbuildoptglobals.py",
			"runtime.tools.mkdir": "C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/mkdir.py",
			"runtime.tools.mklittlefs-3.0.0-gnu12-dc7f933.path": "C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\mklittlefs\\3.0.0-gnu12-dc7f933",
			"runtime.tools.mklittlefs-3.1.0-gcc10.3-e5f9fec.path": "C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\mklittlefs\\3.1.0-gcc10.3-e5f9fec",
			"runtime.tools.mklittlefs.path": "C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\mklittlefs\\3.1.0-gcc10.3-e5f9fec",
			"runtime.tools.mkspiffs-0.2.3.path": "C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\mkspiffs\\0.2.3",
			"runtime.tools.mkspiffs-3.1.0-gcc10.3-e5f9fec.path": "C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\mkspiffs\\3.1.0-gcc10.3-e5f9fec",
			"runtime.tools.mkspiffs.path": "C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\mkspiffs\\3.1.0-gcc10.3-e5f9fec",
			"runtime.tools.openocd-esp32-v0.11.0-esp32-20221026.path": "C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\openocd-esp32\\v0.11.0-esp32-20221026",
			"runtime.tools.openocd-esp32.path": "C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\openocd-esp32\\v0.11.0-esp32-20221026",
			"runtime.tools.python3-3.7.2-post1.path": "C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\python3\\3.7.2-post1",
			"runtime.tools.python3.path": "C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\python3\\3.7.2-post1",
			"runtime.tools.riscv32-esp-elf-gcc-esp-2021r2-patch5-8.4.0.path": "C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\riscv32-esp-elf-gcc\\esp-2021r2-patch5-8.4.0",
			"runtime.tools.riscv32-esp-elf-gcc.path": "C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\riscv32-esp-elf-gcc\\esp-2021r2-patch5-8.4.0",
			"runtime.tools.riscv32-esp-elf-gdb-11.2_20220823.path": "C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\riscv32-esp-elf-gdb\\11.2_20220823",
			"runtime.tools.riscv32-esp-elf-gdb.path": "C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\riscv32-esp-elf-gdb\\11.2_20220823",
			"runtime.tools.serial-discovery-1.2.1.path": "C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\builtin\\tools\\serial-discovery\\1.2.1",
			"runtime.tools.serial-discovery-1.3.1.path": "C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\builtin\\tools\\serial-discovery\\1.3.1",
			"runtime.tools.serial-discovery-1.3.2.path": "C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\builtin\\tools\\serial-discovery\\1.3.2",
			"runtime.tools.serial-discovery-1.4.0.path": "C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\builtin\\tools\\serial-discovery\\1.4.0",
			"runtime.tools.serial-discovery.path": "C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\builtin\\tools\\serial-discovery\\1.4.0",
			"runtime.tools.serial-monitor-0.10.0.path": "C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\builtin\\tools\\serial-monitor\\0.10.0",
			"runtime.tools.serial-monitor-0.13.0.path": "C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\builtin\\tools\\serial-monitor\\0.13.0",
			"runtime.tools.serial-monitor-0.9.1.path": "C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\builtin\\tools\\serial-monitor\\0.9.1",
			"runtime.tools.serial-monitor.path": "C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\builtin\\tools\\serial-monitor\\0.13.0",
			"runtime.tools.signing": "C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/signing.py",
			"runtime.tools.sizes": "C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/sizes.py",
			"runtime.tools.xtensa-esp-elf-gdb-11.2_20220823.path": "C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\xtensa-esp-elf-gdb\\11.2_20220823",
			"runtime.tools.xtensa-esp-elf-gdb.path": "C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\xtensa-esp-elf-gdb\\11.2_20220823",
			"runtime.tools.xtensa-esp32-elf-gcc-esp-2021r2-patch5-8.4.0.path": "C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\xtensa-esp32-elf-gcc\\esp-2021r2-patch5-8.4.0",
			"runtime.tools.xtensa-esp32-elf-gcc.path": "C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\xtensa-esp32-elf-gcc\\esp-2021r2-patch5-8.4.0",
			"runtime.tools.xtensa-esp32s2-elf-gcc-esp-2021r2-patch5-8.4.0.path": "C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\xtensa-esp32s2-elf-gcc\\esp-2021r2-patch5-8.4.0",
			"runtime.tools.xtensa-esp32s2-elf-gcc.path": "C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\xtensa-esp32s2-elf-gcc\\esp-2021r2-patch5-8.4.0",
			"runtime.tools.xtensa-esp32s3-elf-gcc-esp-2021r2-patch5-8.4.0.path": "C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\xtensa-esp32s3-elf-gcc\\esp-2021r2-patch5-8.4.0",
			"runtime.tools.xtensa-esp32s3-elf-gcc.path": "C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\xtensa-esp32s3-elf-gcc\\esp-2021r2-patch5-8.4.0",
			"runtime.tools.xtensa-lx106-elf-gcc-3.1.0-gcc10.3-e5f9fec.path": "C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\xtensa-lx106-elf-gcc\\3.1.0-gcc10.3-e5f9fec",
			"runtime.tools.xtensa-lx106-elf-gcc.path": "C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\xtensa-lx106-elf-gcc\\3.1.0-gcc10.3-e5f9fec",
			"serial.disableDTR": "true",
			"serial.disableRTS": "true",
			"software": "ARDUINO",
			"tools.avrdude.path": "C:\\Users\\Niko\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avrdude\\6.3.0-arduino17",
			"tools.esptool.cmd": "C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/python3/python3",
			"tools.esptool.network_cmd": "C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/python3/python3",
			"tools.esptool.path": "",
			"tools.esptool.upload.network_pattern": "\"{network_cmd}\" -I \"C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/espota.py\" -i \"{serial.port}\" -p \"{network.port}\" \"--auth={network.password}\" -f \"D:\\temp\\arduino\\sketches\\0FC4F4D26E59E77276FC5A3C9EC89556/DIY-Filament-Dryer.ino.bin\"",
			"tools.esptool.upload.params.quiet": "",
			"tools.esptool.upload.params.verbose": "",
			"tools.esptool.upload.pattern": "\"{cmd}\" -I \"C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/upload.py\" --chip esp8266 --port \"{serial.port}\" --baud \"115200\" \"{upload.verbose}\"  --before default_reset --after hard_reset write_flash 0x0 \"D:\\temp\\arduino\\sketches\\0FC4F4D26E59E77276FC5A3C9EC89556/DIY-Filament-Dryer.ino.bin\"",
			"tools.esptool.upload.protocol": "esp",
			"tools.esptool__pluggable_network.cmd": "C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/python3/python3",
			"tools.esptool__pluggable_network.network_cmd": "C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/python3/python3",
			"tools.esptool__pluggable_network.path": "",
			"tools.esptool__pluggable_network.upload.field.password": "Password",
			"tools.esptool__pluggable_network.upload.field.password.secret": "true",
			"tools.esptool__pluggable_network.upload.params.quiet": "",
			"tools.esptool__pluggable_network.upload.params.verbose": "",
			"tools.esptool__pluggable_network.upload.pattern": "\"{network_cmd}\" -I \"C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/espota.py\" -i \"{upload.port.address}\" -p \"{upload.port.properties.port}\" \"--auth={upload.field.password}\" -f \"D:\\temp\\arduino\\sketches\\0FC4F4D26E59E77276FC5A3C9EC89556/DIY-Filament-Dryer.ino.bin\"",
			"tools.esptool__pluggable_network.upload.protocol": "esp",
			"tools.mklittlefs.cmd": "mklittlefs.exe",
			"tools.mklittlefs.path": "C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/mklittlefs",
			"tools.mkspiffs.cmd": "mkspiffs.exe",
			"tools.mkspiffs.path": "C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266/tools/mkspiffs",
			"upload.erase_cmd": "",
			"upload.maximum_data_size": "81920",
			"upload.resetmethod": "--before default_reset --after hard_reset",
			"upload.speed": "115200",
			"upload.tool": "esptool",
			"upload.tool.default": "esptool",
			"upload.tool.network": "esptool__pluggable_network",
			"upload.wait_for_upload_port": "true",
			"upload_port.0.board": "nodemcuv2",
			"version": "3.2.0-dev"
		},
		"executableSectionsSize": [],
		"buildPlatform": {
			"id": "esp8266com:esp8266",
			"version": "3.2.0-dev",
			"installDir": "C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266",
			"packageUrl": ""
		},
		"usedLibraries": [
			{
				"name": "DHTStable",
				"author": "Rob Tillaart <[email protected]>",
				"maintainer": "Rob Tillaart <[email protected]>",
				"sentence": "Stable version of library for DHT Temperature & Humidity Sensor",
				"paragraph": "DHT11 and DHT22 and equivalent.",
				"website": "https://github.com/RobTillaart/DHTstable",
				"category": "Sensors",
				"installDir": "C:\\Users\\Niko\\Documents\\Arduino\\libraries\\DHTStable",
				"sourceDir": "c:\\Users\\Niko\\Documents\\Arduino\\libraries\\DHTStable",
				"utilityDir": "",
				"containerPlatform": "",
				"dotALinkage": false,
				"precompiled": false,
				"ldFlags": "",
				"isLegacy": false,
				"version": "1.1.2",
				"license": "Unspecified",
				"location": 1,
				"layout": 0,
				"inDevelopment": false,
				"architectures": [
					"*"
				],
				"types": [],
				"examples": [
					"C:\\Users\\Niko\\Documents\\Arduino\\libraries\\DHTStable\\examples\\dht11_test",
					"C:\\Users\\Niko\\Documents\\Arduino\\libraries\\DHTStable\\examples\\dht11_two",
					"C:\\Users\\Niko\\Documents\\Arduino\\libraries\\DHTStable\\examples\\dht12_test",
					"C:\\Users\\Niko\\Documents\\Arduino\\libraries\\DHTStable\\examples\\dht22_test"
				],
				"providesIncludes": [
					"DHTStable.h"
				],
				"properties": {},
				"compatibleWith": {}
			},
			{
				"name": "ESP Async WebServer",
				"author": "Me-No-Dev",
				"maintainer": "Me-No-Dev",
				"sentence": "Async Web Server for ESP8266 and ESP31B",
				"paragraph": "Async Web Server for ESP8266 and ESP31B",
				"website": "https://github.com/me-no-dev/ESPAsyncWebServer",
				"category": "Other",
				"installDir": "C:\\Users\\Niko\\Documents\\Arduino\\libraries\\ESPAsyncWebServer",
				"sourceDir": "c:\\Users\\Niko\\Documents\\Arduino\\libraries\\ESPAsyncWebServer\\src",
				"utilityDir": "",
				"containerPlatform": "",
				"dotALinkage": false,
				"precompiled": false,
				"ldFlags": "",
				"isLegacy": false,
				"version": "1.2.3",
				"license": "Unspecified",
				"location": 1,
				"layout": 1,
				"inDevelopment": false,
				"architectures": [
					"*"
				],
				"types": [],
				"examples": [
					"C:\\Users\\Niko\\Documents\\Arduino\\libraries\\ESPAsyncWebServer\\examples\\CaptivePortal",
					"C:\\Users\\Niko\\Documents\\Arduino\\libraries\\ESPAsyncWebServer\\examples\\ESP_AsyncFSBrowser",
					"C:\\Users\\Niko\\Documents\\Arduino\\libraries\\ESPAsyncWebServer\\examples\\regex_patterns",
					"C:\\Users\\Niko\\Documents\\Arduino\\libraries\\ESPAsyncWebServer\\examples\\simple_server"
				],
				"providesIncludes": [
					"AsyncEventSource.h",
					"AsyncJson.h",
					"AsyncWebSocket.h",
					"AsyncWebSynchronization.h",
					"ESPAsyncWebServer.h",
					"SPIFFSEditor.h",
					"StringArray.h",
					"WebAuthentication.h",
					"WebHandlerImpl.h",
					"WebResponseImpl.h"
				],
				"properties": {},
				"compatibleWith": {}
			},
			{
				"name": "ESP8266WiFi",
				"author": "Ivan Grokhotkov",
				"maintainer": "Ivan Grokhtkov <[email protected]>",
				"sentence": "Enables network connection (local and Internet) using the ESP8266 built-in WiFi.",
				"paragraph": "With this library you can instantiate Servers, Clients and send/receive UDP packets through WiFi. The shield can connect either to open or encrypted networks (WEP, WPA). The IP address can be assigned statically or through a DHCP. The library can also manage DNS.",
				"website": "",
				"category": "Communication",
				"installDir": "C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266\\libraries\\ESP8266WiFi",
				"sourceDir": "C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266\\libraries\\ESP8266WiFi\\src",
				"utilityDir": "",
				"containerPlatform": "esp8266com:[email protected]",
				"dotALinkage": true,
				"precompiled": false,
				"ldFlags": "",
				"isLegacy": false,
				"version": "1.0",
				"license": "Unspecified",
				"location": 2,
				"layout": 1,
				"inDevelopment": false,
				"architectures": [
					"esp8266"
				],
				"types": [],
				"examples": [
					"C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266\\libraries\\ESP8266WiFi\\examples\\BearSSL_CertStore",
					"C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266\\libraries\\ESP8266WiFi\\examples\\BearSSL_MaxFragmentLength",
					"C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266\\libraries\\ESP8266WiFi\\examples\\BearSSL_Server",
					"C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266\\libraries\\ESP8266WiFi\\examples\\BearSSL_ServerClientCert",
					"C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266\\libraries\\ESP8266WiFi\\examples\\BearSSL_Sessions",
					"C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266\\libraries\\ESP8266WiFi\\examples\\BearSSL_Validation",
					"C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266\\libraries\\ESP8266WiFi\\examples\\CustomOffer",
					"C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266\\libraries\\ESP8266WiFi\\examples\\HTTPSRequest",
					"C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266\\libraries\\ESP8266WiFi\\examples\\IPv6",
					"C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266\\libraries\\ESP8266WiFi\\examples\\NTPClient",
					"C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266\\libraries\\ESP8266WiFi\\examples\\PagerServer",
					"C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266\\libraries\\ESP8266WiFi\\examples\\RangeExtender-NAPT",
					"C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266\\libraries\\ESP8266WiFi\\examples\\StaticLease",
					"C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266\\libraries\\ESP8266WiFi\\examples\\Udp",
					"C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266\\libraries\\ESP8266WiFi\\examples\\WiFiAccessPoint",
					"C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266\\libraries\\ESP8266WiFi\\examples\\WiFiClient",
					"C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266\\libraries\\ESP8266WiFi\\examples\\WiFiClientBasic",
					"C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266\\libraries\\ESP8266WiFi\\examples\\WiFiEcho",
					"C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266\\libraries\\ESP8266WiFi\\examples\\WiFiEvents",
					"C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266\\libraries\\ESP8266WiFi\\examples\\WiFiManualWebServer",
					"C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266\\libraries\\ESP8266WiFi\\examples\\WiFiMulti",
					"C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266\\libraries\\ESP8266WiFi\\examples\\WiFiScan",
					"C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266\\libraries\\ESP8266WiFi\\examples\\WiFiShutdown",
					"C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266\\libraries\\ESP8266WiFi\\examples\\WiFiTelnetToSerial"
				],
				"providesIncludes": [
					"ArduinoWiFiServer.h",
					"BearSSLHelpers.h",
					"CertStoreBearSSL.h",
					"ESP8266WiFi.h",
					"ESP8266WiFiAP.h",
					"ESP8266WiFiGeneric.h",
					"ESP8266WiFiGratuitous.h",
					"ESP8266WiFiMulti.h",
					"ESP8266WiFiSTA.h",
					"ESP8266WiFiScan.h",
					"ESP8266WiFiType.h",
					"WiFiClient.h",
					"WiFiClientSecure.h",
					"WiFiClientSecureBearSSL.h",
					"WiFiServer.h",
					"WiFiServerSecure.h",
					"WiFiServerSecureBearSSL.h",
					"WiFiUdp.h",
					"ssl-tls-ca-key-cert-example.h"
				],
				"properties": {},
				"compatibleWith": {}
			},
			{
				"name": "ESPAsyncTCP",
				"author": "dvarrel",
				"maintainer": "dvarrel",
				"sentence": "Async TCP Library for ESP8266 and ESP31B . Forked from https://github.com/me-no-dev/ESPAsyncTCP",
				"paragraph": "tp build a WebServer, with files saved in flash",
				"website": "https://github.com/dvarrel/ESPAsyncTCP",
				"category": "Communication",
				"installDir": "C:\\Users\\Niko\\Documents\\Arduino\\libraries\\ESPAsyncTCP",
				"sourceDir": "c:\\Users\\Niko\\Documents\\Arduino\\libraries\\ESPAsyncTCP\\src",
				"utilityDir": "",
				"containerPlatform": "",
				"dotALinkage": false,
				"precompiled": false,
				"ldFlags": "",
				"isLegacy": false,
				"version": "1.2.4",
				"license": "Unspecified",
				"location": 1,
				"layout": 1,
				"inDevelopment": false,
				"architectures": [
					"esp8266",
					"esp31b"
				],
				"types": [],
				"examples": [
					"C:\\Users\\Niko\\Documents\\Arduino\\libraries\\ESPAsyncTCP\\examples\\ClientServer\\Client",
					"C:\\Users\\Niko\\Documents\\Arduino\\libraries\\ESPAsyncTCP\\examples\\ClientServer\\Server",
					"C:\\Users\\Niko\\Documents\\Arduino\\libraries\\ESPAsyncTCP\\examples\\SyncClient"
				],
				"providesIncludes": [
					"AsyncPrinter.h",
					"DebugPrintMacros.h",
					"ESPAsyncTCP.h",
					"ESPAsyncTCPbuffer.h",
					"SyncClient.h",
					"async_config.h",
					"tcp_axtls.h"
				],
				"properties": {},
				"compatibleWith": {}
			},
			{
				"name": "Hash",
				"author": "Markus Sattler",
				"maintainer": "Markus Sattler",
				"sentence": "Generate Hash from data",
				"paragraph": "",
				"website": "",
				"category": "Data Processing",
				"installDir": "C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266\\libraries\\Hash",
				"sourceDir": "C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266\\libraries\\Hash\\src",
				"utilityDir": "",
				"containerPlatform": "esp8266com:[email protected]",
				"dotALinkage": true,
				"precompiled": false,
				"ldFlags": "",
				"isLegacy": false,
				"version": "1.0",
				"license": "Unspecified",
				"location": 2,
				"layout": 1,
				"inDevelopment": false,
				"architectures": [
					"esp8266"
				],
				"types": [],
				"examples": [
					"C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266\\libraries\\Hash\\examples\\sha1"
				],
				"providesIncludes": [
					"Hash.h"
				],
				"properties": {},
				"compatibleWith": {}
			},
			{
				"name": "LittleFS",
				"author": "Earle F. Philhower, III",
				"maintainer": "Earle F. Philhower, III <[email protected]>",
				"sentence": "Port of LittleFS to ESP8266 Arduino",
				"paragraph": "Replacement for SPIFFS to manage a filesystem in the onboard flash, supporting power fail safety and higher performance than SPIFFS at the cost of a lower maximum number of files.",
				"website": "https://github.com/esp8266/Arduino/libraries/LittleFS",
				"category": "Data Storage",
				"installDir": "C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266\\libraries\\LittleFS",
				"sourceDir": "C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266\\libraries\\LittleFS\\src",
				"utilityDir": "",
				"containerPlatform": "esp8266com:[email protected]",
				"dotALinkage": true,
				"precompiled": false,
				"ldFlags": "",
				"isLegacy": false,
				"version": "0.1.0",
				"license": "Unspecified",
				"location": 2,
				"layout": 1,
				"inDevelopment": false,
				"architectures": [
					"esp8266"
				],
				"types": [],
				"examples": [
					"C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266\\libraries\\LittleFS\\examples\\LittleFS_Timestamp",
					"C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266\\libraries\\LittleFS\\examples\\SpeedTest"
				],
				"providesIncludes": [
					"LittleFS.h"
				],
				"properties": {},
				"compatibleWith": {}
			},
			{
				"name": "ESP8266mDNS",
				"author": "multiple, see files",
				"maintainer": "LaborEtArs",
				"sentence": "Creates a mDNS responder.",
				"paragraph": "Creates a mDNS responder to ensure host domain uniqueness in local networks and to allow for mDNS service discovery and announcement.",
				"website": "https://github.com/LaborEtArs/ESP8266mDNS",
				"category": "Communication",
				"installDir": "C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266\\libraries\\ESP8266mDNS",
				"sourceDir": "C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266\\libraries\\ESP8266mDNS\\src",
				"utilityDir": "",
				"containerPlatform": "esp8266com:[email protected]",
				"dotALinkage": true,
				"precompiled": false,
				"ldFlags": "",
				"isLegacy": false,
				"version": "1.2",
				"license": "Unspecified",
				"location": 2,
				"layout": 1,
				"inDevelopment": false,
				"architectures": [
					"esp8266"
				],
				"types": [],
				"examples": [
					"C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266\\libraries\\ESP8266mDNS\\examples\\LEAmDNS\\mDNS_Clock",
					"C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266\\libraries\\ESP8266mDNS\\examples\\LEAmDNS\\mDNS_ServiceMonitor",
					"C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266\\libraries\\ESP8266mDNS\\examples\\OTA-mDNS-LittleFS",
					"C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266\\libraries\\ESP8266mDNS\\examples\\mDNS-SD_Extended",
					"C:\\Users\\Niko\\Documents\\Arduino\\hardware\\esp8266com\\esp8266\\libraries\\ESP8266mDNS\\examples\\mDNS_Web_Server"
				],
				"providesIncludes": [
					"ESP8266mDNS.h",
					"LEAmDNS.h",
					"LEAmDNS_Priv.h",
					"LEAmDNS_lwIPdefs.h"
				],
				"properties": {},
				"compatibleWith": {}
			},
			{
				"name": "ThermistorLibrary",
				"author": "Miguel Califa <[email protected]>",
				"maintainer": "Miguel Califa <[email protected]>",
				"sentence": "This library allows you to read the thermistors very easily.",
				"paragraph": "This library allows an Arduino/Genuino board to read thermistors very easily.",
				"website": "https://github.com/miguel5612/Arduino-ThermistorLibrary",
				"category": "Sensors",
				"installDir": "C:\\Users\\Niko\\Documents\\Arduino\\libraries\\ThermistorLibrary",
				"sourceDir": "c:\\Users\\Niko\\Documents\\Arduino\\libraries\\ThermistorLibrary\\src",
				"utilityDir": "",
				"containerPlatform": "",
				"dotALinkage": false,
				"precompiled": false,
				"ldFlags": "",
				"isLegacy": false,
				"version": "1.0.6",
				"license": "MIT",
				"location": 1,
				"layout": 1,
				"inDevelopment": false,
				"architectures": [
					"avr"
				],
				"types": [],
				"examples": [
					"C:\\Users\\Niko\\Documents\\Arduino\\libraries\\ThermistorLibrary\\examples\\advancedExample",
					"C:\\Users\\Niko\\Documents\\Arduino\\libraries\\ThermistorLibrary\\examples\\basicExample",
					"C:\\Users\\Niko\\Documents\\Arduino\\libraries\\ThermistorLibrary\\examples\\externalADC"
				],
				"providesIncludes": [
					"Conditionals.h",
					"Configuration.h",
					"Thermistortables.h",
					"thermistor.h",
					"thermistornames.h",
					"thermistortable_1.h",
					"thermistortable_10.h",
					"thermistortable_1010.h",
					"thermistortable_1047.h",
					"thermistortable_11.h",
					"thermistortable_110.h",
					"thermistortable_12.h",
					"thermistortable_13.h",
					"thermistortable_147.h",
					"thermistortable_2.h",
					"thermistortable_20.h",
					"thermistortable_3.h",
					"thermistortable_4.h",
					"thermistortable_5.h",
					"thermistortable_51.h",
					"thermistortable_52.h",
					"thermistortable_55.h",
					"thermistortable_6.h",
					"thermistortable_60.h",
					"thermistortable_66.h",
					"thermistortable_7.h",
					"thermistortable_70.h",
					"thermistortable_71.h",
					"thermistortable_75.h",
					"thermistortable_8.h",
					"thermistortable_80.h",
					"thermistortable_9.h",
					"thermistortable_998.h",
					"thermistortable_999.h"
				],
				"properties": {},
				"compatibleWith": {}
			},
			{
				"name": "GyverFilters",
				"author": "AlexGyver <[email protected]>",
				"maintainer": "AlexGyver <[email protected]>",
				"sentence": "Library with few filters for data processing",
				"paragraph": "Library with few filters for data processing",
				"website": "https://github.com/GyverLibs/GyverFilters",
				"category": "Data Processing",
				"installDir": "C:\\Users\\Niko\\Documents\\Arduino\\libraries\\GyverFilters",
				"sourceDir": "c:\\Users\\Niko\\Documents\\Arduino\\libraries\\GyverFilters\\src",
				"utilityDir": "",
				"containerPlatform": "",
				"dotALinkage": false,
				"precompiled": false,
				"ldFlags": "",
				"isLegacy": false,
				"version": "3.2",
				"license": "Unspecified",
				"location": 1,
				"layout": 1,
				"inDevelopment": false,
				"architectures": [
					"*"
				],
				"types": [],
				"examples": [
					"C:\\Users\\Niko\\Documents\\Arduino\\libraries\\GyverFilters\\examples\\GFilterRA",
					"C:\\Users\\Niko\\Documents\\Arduino\\libraries\\GyverFilters\\examples\\GLinear_arrays",
					"C:\\Users\\Niko\\Documents\\Arduino\\libraries\\GyverFilters\\examples\\GLinear_running",
					"C:\\Users\\Niko\\Documents\\Arduino\\libraries\\GyverFilters\\examples\\RingAverage",
					"C:\\Users\\Niko\\Documents\\Arduino\\libraries\\GyverFilters\\examples\\alphabeta_example",
					"C:\\Users\\Niko\\Documents\\Arduino\\libraries\\GyverFilters\\examples\\fastFilter",
					"C:\\Users\\Niko\\Documents\\Arduino\\libraries\\GyverFilters\\examples\\filters_comparsion",
					"C:\\Users\\Niko\\Documents\\Arduino\\libraries\\GyverFilters\\examples\\kalman_example",
					"C:\\Users\\Niko\\Documents\\Arduino\\libraries\\GyverFilters\\examples\\median3_example",
					"C:\\Users\\Niko\\Documents\\Arduino\\libraries\\GyverFilters\\examples\\median_example"
				],
				"providesIncludes": [
					"GyverFilters.h"
				],
				"properties": {},
				"compatibleWith": {}
			}
		]
	},
	"userDirPath": "C:\\Users\\Niko\\Documents\\Arduino",
	"dataDirPath": "C:\\Users\\Niko\\AppData\\Local\\Arduino15"
}

I have some time to make tests. If you want we can try to find a solution.

111
2023-11-23_101058

esptool -esp chip option wrong

Arduino IDE 2.3.2 , windows 10 , MH-ET-LIVE ESP32MINIKit board.

esptool complains about --chip option

C:\Users\me\AppData\Local\Arduino15\packages\esp32\tools\esptool_py\4.5.1/esptool.exe --chip mhetesp32minikit --port COM4 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size detect 2686976 C:\Users\me\AppData\Local\Temp\tmp-15956-W0ZrEjg5ggbn-.littlefs.bin
usage: esptool [-h]
               [--chip {auto,esp8266,esp32,esp32s2,esp32s3beta2,esp32s3,esp32c3,esp32c6beta,esp32h2beta1,esp32h2beta2,esp32c2,esp32c6,esp32h2}]
               [--port PORT] [--baud BAUD]

When I run the above command from a shell with --chip esp32 the upload works fine.

Data files seem to upload but don't appear in the Directory list

On my ESP32-WROOM the LittleFS Filesystem Uploader completes and I can see in it's output that it see's the 2 files in /data but when I use listDir(LittleFS, "/", 1); the files are missing. Also readFile(LittleFS, "/test.txt"); returns '- failed to open file for reading'

Any ideas on what I am missing? My program failed to mount the LittleFS until I ran arduino-littlefs-upload and now returns 'LittleFS Mount succeeded' so all good there, plus I can now create a file and append to it and then successfully read from it so the file system seems ok. I have tried rerunning the LittleFS Upload again, also reporting success but still the same problem.

OUTPUT:

LittleFS Filesystem Uploader

Using partition: default
Building LittleFS filesystem
C:\Users\jak\AppData\Local\Arduino15\packages\esp32\tools\mklittlefs\3.0.0-gnu12-dc7f933/mklittlefs.exe -c C:\Users\jak\OneDrive\Documents\Arduino\Sketches\Testing\ESP32programmer_V2_LittleFS/data -p 256 -b 4096 -s 1441792 C:\Users\jak\AppData\Local\Temp\tmp-20504-r33zl9OocohW-.littlefs.bin
/config.txt
/test.txt

Uploading LittleFS filesystem
C:\Users\jak\AppData\Local\Arduino15\packages\esp32\tools\esptool_py\4.5.1/esptool.exe --chip esp32 --port COM5 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size detect 2686976 C:\Users\jak\AppData\Local\Temp\tmp-20504-r33zl9OocohW-.littlefs.bin
esptool.py v4.5.1
Serial port COM5
Connecting.....
Chip is ESP32-D0WDQ6 (revision v1.0)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 30:c6:f7:05:7b:98
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 921600
Changed.
Configuring flash size...
Auto-detected Flash size: 4MB
Flash will be erased from 0x00290000 to 0x003effff...
Compressed 1441792 bytes to 1773...
Writing at 0x00290000... (100 %)
Wrote 1441792 bytes (1773 compressed) at 0x00290000 in 4.0 seconds (effective 2875.6 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...

Completed upload.

`Only Arduino-Pico RP2040 supported` error when the `arduino-pico` platform is installed via Boards Manager in IDE2

When I install the arduino-pico platform via the Boards Manager in Arduino IDE 2.x, the FQBN will have rp2040 vendor ID. Hence, the upload command will fail, although my Arduino Nano RP2040 Connect board is supported. The FQBN is rp2040:rp2040:arduino_nano_connect. Here is the problem:

https://github.com/earlephilhower/pico-littlefs-upload/blob/e9cfb1d7a029c86dad63f3a6514a252753c3ed6c/src/extension.ts#L28

The same settings and board work if I install the platform from Git using these steps. There is one caveat: the steps instruct users to install the platform to ~/Arduino/hardware, but it should be ~/Arduino/Documents/hardware (on macOS).

ERROR: No data folder found

I have 'data' folder within sketch folder, and the file I want to upload is in 'data' folder, but after I choose [Ctrl] + [Shift] + [P], then "Upload LittleFS to Pico/ESP8266", all I get is:

LittleFS Filesystem Uploader

ERROR: No data folder found

I am uploading to ESP8266, port is okay.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.