From 5e6b883f51b2ff6fc2a0294e39c5c3b8dbedf541 Mon Sep 17 00:00:00 2001 From: Eljakim Herrewijnen Date: Sat, 28 Jan 2023 16:48:26 +0100 Subject: [PATCH] Updated documentation --- ESPlorer/.github/stale.yml | 17 - ESPlorer/.github/workflows/build.yml | 27 - ESPlorer/.gitignore | 6 - ESPlorer/LICENSE.md | 339 - ESPlorer/README.md | 51 - ESPlorer/RunMe.sh | 2 - ESPlorer/mvnw | 310 - ESPlorer/mvnw.cmd | 182 - ESPlorer/pom.xml | 93 - ESPlorer/script/ESPlorer.bat | 1 - ESPlorer/script/ESPlorer.sh | 5 - ESPlorer/script/gpio.py | 12 - ESPlorer/script/test100lines.lua | 100 - ESPlorer/src/main/java/ESPlorer/ESPlorer.form | 9358 --------- ESPlorer/src/main/java/ESPlorer/ESPlorer.java | 13289 ------------- ESPlorer/src/main/java/ESPlorer/pyFiler.java | 89 - .../main/resources/resources/AlwaysOnTop.png | Bin 828 -> 0 bytes .../resources/resources/ESP8266-64x64.png | Bin 3111 -> 0 bytes .../resources/resources/ESP8266-96x96.png | Bin 4886 -> 0 bytes .../main/resources/resources/IoTmanager.png | Bin 2272 -> 0 bytes .../src/main/resources/resources/abort.png | Bin 415 -> 0 bytes .../main/resources/resources/aliexpress.png | Bin 662 -> 0 bytes .../src/main/resources/resources/backup.png | Bin 856 -> 0 bytes .../resources/resources/backup_delete.png | Bin 889 -> 0 bytes .../src/main/resources/resources/connect1.png | Bin 610 -> 0 bytes .../src/main/resources/resources/connect2.png | Bin 579 -> 0 bytes .../src/main/resources/resources/connect3.png | Bin 443 -> 0 bytes .../src/main/resources/resources/copy.png | Bin 452 -> 0 bytes ESPlorer/src/main/resources/resources/cut.png | Bin 646 -> 0 bytes .../main/resources/resources/disconnect1.png | Bin 830 -> 0 bytes .../main/resources/resources/disconnect3.png | Bin 585 -> 0 bytes .../src/main/resources/resources/document.png | Bin 372 -> 0 bytes .../main/resources/resources/donate-small.gif | Bin 1714 -> 0 bytes .../src/main/resources/resources/donate.gif | Bin 3592 -> 0 bytes .../src/main/resources/resources/download.png | Bin 620 -> 0 bytes .../src/main/resources/resources/dump.png | Bin 860 -> 0 bytes .../src/main/resources/resources/edit.png | Bin 586 -> 0 bytes .../resources/file manager (delete).png | Bin 918 -> 0 bytes .../main/resources/resources/file manager.png | Bin 884 -> 0 bytes .../src/main/resources/resources/file.png | Bin 626 -> 0 bytes .../main/resources/resources/file_remove.png | Bin 866 -> 0 bytes .../resources/resources/folder closed.png | Bin 821 -> 0 bytes .../main/resources/resources/folder open.png | Bin 855 -> 0 bytes .../resources/folder_open_document.png | Bin 654 -> 0 bytes ESPlorer/src/main/resources/resources/get.png | Bin 447 -> 0 bytes .../main/resources/resources/information.png | Bin 867 -> 0 bytes ESPlorer/src/main/resources/resources/lc.png | Bin 1478 -> 0 bytes .../main/resources/resources/led_black.png | Bin 697 -> 0 bytes .../src/main/resources/resources/led_blue.png | Bin 693 -> 0 bytes .../main/resources/resources/led_green.png | Bin 684 -> 0 bytes .../src/main/resources/resources/led_grey.png | Bin 675 -> 0 bytes .../main/resources/resources/led_orange.png | Bin 657 -> 0 bytes .../src/main/resources/resources/led_red.png | Bin 672 -> 0 bytes .../main/resources/resources/led_white.png | Bin 668 -> 0 bytes .../main/resources/resources/led_yellow.png | Bin 699 -> 0 bytes .../src/main/resources/resources/left.png | Bin 462 -> 0 bytes .../src/main/resources/resources/level up.png | Bin 606 -> 0 bytes .../src/main/resources/resources/list.png | Bin 637 -> 0 bytes ESPlorer/src/main/resources/resources/lua.png | Bin 3792 -> 0 bytes .../main/resources/resources/micropython.png | Bin 1213 -> 0 bytes .../resources/resources/mnemonic.properties | 15 - .../src/main/resources/resources/move.png | Bin 839 -> 0 bytes .../src/main/resources/resources/nodemcu.png | Bin 783 -> 0 bytes .../src/main/resources/resources/paste.png | Bin 665 -> 0 bytes .../src/main/resources/resources/paypal.png | Bin 470 -> 0 bytes .../src/main/resources/resources/ping.png | Bin 436 -> 0 bytes .../src/main/resources/resources/play.png | Bin 873 -> 0 bytes .../src/main/resources/resources/redo1.png | Bin 395 -> 0 bytes .../src/main/resources/resources/refresh.png | Bin 465 -> 0 bytes .../src/main/resources/resources/refresh3.png | Bin 834 -> 0 bytes .../src/main/resources/resources/rename.png | Bin 903 -> 0 bytes .../src/main/resources/resources/reset.png | Bin 1426 -> 0 bytes .../src/main/resources/resources/run_line.png | Bin 1305 -> 0 bytes .../src/main/resources/resources/save.png | Bin 565 -> 0 bytes .../src/main/resources/resources/save_all.png | Bin 1385 -> 0 bytes .../resources/resources/script (edit).png | Bin 903 -> 0 bytes .../src/main/resources/resources/script.png | Bin 874 -> 0 bytes .../main/resources/resources/script_send.png | Bin 881 -> 0 bytes .../main/resources/resources/script_start.png | Bin 887 -> 0 bytes .../main/resources/resources/search again.png | Bin 911 -> 0 bytes .../resources/resources/send_selected.png | Bin 647 -> 0 bytes .../resources/resources/server1_start.png | Bin 641 -> 0 bytes ESPlorer/src/main/resources/resources/set.png | Bin 444 -> 0 bytes .../main/resources/resources/settings1.png | Bin 687 -> 0 bytes .../main/resources/resources/settings2.png | Bin 454 -> 0 bytes .../resources/resources/terminal_clear.png | Bin 916 -> 0 bytes .../src/main/resources/resources/transmit.png | Bin 814 -> 0 bytes .../src/main/resources/resources/trash.png | Bin 874 -> 0 bytes .../src/main/resources/resources/undo1.png | Bin 395 -> 0 bytes .../src/main/resources/resources/upload.png | Bin 605 -> 0 bytes .../main/resources/resources/uploadLUA.png | Bin 1367 -> 0 bytes .../src/main/resources/resources/view.png | Bin 843 -> 0 bytes .../resources/resources/web_server_start.png | Bin 946 -> 0 bytes .../src/main/resources/resources/wifi.png | Bin 2047 -> 0 bytes .../src/main/resources/resources/wizard.png | Bin 464 -> 0 bytes .../src/main/resources/resources/zoom in.png | Bin 610 -> 0 bytes .../src/main/resources/resources/zoom out.png | Bin 621 -> 0 bytes .../build/.doctrees/dependencies.doctree | Bin 0 -> 5626 bytes .../build/.doctrees/environment.pickle | Bin 17503 -> 22512 bytes .../build/.doctrees/hardware/index.doctree | Bin 4958 -> 13982 bytes .../build/.doctrees/hardware/patches.doctree | Bin 0 -> 7558 bytes documentation/build/.doctrees/index.doctree | Bin 9051 -> 13458 bytes documentation/build/.doctrees/patches.doctree | Bin 0 -> 7549 bytes .../build/.doctrees/server/index.doctree | Bin 0 -> 8790 bytes .../build/.doctrees/troubleshooting.doctree | Bin 0 -> 5234 bytes .../build/_sources/dependencies.rst.txt | 16 + .../build/_sources/hardware/index.rst.txt | 74 +- .../build/_sources/hardware/patches.rst.txt | 50 + documentation/build/_sources/index.rst.txt | 9 + documentation/build/_sources/patches.rst.txt | 50 + .../build/_sources/server/index.rst.txt | 63 + .../build/_sources/troubleshooting.rst.txt | 35 + documentation/build/dependencies.html | 121 + documentation/build/genindex.html | 1 + documentation/build/hardware/index.html | 72 +- documentation/build/hardware/patches.html | 148 + documentation/build/index.html | 26 + documentation/build/objects.inv | 4 +- documentation/build/patches.html | 155 + documentation/build/search.html | 1 + documentation/build/searchindex.js | 2 +- documentation/build/server/index.html | 165 + documentation/build/troubleshooting.html | 131 + documentation/source/dependencies.rst | 16 + documentation/source/hardware/index.rst | 74 +- documentation/source/index.rst | 9 + documentation/source/patches.rst | 50 + documentation/source/server/index.rst | 63 + documentation/source/software/index.rst | 0 documentation/source/troubleshooting.rst | 35 + esptool/Example | 2 - esptool/example | 1 - esptool/venv/bin/Activate.ps1 | 241 - .../bin/__pycache__/miniterm.cpython-38.pyc | Bin 27942 -> 0 bytes esptool/venv/bin/activate | 76 - esptool/venv/bin/activate.csh | 37 - esptool/venv/bin/activate.fish | 75 - esptool/venv/bin/easy_install | 8 - esptool/venv/bin/easy_install-3.8 | 8 - esptool/venv/bin/espefuse.py | 131 - esptool/venv/bin/espsecure.py | 828 - esptool/venv/bin/esptool.py | 3969 ---- esptool/venv/bin/miniterm.py | 976 - esptool/venv/bin/miniterm.pyc | Bin 28907 -> 0 bytes esptool/venv/bin/pip | 8 - esptool/venv/bin/pip3 | 8 - esptool/venv/bin/pip3.8 | 8 - esptool/venv/bin/python | 1 - esptool/venv/bin/python3 | 1 - .../__pycache__/bitstring.cpython-38.pyc | Bin 127279 -> 0 bytes .../__pycache__/easy_install.cpython-38.pyc | Bin 281 -> 0 bytes .../__pycache__/espefuse.cpython-38.pyc | Bin 4075 -> 0 bytes .../__pycache__/espsecure.cpython-38.pyc | Bin 26215 -> 0 bytes .../__pycache__/esptool.cpython-38.pyc | Bin 142450 -> 0 bytes .../__pycache__/reedsolo.cpython-38.pyc | Bin 32041 -> 0 bytes .../__pycache__/six.cpython-38.pyc | Bin 26875 -> 0 bytes ...ffi_backend.cpython-38-x86_64-linux-gnu.so | Bin 886648 -> 0 bytes .../bitstring-3.1.7.egg-info/PKG-INFO | 122 - .../bitstring-3.1.7.egg-info/SOURCES.txt | 13 - .../dependency_links.txt | 1 - .../installed-files.txt | 6 - .../bitstring-3.1.7.egg-info/top_level.txt | 1 - .../lib/python3.8/site-packages/bitstring.py | 4388 ---- .../cffi-1.14.3.dist-info/INSTALLER | 1 - .../cffi-1.14.3.dist-info/LICENSE | 26 - .../cffi-1.14.3.dist-info/METADATA | 37 - .../cffi-1.14.3.dist-info/RECORD | 45 - .../site-packages/cffi-1.14.3.dist-info/WHEEL | 5 - .../cffi-1.14.3.dist-info/entry_points.txt | 3 - .../cffi-1.14.3.dist-info/top_level.txt | 2 - .../cffi.libs/libffi-806b1a9d.so.6.0.4 | Bin 46632 -> 0 bytes .../python3.8/site-packages/cffi/__init__.py | 14 - .../cffi/__pycache__/__init__.cpython-38.pyc | Bin 489 -> 0 bytes .../cffi/__pycache__/api.cpython-38.pyc | Bin 34138 -> 0 bytes .../__pycache__/backend_ctypes.cpython-38.pyc | Bin 40019 -> 0 bytes .../__pycache__/cffi_opcode.cpython-38.pyc | Bin 4733 -> 0 bytes .../__pycache__/commontypes.cpython-38.pyc | Bin 1878 -> 0 bytes .../cffi/__pycache__/cparser.cpython-38.pyc | Bin 23689 -> 0 bytes .../cffi/__pycache__/error.cpython-38.pyc | Bin 1484 -> 0 bytes .../__pycache__/ffiplatform.cpython-38.pyc | Bin 3493 -> 0 bytes .../cffi/__pycache__/lock.cpython-38.pyc | Bin 383 -> 0 bytes .../cffi/__pycache__/model.cpython-38.pyc | Bin 19756 -> 0 bytes .../cffi/__pycache__/pkgconfig.cpython-38.pyc | Bin 5157 -> 0 bytes .../__pycache__/recompiler.cpython-38.pyc | Bin 46867 -> 0 bytes .../__pycache__/setuptools_ext.cpython-38.pyc | Bin 7252 -> 0 bytes .../__pycache__/vengine_cpy.cpython-38.pyc | Bin 35504 -> 0 bytes .../__pycache__/vengine_gen.cpython-38.pyc | Bin 21031 -> 0 bytes .../cffi/__pycache__/verifier.cpython-38.pyc | Bin 9210 -> 0 bytes .../site-packages/cffi/_cffi_errors.h | 147 - .../site-packages/cffi/_cffi_include.h | 385 - .../python3.8/site-packages/cffi/_embedding.h | 527 - .../lib/python3.8/site-packages/cffi/api.py | 965 - .../site-packages/cffi/backend_ctypes.py | 1121 -- .../site-packages/cffi/cffi_opcode.py | 187 - .../site-packages/cffi/commontypes.py | 80 - .../python3.8/site-packages/cffi/cparser.py | 1006 - .../lib/python3.8/site-packages/cffi/error.py | 31 - .../site-packages/cffi/ffiplatform.py | 127 - .../lib/python3.8/site-packages/cffi/lock.py | 30 - .../lib/python3.8/site-packages/cffi/model.py | 617 - .../site-packages/cffi/parse_c_type.h | 181 - .../python3.8/site-packages/cffi/pkgconfig.py | 121 - .../site-packages/cffi/recompiler.py | 1571 -- .../site-packages/cffi/setuptools_ext.py | 219 - .../site-packages/cffi/vengine_cpy.py | 1076 - .../site-packages/cffi/vengine_gen.py | 675 - .../python3.8/site-packages/cffi/verifier.py | 306 - .../cryptography-3.2.1.dist-info/AUTHORS.rst | 44 - .../cryptography-3.2.1.dist-info/INSTALLER | 1 - .../cryptography-3.2.1.dist-info/LICENSE | 6 - .../LICENSE.APACHE | 202 - .../cryptography-3.2.1.dist-info/LICENSE.BSD | 27 - .../cryptography-3.2.1.dist-info/LICENSE.PSF | 41 - .../cryptography-3.2.1.dist-info/METADATA | 134 - .../cryptography-3.2.1.dist-info/RECORD | 178 - .../cryptography-3.2.1.dist-info/WHEEL | 5 - .../top_level.txt | 3 - .../site-packages/cryptography/__about__.py | 31 - .../site-packages/cryptography/__init__.py | 48 - .../__pycache__/__about__.cpython-38.pyc | Bin 769 -> 0 bytes .../__pycache__/__init__.cpython-38.pyc | Bin 1031 -> 0 bytes .../__pycache__/exceptions.cpython-38.pyc | Bin 2335 -> 0 bytes .../__pycache__/fernet.cpython-38.pyc | Bin 6043 -> 0 bytes .../__pycache__/utils.cpython-38.pyc | Bin 5386 -> 0 bytes .../site-packages/cryptography/exceptions.py | 58 - .../site-packages/cryptography/fernet.py | 190 - .../cryptography/hazmat/__init__.py | 11 - .../__pycache__/__init__.cpython-38.pyc | Bin 497 -> 0 bytes .../hazmat/__pycache__/_der.cpython-38.pyc | Bin 4398 -> 0 bytes .../hazmat/__pycache__/_oid.cpython-38.pyc | Bin 2159 -> 0 bytes .../site-packages/cryptography/hazmat/_der.py | 156 - .../site-packages/cryptography/hazmat/_oid.py | 77 - .../cryptography/hazmat/backends/__init__.py | 26 - .../__pycache__/__init__.cpython-38.pyc | Bin 622 -> 0 bytes .../__pycache__/interfaces.cpython-38.pyc | Bin 16302 -> 0 bytes .../hazmat/backends/interfaces.py | 396 - .../hazmat/backends/openssl/__init__.py | 10 - .../__pycache__/__init__.cpython-38.pyc | Bin 364 -> 0 bytes .../openssl/__pycache__/aead.cpython-38.pyc | Bin 3868 -> 0 bytes .../__pycache__/backend.cpython-38.pyc | Bin 72543 -> 0 bytes .../__pycache__/ciphers.cpython-38.pyc | Bin 5552 -> 0 bytes .../openssl/__pycache__/cmac.cpython-38.pyc | Bin 2611 -> 0 bytes .../__pycache__/decode_asn1.cpython-38.pyc | Bin 21997 -> 0 bytes .../openssl/__pycache__/dh.cpython-38.pyc | Bin 7811 -> 0 bytes .../openssl/__pycache__/dsa.cpython-38.pyc | Bin 8566 -> 0 bytes .../openssl/__pycache__/ec.cpython-38.pyc | Bin 10343 -> 0 bytes .../__pycache__/ed25519.cpython-38.pyc | Bin 4393 -> 0 bytes .../openssl/__pycache__/ed448.cpython-38.pyc | Bin 4361 -> 0 bytes .../__pycache__/encode_asn1.cpython-38.pyc | Bin 17166 -> 0 bytes .../openssl/__pycache__/hashes.cpython-38.pyc | Bin 2707 -> 0 bytes .../openssl/__pycache__/hmac.cpython-38.pyc | Bin 2684 -> 0 bytes .../openssl/__pycache__/ocsp.cpython-38.pyc | Bin 11749 -> 0 bytes .../__pycache__/poly1305.cpython-38.pyc | Bin 2144 -> 0 bytes .../openssl/__pycache__/rsa.cpython-38.pyc | Bin 12070 -> 0 bytes .../openssl/__pycache__/utils.cpython-38.pyc | Bin 2143 -> 0 bytes .../openssl/__pycache__/x25519.cpython-38.pyc | Bin 3688 -> 0 bytes .../openssl/__pycache__/x448.cpython-38.pyc | Bin 3468 -> 0 bytes .../openssl/__pycache__/x509.cpython-38.pyc | Bin 21034 -> 0 bytes .../hazmat/backends/openssl/aead.py | 166 - .../hazmat/backends/openssl/backend.py | 2785 --- .../hazmat/backends/openssl/ciphers.py | 231 - .../hazmat/backends/openssl/cmac.py | 82 - .../hazmat/backends/openssl/decode_asn1.py | 878 - .../hazmat/backends/openssl/dh.py | 271 - .../hazmat/backends/openssl/dsa.py | 263 - .../hazmat/backends/openssl/ec.py | 337 - .../hazmat/backends/openssl/ed25519.py | 145 - .../hazmat/backends/openssl/ed448.py | 146 - .../hazmat/backends/openssl/encode_asn1.py | 657 - .../hazmat/backends/openssl/hashes.py | 82 - .../hazmat/backends/openssl/hmac.py | 78 - .../hazmat/backends/openssl/ocsp.py | 401 - .../hazmat/backends/openssl/poly1305.py | 65 - .../hazmat/backends/openssl/rsa.py | 465 - .../hazmat/backends/openssl/utils.py | 65 - .../hazmat/backends/openssl/x25519.py | 123 - .../hazmat/backends/openssl/x448.py | 107 - .../hazmat/backends/openssl/x509.py | 587 - .../cryptography/hazmat/bindings/__init__.py | 5 - .../__pycache__/__init__.cpython-38.pyc | Bin 258 -> 0 bytes .../hazmat/bindings/_openssl.abi3.so | Bin 7050912 -> 0 bytes .../hazmat/bindings/_padding.abi3.so | Bin 37232 -> 0 bytes .../hazmat/bindings/openssl/__init__.py | 5 - .../__pycache__/__init__.cpython-38.pyc | Bin 266 -> 0 bytes .../__pycache__/_conditional.cpython-38.pyc | Bin 8916 -> 0 bytes .../__pycache__/binding.cpython-38.pyc | Bin 6133 -> 0 bytes .../hazmat/bindings/openssl/_conditional.py | 345 - .../hazmat/bindings/openssl/binding.py | 222 - .../hazmat/primitives/__init__.py | 5 - .../__pycache__/__init__.cpython-38.pyc | Bin 260 -> 0 bytes .../__pycache__/cmac.cpython-38.pyc | Bin 2106 -> 0 bytes .../__pycache__/constant_time.cpython-38.pyc | Bin 499 -> 0 bytes .../__pycache__/hashes.cpython-38.pyc | Bin 7465 -> 0 bytes .../__pycache__/hmac.cpython-38.pyc | Bin 2242 -> 0 bytes .../__pycache__/keywrap.cpython-38.pyc | Bin 4609 -> 0 bytes .../__pycache__/padding.cpython-38.pyc | Bin 6521 -> 0 bytes .../__pycache__/poly1305.cpython-38.pyc | Bin 2002 -> 0 bytes .../hazmat/primitives/asymmetric/__init__.py | 40 - .../__pycache__/__init__.cpython-38.pyc | Bin 1570 -> 0 bytes .../asymmetric/__pycache__/dh.cpython-38.pyc | Bin 7188 -> 0 bytes .../asymmetric/__pycache__/dsa.cpython-38.pyc | Bin 9041 -> 0 bytes .../asymmetric/__pycache__/ec.cpython-38.pyc | Bin 15332 -> 0 bytes .../__pycache__/ed25519.cpython-38.pyc | Bin 2804 -> 0 bytes .../__pycache__/ed448.cpython-38.pyc | Bin 2710 -> 0 bytes .../__pycache__/padding.cpython-38.pyc | Bin 2782 -> 0 bytes .../asymmetric/__pycache__/rsa.cpython-38.pyc | Bin 10339 -> 0 bytes .../__pycache__/utils.cpython-38.pyc | Bin 1461 -> 0 bytes .../__pycache__/x25519.cpython-38.pyc | Bin 2547 -> 0 bytes .../__pycache__/x448.cpython-38.pyc | Bin 2517 -> 0 bytes .../hazmat/primitives/asymmetric/dh.py | 216 - .../hazmat/primitives/asymmetric/dsa.py | 261 - .../hazmat/primitives/asymmetric/ec.py | 502 - .../hazmat/primitives/asymmetric/ed25519.py | 87 - .../hazmat/primitives/asymmetric/ed448.py | 82 - .../hazmat/primitives/asymmetric/padding.py | 80 - .../hazmat/primitives/asymmetric/rsa.py | 374 - .../hazmat/primitives/asymmetric/utils.py | 41 - .../hazmat/primitives/asymmetric/x25519.py | 76 - .../hazmat/primitives/asymmetric/x448.py | 76 - .../hazmat/primitives/ciphers/__init__.py | 26 - .../__pycache__/__init__.cpython-38.pyc | Bin 593 -> 0 bytes .../ciphers/__pycache__/aead.cpython-38.pyc | Bin 5139 -> 0 bytes .../__pycache__/algorithms.cpython-38.pyc | Bin 5218 -> 0 bytes .../ciphers/__pycache__/base.cpython-38.pyc | Bin 8498 -> 0 bytes .../ciphers/__pycache__/modes.cpython-38.pyc | Bin 6911 -> 0 bytes .../hazmat/primitives/ciphers/aead.py | 174 - .../hazmat/primitives/ciphers/algorithms.py | 170 - .../hazmat/primitives/ciphers/base.py | 241 - .../hazmat/primitives/ciphers/modes.py | 223 - .../cryptography/hazmat/primitives/cmac.py | 64 - .../hazmat/primitives/constant_time.py | 14 - .../cryptography/hazmat/primitives/hashes.py | 259 - .../cryptography/hazmat/primitives/hmac.py | 70 - .../hazmat/primitives/kdf/__init__.py | 26 - .../kdf/__pycache__/__init__.cpython-38.pyc | Bin 1104 -> 0 bytes .../kdf/__pycache__/concatkdf.cpython-38.pyc | Bin 3944 -> 0 bytes .../kdf/__pycache__/hkdf.cpython-38.pyc | Bin 3339 -> 0 bytes .../kdf/__pycache__/kbkdf.cpython-38.pyc | Bin 4097 -> 0 bytes .../kdf/__pycache__/pbkdf2.cpython-38.pyc | Bin 2100 -> 0 bytes .../kdf/__pycache__/scrypt.cpython-38.pyc | Bin 2196 -> 0 bytes .../kdf/__pycache__/x963kdf.cpython-38.pyc | Bin 2336 -> 0 bytes .../hazmat/primitives/kdf/concatkdf.py | 131 - .../hazmat/primitives/kdf/hkdf.py | 115 - .../hazmat/primitives/kdf/kbkdf.py | 162 - .../hazmat/primitives/kdf/pbkdf2.py | 62 - .../hazmat/primitives/kdf/scrypt.py | 68 - .../hazmat/primitives/kdf/x963kdf.py | 74 - .../cryptography/hazmat/primitives/keywrap.py | 161 - .../cryptography/hazmat/primitives/padding.py | 208 - .../hazmat/primitives/poly1305.py | 58 - .../primitives/serialization/__init__.py | 44 - .../__pycache__/__init__.cpython-38.pyc | Bin 978 -> 0 bytes .../__pycache__/base.cpython-38.pyc | Bin 3124 -> 0 bytes .../__pycache__/pkcs12.cpython-38.pyc | Bin 1842 -> 0 bytes .../__pycache__/pkcs7.cpython-38.pyc | Bin 4011 -> 0 bytes .../__pycache__/ssh.cpython-38.pyc | Bin 18850 -> 0 bytes .../hazmat/primitives/serialization/base.py | 91 - .../hazmat/primitives/serialization/pkcs12.py | 50 - .../hazmat/primitives/serialization/pkcs7.py | 132 - .../hazmat/primitives/serialization/ssh.py | 683 - .../hazmat/primitives/twofactor/__init__.py | 9 - .../__pycache__/__init__.cpython-38.pyc | Bin 442 -> 0 bytes .../twofactor/__pycache__/hotp.cpython-38.pyc | Bin 2827 -> 0 bytes .../twofactor/__pycache__/totp.cpython-38.pyc | Bin 1951 -> 0 bytes .../__pycache__/utils.cpython-38.pyc | Bin 876 -> 0 bytes .../hazmat/primitives/twofactor/hotp.py | 69 - .../hazmat/primitives/twofactor/totp.py | 51 - .../hazmat/primitives/twofactor/utils.py | 33 - .../site-packages/cryptography/utils.py | 171 - .../cryptography/x509/__init__.py | 248 - .../x509/__pycache__/__init__.cpython-38.pyc | Bin 6374 -> 0 bytes .../x509/__pycache__/base.cpython-38.pyc | Bin 25253 -> 0 bytes .../certificate_transparency.cpython-38.pyc | Bin 1752 -> 0 bytes .../__pycache__/extensions.cpython-38.pyc | Bin 54582 -> 0 bytes .../__pycache__/general_name.cpython-38.pyc | Bin 9509 -> 0 bytes .../x509/__pycache__/name.cpython-38.pyc | Bin 9855 -> 0 bytes .../x509/__pycache__/ocsp.cpython-38.pyc | Bin 13646 -> 0 bytes .../x509/__pycache__/oid.cpython-38.pyc | Bin 9211 -> 0 bytes .../site-packages/cryptography/x509/base.py | 892 - .../x509/certificate_transparency.py | 46 - .../cryptography/x509/extensions.py | 1702 -- .../cryptography/x509/general_name.py | 294 - .../site-packages/cryptography/x509/name.py | 261 - .../site-packages/cryptography/x509/ocsp.py | 467 - .../site-packages/cryptography/x509/oid.py | 265 - .../python3.8/site-packages/easy_install.py | 5 - .../ecdsa-0.16.0.dist-info/INSTALLER | 1 - .../ecdsa-0.16.0.dist-info/LICENSE | 24 - .../ecdsa-0.16.0.dist-info/METADATA | 626 - .../ecdsa-0.16.0.dist-info/RECORD | 52 - .../ecdsa-0.16.0.dist-info/WHEEL | 6 - .../ecdsa-0.16.0.dist-info/top_level.txt | 1 - .../python3.8/site-packages/ecdsa/__init__.py | 76 - .../ecdsa/__pycache__/__init__.cpython-38.pyc | Bin 1116 -> 0 bytes .../ecdsa/__pycache__/_compat.cpython-38.pyc | Bin 1683 -> 0 bytes .../ecdsa/__pycache__/_rwlock.cpython-38.pyc | Bin 3413 -> 0 bytes .../ecdsa/__pycache__/_version.cpython-38.pyc | Bin 466 -> 0 bytes .../ecdsa/__pycache__/curves.cpython-38.pyc | Bin 3591 -> 0 bytes .../ecdsa/__pycache__/der.cpython-38.pyc | Bin 12213 -> 0 bytes .../ecdsa/__pycache__/ecdh.cpython-38.pyc | Bin 11019 -> 0 bytes .../ecdsa/__pycache__/ecdsa.cpython-38.pyc | Bin 16337 -> 0 bytes .../__pycache__/ellipticcurve.cpython-38.pyc | Bin 19365 -> 0 bytes .../ecdsa/__pycache__/keys.cpython-38.pyc | Bin 50171 -> 0 bytes .../__pycache__/numbertheory.cpython-38.pyc | Bin 12189 -> 0 bytes .../ecdsa/__pycache__/rfc6979.cpython-38.pyc | Bin 2283 -> 0 bytes .../ecdsa/__pycache__/test_der.cpython-38.pyc | Bin 17039 -> 0 bytes .../__pycache__/test_ecdh.cpython-38.pyc | Bin 11035 -> 0 bytes .../__pycache__/test_ecdsa.cpython-38.pyc | Bin 15276 -> 0 bytes .../test_ellipticcurve.cpython-38.pyc | Bin 6748 -> 0 bytes .../__pycache__/test_jacobi.cpython-38.pyc | Bin 11611 -> 0 bytes .../__pycache__/test_keys.cpython-38.pyc | Bin 14671 -> 0 bytes .../test_malformed_sigs.cpython-38.pyc | Bin 8826 -> 0 bytes .../test_numbertheory.cpython-38.pyc | Bin 8466 -> 0 bytes .../__pycache__/test_pyecdsa.cpython-38.pyc | Bin 56311 -> 0 bytes .../__pycache__/test_rw_lock.cpython-38.pyc | Bin 5378 -> 0 bytes .../ecdsa/__pycache__/util.cpython-38.pyc | Bin 12249 -> 0 bytes .../python3.8/site-packages/ecdsa/_compat.py | 60 - .../python3.8/site-packages/ecdsa/_rwlock.py | 86 - .../python3.8/site-packages/ecdsa/_version.py | 21 - .../python3.8/site-packages/ecdsa/curves.py | 194 - .../lib/python3.8/site-packages/ecdsa/der.py | 409 - .../lib/python3.8/site-packages/ecdsa/ecdh.py | 327 - .../python3.8/site-packages/ecdsa/ecdsa.py | 754 - .../site-packages/ecdsa/ellipticcurve.py | 822 - .../lib/python3.8/site-packages/ecdsa/keys.py | 1416 -- .../site-packages/ecdsa/numbertheory.py | 810 - .../python3.8/site-packages/ecdsa/rfc6979.py | 110 - .../python3.8/site-packages/ecdsa/test_der.py | 397 - .../site-packages/ecdsa/test_ecdh.py | 370 - .../site-packages/ecdsa/test_ecdsa.py | 538 - .../site-packages/ecdsa/test_ellipticcurve.py | 200 - .../site-packages/ecdsa/test_jacobi.py | 397 - .../site-packages/ecdsa/test_keys.py | 428 - .../ecdsa/test_malformed_sigs.py | 350 - .../site-packages/ecdsa/test_numbertheory.py | 326 - .../site-packages/ecdsa/test_pyecdsa.py | 1989 -- .../site-packages/ecdsa/test_rw_lock.py | 177 - .../lib/python3.8/site-packages/ecdsa/util.py | 435 - .../lib/python3.8/site-packages/espefuse.py | 131 - .../site-packages/espressif/__init__.py | 0 .../__pycache__/__init__.cpython-38.pyc | Bin 188 -> 0 bytes .../site-packages/espressif/efuse/__init__.py | 0 .../efuse/__pycache__/__init__.cpython-38.pyc | Bin 194 -> 0 bytes .../__pycache__/base_fields.cpython-38.pyc | Bin 18733 -> 0 bytes .../base_operations.cpython-38.pyc | Bin 14442 -> 0 bytes ...ulate_efuse_controller_base.cpython-38.pyc | Bin 7524 -> 0 bytes .../mem_definition_base.cpython-38.pyc | Bin 1894 -> 0 bytes .../efuse/__pycache__/util.cpython-38.pyc | Bin 1615 -> 0 bytes .../espressif/efuse/base_fields.py | 542 - .../espressif/efuse/base_operations.py | 356 - .../efuse/emulate_efuse_controller_base.py | 210 - .../espressif/efuse/esp32/__init__.py | 3 - .../esp32/__pycache__/__init__.cpython-38.pyc | Bin 346 -> 0 bytes .../emulate_efuse_controller.cpython-38.pyc | Bin 4193 -> 0 bytes .../esp32/__pycache__/fields.cpython-38.pyc | Bin 12681 -> 0 bytes .../__pycache__/mem_definition.cpython-38.pyc | Bin 6371 -> 0 bytes .../__pycache__/operations.cpython-38.pyc | Bin 7762 -> 0 bytes .../efuse/esp32/emulate_efuse_controller.py | 119 - .../espressif/efuse/esp32/fields.py | 335 - .../espressif/efuse/esp32/mem_definition.py | 158 - .../espressif/efuse/esp32/operations.py | 217 - .../espressif/efuse/esp32c3/__init__.py | 3 - .../__pycache__/__init__.cpython-38.pyc | Bin 348 -> 0 bytes .../emulate_efuse_controller.cpython-38.pyc | Bin 2976 -> 0 bytes .../esp32c3/__pycache__/fields.cpython-38.pyc | Bin 11979 -> 0 bytes .../__pycache__/mem_definition.cpython-38.pyc | Bin 11234 -> 0 bytes .../__pycache__/operations.cpython-38.pyc | Bin 8574 -> 0 bytes .../efuse/esp32c3/emulate_efuse_controller.py | 92 - .../espressif/efuse/esp32c3/fields.py | 303 - .../espressif/efuse/esp32c3/mem_definition.py | 235 - .../espressif/efuse/esp32c3/operations.py | 235 - .../espressif/efuse/esp32s2/__init__.py | 3 - .../__pycache__/__init__.cpython-38.pyc | Bin 348 -> 0 bytes .../emulate_efuse_controller.cpython-38.pyc | Bin 2976 -> 0 bytes .../esp32s2/__pycache__/fields.cpython-38.pyc | Bin 13149 -> 0 bytes .../__pycache__/mem_definition.cpython-38.pyc | Bin 12164 -> 0 bytes .../__pycache__/operations.cpython-38.pyc | Bin 9761 -> 0 bytes .../efuse/esp32s2/emulate_efuse_controller.py | 92 - .../espressif/efuse/esp32s2/fields.py | 322 - .../espressif/efuse/esp32s2/mem_definition.py | 293 - .../espressif/efuse/esp32s2/operations.py | 271 - .../espressif/efuse/esp32s3beta2/__init__.py | 3 - .../__pycache__/__init__.cpython-38.pyc | Bin 353 -> 0 bytes .../emulate_efuse_controller.cpython-38.pyc | Bin 2998 -> 0 bytes .../__pycache__/fields.cpython-38.pyc | Bin 12539 -> 0 bytes .../__pycache__/mem_definition.cpython-38.pyc | Bin 11328 -> 0 bytes .../__pycache__/operations.cpython-38.pyc | Bin 9766 -> 0 bytes .../esp32s3beta2/emulate_efuse_controller.py | 92 - .../espressif/efuse/esp32s3beta2/fields.py | 311 - .../efuse/esp32s3beta2/mem_definition.py | 240 - .../efuse/esp32s3beta2/operations.py | 271 - .../espressif/efuse/mem_definition_base.py | 61 - .../site-packages/espressif/efuse/util.py | 38 - .../lib/python3.8/site-packages/espsecure.py | 828 - .../esptool-3.0.egg-info/PKG-INFO | 55 - .../esptool-3.0.egg-info/SOURCES.txt | 40 - .../esptool-3.0.egg-info/dependency_links.txt | 1 - .../esptool-3.0.egg-info/installed-files.txt | 68 - .../esptool-3.0.egg-info/requires.txt | 12 - .../esptool-3.0.egg-info/top_level.txt | 4 - .../lib/python3.8/site-packages/esptool.py | 3969 ---- .../pip-20.0.2.dist-info/INSTALLER | 1 - .../pip-20.0.2.dist-info/LICENSE.txt | 20 - .../pip-20.0.2.dist-info/METADATA | 84 - .../site-packages/pip-20.0.2.dist-info/RECORD | 246 - .../site-packages/pip-20.0.2.dist-info/WHEEL | 6 - .../pip-20.0.2.dist-info/entry_points.txt | 5 - .../pip-20.0.2.dist-info/top_level.txt | 1 - .../python3.8/site-packages/pip/__init__.py | 18 - .../python3.8/site-packages/pip/__main__.py | 19 - .../pip/__pycache__/__init__.cpython-38.pyc | Bin 629 -> 0 bytes .../pip/__pycache__/__main__.cpython-38.pyc | Bin 422 -> 0 bytes .../site-packages/pip/_internal/__init__.py | 18 - .../__pycache__/__init__.cpython-38.pyc | Bin 678 -> 0 bytes .../__pycache__/build_env.cpython-38.pyc | Bin 7483 -> 0 bytes .../__pycache__/cache.cpython-38.pyc | Bin 8700 -> 0 bytes .../__pycache__/configuration.cpython-38.pyc | Bin 10645 -> 0 bytes .../__pycache__/exceptions.cpython-38.pyc | Bin 12482 -> 0 bytes .../__pycache__/legacy_resolve.cpython-38.pyc | Bin 9898 -> 0 bytes .../__pycache__/locations.cpython-38.pyc | Bin 4492 -> 0 bytes .../_internal/__pycache__/main.cpython-38.pyc | Bin 615 -> 0 bytes .../__pycache__/pep425tags.cpython-38.pyc | Bin 3584 -> 0 bytes .../__pycache__/pyproject.cpython-38.pyc | Bin 3734 -> 0 bytes .../self_outdated_check.cpython-38.pyc | Bin 5493 -> 0 bytes .../__pycache__/wheel_builder.cpython-38.pyc | Bin 6699 -> 0 bytes .../site-packages/pip/_internal/build_env.py | 221 - .../site-packages/pip/_internal/cache.py | 329 - .../pip/_internal/cli/__init__.py | 4 - .../cli/__pycache__/__init__.cpython-38.pyc | Bin 236 -> 0 bytes .../__pycache__/autocompletion.cpython-38.pyc | Bin 4953 -> 0 bytes .../__pycache__/base_command.cpython-38.pyc | Bin 5847 -> 0 bytes .../cli/__pycache__/cmdoptions.cpython-38.pyc | Bin 20328 -> 0 bytes .../command_context.cpython-38.pyc | Bin 1311 -> 0 bytes .../cli/__pycache__/main.cpython-38.pyc | Bin 1406 -> 0 bytes .../__pycache__/main_parser.cpython-38.pyc | Bin 2159 -> 0 bytes .../cli/__pycache__/parser.cpython-38.pyc | Bin 8977 -> 0 bytes .../__pycache__/req_command.cpython-38.pyc | Bin 8289 -> 0 bytes .../__pycache__/status_codes.cpython-38.pyc | Bin 365 -> 0 bytes .../pip/_internal/cli/autocompletion.py | 164 - .../pip/_internal/cli/base_command.py | 226 - .../pip/_internal/cli/cmdoptions.py | 957 - .../pip/_internal/cli/command_context.py | 36 - .../site-packages/pip/_internal/cli/main.py | 75 - .../pip/_internal/cli/main_parser.py | 99 - .../site-packages/pip/_internal/cli/parser.py | 265 - .../pip/_internal/cli/req_command.py | 333 - .../pip/_internal/cli/status_codes.py | 8 - .../pip/_internal/commands/__init__.py | 114 - .../__pycache__/__init__.cpython-38.pyc | Bin 2852 -> 0 bytes .../commands/__pycache__/check.cpython-38.pyc | Bin 1312 -> 0 bytes .../__pycache__/completion.cpython-38.pyc | Bin 3013 -> 0 bytes .../__pycache__/configuration.cpython-38.pyc | Bin 6575 -> 0 bytes .../commands/__pycache__/debug.cpython-38.pyc | Bin 4089 -> 0 bytes .../__pycache__/download.cpython-38.pyc | Bin 3921 -> 0 bytes .../__pycache__/freeze.cpython-38.pyc | Bin 2929 -> 0 bytes .../commands/__pycache__/hash.cpython-38.pyc | Bin 1990 -> 0 bytes .../commands/__pycache__/help.cpython-38.pyc | Bin 1186 -> 0 bytes .../__pycache__/install.cpython-38.pyc | Bin 16661 -> 0 bytes .../commands/__pycache__/list.cpython-38.pyc | Bin 9042 -> 0 bytes .../__pycache__/search.cpython-38.pyc | Bin 4484 -> 0 bytes .../commands/__pycache__/show.cpython-38.pyc | Bin 6325 -> 0 bytes .../__pycache__/uninstall.cpython-38.pyc | Bin 2694 -> 0 bytes .../commands/__pycache__/wheel.cpython-38.pyc | Bin 5246 -> 0 bytes .../pip/_internal/commands/check.py | 45 - .../pip/_internal/commands/completion.py | 96 - .../pip/_internal/commands/configuration.py | 233 - .../pip/_internal/commands/debug.py | 142 - .../pip/_internal/commands/download.py | 147 - .../pip/_internal/commands/freeze.py | 103 - .../pip/_internal/commands/hash.py | 58 - .../pip/_internal/commands/help.py | 41 - .../pip/_internal/commands/install.py | 727 - .../pip/_internal/commands/list.py | 315 - .../pip/_internal/commands/search.py | 145 - .../pip/_internal/commands/show.py | 180 - .../pip/_internal/commands/uninstall.py | 82 - .../pip/_internal/commands/wheel.py | 197 - .../pip/_internal/configuration.py | 422 - .../pip/_internal/distributions/__init__.py | 24 - .../__pycache__/__init__.cpython-38.pyc | Bin 812 -> 0 bytes .../__pycache__/base.cpython-38.pyc | Bin 1928 -> 0 bytes .../__pycache__/installed.cpython-38.pyc | Bin 1208 -> 0 bytes .../__pycache__/sdist.cpython-38.pyc | Bin 3471 -> 0 bytes .../__pycache__/wheel.cpython-38.pyc | Bin 1560 -> 0 bytes .../pip/_internal/distributions/base.py | 45 - .../pip/_internal/distributions/installed.py | 24 - .../pip/_internal/distributions/sdist.py | 104 - .../pip/_internal/distributions/wheel.py | 36 - .../site-packages/pip/_internal/exceptions.py | 308 - .../pip/_internal/index/__init__.py | 2 - .../index/__pycache__/__init__.cpython-38.pyc | Bin 190 -> 0 bytes .../__pycache__/collector.cpython-38.pyc | Bin 14156 -> 0 bytes .../__pycache__/package_finder.cpython-38.pyc | Bin 25749 -> 0 bytes .../pip/_internal/index/collector.py | 544 - .../pip/_internal/index/package_finder.py | 1013 - .../pip/_internal/legacy_resolve.py | 430 - .../site-packages/pip/_internal/locations.py | 194 - .../site-packages/pip/_internal/main.py | 16 - .../pip/_internal/models/__init__.py | 2 - .../__pycache__/__init__.cpython-38.pyc | Bin 224 -> 0 bytes .../__pycache__/candidate.cpython-38.pyc | Bin 1421 -> 0 bytes .../__pycache__/format_control.cpython-38.pyc | Bin 2416 -> 0 bytes .../models/__pycache__/index.cpython-38.pyc | Bin 1146 -> 0 bytes .../models/__pycache__/link.cpython-38.pyc | Bin 6659 -> 0 bytes .../models/__pycache__/scheme.cpython-38.pyc | Bin 862 -> 0 bytes .../__pycache__/search_scope.cpython-38.pyc | Bin 3253 -> 0 bytes .../selection_prefs.cpython-38.pyc | Bin 1596 -> 0 bytes .../__pycache__/target_python.cpython-38.pyc | Bin 3219 -> 0 bytes .../models/__pycache__/wheel.cpython-38.pyc | Bin 3182 -> 0 bytes .../pip/_internal/models/candidate.py | 36 - .../pip/_internal/models/format_control.py | 84 - .../pip/_internal/models/index.py | 31 - .../pip/_internal/models/link.py | 227 - .../pip/_internal/models/scheme.py | 25 - .../pip/_internal/models/search_scope.py | 114 - .../pip/_internal/models/selection_prefs.py | 47 - .../pip/_internal/models/target_python.py | 107 - .../pip/_internal/models/wheel.py | 78 - .../pip/_internal/network/__init__.py | 2 - .../__pycache__/__init__.cpython-38.pyc | Bin 212 -> 0 bytes .../network/__pycache__/auth.cpython-38.pyc | Bin 6978 -> 0 bytes .../network/__pycache__/cache.cpython-38.pyc | Bin 2691 -> 0 bytes .../__pycache__/download.cpython-38.pyc | Bin 4370 -> 0 bytes .../__pycache__/session.cpython-38.pyc | Bin 8851 -> 0 bytes .../network/__pycache__/utils.cpython-38.pyc | Bin 706 -> 0 bytes .../network/__pycache__/xmlrpc.cpython-38.pyc | Bin 1574 -> 0 bytes .../pip/_internal/network/auth.py | 298 - .../pip/_internal/network/cache.py | 81 - .../pip/_internal/network/download.py | 200 - .../pip/_internal/network/session.py | 405 - .../pip/_internal/network/utils.py | 48 - .../pip/_internal/network/xmlrpc.py | 44 - .../pip/_internal/operations/__init__.py | 0 .../__pycache__/__init__.cpython-38.pyc | Bin 160 -> 0 bytes .../__pycache__/check.cpython-38.pyc | Bin 3656 -> 0 bytes .../__pycache__/freeze.cpython-38.pyc | Bin 5803 -> 0 bytes .../__pycache__/prepare.cpython-38.pyc | Bin 11162 -> 0 bytes .../_internal/operations/build/__init__.py | 0 .../build/__pycache__/__init__.cpython-38.pyc | Bin 166 -> 0 bytes .../build/__pycache__/metadata.cpython-38.pyc | Bin 1208 -> 0 bytes .../metadata_legacy.cpython-38.pyc | Bin 3268 -> 0 bytes .../build/__pycache__/wheel.cpython-38.pyc | Bin 1306 -> 0 bytes .../__pycache__/wheel_legacy.cpython-38.pyc | Bin 2567 -> 0 bytes .../_internal/operations/build/metadata.py | 40 - .../operations/build/metadata_legacy.py | 122 - .../pip/_internal/operations/build/wheel.py | 46 - .../operations/build/wheel_legacy.py | 115 - .../pip/_internal/operations/check.py | 163 - .../pip/_internal/operations/freeze.py | 265 - .../_internal/operations/install/__init__.py | 2 - .../__pycache__/__init__.cpython-38.pyc | Bin 224 -> 0 bytes .../editable_legacy.cpython-38.pyc | Bin 1302 -> 0 bytes .../install/__pycache__/legacy.cpython-38.pyc | Bin 3048 -> 0 bytes .../install/__pycache__/wheel.cpython-38.pyc | Bin 14582 -> 0 bytes .../operations/install/editable_legacy.py | 52 - .../_internal/operations/install/legacy.py | 129 - .../pip/_internal/operations/install/wheel.py | 615 - .../pip/_internal/operations/prepare.py | 591 - .../site-packages/pip/_internal/pep425tags.py | 167 - .../site-packages/pip/_internal/pyproject.py | 196 - .../pip/_internal/req/__init__.py | 92 - .../req/__pycache__/__init__.cpython-38.pyc | Bin 2194 -> 0 bytes .../__pycache__/constructors.cpython-38.pyc | Bin 10363 -> 0 bytes .../req/__pycache__/req_file.cpython-38.pyc | Bin 12702 -> 0 bytes .../__pycache__/req_install.cpython-38.pyc | Bin 21338 -> 0 bytes .../req/__pycache__/req_set.cpython-38.pyc | Bin 6021 -> 0 bytes .../__pycache__/req_tracker.cpython-38.pyc | Bin 4041 -> 0 bytes .../__pycache__/req_uninstall.cpython-38.pyc | Bin 17427 -> 0 bytes .../pip/_internal/req/constructors.py | 436 - .../pip/_internal/req/req_file.py | 546 - .../pip/_internal/req/req_install.py | 830 - .../pip/_internal/req/req_set.py | 209 - .../pip/_internal/req/req_tracker.py | 150 - .../pip/_internal/req/req_uninstall.py | 644 - .../pip/_internal/self_outdated_check.py | 242 - .../pip/_internal/utils/__init__.py | 0 .../utils/__pycache__/__init__.cpython-38.pyc | Bin 155 -> 0 bytes .../utils/__pycache__/appdirs.cpython-38.pyc | Bin 1339 -> 0 bytes .../utils/__pycache__/compat.cpython-38.pyc | Bin 6120 -> 0 bytes .../__pycache__/deprecation.cpython-38.pyc | Bin 2826 -> 0 bytes .../__pycache__/distutils_args.cpython-38.pyc | Bin 1139 -> 0 bytes .../utils/__pycache__/encoding.cpython-38.pyc | Bin 1247 -> 0 bytes .../__pycache__/entrypoints.cpython-38.pyc | Bin 1299 -> 0 bytes .../__pycache__/filesystem.cpython-38.pyc | Bin 4035 -> 0 bytes .../__pycache__/filetypes.cpython-38.pyc | Bin 556 -> 0 bytes .../utils/__pycache__/glibc.cpython-38.pyc | Bin 1708 -> 0 bytes .../utils/__pycache__/hashes.cpython-38.pyc | Bin 4144 -> 0 bytes .../inject_securetransport.cpython-38.pyc | Bin 932 -> 0 bytes .../utils/__pycache__/logging.cpython-38.pyc | Bin 9159 -> 0 bytes .../__pycache__/marker_files.cpython-38.pyc | Bin 928 -> 0 bytes .../utils/__pycache__/misc.cpython-38.pyc | Bin 23778 -> 0 bytes .../utils/__pycache__/models.cpython-38.pyc | Bin 1924 -> 0 bytes .../__pycache__/packaging.cpython-38.pyc | Bin 2608 -> 0 bytes .../__pycache__/pkg_resources.cpython-38.pyc | Bin 1822 -> 0 bytes .../setuptools_build.cpython-38.pyc | Bin 2927 -> 0 bytes .../__pycache__/subprocess.cpython-38.pyc | Bin 5598 -> 0 bytes .../utils/__pycache__/temp_dir.cpython-38.pyc | Bin 6711 -> 0 bytes .../utils/__pycache__/typing.cpython-38.pyc | Bin 1437 -> 0 bytes .../utils/__pycache__/ui.cpython-38.pyc | Bin 11802 -> 0 bytes .../__pycache__/unpacking.cpython-38.pyc | Bin 6075 -> 0 bytes .../utils/__pycache__/urls.cpython-38.pyc | Bin 1465 -> 0 bytes .../__pycache__/virtualenv.cpython-38.pyc | Bin 3280 -> 0 bytes .../utils/__pycache__/wheel.cpython-38.pyc | Bin 6325 -> 0 bytes .../pip/_internal/utils/appdirs.py | 41 - .../pip/_internal/utils/compat.py | 269 - .../pip/_internal/utils/deprecation.py | 104 - .../pip/_internal/utils/distutils_args.py | 48 - .../pip/_internal/utils/encoding.py | 42 - .../pip/_internal/utils/entrypoints.py | 31 - .../pip/_internal/utils/filesystem.py | 171 - .../pip/_internal/utils/filetypes.py | 16 - .../pip/_internal/utils/glibc.py | 98 - .../pip/_internal/utils/hashes.py | 131 - .../_internal/utils/inject_securetransport.py | 36 - .../pip/_internal/utils/logging.py | 398 - .../pip/_internal/utils/marker_files.py | 25 - .../site-packages/pip/_internal/utils/misc.py | 904 - .../pip/_internal/utils/models.py | 42 - .../pip/_internal/utils/packaging.py | 94 - .../pip/_internal/utils/pkg_resources.py | 44 - .../pip/_internal/utils/setuptools_build.py | 181 - .../pip/_internal/utils/subprocess.py | 278 - .../pip/_internal/utils/temp_dir.py | 250 - .../pip/_internal/utils/typing.py | 38 - .../site-packages/pip/_internal/utils/ui.py | 428 - .../pip/_internal/utils/unpacking.py | 272 - .../site-packages/pip/_internal/utils/urls.py | 54 - .../pip/_internal/utils/virtualenv.py | 115 - .../pip/_internal/utils/wheel.py | 225 - .../pip/_internal/vcs/__init__.py | 15 - .../vcs/__pycache__/__init__.cpython-38.pyc | Bin 448 -> 0 bytes .../vcs/__pycache__/bazaar.cpython-38.pyc | Bin 3747 -> 0 bytes .../vcs/__pycache__/git.cpython-38.pyc | Bin 9498 -> 0 bytes .../vcs/__pycache__/mercurial.cpython-38.pyc | Bin 4888 -> 0 bytes .../vcs/__pycache__/subversion.cpython-38.pyc | Bin 8487 -> 0 bytes .../__pycache__/versioncontrol.cpython-38.pyc | Bin 19216 -> 0 bytes .../site-packages/pip/_internal/vcs/bazaar.py | 120 - .../site-packages/pip/_internal/vcs/git.py | 389 - .../pip/_internal/vcs/mercurial.py | 155 - .../pip/_internal/vcs/subversion.py | 333 - .../pip/_internal/vcs/versioncontrol.py | 700 - .../pip/_internal/wheel_builder.py | 305 - .../site-packages/pip/_vendor/__init__.py | 117 - .../__pycache__/__init__.cpython-38.pyc | Bin 2963 -> 0 bytes .../pkg_resources-0.0.0.dist-info/AUTHORS.txt | 562 - .../pkg_resources-0.0.0.dist-info/INSTALLER | 1 - .../pkg_resources-0.0.0.dist-info/LICENSE.txt | 20 - .../pkg_resources-0.0.0.dist-info/METADATA | 13 - .../pkg_resources-0.0.0.dist-info/RECORD | 38 - .../pkg_resources-0.0.0.dist-info/WHEEL | 6 - .../site-packages/pkg_resources/__init__.py | 3296 --- .../__pycache__/__init__.cpython-38.pyc | Bin 100356 -> 0 bytes .../__pycache__/py31compat.cpython-38.pyc | Bin 600 -> 0 bytes .../pkg_resources/_vendor/__init__.py | 0 .../__pycache__/__init__.cpython-38.pyc | Bin 157 -> 0 bytes .../__pycache__/appdirs.cpython-38.pyc | Bin 20510 -> 0 bytes .../__pycache__/pyparsing.cpython-38.pyc | Bin 201634 -> 0 bytes .../_vendor/__pycache__/six.cpython-38.pyc | Bin 24430 -> 0 bytes .../pkg_resources/_vendor/appdirs.py | 608 - .../_vendor/packaging/__about__.py | 21 - .../_vendor/packaging/__init__.py | 14 - .../__pycache__/__about__.cpython-38.pyc | Bin 707 -> 0 bytes .../__pycache__/__init__.cpython-38.pyc | Bin 545 -> 0 bytes .../__pycache__/_compat.cpython-38.pyc | Bin 981 -> 0 bytes .../__pycache__/_structures.cpython-38.pyc | Bin 2763 -> 0 bytes .../__pycache__/markers.cpython-38.pyc | Bin 8919 -> 0 bytes .../__pycache__/requirements.cpython-38.pyc | Bin 3878 -> 0 bytes .../__pycache__/specifiers.cpython-38.pyc | Bin 19787 -> 0 bytes .../__pycache__/utils.cpython-38.pyc | Bin 466 -> 0 bytes .../__pycache__/version.cpython-38.pyc | Bin 10634 -> 0 bytes .../_vendor/packaging/_compat.py | 30 - .../_vendor/packaging/_structures.py | 68 - .../_vendor/packaging/markers.py | 301 - .../_vendor/packaging/requirements.py | 127 - .../_vendor/packaging/specifiers.py | 774 - .../pkg_resources/_vendor/packaging/utils.py | 14 - .../_vendor/packaging/version.py | 393 - .../pkg_resources/_vendor/pyparsing.py | 5742 ------ .../pkg_resources/_vendor/six.py | 868 - .../pkg_resources/extern/__init__.py | 73 - .../__pycache__/__init__.cpython-38.pyc | Bin 2406 -> 0 bytes .../site-packages/pkg_resources/py31compat.py | 23 - .../pycparser-2.20.dist-info/INSTALLER | 1 - .../pycparser-2.20.dist-info/LICENSE | 27 - .../pycparser-2.20.dist-info/METADATA | 27 - .../pycparser-2.20.dist-info/RECORD | 41 - .../pycparser-2.20.dist-info/WHEEL | 6 - .../pycparser-2.20.dist-info/top_level.txt | 1 - .../site-packages/pycparser/__init__.py | 90 - .../__pycache__/__init__.cpython-38.pyc | Bin 2466 -> 0 bytes .../__pycache__/_ast_gen.cpython-38.pyc | Bin 10179 -> 0 bytes .../__pycache__/_build_tables.cpython-38.pyc | Bin 501 -> 0 bytes .../__pycache__/ast_transforms.cpython-38.pyc | Bin 2517 -> 0 bytes .../__pycache__/c_ast.cpython-38.pyc | Bin 35273 -> 0 bytes .../__pycache__/c_generator.cpython-38.pyc | Bin 16783 -> 0 bytes .../__pycache__/c_lexer.cpython-38.pyc | Bin 11867 -> 0 bytes .../__pycache__/c_parser.cpython-38.pyc | Bin 60604 -> 0 bytes .../__pycache__/lextab.cpython-38.pyc | Bin 5614 -> 0 bytes .../__pycache__/plyparser.cpython-38.pyc | Bin 4652 -> 0 bytes .../__pycache__/yacctab.cpython-38.pyc | Bin 139346 -> 0 bytes .../site-packages/pycparser/_ast_gen.py | 338 - .../site-packages/pycparser/_build_tables.py | 37 - .../site-packages/pycparser/_c_ast.cfg | 191 - .../site-packages/pycparser/ast_transforms.py | 106 - .../site-packages/pycparser/c_ast.py | 1084 - .../site-packages/pycparser/c_generator.py | 444 - .../site-packages/pycparser/c_lexer.py | 514 - .../site-packages/pycparser/c_parser.py | 1863 -- .../site-packages/pycparser/lextab.py | 10 - .../site-packages/pycparser/ply/__init__.py | 5 - .../ply/__pycache__/__init__.cpython-38.pyc | Bin 198 -> 0 bytes .../ply/__pycache__/cpp.cpython-38.pyc | Bin 16089 -> 0 bytes .../ply/__pycache__/ctokens.cpython-38.pyc | Bin 2253 -> 0 bytes .../ply/__pycache__/lex.cpython-38.pyc | Bin 21398 -> 0 bytes .../ply/__pycache__/yacc.cpython-38.pyc | Bin 53039 -> 0 bytes .../ply/__pycache__/ygen.cpython-38.pyc | Bin 1723 -> 0 bytes .../site-packages/pycparser/ply/cpp.py | 905 - .../site-packages/pycparser/ply/ctokens.py | 133 - .../site-packages/pycparser/ply/lex.py | 1099 - .../site-packages/pycparser/ply/yacc.py | 3494 ---- .../site-packages/pycparser/ply/ygen.py | 74 - .../site-packages/pycparser/plyparser.py | 133 - .../site-packages/pycparser/yacctab.py | 338 - .../pyserial-3.4.dist-info/DESCRIPTION.rst | 13 - .../pyserial-3.4.dist-info/INSTALLER | 1 - .../pyserial-3.4.dist-info/METADATA | 44 - .../pyserial-3.4.dist-info/RECORD | 91 - .../pyserial-3.4.dist-info/WHEEL | 6 - .../pyserial-3.4.dist-info/metadata.json | 1 - .../pyserial-3.4.dist-info/top_level.txt | 1 - .../reedsolo-1.5.4.egg-info/PKG-INFO | 354 - .../reedsolo-1.5.4.egg-info/SOURCES.txt | 13 - .../dependency_links.txt | 1 - .../installed-files.txt | 6 - .../reedsolo-1.5.4.egg-info/top_level.txt | 1 - .../lib/python3.8/site-packages/reedsolo.py | 974 - .../site-packages/serial/__init__.py | 89 - .../site-packages/serial/__init__.pyc | Bin 2322 -> 0 bytes .../__pycache__/__init__.cpython-38.pyc | Bin 2085 -> 0 bytes .../serial/__pycache__/aio.cpython-38.pyc | Bin 3729 -> 0 bytes .../serial/__pycache__/rfc2217.cpython-38.pyc | Bin 32364 -> 0 bytes .../serial/__pycache__/rs485.cpython-38.pyc | Bin 2850 -> 0 bytes .../__pycache__/serialcli.cpython-38.pyc | Bin 6608 -> 0 bytes .../__pycache__/serialjava.cpython-38.pyc | Bin 7337 -> 0 bytes .../__pycache__/serialposix.cpython-38.pyc | Bin 19788 -> 0 bytes .../__pycache__/serialutil.cpython-38.pyc | Bin 18300 -> 0 bytes .../__pycache__/serialwin32.cpython-38.pyc | Bin 12875 -> 0 bytes .../serial/__pycache__/win32.cpython-38.pyc | Bin 6478 -> 0 bytes .../lib/python3.8/site-packages/serial/aio.py | 115 - .../python3.8/site-packages/serial/aio.pyc | Bin 4496 -> 0 bytes .../python3.8/site-packages/serial/rfc2217.py | 1346 -- .../site-packages/serial/rfc2217.pyc | Bin 37632 -> 0 bytes .../python3.8/site-packages/serial/rs485.py | 92 - .../python3.8/site-packages/serial/rs485.pyc | Bin 3266 -> 0 bytes .../site-packages/serial/serialcli.py | 251 - .../site-packages/serial/serialcli.pyc | Bin 8308 -> 0 bytes .../site-packages/serial/serialjava.py | 249 - .../site-packages/serial/serialjava.pyc | Bin 9577 -> 0 bytes .../site-packages/serial/serialposix.py | 811 - .../site-packages/serial/serialposix.pyc | Bin 24286 -> 0 bytes .../site-packages/serial/serialutil.py | 693 - .../site-packages/serial/serialutil.pyc | Bin 20027 -> 0 bytes .../site-packages/serial/serialwin32.py | 475 - .../site-packages/serial/serialwin32.pyc | Bin 14471 -> 0 bytes .../site-packages/serial/threaded/__init__.py | 295 - .../__pycache__/__init__.cpython-38.pyc | Bin 9392 -> 0 bytes .../site-packages/serial/tools/__init__.py | 0 .../site-packages/serial/tools/__init__.pyc | Bin 140 -> 0 bytes .../tools/__pycache__/__init__.cpython-38.pyc | Bin 148 -> 0 bytes .../__pycache__/hexlify_codec.cpython-38.pyc | Bin 4790 -> 0 bytes .../__pycache__/list_ports.cpython-38.pyc | Bin 2470 -> 0 bytes .../list_ports_common.cpython-38.pyc | Bin 3140 -> 0 bytes .../list_ports_linux.cpython-38.pyc | Bin 2941 -> 0 bytes .../__pycache__/list_ports_osx.cpython-38.pyc | Bin 5667 -> 0 bytes .../list_ports_posix.cpython-38.pyc | Bin 3881 -> 0 bytes .../list_ports_windows.cpython-38.pyc | Bin 5800 -> 0 bytes .../tools/__pycache__/miniterm.cpython-38.pyc | Bin 27929 -> 0 bytes .../serial/tools/hexlify_codec.py | 124 - .../serial/tools/hexlify_codec.pyc | Bin 4872 -> 0 bytes .../site-packages/serial/tools/list_ports.py | 108 - .../site-packages/serial/tools/list_ports.pyc | Bin 2815 -> 0 bytes .../serial/tools/list_ports_common.py | 108 - .../serial/tools/list_ports_common.pyc | Bin 3315 -> 0 bytes .../serial/tools/list_ports_linux.py | 107 - .../serial/tools/list_ports_linux.pyc | Bin 3038 -> 0 bytes .../serial/tools/list_ports_osx.py | 260 - .../serial/tools/list_ports_osx.pyc | Bin 7164 -> 0 bytes .../serial/tools/list_ports_posix.py | 117 - .../serial/tools/list_ports_posix.pyc | Bin 3966 -> 0 bytes .../serial/tools/list_ports_windows.py | 305 - .../serial/tools/list_ports_windows.pyc | Bin 6912 -> 0 bytes .../site-packages/serial/tools/miniterm.py | 976 - .../site-packages/serial/tools/miniterm.pyc | Bin 30469 -> 0 bytes .../serial/urlhandler/__init__.py | 0 .../serial/urlhandler/__init__.pyc | Bin 145 -> 0 bytes .../__pycache__/__init__.cpython-38.pyc | Bin 153 -> 0 bytes .../__pycache__/protocol_alt.cpython-38.pyc | Bin 1325 -> 0 bytes .../protocol_hwgrep.cpython-38.pyc | Bin 1791 -> 0 bytes .../__pycache__/protocol_loop.cpython-38.pyc | Bin 7937 -> 0 bytes .../protocol_rfc2217.cpython-38.pyc | Bin 206 -> 0 bytes .../protocol_serve-rfc2217.cpython-38.pyc | Bin 212 -> 0 bytes .../protocol_socket.cpython-38.pyc | Bin 8908 -> 0 bytes .../__pycache__/protocol_spy.cpython-38.pyc | Bin 8995 -> 0 bytes .../serial/urlhandler/protocol_alt.py | 55 - .../serial/urlhandler/protocol_hwgrep.py | 89 - .../serial/urlhandler/protocol_hwgrep.pyc | Bin 1627 -> 0 bytes .../serial/urlhandler/protocol_loop.py | 295 - .../serial/urlhandler/protocol_loop.pyc | Bin 9394 -> 0 bytes .../serial/urlhandler/protocol_rfc2217.py | 10 - .../serial/urlhandler/protocol_rfc2217.pyc | Bin 214 -> 0 bytes .../urlhandler/protocol_serve-rfc2217.py | 10 - .../serial/urlhandler/protocol_socket.py | 356 - .../serial/urlhandler/protocol_socket.pyc | Bin 9803 -> 0 bytes .../serial/urlhandler/protocol_spy.py | 286 - .../serial/urlhandler/protocol_spy.pyc | Bin 10984 -> 0 bytes .../python3.8/site-packages/serial/win32.py | 354 - .../python3.8/site-packages/serial/win32.pyc | Bin 7725 -> 0 bytes .../setuptools-44.0.0.dist-info/AUTHORS.txt | 562 - .../setuptools-44.0.0.dist-info/INSTALLER | 1 - .../setuptools-44.0.0.dist-info/LICENSE.txt | 20 - .../setuptools-44.0.0.dist-info/METADATA | 82 - .../setuptools-44.0.0.dist-info/RECORD | 163 - .../setuptools-44.0.0.dist-info/WHEEL | 6 - .../dependency_links.txt | 2 - .../entry_points.txt | 68 - .../setuptools-44.0.0.dist-info/top_level.txt | 3 - .../setuptools-44.0.0.dist-info/zip-safe | 1 - .../site-packages/setuptools/__init__.py | 228 - .../__pycache__/__init__.cpython-38.pyc | Bin 7768 -> 0 bytes .../_deprecation_warning.cpython-38.pyc | Bin 516 -> 0 bytes .../__pycache__/_imp.cpython-38.pyc | Bin 1890 -> 0 bytes .../__pycache__/archive_util.cpython-38.pyc | Bin 5128 -> 0 bytes .../__pycache__/build_meta.cpython-38.pyc | Bin 8495 -> 0 bytes .../__pycache__/config.cpython-38.pyc | Bin 17896 -> 0 bytes .../__pycache__/dep_util.cpython-38.pyc | Bin 819 -> 0 bytes .../__pycache__/depends.cpython-38.pyc | Bin 5216 -> 0 bytes .../__pycache__/dist.cpython-38.pyc | Bin 42326 -> 0 bytes .../__pycache__/errors.cpython-38.pyc | Bin 816 -> 0 bytes .../__pycache__/extension.cpython-38.pyc | Bin 1961 -> 0 bytes .../__pycache__/glob.cpython-38.pyc | Bin 3733 -> 0 bytes .../__pycache__/installer.cpython-38.pyc | Bin 4102 -> 0 bytes .../__pycache__/launch.cpython-38.pyc | Bin 824 -> 0 bytes .../__pycache__/lib2to3_ex.cpython-38.pyc | Bin 2411 -> 0 bytes .../__pycache__/monkey.cpython-38.pyc | Bin 4644 -> 0 bytes .../__pycache__/msvc.cpython-38.pyc | Bin 39631 -> 0 bytes .../__pycache__/namespaces.cpython-38.pyc | Bin 3616 -> 0 bytes .../__pycache__/package_index.cpython-38.pyc | Bin 32970 -> 0 bytes .../__pycache__/py27compat.cpython-38.pyc | Bin 1749 -> 0 bytes .../__pycache__/py31compat.cpython-38.pyc | Bin 1191 -> 0 bytes .../__pycache__/py33compat.cpython-38.pyc | Bin 1408 -> 0 bytes .../__pycache__/py34compat.cpython-38.pyc | Bin 450 -> 0 bytes .../__pycache__/sandbox.cpython-38.pyc | Bin 15536 -> 0 bytes .../__pycache__/site-patch.cpython-38.pyc | Bin 1474 -> 0 bytes .../__pycache__/ssl_support.cpython-38.pyc | Bin 6855 -> 0 bytes .../__pycache__/unicode_utils.cpython-38.pyc | Bin 1151 -> 0 bytes .../__pycache__/version.cpython-38.pyc | Bin 292 -> 0 bytes .../__pycache__/wheel.cpython-38.pyc | Bin 7383 -> 0 bytes .../windows_support.cpython-38.pyc | Bin 989 -> 0 bytes .../setuptools/_deprecation_warning.py | 7 - .../site-packages/setuptools/_imp.py | 73 - .../setuptools/_vendor/__init__.py | 0 .../__pycache__/__init__.cpython-38.pyc | Bin 154 -> 0 bytes .../__pycache__/ordered_set.cpython-38.pyc | Bin 16412 -> 0 bytes .../__pycache__/pyparsing.cpython-38.pyc | Bin 201631 -> 0 bytes .../_vendor/__pycache__/six.cpython-38.pyc | Bin 24427 -> 0 bytes .../setuptools/_vendor/ordered_set.py | 488 - .../setuptools/_vendor/packaging/__about__.py | 27 - .../setuptools/_vendor/packaging/__init__.py | 26 - .../__pycache__/__about__.cpython-38.pyc | Bin 704 -> 0 bytes .../__pycache__/__init__.cpython-38.pyc | Bin 542 -> 0 bytes .../__pycache__/_compat.cpython-38.pyc | Bin 978 -> 0 bytes .../__pycache__/_structures.cpython-38.pyc | Bin 2760 -> 0 bytes .../__pycache__/markers.cpython-38.pyc | Bin 8927 -> 0 bytes .../__pycache__/requirements.cpython-38.pyc | Bin 3995 -> 0 bytes .../__pycache__/specifiers.cpython-38.pyc | Bin 19734 -> 0 bytes .../packaging/__pycache__/tags.cpython-38.pyc | Bin 10811 -> 0 bytes .../__pycache__/utils.cpython-38.pyc | Bin 1435 -> 0 bytes .../__pycache__/version.cpython-38.pyc | Bin 12065 -> 0 bytes .../setuptools/_vendor/packaging/_compat.py | 31 - .../_vendor/packaging/_structures.py | 68 - .../setuptools/_vendor/packaging/markers.py | 296 - .../_vendor/packaging/requirements.py | 138 - .../_vendor/packaging/specifiers.py | 749 - .../setuptools/_vendor/packaging/tags.py | 404 - .../setuptools/_vendor/packaging/utils.py | 57 - .../setuptools/_vendor/packaging/version.py | 420 - .../setuptools/_vendor/pyparsing.py | 5742 ------ .../site-packages/setuptools/_vendor/six.py | 868 - .../site-packages/setuptools/archive_util.py | 173 - .../site-packages/setuptools/build_meta.py | 257 - .../site-packages/setuptools/cli-32.exe | Bin 65536 -> 0 bytes .../site-packages/setuptools/cli-64.exe | Bin 74752 -> 0 bytes .../site-packages/setuptools/cli.exe | Bin 65536 -> 0 bytes .../setuptools/command/__init__.py | 17 - .../__pycache__/__init__.cpython-38.pyc | Bin 712 -> 0 bytes .../command/__pycache__/alias.cpython-38.pyc | Bin 2392 -> 0 bytes .../__pycache__/bdist_egg.cpython-38.pyc | Bin 14182 -> 0 bytes .../__pycache__/bdist_rpm.cpython-38.pyc | Bin 1784 -> 0 bytes .../__pycache__/bdist_wininst.cpython-38.pyc | Bin 954 -> 0 bytes .../__pycache__/build_clib.cpython-38.pyc | Bin 2437 -> 0 bytes .../__pycache__/build_ext.cpython-38.pyc | Bin 9895 -> 0 bytes .../__pycache__/build_py.cpython-38.pyc | Bin 8641 -> 0 bytes .../__pycache__/develop.cpython-38.pyc | Bin 6501 -> 0 bytes .../__pycache__/dist_info.cpython-38.pyc | Bin 1361 -> 0 bytes .../__pycache__/easy_install.cpython-38.pyc | Bin 66694 -> 0 bytes .../__pycache__/egg_info.cpython-38.pyc | Bin 21773 -> 0 bytes .../__pycache__/install.cpython-38.pyc | Bin 4016 -> 0 bytes .../install_egg_info.cpython-38.pyc | Bin 2900 -> 0 bytes .../__pycache__/install_lib.cpython-38.pyc | Bin 5083 -> 0 bytes .../install_scripts.cpython-38.pyc | Bin 2273 -> 0 bytes .../__pycache__/py36compat.cpython-38.pyc | Bin 4610 -> 0 bytes .../__pycache__/register.cpython-38.pyc | Bin 811 -> 0 bytes .../command/__pycache__/rotate.cpython-38.pyc | Bin 2520 -> 0 bytes .../__pycache__/saveopts.cpython-38.pyc | Bin 889 -> 0 bytes .../command/__pycache__/sdist.cpython-38.pyc | Bin 7859 -> 0 bytes .../command/__pycache__/setopt.cpython-38.pyc | Bin 4537 -> 0 bytes .../command/__pycache__/test.cpython-38.pyc | Bin 8475 -> 0 bytes .../command/__pycache__/upload.cpython-38.pyc | Bin 784 -> 0 bytes .../__pycache__/upload_docs.cpython-38.pyc | Bin 6140 -> 0 bytes .../site-packages/setuptools/command/alias.py | 80 - .../setuptools/command/bdist_egg.py | 502 - .../setuptools/command/bdist_rpm.py | 43 - .../setuptools/command/bdist_wininst.py | 21 - .../setuptools/command/build_clib.py | 98 - .../setuptools/command/build_ext.py | 327 - .../setuptools/command/build_py.py | 270 - .../setuptools/command/develop.py | 221 - .../setuptools/command/dist_info.py | 36 - .../setuptools/command/easy_install.py | 2402 --- .../setuptools/command/egg_info.py | 717 - .../setuptools/command/install.py | 125 - .../setuptools/command/install_egg_info.py | 82 - .../setuptools/command/install_lib.py | 147 - .../setuptools/command/install_scripts.py | 65 - .../setuptools/command/launcher manifest.xml | 15 - .../setuptools/command/py36compat.py | 136 - .../setuptools/command/register.py | 18 - .../setuptools/command/rotate.py | 66 - .../setuptools/command/saveopts.py | 22 - .../site-packages/setuptools/command/sdist.py | 252 - .../setuptools/command/setopt.py | 149 - .../site-packages/setuptools/command/test.py | 279 - .../setuptools/command/upload.py | 17 - .../setuptools/command/upload_docs.py | 206 - .../site-packages/setuptools/config.py | 659 - .../site-packages/setuptools/dep_util.py | 23 - .../site-packages/setuptools/depends.py | 176 - .../site-packages/setuptools/dist.py | 1274 -- .../site-packages/setuptools/errors.py | 16 - .../site-packages/setuptools/extension.py | 57 - .../setuptools/extern/__init__.py | 73 - .../__pycache__/__init__.cpython-38.pyc | Bin 2420 -> 0 bytes .../site-packages/setuptools/glob.py | 174 - .../site-packages/setuptools/gui-32.exe | Bin 65536 -> 0 bytes .../site-packages/setuptools/gui-64.exe | Bin 75264 -> 0 bytes .../site-packages/setuptools/gui.exe | Bin 65536 -> 0 bytes .../site-packages/setuptools/installer.py | 150 - .../site-packages/setuptools/launch.py | 35 - .../site-packages/setuptools/lib2to3_ex.py | 62 - .../site-packages/setuptools/monkey.py | 179 - .../site-packages/setuptools/msvc.py | 1679 -- .../site-packages/setuptools/namespaces.py | 107 - .../site-packages/setuptools/package_index.py | 1136 -- .../site-packages/setuptools/py27compat.py | 60 - .../site-packages/setuptools/py31compat.py | 32 - .../site-packages/setuptools/py33compat.py | 59 - .../site-packages/setuptools/py34compat.py | 13 - .../site-packages/setuptools/sandbox.py | 491 - .../setuptools/script (dev).tmpl | 6 - .../site-packages/setuptools/script.tmpl | 3 - .../site-packages/setuptools/site-patch.py | 74 - .../site-packages/setuptools/ssl_support.py | 260 - .../site-packages/setuptools/unicode_utils.py | 44 - .../site-packages/setuptools/version.py | 6 - .../site-packages/setuptools/wheel.py | 220 - .../setuptools/windows_support.py | 29 - .../six-1.15.0.dist-info/INSTALLER | 1 - .../six-1.15.0.dist-info/LICENSE | 18 - .../six-1.15.0.dist-info/METADATA | 49 - .../site-packages/six-1.15.0.dist-info/RECORD | 8 - .../site-packages/six-1.15.0.dist-info/WHEEL | 6 - .../six-1.15.0.dist-info/top_level.txt | 1 - .../venv/lib/python3.8/site-packages/six.py | 982 - esptool/venv/lib64 | 1 - esptool/venv/pyvenv.cfg | 3 - .../CacheControl-0.12.6-py2.py3-none-any.whl | Bin 28023 -> 0 bytes .../appdirs-1.4.3-py2.py3-none-any.whl | Bin 18776 -> 0 bytes .../certifi-2019.11.28-py2.py3-none-any.whl | Bin 164552 -> 0 bytes .../chardet-3.0.4-py2.py3-none-any.whl | Bin 141487 -> 0 bytes .../colorama-0.4.3-py2.py3-none-any.whl | Bin 25094 -> 0 bytes .../contextlib2-0.6.0-py2.py3-none-any.whl | Bin 17188 -> 0 bytes .../distlib-0.3.0-py2.py3-none-any.whl | Bin 152027 -> 0 bytes .../distro-1.4.0-py2.py3-none-any.whl | Bin 23898 -> 0 bytes .../html5lib-1.0.1-py2.py3-none-any.whl | Bin 120020 -> 0 bytes .../idna-2.8-py2.py3-none-any.whl | Bin 66836 -> 0 bytes .../ipaddr-2.2.0-py2.py3-none-any.whl | Bin 24287 -> 0 bytes .../lockfile-0.12.2-py2.py3-none-any.whl | Bin 21972 -> 0 bytes .../msgpack-0.6.2-py2.py3-none-any.whl | Bin 92927 -> 0 bytes .../packaging-20.3-py2.py3-none-any.whl | Bin 42242 -> 0 bytes .../pep517-0.8.2-py2.py3-none-any.whl | Bin 26686 -> 0 bytes .../pip-20.0.2-py2.py3-none-any.whl | Bin 262196 -> 0 bytes .../pkg_resources-0.0.0-py2.py3-none-any.whl | Bin 127312 -> 0 bytes .../progress-1.5-py2.py3-none-any.whl | Bin 17547 -> 0 bytes .../pyparsing-2.4.6-py2.py3-none-any.whl | Bin 77093 -> 0 bytes .../pytoml-0.1.21-py2.py3-none-any.whl | Bin 17938 -> 0 bytes .../requests-2.22.0-py2.py3-none-any.whl | Bin 67470 -> 0 bytes .../retrying-1.3.3-py2.py3-none-any.whl | Bin 16358 -> 0 bytes .../setuptools-44.0.0-py2.py3-none-any.whl | Bin 477446 -> 0 bytes .../six-1.14.0-py2.py3-none-any.whl | Bin 20256 -> 0 bytes .../urllib3-1.25.8-py2.py3-none-any.whl | Bin 127041 -> 0 bytes .../webencodings-0.5.1-py2.py3-none-any.whl | Bin 20484 -> 0 bytes .../wheel-0.34.2-py2.py3-none-any.whl | Bin 35611 -> 0 bytes nodemcu-firmware/.gdbinit | 34 + nodemcu-firmware/.gdbinitlua | 199 + wifi-tally/Changelog.md | 39 - wifi-tally/Example | 3 - wifi-tally/LICENSE | 21 - wifi-tally/firmware/LICENSE | 21 - wifi-tally/firmware/README.md | 7 - wifi-tally/firmware/install_firmware.sh | 4 + ...mcu-3.0-master_20200610-cfe68233-float.bin | Bin 0 -> 462848 bytes wifi-tally/firmware/script.sh | 34 - wifi-tally/hub/build_server.sh | 3 + wifi-tally/hub/package-lock.json | 16607 ++++++++++++++-- wifi-tally/hub/package.json | 6 +- wifi-tally/hub/run_server.sh | 2 + wifi-tally/tally/install_application.sh | 2 + 1127 files changed, 16826 insertions(+), 168711 deletions(-) delete mode 100755 ESPlorer/.github/stale.yml delete mode 100755 ESPlorer/.github/workflows/build.yml delete mode 100755 ESPlorer/.gitignore delete mode 100755 ESPlorer/LICENSE.md delete mode 100755 ESPlorer/README.md delete mode 100755 ESPlorer/RunMe.sh delete mode 100755 ESPlorer/mvnw delete mode 100755 ESPlorer/mvnw.cmd delete mode 100755 ESPlorer/pom.xml delete mode 100755 ESPlorer/script/ESPlorer.bat delete mode 100755 ESPlorer/script/ESPlorer.sh delete mode 100755 ESPlorer/script/gpio.py delete mode 100755 ESPlorer/script/test100lines.lua delete mode 100755 ESPlorer/src/main/java/ESPlorer/ESPlorer.form delete mode 100755 ESPlorer/src/main/java/ESPlorer/ESPlorer.java delete mode 100755 ESPlorer/src/main/java/ESPlorer/pyFiler.java delete mode 100755 ESPlorer/src/main/resources/resources/AlwaysOnTop.png delete mode 100755 ESPlorer/src/main/resources/resources/ESP8266-64x64.png delete mode 100755 ESPlorer/src/main/resources/resources/ESP8266-96x96.png delete mode 100755 ESPlorer/src/main/resources/resources/IoTmanager.png delete mode 100755 ESPlorer/src/main/resources/resources/abort.png delete mode 100755 ESPlorer/src/main/resources/resources/aliexpress.png delete mode 100755 ESPlorer/src/main/resources/resources/backup.png delete mode 100755 ESPlorer/src/main/resources/resources/backup_delete.png delete mode 100755 ESPlorer/src/main/resources/resources/connect1.png delete mode 100755 ESPlorer/src/main/resources/resources/connect2.png delete mode 100755 ESPlorer/src/main/resources/resources/connect3.png delete mode 100755 ESPlorer/src/main/resources/resources/copy.png delete mode 100755 ESPlorer/src/main/resources/resources/cut.png delete mode 100755 ESPlorer/src/main/resources/resources/disconnect1.png delete mode 100755 ESPlorer/src/main/resources/resources/disconnect3.png delete mode 100755 ESPlorer/src/main/resources/resources/document.png delete mode 100755 ESPlorer/src/main/resources/resources/donate-small.gif delete mode 100755 ESPlorer/src/main/resources/resources/donate.gif delete mode 100755 ESPlorer/src/main/resources/resources/download.png delete mode 100755 ESPlorer/src/main/resources/resources/dump.png delete mode 100755 ESPlorer/src/main/resources/resources/edit.png delete mode 100755 ESPlorer/src/main/resources/resources/file manager (delete).png delete mode 100755 ESPlorer/src/main/resources/resources/file manager.png delete mode 100755 ESPlorer/src/main/resources/resources/file.png delete mode 100755 ESPlorer/src/main/resources/resources/file_remove.png delete mode 100755 ESPlorer/src/main/resources/resources/folder closed.png delete mode 100755 ESPlorer/src/main/resources/resources/folder open.png delete mode 100755 ESPlorer/src/main/resources/resources/folder_open_document.png delete mode 100755 ESPlorer/src/main/resources/resources/get.png delete mode 100755 ESPlorer/src/main/resources/resources/information.png delete mode 100755 ESPlorer/src/main/resources/resources/lc.png delete mode 100755 ESPlorer/src/main/resources/resources/led_black.png delete mode 100755 ESPlorer/src/main/resources/resources/led_blue.png delete mode 100755 ESPlorer/src/main/resources/resources/led_green.png delete mode 100755 ESPlorer/src/main/resources/resources/led_grey.png delete mode 100755 ESPlorer/src/main/resources/resources/led_orange.png delete mode 100755 ESPlorer/src/main/resources/resources/led_red.png delete mode 100755 ESPlorer/src/main/resources/resources/led_white.png delete mode 100755 ESPlorer/src/main/resources/resources/led_yellow.png delete mode 100755 ESPlorer/src/main/resources/resources/left.png delete mode 100755 ESPlorer/src/main/resources/resources/level up.png delete mode 100755 ESPlorer/src/main/resources/resources/list.png delete mode 100755 ESPlorer/src/main/resources/resources/lua.png delete mode 100755 ESPlorer/src/main/resources/resources/micropython.png delete mode 100755 ESPlorer/src/main/resources/resources/mnemonic.properties delete mode 100755 ESPlorer/src/main/resources/resources/move.png delete mode 100755 ESPlorer/src/main/resources/resources/nodemcu.png delete mode 100755 ESPlorer/src/main/resources/resources/paste.png delete mode 100755 ESPlorer/src/main/resources/resources/paypal.png delete mode 100755 ESPlorer/src/main/resources/resources/ping.png delete mode 100755 ESPlorer/src/main/resources/resources/play.png delete mode 100755 ESPlorer/src/main/resources/resources/redo1.png delete mode 100755 ESPlorer/src/main/resources/resources/refresh.png delete mode 100755 ESPlorer/src/main/resources/resources/refresh3.png delete mode 100755 ESPlorer/src/main/resources/resources/rename.png delete mode 100755 ESPlorer/src/main/resources/resources/reset.png delete mode 100755 ESPlorer/src/main/resources/resources/run_line.png delete mode 100755 ESPlorer/src/main/resources/resources/save.png delete mode 100755 ESPlorer/src/main/resources/resources/save_all.png delete mode 100755 ESPlorer/src/main/resources/resources/script (edit).png delete mode 100755 ESPlorer/src/main/resources/resources/script.png delete mode 100755 ESPlorer/src/main/resources/resources/script_send.png delete mode 100755 ESPlorer/src/main/resources/resources/script_start.png delete mode 100755 ESPlorer/src/main/resources/resources/search again.png delete mode 100755 ESPlorer/src/main/resources/resources/send_selected.png delete mode 100755 ESPlorer/src/main/resources/resources/server1_start.png delete mode 100755 ESPlorer/src/main/resources/resources/set.png delete mode 100755 ESPlorer/src/main/resources/resources/settings1.png delete mode 100755 ESPlorer/src/main/resources/resources/settings2.png delete mode 100755 ESPlorer/src/main/resources/resources/terminal_clear.png delete mode 100755 ESPlorer/src/main/resources/resources/transmit.png delete mode 100755 ESPlorer/src/main/resources/resources/trash.png delete mode 100755 ESPlorer/src/main/resources/resources/undo1.png delete mode 100755 ESPlorer/src/main/resources/resources/upload.png delete mode 100755 ESPlorer/src/main/resources/resources/uploadLUA.png delete mode 100755 ESPlorer/src/main/resources/resources/view.png delete mode 100755 ESPlorer/src/main/resources/resources/web_server_start.png delete mode 100755 ESPlorer/src/main/resources/resources/wifi.png delete mode 100755 ESPlorer/src/main/resources/resources/wizard.png delete mode 100755 ESPlorer/src/main/resources/resources/zoom in.png delete mode 100755 ESPlorer/src/main/resources/resources/zoom out.png create mode 100644 documentation/build/.doctrees/dependencies.doctree create mode 100644 documentation/build/.doctrees/hardware/patches.doctree create mode 100644 documentation/build/.doctrees/patches.doctree create mode 100644 documentation/build/.doctrees/server/index.doctree create mode 100644 documentation/build/.doctrees/troubleshooting.doctree create mode 100644 documentation/build/_sources/dependencies.rst.txt create mode 100644 documentation/build/_sources/hardware/patches.rst.txt create mode 100644 documentation/build/_sources/patches.rst.txt create mode 100644 documentation/build/_sources/server/index.rst.txt create mode 100644 documentation/build/_sources/troubleshooting.rst.txt create mode 100644 documentation/build/dependencies.html create mode 100644 documentation/build/hardware/patches.html create mode 100644 documentation/build/patches.html create mode 100644 documentation/build/server/index.html create mode 100644 documentation/build/troubleshooting.html create mode 100644 documentation/source/dependencies.rst create mode 100644 documentation/source/patches.rst create mode 100644 documentation/source/server/index.rst delete mode 100644 documentation/source/software/index.rst create mode 100644 documentation/source/troubleshooting.rst delete mode 100755 esptool/Example delete mode 100755 esptool/example delete mode 100755 esptool/venv/bin/Activate.ps1 delete mode 100755 esptool/venv/bin/__pycache__/miniterm.cpython-38.pyc delete mode 100755 esptool/venv/bin/activate delete mode 100755 esptool/venv/bin/activate.csh delete mode 100755 esptool/venv/bin/activate.fish delete mode 100755 esptool/venv/bin/easy_install delete mode 100755 esptool/venv/bin/easy_install-3.8 delete mode 100755 esptool/venv/bin/espefuse.py delete mode 100755 esptool/venv/bin/espsecure.py delete mode 100755 esptool/venv/bin/esptool.py delete mode 100755 esptool/venv/bin/miniterm.py delete mode 100755 esptool/venv/bin/miniterm.pyc delete mode 100755 esptool/venv/bin/pip delete mode 100755 esptool/venv/bin/pip3 delete mode 100755 esptool/venv/bin/pip3.8 delete mode 120000 esptool/venv/bin/python delete mode 120000 esptool/venv/bin/python3 delete mode 100755 esptool/venv/lib/python3.8/site-packages/__pycache__/bitstring.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/__pycache__/easy_install.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/__pycache__/espefuse.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/__pycache__/espsecure.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/__pycache__/esptool.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/__pycache__/reedsolo.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/__pycache__/six.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/_cffi_backend.cpython-38-x86_64-linux-gnu.so delete mode 100755 esptool/venv/lib/python3.8/site-packages/bitstring-3.1.7.egg-info/PKG-INFO delete mode 100755 esptool/venv/lib/python3.8/site-packages/bitstring-3.1.7.egg-info/SOURCES.txt delete mode 100755 esptool/venv/lib/python3.8/site-packages/bitstring-3.1.7.egg-info/dependency_links.txt delete mode 100755 esptool/venv/lib/python3.8/site-packages/bitstring-3.1.7.egg-info/installed-files.txt delete mode 100755 esptool/venv/lib/python3.8/site-packages/bitstring-3.1.7.egg-info/top_level.txt delete mode 100755 esptool/venv/lib/python3.8/site-packages/bitstring.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cffi-1.14.3.dist-info/INSTALLER delete mode 100755 esptool/venv/lib/python3.8/site-packages/cffi-1.14.3.dist-info/LICENSE delete mode 100755 esptool/venv/lib/python3.8/site-packages/cffi-1.14.3.dist-info/METADATA delete mode 100755 esptool/venv/lib/python3.8/site-packages/cffi-1.14.3.dist-info/RECORD delete mode 100755 esptool/venv/lib/python3.8/site-packages/cffi-1.14.3.dist-info/WHEEL delete mode 100755 esptool/venv/lib/python3.8/site-packages/cffi-1.14.3.dist-info/entry_points.txt delete mode 100755 esptool/venv/lib/python3.8/site-packages/cffi-1.14.3.dist-info/top_level.txt delete mode 100755 esptool/venv/lib/python3.8/site-packages/cffi.libs/libffi-806b1a9d.so.6.0.4 delete mode 100755 esptool/venv/lib/python3.8/site-packages/cffi/__init__.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cffi/__pycache__/__init__.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cffi/__pycache__/api.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cffi/__pycache__/backend_ctypes.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cffi/__pycache__/cffi_opcode.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cffi/__pycache__/commontypes.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cffi/__pycache__/cparser.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cffi/__pycache__/error.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cffi/__pycache__/ffiplatform.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cffi/__pycache__/lock.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cffi/__pycache__/model.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cffi/__pycache__/pkgconfig.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cffi/__pycache__/recompiler.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cffi/__pycache__/setuptools_ext.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cffi/__pycache__/vengine_cpy.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cffi/__pycache__/vengine_gen.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cffi/__pycache__/verifier.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cffi/_cffi_errors.h delete mode 100755 esptool/venv/lib/python3.8/site-packages/cffi/_cffi_include.h delete mode 100755 esptool/venv/lib/python3.8/site-packages/cffi/_embedding.h delete mode 100755 esptool/venv/lib/python3.8/site-packages/cffi/api.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cffi/backend_ctypes.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cffi/cffi_opcode.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cffi/commontypes.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cffi/cparser.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cffi/error.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cffi/ffiplatform.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cffi/lock.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cffi/model.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cffi/parse_c_type.h delete mode 100755 esptool/venv/lib/python3.8/site-packages/cffi/pkgconfig.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cffi/recompiler.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cffi/setuptools_ext.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cffi/vengine_cpy.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cffi/vengine_gen.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cffi/verifier.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography-3.2.1.dist-info/AUTHORS.rst delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography-3.2.1.dist-info/INSTALLER delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography-3.2.1.dist-info/LICENSE delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography-3.2.1.dist-info/LICENSE.APACHE delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography-3.2.1.dist-info/LICENSE.BSD delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography-3.2.1.dist-info/LICENSE.PSF delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography-3.2.1.dist-info/METADATA delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography-3.2.1.dist-info/RECORD delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography-3.2.1.dist-info/WHEEL delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography-3.2.1.dist-info/top_level.txt delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/__about__.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/__init__.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/__pycache__/__about__.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/__pycache__/__init__.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/__pycache__/exceptions.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/__pycache__/fernet.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/__pycache__/utils.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/exceptions.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/fernet.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/__init__.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/__pycache__/__init__.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/__pycache__/_der.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/__pycache__/_oid.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/_der.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/_oid.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/__init__.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/__pycache__/__init__.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/__pycache__/interfaces.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/interfaces.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__init__.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/__init__.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/aead.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/backend.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/ciphers.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/cmac.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/decode_asn1.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/dh.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/dsa.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/ec.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/ed25519.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/ed448.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/encode_asn1.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/hashes.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/hmac.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/ocsp.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/poly1305.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/rsa.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/utils.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/x25519.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/x448.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/__pycache__/x509.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/aead.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/backend.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/ciphers.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/cmac.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/decode_asn1.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/dh.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/dsa.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/ec.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/ed25519.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/ed448.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/encode_asn1.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/hashes.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/hmac.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/ocsp.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/poly1305.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/rsa.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/utils.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/x25519.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/x448.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/x509.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/bindings/__init__.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/bindings/__pycache__/__init__.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/bindings/_openssl.abi3.so delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/bindings/_padding.abi3.so delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/bindings/openssl/__init__.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/bindings/openssl/__pycache__/__init__.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/bindings/openssl/__pycache__/_conditional.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/bindings/openssl/__pycache__/binding.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/bindings/openssl/_conditional.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/bindings/openssl/binding.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/__init__.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/__pycache__/__init__.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/__pycache__/cmac.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/__pycache__/constant_time.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/__pycache__/hashes.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/__pycache__/hmac.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/__pycache__/keywrap.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/__pycache__/padding.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/__pycache__/poly1305.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/__init__.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/__pycache__/__init__.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/__pycache__/dh.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/__pycache__/dsa.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/__pycache__/ec.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/__pycache__/ed25519.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/__pycache__/ed448.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/__pycache__/padding.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/__pycache__/rsa.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/__pycache__/utils.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/__pycache__/x25519.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/__pycache__/x448.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/dh.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/dsa.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/ec.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/ed448.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/padding.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/rsa.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/utils.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/x25519.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/asymmetric/x448.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/ciphers/__init__.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/ciphers/__pycache__/__init__.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/ciphers/__pycache__/aead.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/ciphers/__pycache__/algorithms.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/ciphers/__pycache__/base.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/ciphers/__pycache__/modes.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/ciphers/aead.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/ciphers/algorithms.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/ciphers/base.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/ciphers/modes.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/cmac.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/constant_time.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/hashes.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/hmac.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/kdf/__init__.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/kdf/__pycache__/__init__.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/kdf/__pycache__/concatkdf.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/kdf/__pycache__/hkdf.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/kdf/__pycache__/kbkdf.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/kdf/__pycache__/pbkdf2.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/kdf/__pycache__/scrypt.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/kdf/__pycache__/x963kdf.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/kdf/concatkdf.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/kdf/hkdf.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/kdf/kbkdf.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/kdf/pbkdf2.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/kdf/scrypt.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/kdf/x963kdf.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/keywrap.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/padding.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/poly1305.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/serialization/__init__.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/serialization/__pycache__/__init__.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/serialization/__pycache__/base.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/serialization/__pycache__/pkcs12.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/serialization/__pycache__/pkcs7.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/serialization/__pycache__/ssh.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/serialization/base.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/serialization/pkcs12.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/serialization/pkcs7.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/serialization/ssh.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/twofactor/__init__.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/twofactor/__pycache__/__init__.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/twofactor/__pycache__/hotp.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/twofactor/__pycache__/totp.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/twofactor/__pycache__/utils.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/twofactor/hotp.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/twofactor/totp.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/hazmat/primitives/twofactor/utils.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/utils.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/x509/__init__.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/x509/__pycache__/__init__.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/x509/__pycache__/base.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/x509/__pycache__/certificate_transparency.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/x509/__pycache__/extensions.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/x509/__pycache__/general_name.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/x509/__pycache__/name.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/x509/__pycache__/ocsp.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/x509/__pycache__/oid.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/x509/base.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/x509/certificate_transparency.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/x509/extensions.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/x509/general_name.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/x509/name.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/x509/ocsp.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/cryptography/x509/oid.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/easy_install.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/ecdsa-0.16.0.dist-info/INSTALLER delete mode 100755 esptool/venv/lib/python3.8/site-packages/ecdsa-0.16.0.dist-info/LICENSE delete mode 100755 esptool/venv/lib/python3.8/site-packages/ecdsa-0.16.0.dist-info/METADATA delete mode 100755 esptool/venv/lib/python3.8/site-packages/ecdsa-0.16.0.dist-info/RECORD delete mode 100755 esptool/venv/lib/python3.8/site-packages/ecdsa-0.16.0.dist-info/WHEEL delete mode 100755 esptool/venv/lib/python3.8/site-packages/ecdsa-0.16.0.dist-info/top_level.txt delete mode 100755 esptool/venv/lib/python3.8/site-packages/ecdsa/__init__.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/ecdsa/__pycache__/__init__.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/ecdsa/__pycache__/_compat.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/ecdsa/__pycache__/_rwlock.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/ecdsa/__pycache__/_version.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/ecdsa/__pycache__/curves.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/ecdsa/__pycache__/der.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/ecdsa/__pycache__/ecdh.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/ecdsa/__pycache__/ecdsa.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/ecdsa/__pycache__/ellipticcurve.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/ecdsa/__pycache__/keys.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/ecdsa/__pycache__/numbertheory.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/ecdsa/__pycache__/rfc6979.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/ecdsa/__pycache__/test_der.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/ecdsa/__pycache__/test_ecdh.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/ecdsa/__pycache__/test_ecdsa.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/ecdsa/__pycache__/test_ellipticcurve.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/ecdsa/__pycache__/test_jacobi.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/ecdsa/__pycache__/test_keys.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/ecdsa/__pycache__/test_malformed_sigs.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/ecdsa/__pycache__/test_numbertheory.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/ecdsa/__pycache__/test_pyecdsa.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/ecdsa/__pycache__/test_rw_lock.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/ecdsa/__pycache__/util.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/ecdsa/_compat.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/ecdsa/_rwlock.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/ecdsa/_version.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/ecdsa/curves.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/ecdsa/der.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/ecdsa/ecdh.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/ecdsa/ecdsa.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/ecdsa/ellipticcurve.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/ecdsa/keys.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/ecdsa/numbertheory.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/ecdsa/rfc6979.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/ecdsa/test_der.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/ecdsa/test_ecdh.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/ecdsa/test_ecdsa.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/ecdsa/test_ellipticcurve.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/ecdsa/test_jacobi.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/ecdsa/test_keys.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/ecdsa/test_malformed_sigs.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/ecdsa/test_numbertheory.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/ecdsa/test_pyecdsa.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/ecdsa/test_rw_lock.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/ecdsa/util.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/espefuse.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/espressif/__init__.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/espressif/__pycache__/__init__.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/espressif/efuse/__init__.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/espressif/efuse/__pycache__/__init__.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/espressif/efuse/__pycache__/base_fields.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/espressif/efuse/__pycache__/base_operations.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/espressif/efuse/__pycache__/emulate_efuse_controller_base.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/espressif/efuse/__pycache__/mem_definition_base.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/espressif/efuse/__pycache__/util.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/espressif/efuse/base_fields.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/espressif/efuse/base_operations.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/espressif/efuse/emulate_efuse_controller_base.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/espressif/efuse/esp32/__init__.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/espressif/efuse/esp32/__pycache__/__init__.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/espressif/efuse/esp32/__pycache__/emulate_efuse_controller.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/espressif/efuse/esp32/__pycache__/fields.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/espressif/efuse/esp32/__pycache__/mem_definition.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/espressif/efuse/esp32/__pycache__/operations.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/espressif/efuse/esp32/emulate_efuse_controller.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/espressif/efuse/esp32/fields.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/espressif/efuse/esp32/mem_definition.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/espressif/efuse/esp32/operations.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/espressif/efuse/esp32c3/__init__.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/espressif/efuse/esp32c3/__pycache__/__init__.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/espressif/efuse/esp32c3/__pycache__/emulate_efuse_controller.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/espressif/efuse/esp32c3/__pycache__/fields.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/espressif/efuse/esp32c3/__pycache__/mem_definition.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/espressif/efuse/esp32c3/__pycache__/operations.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/espressif/efuse/esp32c3/emulate_efuse_controller.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/espressif/efuse/esp32c3/fields.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/espressif/efuse/esp32c3/mem_definition.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/espressif/efuse/esp32c3/operations.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/espressif/efuse/esp32s2/__init__.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/espressif/efuse/esp32s2/__pycache__/__init__.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/espressif/efuse/esp32s2/__pycache__/emulate_efuse_controller.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/espressif/efuse/esp32s2/__pycache__/fields.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/espressif/efuse/esp32s2/__pycache__/mem_definition.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/espressif/efuse/esp32s2/__pycache__/operations.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/espressif/efuse/esp32s2/emulate_efuse_controller.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/espressif/efuse/esp32s2/fields.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/espressif/efuse/esp32s2/mem_definition.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/espressif/efuse/esp32s2/operations.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/espressif/efuse/esp32s3beta2/__init__.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/espressif/efuse/esp32s3beta2/__pycache__/__init__.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/espressif/efuse/esp32s3beta2/__pycache__/emulate_efuse_controller.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/espressif/efuse/esp32s3beta2/__pycache__/fields.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/espressif/efuse/esp32s3beta2/__pycache__/mem_definition.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/espressif/efuse/esp32s3beta2/__pycache__/operations.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/espressif/efuse/esp32s3beta2/emulate_efuse_controller.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/espressif/efuse/esp32s3beta2/fields.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/espressif/efuse/esp32s3beta2/mem_definition.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/espressif/efuse/esp32s3beta2/operations.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/espressif/efuse/mem_definition_base.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/espressif/efuse/util.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/espsecure.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/esptool-3.0.egg-info/PKG-INFO delete mode 100755 esptool/venv/lib/python3.8/site-packages/esptool-3.0.egg-info/SOURCES.txt delete mode 100755 esptool/venv/lib/python3.8/site-packages/esptool-3.0.egg-info/dependency_links.txt delete mode 100755 esptool/venv/lib/python3.8/site-packages/esptool-3.0.egg-info/installed-files.txt delete mode 100755 esptool/venv/lib/python3.8/site-packages/esptool-3.0.egg-info/requires.txt delete mode 100755 esptool/venv/lib/python3.8/site-packages/esptool-3.0.egg-info/top_level.txt delete mode 100755 esptool/venv/lib/python3.8/site-packages/esptool.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip-20.0.2.dist-info/INSTALLER delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip-20.0.2.dist-info/LICENSE.txt delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip-20.0.2.dist-info/METADATA delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip-20.0.2.dist-info/RECORD delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip-20.0.2.dist-info/WHEEL delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip-20.0.2.dist-info/entry_points.txt delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip-20.0.2.dist-info/top_level.txt delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/__init__.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/__main__.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/__pycache__/__init__.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/__pycache__/__main__.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/__init__.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/__pycache__/__init__.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/__pycache__/build_env.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/__pycache__/cache.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/__pycache__/configuration.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/__pycache__/exceptions.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/__pycache__/legacy_resolve.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/__pycache__/locations.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/__pycache__/main.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/__pycache__/pep425tags.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/__pycache__/pyproject.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/__pycache__/self_outdated_check.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/__pycache__/wheel_builder.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/build_env.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/cache.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/cli/__init__.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/__init__.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/autocompletion.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/base_command.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/cmdoptions.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/command_context.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/main.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/main_parser.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/parser.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/req_command.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/cli/__pycache__/status_codes.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/cli/autocompletion.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/cli/base_command.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/cli/cmdoptions.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/cli/command_context.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/cli/main.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/cli/main_parser.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/cli/parser.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/cli/req_command.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/cli/status_codes.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/commands/__init__.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/__init__.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/check.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/completion.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/configuration.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/debug.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/download.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/freeze.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/hash.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/help.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/install.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/list.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/search.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/show.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/uninstall.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/commands/__pycache__/wheel.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/commands/check.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/commands/completion.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/commands/configuration.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/commands/debug.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/commands/download.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/commands/freeze.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/commands/hash.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/commands/help.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/commands/install.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/commands/list.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/commands/search.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/commands/show.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/commands/uninstall.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/commands/wheel.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/configuration.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/distributions/__init__.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/distributions/__pycache__/__init__.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/distributions/__pycache__/base.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/distributions/__pycache__/installed.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/distributions/__pycache__/sdist.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/distributions/__pycache__/wheel.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/distributions/base.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/distributions/installed.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/distributions/sdist.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/distributions/wheel.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/exceptions.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/index/__init__.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/index/__pycache__/__init__.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/index/__pycache__/collector.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/index/__pycache__/package_finder.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/index/collector.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/index/package_finder.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/legacy_resolve.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/locations.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/main.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/models/__init__.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/__init__.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/candidate.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/format_control.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/index.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/link.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/scheme.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/search_scope.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/selection_prefs.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/target_python.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/models/__pycache__/wheel.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/models/candidate.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/models/format_control.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/models/index.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/models/link.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/models/scheme.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/models/search_scope.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/models/selection_prefs.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/models/target_python.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/models/wheel.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/network/__init__.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/network/__pycache__/__init__.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/network/__pycache__/auth.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/network/__pycache__/cache.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/network/__pycache__/download.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/network/__pycache__/session.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/network/__pycache__/utils.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/network/__pycache__/xmlrpc.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/network/auth.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/network/cache.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/network/download.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/network/session.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/network/utils.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/network/xmlrpc.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/operations/__init__.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/operations/__pycache__/__init__.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/operations/__pycache__/check.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/operations/__pycache__/freeze.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/operations/__pycache__/prepare.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/operations/build/__init__.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/operations/build/__pycache__/__init__.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/operations/build/__pycache__/metadata.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/operations/build/__pycache__/metadata_legacy.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/operations/build/__pycache__/wheel.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/operations/build/__pycache__/wheel_legacy.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/operations/build/metadata.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/operations/build/metadata_legacy.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/operations/build/wheel.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/operations/build/wheel_legacy.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/operations/check.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/operations/freeze.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/operations/install/__init__.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/operations/install/__pycache__/__init__.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/operations/install/__pycache__/editable_legacy.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/operations/install/__pycache__/legacy.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/operations/install/__pycache__/wheel.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/operations/install/editable_legacy.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/operations/install/legacy.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/operations/install/wheel.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/operations/prepare.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/pep425tags.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/pyproject.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/req/__init__.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/req/__pycache__/__init__.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/req/__pycache__/constructors.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/req/__pycache__/req_file.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/req/__pycache__/req_install.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/req/__pycache__/req_set.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/req/__pycache__/req_tracker.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/req/__pycache__/req_uninstall.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/req/constructors.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/req/req_file.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/req/req_install.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/req/req_set.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/req/req_tracker.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/req/req_uninstall.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/self_outdated_check.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/utils/__init__.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/__init__.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/appdirs.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/compat.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/deprecation.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/distutils_args.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/encoding.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/entrypoints.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/filesystem.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/filetypes.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/glibc.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/hashes.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/inject_securetransport.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/logging.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/marker_files.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/misc.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/models.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/packaging.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/pkg_resources.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/setuptools_build.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/subprocess.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/temp_dir.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/typing.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/ui.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/unpacking.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/urls.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/virtualenv.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/utils/__pycache__/wheel.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/utils/appdirs.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/utils/compat.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/utils/deprecation.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/utils/distutils_args.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/utils/encoding.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/utils/entrypoints.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/utils/filesystem.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/utils/filetypes.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/utils/glibc.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/utils/hashes.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/utils/inject_securetransport.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/utils/logging.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/utils/marker_files.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/utils/misc.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/utils/models.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/utils/packaging.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/utils/pkg_resources.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/utils/setuptools_build.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/utils/subprocess.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/utils/temp_dir.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/utils/typing.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/utils/ui.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/utils/unpacking.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/utils/urls.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/utils/virtualenv.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/utils/wheel.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/vcs/__init__.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/__init__.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/bazaar.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/git.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/mercurial.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/subversion.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/vcs/__pycache__/versioncontrol.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/vcs/bazaar.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/vcs/git.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/vcs/mercurial.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/vcs/subversion.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/vcs/versioncontrol.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_internal/wheel_builder.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_vendor/__init__.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pip/_vendor/__pycache__/__init__.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pkg_resources-0.0.0.dist-info/AUTHORS.txt delete mode 100755 esptool/venv/lib/python3.8/site-packages/pkg_resources-0.0.0.dist-info/INSTALLER delete mode 100755 esptool/venv/lib/python3.8/site-packages/pkg_resources-0.0.0.dist-info/LICENSE.txt delete mode 100755 esptool/venv/lib/python3.8/site-packages/pkg_resources-0.0.0.dist-info/METADATA delete mode 100755 esptool/venv/lib/python3.8/site-packages/pkg_resources-0.0.0.dist-info/RECORD delete mode 100755 esptool/venv/lib/python3.8/site-packages/pkg_resources-0.0.0.dist-info/WHEEL delete mode 100755 esptool/venv/lib/python3.8/site-packages/pkg_resources/__init__.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pkg_resources/__pycache__/__init__.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pkg_resources/__pycache__/py31compat.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pkg_resources/_vendor/__init__.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pkg_resources/_vendor/__pycache__/__init__.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pkg_resources/_vendor/__pycache__/appdirs.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pkg_resources/_vendor/__pycache__/pyparsing.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pkg_resources/_vendor/__pycache__/six.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pkg_resources/_vendor/appdirs.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__about__.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__init__.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/__about__.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/__init__.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/_compat.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/_structures.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/markers.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/requirements.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/specifiers.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/utils.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/__pycache__/version.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/_compat.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/_structures.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/markers.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/requirements.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/specifiers.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/utils.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/version.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pkg_resources/_vendor/pyparsing.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pkg_resources/_vendor/six.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pkg_resources/extern/__init__.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pkg_resources/extern/__pycache__/__init__.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pkg_resources/py31compat.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pycparser-2.20.dist-info/INSTALLER delete mode 100755 esptool/venv/lib/python3.8/site-packages/pycparser-2.20.dist-info/LICENSE delete mode 100755 esptool/venv/lib/python3.8/site-packages/pycparser-2.20.dist-info/METADATA delete mode 100755 esptool/venv/lib/python3.8/site-packages/pycparser-2.20.dist-info/RECORD delete mode 100755 esptool/venv/lib/python3.8/site-packages/pycparser-2.20.dist-info/WHEEL delete mode 100755 esptool/venv/lib/python3.8/site-packages/pycparser-2.20.dist-info/top_level.txt delete mode 100755 esptool/venv/lib/python3.8/site-packages/pycparser/__init__.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pycparser/__pycache__/__init__.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pycparser/__pycache__/_ast_gen.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pycparser/__pycache__/_build_tables.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pycparser/__pycache__/ast_transforms.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pycparser/__pycache__/c_ast.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pycparser/__pycache__/c_generator.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pycparser/__pycache__/c_lexer.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pycparser/__pycache__/c_parser.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pycparser/__pycache__/lextab.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pycparser/__pycache__/plyparser.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pycparser/__pycache__/yacctab.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pycparser/_ast_gen.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pycparser/_build_tables.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pycparser/_c_ast.cfg delete mode 100755 esptool/venv/lib/python3.8/site-packages/pycparser/ast_transforms.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pycparser/c_ast.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pycparser/c_generator.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pycparser/c_lexer.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pycparser/c_parser.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pycparser/lextab.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pycparser/ply/__init__.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pycparser/ply/__pycache__/__init__.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pycparser/ply/__pycache__/cpp.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pycparser/ply/__pycache__/ctokens.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pycparser/ply/__pycache__/lex.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pycparser/ply/__pycache__/yacc.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pycparser/ply/__pycache__/ygen.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/pycparser/ply/cpp.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pycparser/ply/ctokens.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pycparser/ply/lex.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pycparser/ply/yacc.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pycparser/ply/ygen.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pycparser/plyparser.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pycparser/yacctab.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/pyserial-3.4.dist-info/DESCRIPTION.rst delete mode 100755 esptool/venv/lib/python3.8/site-packages/pyserial-3.4.dist-info/INSTALLER delete mode 100755 esptool/venv/lib/python3.8/site-packages/pyserial-3.4.dist-info/METADATA delete mode 100755 esptool/venv/lib/python3.8/site-packages/pyserial-3.4.dist-info/RECORD delete mode 100755 esptool/venv/lib/python3.8/site-packages/pyserial-3.4.dist-info/WHEEL delete mode 100755 esptool/venv/lib/python3.8/site-packages/pyserial-3.4.dist-info/metadata.json delete mode 100755 esptool/venv/lib/python3.8/site-packages/pyserial-3.4.dist-info/top_level.txt delete mode 100755 esptool/venv/lib/python3.8/site-packages/reedsolo-1.5.4.egg-info/PKG-INFO delete mode 100755 esptool/venv/lib/python3.8/site-packages/reedsolo-1.5.4.egg-info/SOURCES.txt delete mode 100755 esptool/venv/lib/python3.8/site-packages/reedsolo-1.5.4.egg-info/dependency_links.txt delete mode 100755 esptool/venv/lib/python3.8/site-packages/reedsolo-1.5.4.egg-info/installed-files.txt delete mode 100755 esptool/venv/lib/python3.8/site-packages/reedsolo-1.5.4.egg-info/top_level.txt delete mode 100755 esptool/venv/lib/python3.8/site-packages/reedsolo.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/__init__.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/__init__.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/__pycache__/__init__.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/__pycache__/aio.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/__pycache__/rfc2217.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/__pycache__/rs485.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/__pycache__/serialcli.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/__pycache__/serialjava.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/__pycache__/serialposix.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/__pycache__/serialutil.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/__pycache__/serialwin32.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/__pycache__/win32.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/aio.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/aio.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/rfc2217.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/rfc2217.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/rs485.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/rs485.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/serialcli.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/serialcli.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/serialjava.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/serialjava.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/serialposix.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/serialposix.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/serialutil.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/serialutil.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/serialwin32.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/serialwin32.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/threaded/__init__.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/threaded/__pycache__/__init__.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/tools/__init__.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/tools/__init__.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/tools/__pycache__/__init__.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/tools/__pycache__/hexlify_codec.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/tools/__pycache__/list_ports.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/tools/__pycache__/list_ports_common.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/tools/__pycache__/list_ports_linux.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/tools/__pycache__/list_ports_osx.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/tools/__pycache__/list_ports_posix.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/tools/__pycache__/list_ports_windows.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/tools/__pycache__/miniterm.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/tools/hexlify_codec.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/tools/hexlify_codec.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/tools/list_ports.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/tools/list_ports.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/tools/list_ports_common.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/tools/list_ports_common.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/tools/list_ports_linux.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/tools/list_ports_linux.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/tools/list_ports_osx.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/tools/list_ports_osx.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/tools/list_ports_posix.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/tools/list_ports_posix.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/tools/list_ports_windows.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/tools/list_ports_windows.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/tools/miniterm.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/tools/miniterm.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/urlhandler/__init__.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/urlhandler/__init__.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/urlhandler/__pycache__/__init__.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/urlhandler/__pycache__/protocol_alt.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/urlhandler/__pycache__/protocol_hwgrep.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/urlhandler/__pycache__/protocol_loop.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/urlhandler/__pycache__/protocol_rfc2217.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/urlhandler/__pycache__/protocol_serve-rfc2217.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/urlhandler/__pycache__/protocol_socket.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/urlhandler/__pycache__/protocol_spy.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/urlhandler/protocol_alt.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/urlhandler/protocol_hwgrep.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/urlhandler/protocol_hwgrep.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/urlhandler/protocol_loop.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/urlhandler/protocol_loop.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/urlhandler/protocol_rfc2217.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/urlhandler/protocol_rfc2217.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/urlhandler/protocol_serve-rfc2217.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/urlhandler/protocol_socket.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/urlhandler/protocol_socket.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/urlhandler/protocol_spy.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/urlhandler/protocol_spy.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/win32.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/serial/win32.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/AUTHORS.txt delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/INSTALLER delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/LICENSE.txt delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/METADATA delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/RECORD delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/WHEEL delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/dependency_links.txt delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/entry_points.txt delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/top_level.txt delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools-44.0.0.dist-info/zip-safe delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/__init__.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/__pycache__/__init__.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/__pycache__/_deprecation_warning.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/__pycache__/_imp.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/__pycache__/archive_util.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/__pycache__/build_meta.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/__pycache__/config.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/__pycache__/dep_util.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/__pycache__/depends.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/__pycache__/dist.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/__pycache__/errors.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/__pycache__/extension.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/__pycache__/glob.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/__pycache__/installer.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/__pycache__/launch.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/__pycache__/lib2to3_ex.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/__pycache__/monkey.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/__pycache__/msvc.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/__pycache__/namespaces.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/__pycache__/package_index.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/__pycache__/py27compat.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/__pycache__/py31compat.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/__pycache__/py33compat.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/__pycache__/py34compat.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/__pycache__/sandbox.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/__pycache__/site-patch.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/__pycache__/ssl_support.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/__pycache__/unicode_utils.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/__pycache__/version.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/__pycache__/wheel.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/__pycache__/windows_support.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/_deprecation_warning.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/_imp.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/_vendor/__init__.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/_vendor/__pycache__/__init__.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/_vendor/__pycache__/ordered_set.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/_vendor/__pycache__/pyparsing.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/_vendor/__pycache__/six.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/_vendor/ordered_set.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__about__.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__init__.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/__about__.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/__init__.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/_compat.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/_structures.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/markers.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/requirements.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/specifiers.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/tags.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/utils.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/__pycache__/version.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/_compat.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/_structures.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/markers.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/requirements.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/specifiers.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/tags.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/utils.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/_vendor/packaging/version.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/_vendor/pyparsing.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/_vendor/six.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/archive_util.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/build_meta.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/cli-32.exe delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/cli-64.exe delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/cli.exe delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/command/__init__.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/__init__.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/alias.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/bdist_egg.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/bdist_rpm.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/bdist_wininst.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/build_clib.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/build_ext.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/build_py.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/develop.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/dist_info.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/easy_install.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/egg_info.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/install.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/install_egg_info.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/install_lib.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/install_scripts.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/py36compat.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/register.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/rotate.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/saveopts.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/sdist.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/setopt.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/test.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/upload.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/command/__pycache__/upload_docs.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/command/alias.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/command/bdist_egg.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/command/bdist_rpm.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/command/bdist_wininst.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/command/build_clib.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/command/build_ext.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/command/build_py.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/command/develop.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/command/dist_info.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/command/easy_install.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/command/egg_info.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/command/install.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/command/install_egg_info.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/command/install_lib.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/command/install_scripts.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/command/launcher manifest.xml delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/command/py36compat.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/command/register.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/command/rotate.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/command/saveopts.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/command/sdist.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/command/setopt.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/command/test.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/command/upload.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/command/upload_docs.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/config.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/dep_util.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/depends.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/dist.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/errors.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/extension.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/extern/__init__.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/extern/__pycache__/__init__.cpython-38.pyc delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/glob.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/gui-32.exe delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/gui-64.exe delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/gui.exe delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/installer.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/launch.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/lib2to3_ex.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/monkey.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/msvc.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/namespaces.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/package_index.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/py27compat.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/py31compat.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/py33compat.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/py34compat.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/sandbox.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/script (dev).tmpl delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/script.tmpl delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/site-patch.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/ssl_support.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/unicode_utils.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/version.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/wheel.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/setuptools/windows_support.py delete mode 100755 esptool/venv/lib/python3.8/site-packages/six-1.15.0.dist-info/INSTALLER delete mode 100755 esptool/venv/lib/python3.8/site-packages/six-1.15.0.dist-info/LICENSE delete mode 100755 esptool/venv/lib/python3.8/site-packages/six-1.15.0.dist-info/METADATA delete mode 100755 esptool/venv/lib/python3.8/site-packages/six-1.15.0.dist-info/RECORD delete mode 100755 esptool/venv/lib/python3.8/site-packages/six-1.15.0.dist-info/WHEEL delete mode 100755 esptool/venv/lib/python3.8/site-packages/six-1.15.0.dist-info/top_level.txt delete mode 100755 esptool/venv/lib/python3.8/site-packages/six.py delete mode 120000 esptool/venv/lib64 delete mode 100755 esptool/venv/pyvenv.cfg delete mode 100755 esptool/venv/share/python-wheels/CacheControl-0.12.6-py2.py3-none-any.whl delete mode 100755 esptool/venv/share/python-wheels/appdirs-1.4.3-py2.py3-none-any.whl delete mode 100755 esptool/venv/share/python-wheels/certifi-2019.11.28-py2.py3-none-any.whl delete mode 100755 esptool/venv/share/python-wheels/chardet-3.0.4-py2.py3-none-any.whl delete mode 100755 esptool/venv/share/python-wheels/colorama-0.4.3-py2.py3-none-any.whl delete mode 100755 esptool/venv/share/python-wheels/contextlib2-0.6.0-py2.py3-none-any.whl delete mode 100755 esptool/venv/share/python-wheels/distlib-0.3.0-py2.py3-none-any.whl delete mode 100755 esptool/venv/share/python-wheels/distro-1.4.0-py2.py3-none-any.whl delete mode 100755 esptool/venv/share/python-wheels/html5lib-1.0.1-py2.py3-none-any.whl delete mode 100755 esptool/venv/share/python-wheels/idna-2.8-py2.py3-none-any.whl delete mode 100755 esptool/venv/share/python-wheels/ipaddr-2.2.0-py2.py3-none-any.whl delete mode 100755 esptool/venv/share/python-wheels/lockfile-0.12.2-py2.py3-none-any.whl delete mode 100755 esptool/venv/share/python-wheels/msgpack-0.6.2-py2.py3-none-any.whl delete mode 100755 esptool/venv/share/python-wheels/packaging-20.3-py2.py3-none-any.whl delete mode 100755 esptool/venv/share/python-wheels/pep517-0.8.2-py2.py3-none-any.whl delete mode 100755 esptool/venv/share/python-wheels/pip-20.0.2-py2.py3-none-any.whl delete mode 100755 esptool/venv/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl delete mode 100755 esptool/venv/share/python-wheels/progress-1.5-py2.py3-none-any.whl delete mode 100755 esptool/venv/share/python-wheels/pyparsing-2.4.6-py2.py3-none-any.whl delete mode 100755 esptool/venv/share/python-wheels/pytoml-0.1.21-py2.py3-none-any.whl delete mode 100755 esptool/venv/share/python-wheels/requests-2.22.0-py2.py3-none-any.whl delete mode 100755 esptool/venv/share/python-wheels/retrying-1.3.3-py2.py3-none-any.whl delete mode 100755 esptool/venv/share/python-wheels/setuptools-44.0.0-py2.py3-none-any.whl delete mode 100755 esptool/venv/share/python-wheels/six-1.14.0-py2.py3-none-any.whl delete mode 100755 esptool/venv/share/python-wheels/urllib3-1.25.8-py2.py3-none-any.whl delete mode 100755 esptool/venv/share/python-wheels/webencodings-0.5.1-py2.py3-none-any.whl delete mode 100755 esptool/venv/share/python-wheels/wheel-0.34.2-py2.py3-none-any.whl create mode 100644 nodemcu-firmware/.gdbinit create mode 100644 nodemcu-firmware/.gdbinitlua delete mode 100644 wifi-tally/Changelog.md delete mode 100644 wifi-tally/Example delete mode 100644 wifi-tally/LICENSE delete mode 100644 wifi-tally/firmware/LICENSE delete mode 100644 wifi-tally/firmware/README.md create mode 100755 wifi-tally/firmware/install_firmware.sh create mode 100644 wifi-tally/firmware/nodemcu-3.0-master_20200610-cfe68233-float.bin delete mode 100644 wifi-tally/firmware/script.sh create mode 100755 wifi-tally/hub/build_server.sh create mode 100755 wifi-tally/hub/run_server.sh create mode 100755 wifi-tally/tally/install_application.sh diff --git a/ESPlorer/.github/stale.yml b/ESPlorer/.github/stale.yml deleted file mode 100755 index a390ffb..0000000 --- a/ESPlorer/.github/stale.yml +++ /dev/null @@ -1,17 +0,0 @@ -# Number of days of inactivity before an issue becomes stale -daysUntilStale: 60 -# Number of days of inactivity before a stale issue is closed -daysUntilClose: 7 -# Issues with these labels will never be considered stale -exemptLabels: - - pinned - - security -# Label to use when marking an issue as stale -staleLabel: wontfix -# Comment to post when marking an issue as stale. Set to `false` to disable -markComment: > - This issue has been automatically marked as stale because it has not had - recent activity. It will be closed if no further activity occurs. Thank you - for your contributions. -# Comment to post when closing a stale issue. Set to `false` to disable -closeComment: true diff --git a/ESPlorer/.github/workflows/build.yml b/ESPlorer/.github/workflows/build.yml deleted file mode 100755 index 5e9c896..0000000 --- a/ESPlorer/.github/workflows/build.yml +++ /dev/null @@ -1,27 +0,0 @@ -name: build - -on: [push] - -jobs: - build: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Set up JDK 8 - uses: actions/setup-java@v1 - with: - java-version: 8 - - name: Cache Maven packages - uses: actions/cache@v2 - with: - path: ~/.m2 - key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} - restore-keys: ${{ runner.os }}-m2 - - name: Build with Maven - run: ./mvnw -B package - - name: Prepare distribution - run: mkdir -p dist/ESPlorer && mv target/ESPlorer.jar script/ESPlorer.{bat,sh} dist/ESPlorer - - uses: actions/upload-artifact@v2 - with: - name: ESPlorer - path: dist/ diff --git a/ESPlorer/.gitignore b/ESPlorer/.gitignore deleted file mode 100755 index 39c7f9b..0000000 --- a/ESPlorer/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -ESPlorer.Log -ESPlorer.Log.lck -.idea/ -target/ -*.iml -nbactions.xml diff --git a/ESPlorer/LICENSE.md b/ESPlorer/LICENSE.md deleted file mode 100755 index 23cb790..0000000 --- a/ESPlorer/LICENSE.md +++ /dev/null @@ -1,339 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Lesser General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - {description} - Copyright (C) {year} {fullname} - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - {signature of Ty Coon}, 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. diff --git a/ESPlorer/README.md b/ESPlorer/README.md deleted file mode 100755 index f146162..0000000 --- a/ESPlorer/README.md +++ /dev/null @@ -1,51 +0,0 @@ -# ESPlorer - -[![Build Actions Status](https://github.com/4refr0nt/ESPlorer/workflows/build/badge.svg)](https://github.com/4refr0nt/ESPlorer/actions) [![Join the chat at https://gitter.im/4refr0nt/ESPlorer](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/4refr0nt/ESPlorer?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) -#### Integrated Development Environment (IDE) for ESP8266 developers - -### Package Description -The essential multiplatforms tools for any ESP8266 developer from luatool author’s, including a LUA for NodeMCU and MicroPython. Also, all AT commands are supported. - -Requires Java 8 or above. -Download the latest and greatest one from [Oracle website](https://www.oracle.com/java/technologies/javase-downloads.html). - -### Supported platforms -- Windows(x86, x86-64) -- Linux(x86, x86-64, ARM soft & hard float) -- Solaris(x86, x86-64) -- Mac OS X(x86, x86-64, PPC, PPC64) - -### Detailed features list -- Syntax highlighting LUA and Python code -- Code editor color themes: default, dark, Eclipse, IDEA, Visual Studio -- Undo/Redo editors features -- Code Autocomplete (Ctrl+Space) -- Smart send data to ESP8266 (without dumb send with fixed line delay), check correct answer from ESP8266 after every line. -- Code snippets -- Detailed logging -- and more, more more… - -### Discuss -* [English esp8266.com](http://www.esp8266.com/viewtopic.php?f=22&t=882) -* [Russian esp8266.ru](http://esp8266.ru/forum/threads/esplorer.34/) - -### Home Page -[http://esp8266.ru/ESPlorer/](http://esp8266.ru/esplorer/) - -### Latest binaries download -Check out [Releases](https://github.com/4refr0nt/ESPlorer/releases) - -### Build from sources -#### Windows -``` -mvnw.cmd clean package -``` -#### Linux / Mac OS -``` -./mvnw clean package -``` -The build creates all-in-one executable `ESPlorer.jar` in the `target` folder. -Then run the app: -``` -java -jar target/ESPlorer.jar -``` diff --git a/ESPlorer/RunMe.sh b/ESPlorer/RunMe.sh deleted file mode 100755 index 38d1d46..0000000 --- a/ESPlorer/RunMe.sh +++ /dev/null @@ -1,2 +0,0 @@ -#! /bin/bash -java -jar target/ESPlorer.jar diff --git a/ESPlorer/mvnw b/ESPlorer/mvnw deleted file mode 100755 index 41c0f0c..0000000 --- a/ESPlorer/mvnw +++ /dev/null @@ -1,310 +0,0 @@ -#!/bin/sh -# ---------------------------------------------------------------------------- -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -# ---------------------------------------------------------------------------- - -# ---------------------------------------------------------------------------- -# Maven Start Up Batch script -# -# Required ENV vars: -# ------------------ -# JAVA_HOME - location of a JDK home dir -# -# Optional ENV vars -# ----------------- -# M2_HOME - location of maven2's installed home dir -# MAVEN_OPTS - parameters passed to the Java VM when running Maven -# e.g. to debug Maven itself, use -# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -# MAVEN_SKIP_RC - flag to disable loading of mavenrc files -# ---------------------------------------------------------------------------- - -if [ -z "$MAVEN_SKIP_RC" ] ; then - - if [ -f /etc/mavenrc ] ; then - . /etc/mavenrc - fi - - if [ -f "$HOME/.mavenrc" ] ; then - . "$HOME/.mavenrc" - fi - -fi - -# OS specific support. $var _must_ be set to either true or false. -cygwin=false; -darwin=false; -mingw=false -case "`uname`" in - CYGWIN*) cygwin=true ;; - MINGW*) mingw=true;; - Darwin*) darwin=true - # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home - # See https://developer.apple.com/library/mac/qa/qa1170/_index.html - if [ -z "$JAVA_HOME" ]; then - if [ -x "/usr/libexec/java_home" ]; then - export JAVA_HOME="`/usr/libexec/java_home`" - else - export JAVA_HOME="/Library/Java/Home" - fi - fi - ;; -esac - -if [ -z "$JAVA_HOME" ] ; then - if [ -r /etc/gentoo-release ] ; then - JAVA_HOME=`java-config --jre-home` - fi -fi - -if [ -z "$M2_HOME" ] ; then - ## resolve links - $0 may be a link to maven's home - PRG="$0" - - # need this for relative symlinks - while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG="`dirname "$PRG"`/$link" - fi - done - - saveddir=`pwd` - - M2_HOME=`dirname "$PRG"`/.. - - # make it fully qualified - M2_HOME=`cd "$M2_HOME" && pwd` - - cd "$saveddir" - # echo Using m2 at $M2_HOME -fi - -# For Cygwin, ensure paths are in UNIX format before anything is touched -if $cygwin ; then - [ -n "$M2_HOME" ] && - M2_HOME=`cygpath --unix "$M2_HOME"` - [ -n "$JAVA_HOME" ] && - JAVA_HOME=`cygpath --unix "$JAVA_HOME"` - [ -n "$CLASSPATH" ] && - CLASSPATH=`cygpath --path --unix "$CLASSPATH"` -fi - -# For Mingw, ensure paths are in UNIX format before anything is touched -if $mingw ; then - [ -n "$M2_HOME" ] && - M2_HOME="`(cd "$M2_HOME"; pwd)`" - [ -n "$JAVA_HOME" ] && - JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" -fi - -if [ -z "$JAVA_HOME" ]; then - javaExecutable="`which javac`" - if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then - # readlink(1) is not available as standard on Solaris 10. - readLink=`which readlink` - if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then - if $darwin ; then - javaHome="`dirname \"$javaExecutable\"`" - javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" - else - javaExecutable="`readlink -f \"$javaExecutable\"`" - fi - javaHome="`dirname \"$javaExecutable\"`" - javaHome=`expr "$javaHome" : '\(.*\)/bin'` - JAVA_HOME="$javaHome" - export JAVA_HOME - fi - fi -fi - -if [ -z "$JAVACMD" ] ; then - if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" - else - JAVACMD="$JAVA_HOME/bin/java" - fi - else - JAVACMD="`which java`" - fi -fi - -if [ ! -x "$JAVACMD" ] ; then - echo "Error: JAVA_HOME is not defined correctly." >&2 - echo " We cannot execute $JAVACMD" >&2 - exit 1 -fi - -if [ -z "$JAVA_HOME" ] ; then - echo "Warning: JAVA_HOME environment variable is not set." -fi - -CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher - -# traverses directory structure from process work directory to filesystem root -# first directory with .mvn subdirectory is considered project base directory -find_maven_basedir() { - - if [ -z "$1" ] - then - echo "Path not specified to find_maven_basedir" - return 1 - fi - - basedir="$1" - wdir="$1" - while [ "$wdir" != '/' ] ; do - if [ -d "$wdir"/.mvn ] ; then - basedir=$wdir - break - fi - # workaround for JBEAP-8937 (on Solaris 10/Sparc) - if [ -d "${wdir}" ]; then - wdir=`cd "$wdir/.."; pwd` - fi - # end of workaround - done - echo "${basedir}" -} - -# concatenates all lines of a file -concat_lines() { - if [ -f "$1" ]; then - echo "$(tr -s '\n' ' ' < "$1")" - fi -} - -BASE_DIR=`find_maven_basedir "$(pwd)"` -if [ -z "$BASE_DIR" ]; then - exit 1; -fi - -########################################################################################## -# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central -# This allows using the maven wrapper in projects that prohibit checking in binary data. -########################################################################################## -if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then - if [ "$MVNW_VERBOSE" = true ]; then - echo "Found .mvn/wrapper/maven-wrapper.jar" - fi -else - if [ "$MVNW_VERBOSE" = true ]; then - echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." - fi - if [ -n "$MVNW_REPOURL" ]; then - jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" - else - jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" - fi - while IFS="=" read key value; do - case "$key" in (wrapperUrl) jarUrl="$value"; break ;; - esac - done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties" - if [ "$MVNW_VERBOSE" = true ]; then - echo "Downloading from: $jarUrl" - fi - wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" - if $cygwin; then - wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"` - fi - - if command -v wget > /dev/null; then - if [ "$MVNW_VERBOSE" = true ]; then - echo "Found wget ... using wget" - fi - if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then - wget "$jarUrl" -O "$wrapperJarPath" - else - wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" - fi - elif command -v curl > /dev/null; then - if [ "$MVNW_VERBOSE" = true ]; then - echo "Found curl ... using curl" - fi - if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then - curl -o "$wrapperJarPath" "$jarUrl" -f - else - curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f - fi - - else - if [ "$MVNW_VERBOSE" = true ]; then - echo "Falling back to using Java to download" - fi - javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" - # For Cygwin, switch paths to Windows format before running javac - if $cygwin; then - javaClass=`cygpath --path --windows "$javaClass"` - fi - if [ -e "$javaClass" ]; then - if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then - if [ "$MVNW_VERBOSE" = true ]; then - echo " - Compiling MavenWrapperDownloader.java ..." - fi - # Compiling the Java class - ("$JAVA_HOME/bin/javac" "$javaClass") - fi - if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then - # Running the downloader - if [ "$MVNW_VERBOSE" = true ]; then - echo " - Running MavenWrapperDownloader.java ..." - fi - ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR") - fi - fi - fi -fi -########################################################################################## -# End of extension -########################################################################################## - -export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} -if [ "$MVNW_VERBOSE" = true ]; then - echo $MAVEN_PROJECTBASEDIR -fi -MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" - -# For Cygwin, switch paths to Windows format before running java -if $cygwin; then - [ -n "$M2_HOME" ] && - M2_HOME=`cygpath --path --windows "$M2_HOME"` - [ -n "$JAVA_HOME" ] && - JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` - [ -n "$CLASSPATH" ] && - CLASSPATH=`cygpath --path --windows "$CLASSPATH"` - [ -n "$MAVEN_PROJECTBASEDIR" ] && - MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` -fi - -# Provide a "standardized" way to retrieve the CLI args that will -# work with both Windows and non-Windows executions. -MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" -export MAVEN_CMD_LINE_ARGS - -WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain - -exec "$JAVACMD" \ - $MAVEN_OPTS \ - -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ - "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ - ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/ESPlorer/mvnw.cmd b/ESPlorer/mvnw.cmd deleted file mode 100755 index 8611571..0000000 --- a/ESPlorer/mvnw.cmd +++ /dev/null @@ -1,182 +0,0 @@ -@REM ---------------------------------------------------------------------------- -@REM Licensed to the Apache Software Foundation (ASF) under one -@REM or more contributor license agreements. See the NOTICE file -@REM distributed with this work for additional information -@REM regarding copyright ownership. The ASF licenses this file -@REM to you under the Apache License, Version 2.0 (the -@REM "License"); you may not use this file except in compliance -@REM with the License. You may obtain a copy of the License at -@REM -@REM http://www.apache.org/licenses/LICENSE-2.0 -@REM -@REM Unless required by applicable law or agreed to in writing, -@REM software distributed under the License is distributed on an -@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -@REM KIND, either express or implied. See the License for the -@REM specific language governing permissions and limitations -@REM under the License. -@REM ---------------------------------------------------------------------------- - -@REM ---------------------------------------------------------------------------- -@REM Maven Start Up Batch script -@REM -@REM Required ENV vars: -@REM JAVA_HOME - location of a JDK home dir -@REM -@REM Optional ENV vars -@REM M2_HOME - location of maven2's installed home dir -@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands -@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending -@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven -@REM e.g. to debug Maven itself, use -@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files -@REM ---------------------------------------------------------------------------- - -@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' -@echo off -@REM set title of command window -title %0 -@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' -@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% - -@REM set %HOME% to equivalent of $HOME -if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") - -@REM Execute a user defined script before this one -if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre -@REM check for pre script, once with legacy .bat ending and once with .cmd ending -if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" -if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" -:skipRcPre - -@setlocal - -set ERROR_CODE=0 - -@REM To isolate internal variables from possible post scripts, we use another setlocal -@setlocal - -@REM ==== START VALIDATION ==== -if not "%JAVA_HOME%" == "" goto OkJHome - -echo. -echo Error: JAVA_HOME not found in your environment. >&2 -echo Please set the JAVA_HOME variable in your environment to match the >&2 -echo location of your Java installation. >&2 -echo. -goto error - -:OkJHome -if exist "%JAVA_HOME%\bin\java.exe" goto init - -echo. -echo Error: JAVA_HOME is set to an invalid directory. >&2 -echo JAVA_HOME = "%JAVA_HOME%" >&2 -echo Please set the JAVA_HOME variable in your environment to match the >&2 -echo location of your Java installation. >&2 -echo. -goto error - -@REM ==== END VALIDATION ==== - -:init - -@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". -@REM Fallback to current working directory if not found. - -set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% -IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir - -set EXEC_DIR=%CD% -set WDIR=%EXEC_DIR% -:findBaseDir -IF EXIST "%WDIR%"\.mvn goto baseDirFound -cd .. -IF "%WDIR%"=="%CD%" goto baseDirNotFound -set WDIR=%CD% -goto findBaseDir - -:baseDirFound -set MAVEN_PROJECTBASEDIR=%WDIR% -cd "%EXEC_DIR%" -goto endDetectBaseDir - -:baseDirNotFound -set MAVEN_PROJECTBASEDIR=%EXEC_DIR% -cd "%EXEC_DIR%" - -:endDetectBaseDir - -IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig - -@setlocal EnableExtensions EnableDelayedExpansion -for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a -@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% - -:endReadAdditionalConfig - -SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" -set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" -set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain - -set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" - -FOR /F "tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( - IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B -) - -@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central -@REM This allows using the maven wrapper in projects that prohibit checking in binary data. -if exist %WRAPPER_JAR% ( - if "%MVNW_VERBOSE%" == "true" ( - echo Found %WRAPPER_JAR% - ) -) else ( - if not "%MVNW_REPOURL%" == "" ( - SET DOWNLOAD_URL="%MVNW_REPOURL%/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" - ) - if "%MVNW_VERBOSE%" == "true" ( - echo Couldn't find %WRAPPER_JAR%, downloading it ... - echo Downloading from: %DOWNLOAD_URL% - ) - - powershell -Command "&{"^ - "$webclient = new-object System.Net.WebClient;"^ - "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ - "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ - "}"^ - "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^ - "}" - if "%MVNW_VERBOSE%" == "true" ( - echo Finished downloading %WRAPPER_JAR% - ) -) -@REM End of extension - -@REM Provide a "standardized" way to retrieve the CLI args that will -@REM work with both Windows and non-Windows executions. -set MAVEN_CMD_LINE_ARGS=%* - -%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* -if ERRORLEVEL 1 goto error -goto end - -:error -set ERROR_CODE=1 - -:end -@endlocal & set ERROR_CODE=%ERROR_CODE% - -if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost -@REM check for post script, once with legacy .bat ending and once with .cmd ending -if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" -if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" -:skipRcPost - -@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' -if "%MAVEN_BATCH_PAUSE%" == "on" pause - -if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% - -exit /B %ERROR_CODE% diff --git a/ESPlorer/pom.xml b/ESPlorer/pom.xml deleted file mode 100755 index dae9ad7..0000000 --- a/ESPlorer/pom.xml +++ /dev/null @@ -1,93 +0,0 @@ - - - - 4.0.0 - - com.4refr0nt.esplorer - esplorer - 1.0-SNAPSHOT - - ESPlorer - https://esp8266.ru/esplorer/ - ESPlorer - Integrated Development Environment (IDE) for ESP8266 developers - - - UTF-8 - 1.8 - 1.8 - - - - - io.github.java-native - jssc - 2.9.2 - - - com.fifesoft - rsyntaxtextarea - 3.1.1 - - - com.fifesoft - autocomplete - 3.1.0 - - - org.jdesktop - beansbinding - 1.2.1 - - - org.netbeans.external - AbsoluteLayout - RELEASE121 - - - - - ESPlorer - - - - - - maven-clean-plugin - 3.1.0 - - - maven-resources-plugin - 3.0.2 - - - maven-compiler-plugin - 3.8.0 - - - maven-surefire-plugin - 2.22.1 - - - maven-jar-plugin - 3.0.2 - - - - - - - org.springframework.boot - spring-boot-maven-plugin - 2.3.2.RELEASE - - - - repackage - - - - - - - diff --git a/ESPlorer/script/ESPlorer.bat b/ESPlorer/script/ESPlorer.bat deleted file mode 100755 index 115224c..0000000 --- a/ESPlorer/script/ESPlorer.bat +++ /dev/null @@ -1 +0,0 @@ -java -jar ESPlorer.jar diff --git a/ESPlorer/script/ESPlorer.sh b/ESPlorer/script/ESPlorer.sh deleted file mode 100755 index 6592323..0000000 --- a/ESPlorer/script/ESPlorer.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env bash - -# Make this file executable first: "chmod +x ESPlorer.sh", then double-click on it - -java -jar ESPlorer.jar diff --git a/ESPlorer/script/gpio.py b/ESPlorer/script/gpio.py deleted file mode 100755 index db6e53a..0000000 --- a/ESPlorer/script/gpio.py +++ /dev/null @@ -1,12 +0,0 @@ -import pyb -import time -pin = pyb.Pin(2, pyb.Pin.OUT) -for i in range(4): - print('LED ON') - pin.value(0) - time.sleep(1) - print('LED OFF') - pin.value(1) - time.sleep(1) - print('iteration done.') -print("All done.") diff --git a/ESPlorer/script/test100lines.lua b/ESPlorer/script/test100lines.lua deleted file mode 100755 index c9b3746..0000000 --- a/ESPlorer/script/test100lines.lua +++ /dev/null @@ -1,100 +0,0 @@ -print("This is line number 1") -print("This is line number 2") -print("This is line number 3") -print("This is line number 4") -print("This is line number 5") -print("This is line number 6") -print("This is line number 7") -print("This is line number 8") -print("This is line number 9") -print("This is line number 10") -print("This is line number 11") -print("This is line number 12") -print("This is line number 13") -print("This is line number 14") -print("This is line number 15") -print("This is line number 16") -print("This is line number 17") -print("This is line number 18") -print("This is line number 19") -print("This is line number 20") -print("This is line number 21") -print("This is line number 22") -print("This is line number 23") -print("This is line number 24") -print("This is line number 25") -print("This is line number 26") -print("This is line number 27") -print("This is line number 28") -print("This is line number 29") -print("This is line number 30") -print("This is line number 31") -print("This is line number 32") -print("This is line number 33") -print("This is line number 34") -print("This is line number 35") -print("This is line number 36") -print("This is line number 37") -print("This is line number 38") -print("This is line number 39") -print("This is line number 40") -print("This is line number 41") -print("This is line number 42") -print("This is line number 43") -print("This is line number 44") -print("This is line number 45") -print("This is line number 46") -print("This is line number 47") -print("This is line number 48") -print("This is line number 49") -print("This is line number 50") -print("This is line number 51") -print("This is line number 52") -print("This is line number 53") -print("This is line number 54") -print("This is line number 55") -print("This is line number 56") -print("This is line number 57") -print("This is line number 58") -print("This is line number 59") -print("This is line number 60") -print("This is line number 61") -print("This is line number 62") -print("This is line number 63") -print("This is line number 64") -print("This is line number 65") -print("This is line number 66") -print("This is line number 67") -print("This is line number 68") -print("This is line number 69") -print("This is line number 70") -print("This is line number 71") -print("This is line number 72") -print("This is line number 73") -print("This is line number 74") -print("This is line number 75") -print("This is line number 76") -print("This is line number 77") -print("This is line number 78") -print("This is line number 79") -print("This is line number 80") -print("This is line number 81") -print("This is line number 82") -print("This is line number 83") -print("This is line number 84") -print("This is line number 85") -print("This is line number 86") -print("This is line number 87") -print("This is line number 88") -print("This is line number 89") -print("This is line number 90") -print("This is line number 91") -print("This is line number 92") -print("This is line number 93") -print("This is line number 94") -print("This is line number 95") -print("This is line number 96") -print("This is line number 97") -print("This is line number 98") -print("This is line number 99") -print("This is line number 100") diff --git a/ESPlorer/src/main/java/ESPlorer/ESPlorer.form b/ESPlorer/src/main/java/ESPlorer/ESPlorer.form deleted file mode 100755 index e279459..0000000 --- a/ESPlorer/src/main/java/ESPlorer/ESPlorer.form +++ /dev/null @@ -1,9358 +0,0 @@ - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ESPlorer/src/main/java/ESPlorer/ESPlorer.java b/ESPlorer/src/main/java/ESPlorer/ESPlorer.java deleted file mode 100755 index ecbb5b0..0000000 --- a/ESPlorer/src/main/java/ESPlorer/ESPlorer.java +++ /dev/null @@ -1,13289 +0,0 @@ -/** - * - * @author 4refr0nt - */ -package ESPlorer; - -import java.awt.Color; -import java.awt.Toolkit; - -import java.awt.*; -import java.awt.event.*; -import java.io.*; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; - -import java.util.logging.*; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.prefs.*; - -import java.net.*; -import java.util.HashMap; - -import javax.swing.*; -import javax.swing.filechooser.*; -import javax.swing.Timer; -import javax.swing.UIManager.*; -import javax.swing.text.BadLocationException; -import javax.swing.text.Document; - -import org.fife.ui.rsyntaxtextarea.*; -import org.fife.ui.autocomplete.*; - -import jssc.SerialPort; -import jssc.SerialPortEvent; -import jssc.SerialPortEventListener; -import jssc.SerialPortException; -import jssc.SerialPortList; - -public class ESPlorer extends javax.swing.JFrame { - - public static SerialPort serialPort; - public static ArrayList sendBuf; - public static boolean pasteMode = true; // for MicroPython only - - public static boolean pOpen = false; - public static boolean sOpen = false; - public static boolean portJustOpen = false; - public static final String VERSION = "v0.2.0"; - private static String laf; - private static String systemLaf; - public static Preferences prefs; - private static int FirmwareType; - - private static final pyFiler PYFILER = new pyFiler(); - - /** - * Creates new form MainWindows - */ - public ESPlorer() { - try { - FileHandler fh = new FileHandler("ESPlorer.Log"); - LOGGER.addHandler(fh); - } catch (SecurityException e) { - LOGGER.log(Level.SEVERE, "Internal error 105: Can't create log file. Permission denied.", e); -// LOGGER.log(Level.SEVERE,e.getStackTrace().toString(), e); -// e.printStackTrace(); - } catch (IOException e) { - LOGGER.log(Level.SEVERE, "Internal error 106: Can't create log file. I/O error.", e); -// LOGGER.log(Level.SEVERE,e.getStackTrace().toString(), e); -// e.printStackTrace(); - } - initComponents(); - finalInit(); - - } - - /** - * This method is called from within the constructor to initialize the form. - * WARNING: Do NOT modify this code. The content of this method is always - * regenerated by the Form Editor. - */ - @SuppressWarnings("unchecked") - // //GEN-BEGIN:initComponents - private void initComponents() { - java.awt.GridBagConstraints gridBagConstraints; - bindingGroup = new org.jdesktop.beansbinding.BindingGroup(); - - ContextMenuTerminal = new javax.swing.JPopupMenu(); - MenuItemTerminalClear = new javax.swing.JMenuItem(); - MenuItemTerminalCopy = new javax.swing.JMenuItem(); - TerminalSeparator1 = new javax.swing.JPopupMenu.Separator(); - MenuItemTerminalFontInc = new javax.swing.JMenuItem(); - MenuItemTerminalFontDec = new javax.swing.JMenuItem(); - TerminalSeparator2 = new javax.swing.JPopupMenu.Separator(); - MenuItemTerminalReset = new javax.swing.JMenuItem(); - MenuItemTerminalFormat = new javax.swing.JMenuItem(); - ContextMenuEditor = new javax.swing.JPopupMenu(); - MenuItemEditorUndo = new javax.swing.JMenuItem(); - MenuItemEditorRedo = new javax.swing.JMenuItem(); - EditorSeparator1 = new javax.swing.JPopupMenu.Separator(); - MenuItemEditorSendSelected = new javax.swing.JMenuItem(); - MenuItemEditorSendLine = new javax.swing.JMenuItem(); - EditorSeparator = new javax.swing.JPopupMenu.Separator(); - MenuItemEditorCut = new javax.swing.JMenuItem(); - MenuItemEditorCopy = new javax.swing.JMenuItem(); - MenuItemEditorPaste = new javax.swing.JMenuItem(); - EditorSeparator2 = new javax.swing.JPopupMenu.Separator(); - MenuItemEditorFontInc = new javax.swing.JMenuItem(); - MenuItemEditorFontDec = new javax.swing.JMenuItem(); - ContextMenuLog = new javax.swing.JPopupMenu(); - MenuItemLogClear = new javax.swing.JMenuItem(); - MenuItemLogClose = new javax.swing.JMenuItem(); - LogSeparator = new javax.swing.JPopupMenu.Separator(); - MenuItemLogFontInc = new javax.swing.JMenuItem(); - MenuItemLogFontDec = new javax.swing.JMenuItem(); - MUXGroup = new javax.swing.ButtonGroup(); - Firmware = new javax.swing.ButtonGroup(); - About = new javax.swing.JDialog(); - AppName = new javax.swing.JLabel(); - Version = new javax.swing.JLabel(); - Donate = new javax.swing.JButton(); - Author = new javax.swing.JLabel(); - HomePage = new javax.swing.JButton(); - Author1 = new javax.swing.JLabel(); - ContextMenuESPFileLUA = new javax.swing.JPopupMenu(); - MenuItemESPFileDo = new javax.swing.JMenuItem(); - TerminalSeparator3 = new javax.swing.JPopupMenu.Separator(); - MenuItemESPFileDelete = new javax.swing.JMenuItem(); - buttonGroupLF = new javax.swing.ButtonGroup(); - ContextMenuFileManager = new javax.swing.JPopupMenu(); - ShowFileManager = new javax.swing.JCheckBoxMenuItem(); - HorizontSplit = new javax.swing.JSplitPane(); - LeftBasePane = new javax.swing.JLayeredPane(); - LeftTab = new javax.swing.JTabbedPane(); - NodeMCU = new javax.swing.JPanel(); - TextTab = new javax.swing.JTabbedPane(); - SriptsTab = new javax.swing.JLayeredPane(); - FilesToolBar = new javax.swing.JToolBar(); - ButtonFileNew = new javax.swing.JButton(); - ButtonFileOpen = new javax.swing.JButton(); - ButtonFileReload = new javax.swing.JButton(); - ButtonFileSave = new javax.swing.JButton(); - ButtonFileSaveAll = new javax.swing.JButton(); - ButtonFileClose = new javax.swing.JButton(); - jSeparator1 = new javax.swing.JToolBar.Separator(); - ButtonUndo = new javax.swing.JButton(); - ButtonRedo = new javax.swing.JButton(); - jSeparator8 = new javax.swing.JToolBar.Separator(); - ButtonCut = new javax.swing.JButton(); - ButtonCopy = new javax.swing.JButton(); - ButtonPaste = new javax.swing.JButton(); - jSeparator6 = new javax.swing.JToolBar.Separator(); - ButtonSendSelected = new javax.swing.JButton(); - ButtonSendLine = new javax.swing.JButton(); - FilesTabbedPane = new javax.swing.JTabbedPane(); - FileLayeredPane = new javax.swing.JLayeredPane(); - TextScroll = new org.fife.ui.rtextarea.RTextScrollPane(); - TextEditor = new org.fife.ui.rsyntaxtextarea.RSyntaxTextArea(); - LeftExtraButtons = new javax.swing.JLayeredPane(); - FileDo1 = new javax.swing.JButton(); - FileCompile = new javax.swing.JButton(); - FileSaveCompileDoLC = new javax.swing.JButton(); - FileUploadBin = new javax.swing.JButton(); - FileCompileDoLC = new javax.swing.JButton(); - FileCompileDoLC2 = new javax.swing.JButton(); - FileCompileDoLC3 = new javax.swing.JButton(); - FileCompile1 = new javax.swing.JButton(); - Busy = new javax.swing.JLabel(); - FilePathLabel = new javax.swing.JLabel(); - ProgressBar = new javax.swing.JProgressBar(); - LeftMainButtons = new javax.swing.JLayeredPane(); - FileSaveESP = new javax.swing.JToggleButton(); - FileSendESP = new javax.swing.JToggleButton(); - FileDo = new javax.swing.JButton(); - FilesUpload = new javax.swing.JButton(); - NodeMCUCommands = new javax.swing.JLayeredPane(); - CommandsMicroPython = new javax.swing.JLayeredPane(); - CommandsNodeMCU = new javax.swing.JLayeredPane(); - cmdNodeRestart = new javax.swing.JButton(); - cmdTimerStop = new javax.swing.JButton(); - cmdNodeChipID = new javax.swing.JButton(); - TimerNumber = new javax.swing.JComboBox(); - cmdNodeHeap = new javax.swing.JButton(); - cmdListFiles = new javax.swing.JButton(); - cmdNodeSleep = new javax.swing.JButton(); - MicroPythonCommandsTab = new javax.swing.JTabbedPane(); - MicroPythonCommandsWiFi = new javax.swing.JLayeredPane(); - MicroPythonSSID = new javax.swing.JTextField(); - cmdMicroPythonStaConnect = new javax.swing.JButton(); - MicroPythonPASS = new javax.swing.JTextField(); - MicroPythonRemoteHost = new javax.swing.JTextField(); - MicroPythonRemotePort = new javax.swing.JTextField(); - cmdMicroPythonSendToHost = new javax.swing.JButton(); - MicroPythonRemoteData = new javax.swing.JTextField(); - cmdMicroPythonScan = new javax.swing.JButton(); - MicroPythonCommandsGPIO = new javax.swing.JLayeredPane(); - MicroPythonGPIO0_1 = new javax.swing.JButton(); - MicroPythonGPIO0_0 = new javax.swing.JButton(); - MicroPythonGPIO0 = new javax.swing.JButton(); - MicroPythonGPIO2_1 = new javax.swing.JButton(); - MicroPythonGPIO2_0 = new javax.swing.JButton(); - MicroPythonGPIO2 = new javax.swing.JButton(); - MicroPythonGPIO4_1 = new javax.swing.JButton(); - MicroPythonGPIO4_0 = new javax.swing.JButton(); - MicroPythonGPIO4 = new javax.swing.JButton(); - MicroPythonGPIO5_1 = new javax.swing.JButton(); - MicroPythonGPIO5_0 = new javax.swing.JButton(); - MicroPythonGPIO5 = new javax.swing.JButton(); - MicroPythonGPIO9_1 = new javax.swing.JButton(); - MicroPythonGPIO9_0 = new javax.swing.JButton(); - MicroPythonGPIO9 = new javax.swing.JButton(); - MicroPythonGPIO10_1 = new javax.swing.JButton(); - MicroPythonGPIO10_0 = new javax.swing.JButton(); - MicroPythonGPIO10 = new javax.swing.JButton(); - MicroPythonGPIO12_1 = new javax.swing.JButton(); - MicroPythonGPIO12_0 = new javax.swing.JButton(); - MicroPythonGPIO12 = new javax.swing.JButton(); - MicroPythonGPIO13_1 = new javax.swing.JButton(); - MicroPythonGPIO13_0 = new javax.swing.JButton(); - MicroPythonGPIO13 = new javax.swing.JButton(); - MicroPythonGPIO14_1 = new javax.swing.JButton(); - MicroPythonGPIO14_0 = new javax.swing.JButton(); - MicroPythonGPIO14 = new javax.swing.JButton(); - MicroPythonGPIO15_1 = new javax.swing.JButton(); - MicroPythonGPIO15_0 = new javax.swing.JButton(); - MicroPythonGPIO15 = new javax.swing.JButton(); - MicroPythonGPIO16_1 = new javax.swing.JButton(); - MicroPythonGPIO16_0 = new javax.swing.JButton(); - MicroPythonGPIO16 = new javax.swing.JButton(); - NodeMCUSnippets = new javax.swing.JLayeredPane(); - LeftSnippetsPane = new javax.swing.JLayeredPane(); - SnippetEdit0 = new javax.swing.JButton(); - SnippetEdit1 = new javax.swing.JButton(); - SnippetEdit2 = new javax.swing.JButton(); - SnippetEdit3 = new javax.swing.JButton(); - SnippetEdit4 = new javax.swing.JButton(); - SnippetEdit5 = new javax.swing.JButton(); - SnippetEdit6 = new javax.swing.JButton(); - SnippetEdit7 = new javax.swing.JButton(); - SnippetEdit8 = new javax.swing.JButton(); - SnippetEdit9 = new javax.swing.JButton(); - SnippetEdit10 = new javax.swing.JButton(); - SnippetEdit11 = new javax.swing.JButton(); - SnippetEdit12 = new javax.swing.JButton(); - SnippetEdit13 = new javax.swing.JButton(); - SnippetEdit14 = new javax.swing.JButton(); - SnippetEdit15 = new javax.swing.JButton(); - jLayeredPane4 = new javax.swing.JLayeredPane(); - SnippetTopPane = new javax.swing.JLayeredPane(); - SnippetName = new javax.swing.JTextField(); - SnippetSave = new javax.swing.JButton(); - SnippetRun = new javax.swing.JButton(); - SnippetsBusy = new javax.swing.JLabel(); - SnippetCancelEdit = new javax.swing.JButton(); - Condensed = new javax.swing.JCheckBox(); - SnippetScrollPane = new org.fife.ui.rtextarea.RTextScrollPane(); - SnippetText = new org.fife.ui.rsyntaxtextarea.RSyntaxTextArea(); - NodeMCUSettings = new javax.swing.JLayeredPane(); - OptionsFirmware = new javax.swing.JLayeredPane(); - OptionNodeMCU = new javax.swing.JRadioButton(); - OptionMicroPython = new javax.swing.JRadioButton(); - OptionsOther = new javax.swing.JLayeredPane(); - FileAutoSaveDisk = new javax.swing.JCheckBox(); - FileAutoSaveESP = new javax.swing.JCheckBox(); - FileAutoRun = new javax.swing.JCheckBox(); - EditorThemeLabel = new javax.swing.JLabel(); - EditorTheme = new javax.swing.JComboBox(); - UseExternalEditor = new javax.swing.JCheckBox(); - OptionsFileSendMode = new javax.swing.JLayeredPane(); - DelayLabel = new javax.swing.JLabel(); - Delay = new javax.swing.JSlider(); - AnswerDelayLabel = new javax.swing.JLabel(); - AnswerDelay = new javax.swing.JSlider(); - DumbMode = new javax.swing.JCheckBox(); - LineDelayLabel = new javax.swing.JLabel(); - LineDelay = new javax.swing.JSlider(); - TurboMode = new javax.swing.JCheckBox(); - jLayeredPane2 = new javax.swing.JLayeredPane(); - jLabel1 = new javax.swing.JLabel(); - jLabel7 = new javax.swing.JLabel(); - TerminalMaxSize = new javax.swing.JTextField(); - LogMaxSize = new javax.swing.JTextField(); - jLabel8 = new javax.swing.JLabel(); - jLabel9 = new javax.swing.JLabel(); - jLayeredPane3 = new javax.swing.JLayeredPane(); - CustomPortName = new javax.swing.JTextField(); - UseCustomPortName = new javax.swing.JCheckBox(); - jLabel10 = new javax.swing.JLabel(); - AutodetectFirmware = new javax.swing.JCheckBox(); - CommandEcho = new javax.swing.JCheckBox(); - ATvXX = new javax.swing.JLayeredPane(); - BasicATcommandsPane = new javax.swing.JLayeredPane(); - cmdAT = new javax.swing.JButton(); - AT_Restart = new javax.swing.JButton(); - AT_GMR = new javax.swing.JButton(); - GSLP = new javax.swing.JButton(); - ATE0 = new javax.swing.JButton(); - ATE1 = new javax.swing.JButton(); - UPDATE = new javax.swing.JButton(); - TabAT = new javax.swing.JTabbedPane(); - AT_Station = new javax.swing.JPanel(); - TopWiFiStaFiller = new javax.swing.Box.Filler(new java.awt.Dimension(457, 150), new java.awt.Dimension(457, 150), new java.awt.Dimension(457, 150)); - WiFiStationPane = new javax.swing.JLayeredPane(); - cmdGetCWJAP = new javax.swing.JButton(); - cmdSetCWJAP = new javax.swing.JButton(); - SSID = new javax.swing.JTextField(); - PASS = new javax.swing.JTextField(); - cmdSetCWQAP = new javax.swing.JButton(); - cmdGetCIPSTAMAC = new javax.swing.JButton(); - cmdSetCIPSTAMAC = new javax.swing.JButton(); - MAC = new javax.swing.JFormattedTextField(); - cmdGetCIPSTA = new javax.swing.JButton(); - cmdSetCIPSTA = new javax.swing.JButton(); - StationIP = new javax.swing.JTextField(); - PingIP = new javax.swing.JTextField(); - cmdSetPING = new javax.swing.JButton(); - AT_SoftAP = new javax.swing.JLayeredPane(); - WiFisoftAPPane = new javax.swing.JLayeredPane(); - cmdSetCWSAP = new javax.swing.JButton(); - cmdGetCWSAP = new javax.swing.JButton(); - cmdGetCIPAPMAC = new javax.swing.JButton(); - cmdGetCWLIF = new javax.swing.JButton(); - SSIDsoftAP = new javax.swing.JTextField(); - PASSsoftAP = new javax.swing.JTextField(); - cmdGetCIPAP = new javax.swing.JButton(); - cmdSetCIPAPMAC = new javax.swing.JButton(); - MAC1 = new javax.swing.JFormattedTextField(); - encryption = new javax.swing.JComboBox(); - channel = new javax.swing.JComboBox(); - softAPIP = new javax.swing.JTextField(); - cmdSetCIPAP = new javax.swing.JButton(); - TopWiFiAPFiller = new javax.swing.Box.Filler(new java.awt.Dimension(457, 150), new java.awt.Dimension(457, 150), new java.awt.Dimension(457, 150)); - AT_Client = new javax.swing.JPanel(); - TopWiFiStaFiller1 = new javax.swing.Box.Filler(new java.awt.Dimension(457, 150), new java.awt.Dimension(457, 150), new java.awt.Dimension(457, 150)); - TCPclientBottomPane = new javax.swing.JLayeredPane(); - common = new javax.swing.JPanel(); - conn_id = new javax.swing.JComboBox(); - single = new javax.swing.JRadioButton(); - multi = new javax.swing.JRadioButton(); - jLabel4 = new javax.swing.JLabel(); - cmdGetCIPSTART = new javax.swing.JButton(); - UDP = new javax.swing.JLayeredPane(); - udp_local_port = new javax.swing.JTextField(); - jLabel2 = new javax.swing.JLabel(); - udp_mode = new javax.swing.JTextField(); - jLabel3 = new javax.swing.JLabel(); - remote_address = new javax.swing.JTextField(); - remote_port = new javax.swing.JTextField(); - protocol = new javax.swing.JComboBox(); - cmdSetCIPSTART = new javax.swing.JButton(); - jScrollData = new javax.swing.JScrollPane(); - data = new javax.swing.JTextArea(); - cmdCIPSEND = new javax.swing.JButton(); - cmdCIPSENDinteractive = new javax.swing.JButton(); - cmdSetCIPCLOSE = new javax.swing.JButton(); - AT_Server = new javax.swing.JPanel(); - TCPServerTopFiller = new javax.swing.Box.Filler(new java.awt.Dimension(457, 150), new java.awt.Dimension(457, 150), new java.awt.Dimension(457, 150)); - TCPServerBottomPane = new javax.swing.JLayeredPane(); - cmdGetCIPMODE = new javax.swing.JButton(); - cmdSetCIPMODE0 = new javax.swing.JButton(); - cmdSetCIPMODE1 = new javax.swing.JButton(); - cmdSetCIPSERVER = new javax.swing.JButton(); - ServerMode = new javax.swing.JComboBox(); - jLabel5 = new javax.swing.JLabel(); - ServerPort = new javax.swing.JTextField(); - cmdGetCIPSTO = new javax.swing.JButton(); - cmdSetCIPSTO = new javax.swing.JButton(); - ServerTimeout = new javax.swing.JTextField(); - jLabel6 = new javax.swing.JLabel(); - TCP_common = new javax.swing.JLayeredPane(); - cmdGetCIPSTATUS = new javax.swing.JButton(); - cmdGetCIPMUX = new javax.swing.JButton(); - cmdSetCIPMUX1 = new javax.swing.JButton(); - cmdSetCIPMUX0 = new javax.swing.JButton(); - cmdGetCIFSR = new javax.swing.JButton(); - WiFi_common = new javax.swing.JLayeredPane(); - cmdGetHelpCWMODE = new javax.swing.JButton(); - cmdSetCWMODE1 = new javax.swing.JButton(); - cmdGetCWMODE = new javax.swing.JButton(); - cmdSetCWMODE2 = new javax.swing.JButton(); - cmdSetCWLAP = new javax.swing.JButton(); - cmdSetCWMODE3 = new javax.swing.JButton(); - DHCP = new javax.swing.JComboBox(); - DHCPmode = new javax.swing.JComboBox(); - cmdSetCWDHCP = new javax.swing.JButton(); - RN2483 = new javax.swing.JLayeredPane(); - RN2483jTab = new javax.swing.JTabbedPane(); - MacPane = new javax.swing.JScrollPane(); - LoRaMAC = new javax.swing.JLayeredPane(); - MacCommon = new javax.swing.JLayeredPane(); - cmdMacSetAdrOn = new javax.swing.JButton(); - cmdMacSetDR = new javax.swing.JButton(); - cmdMacSetPwrIdx = new javax.swing.JButton(); - cmdMacGetStatus = new javax.swing.JButton(); - cmdMacSetAdrOff = new javax.swing.JButton(); - cmdMacGetAdr = new javax.swing.JButton(); - MacDR = new javax.swing.JTextField(); - MacPower = new javax.swing.JTextField(); - cmdMacGetDR = new javax.swing.JButton(); - cmdMacGetPwrIdx = new javax.swing.JButton(); - SendUnconfirmed = new javax.swing.JLayeredPane(); - cmdMacTX = new javax.swing.JButton(); - MacTxPort = new javax.swing.JTextField(); - MacTxData = new javax.swing.JTextField(); - TxConfirmed = new javax.swing.JComboBox<>(); - jLabel13 = new javax.swing.JLabel(); - RadioPane = new javax.swing.JLayeredPane(); - MacSF = new javax.swing.JComboBox<>(); - jLabel11 = new javax.swing.JLabel(); - RadioRxBandWidth = new javax.swing.JTextField(); - RadioFreq = new javax.swing.JTextField(); - cmdRadiosetRxBw = new javax.swing.JButton(); - cmdRadioSetFreq = new javax.swing.JButton(); - cmdRadioGetSF = new javax.swing.JButton(); - cmdRadioGetBw = new javax.swing.JButton(); - cmdRadioGetRxBw = new javax.swing.JButton(); - cmdRadioGetFreq = new javax.swing.JButton(); - MacBandWidth = new javax.swing.JComboBox<>(); - jLabel12 = new javax.swing.JLabel(); - jLayeredPane1 = new javax.swing.JLayeredPane(); - cmdSysReset = new javax.swing.JButton(); - cmdSysFactoryReset = new javax.swing.JButton(); - cmdSysGetVer = new javax.swing.JButton(); - cmdSysGetHwEui = new javax.swing.JButton(); - ActivationScrollPane = new javax.swing.JScrollPane(); - ActivationPane = new javax.swing.JLayeredPane(); - ABPPane = new javax.swing.JLayeredPane(); - cmdMacSetDevAddr = new javax.swing.JButton(); - cmdMacSetNwkSKey = new javax.swing.JButton(); - cmdMacSetAppSKey = new javax.swing.JButton(); - cmdMacjoinABP = new javax.swing.JButton(); - cmdMacGetDevAddr = new javax.swing.JButton(); - DevAddr = new javax.swing.JTextField(); - NwkSKey = new javax.swing.JTextField(); - AppSKey = new javax.swing.JTextField(); - cmdMacSave = new javax.swing.JButton(); - OTAAPane = new javax.swing.JLayeredPane(); - cmdMacSetDevEui = new javax.swing.JButton(); - cmdMacSetAppEui = new javax.swing.JButton(); - cmdMacSetAppKey = new javax.swing.JButton(); - cmdMacJoinOTAA = new javax.swing.JButton(); - cmdMacGetDevEui = new javax.swing.JButton(); - cmdMacGetAppEui = new javax.swing.JButton(); - DevEUI = new javax.swing.JTextField(); - AppEUI = new javax.swing.JTextField(); - AppKey = new javax.swing.JTextField(); - RightBasePane = new javax.swing.JLayeredPane(); - LEDPanel = new javax.swing.JLayeredPane(); - PortOpenLabel = new javax.swing.JLabel(); - PortCTS = new javax.swing.JLabel(); - PortDTR = new javax.swing.JToggleButton(); - PortRTS = new javax.swing.JToggleButton(); - Open = new javax.swing.JToggleButton(); - Speed = new javax.swing.JComboBox(); - ReScan = new javax.swing.JButton(); - AutoScroll = new javax.swing.JCheckBox(); - Port = new javax.swing.JComboBox<>(); - EOL = new javax.swing.JCheckBox(); - CR = new javax.swing.JCheckBox(); - LF = new javax.swing.JCheckBox(); - DonateSmall = new javax.swing.JButton(); - TerminalOnlyCheckBox = new javax.swing.JCheckBox(); - EditorOnlyCheckBox = new javax.swing.JCheckBox(); - RightBigPane = new javax.swing.JLayeredPane(); - RightFilesSplitPane = new javax.swing.JSplitPane(); - TerminalLogPane = new javax.swing.JLayeredPane(); - RightSplitPane = new javax.swing.JSplitPane(); - TerminalPane = new org.fife.ui.rtextarea.RTextScrollPane(); - Terminal = new org.fife.ui.rsyntaxtextarea.RSyntaxTextArea(); - ScrollLog = new javax.swing.JScrollPane(); - Log = new javax.swing.JTextArea(); - FileManagerScrollPane = new javax.swing.JScrollPane(); - FileManagersLayer = new javax.swing.JLayeredPane(); - NodeFileManagerPane = new javax.swing.JLayeredPane(); - FileFormat = new javax.swing.JButton(); - FileSystemInfo = new javax.swing.JButton(); - FileListReload = new javax.swing.JButton(); - FileAsButton1 = new javax.swing.JButton(); - FileRenamePanel = new javax.swing.JLayeredPane(); - FileRenameLabel = new javax.swing.JLabel(); - FileRename = new javax.swing.JTextField(); - PyFileManagerPane = new javax.swing.JLayeredPane(); - PyListDir = new javax.swing.JButton(); - PyFileAsButton1 = new javax.swing.JButton(); - RightSnippetsPane = new javax.swing.JLayeredPane(); - ButtonSnippet0 = new javax.swing.JButton(); - ButtonSnippet1 = new javax.swing.JButton(); - ButtonSnippet2 = new javax.swing.JButton(); - ButtonSnippet3 = new javax.swing.JButton(); - ButtonSnippet4 = new javax.swing.JButton(); - ButtonSnippet5 = new javax.swing.JButton(); - ButtonSnippet6 = new javax.swing.JButton(); - ButtonSnippet7 = new javax.swing.JButton(); - ButtonSnippet8 = new javax.swing.JButton(); - ButtonSnippet9 = new javax.swing.JButton(); - ButtonSnippet10 = new javax.swing.JButton(); - ButtonSnippet11 = new javax.swing.JButton(); - ButtonSnippet12 = new javax.swing.JButton(); - ButtonSnippet13 = new javax.swing.JButton(); - ButtonSnippet14 = new javax.swing.JButton(); - ButtonSnippet15 = new javax.swing.JButton(); - RightExtraButtons = new javax.swing.JLayeredPane(); - NodeHeap = new javax.swing.JButton(); - NodeInfo = new javax.swing.JButton(); - NodeChipID = new javax.swing.JButton(); - NodeFlashID = new javax.swing.JButton(); - NodeReset = new javax.swing.JButton(); - RightBottomPane = new javax.swing.JLayeredPane(); - Command = new javax.swing.JComboBox<>(); - SendCommand = new javax.swing.JButton(); - MainMenuBar = new javax.swing.JMenuBar(); - MenuFile = new javax.swing.JMenu(); - MenuItemFileNew = new javax.swing.JMenuItem(); - MenuItemFileOpen = new javax.swing.JMenuItem(); - MenuItemFileReload = new javax.swing.JMenuItem(); - MenuItemFileSave = new javax.swing.JMenuItem(); - MenuItemFileSaveAs = new javax.swing.JMenuItem(); - MenuItemFileSaveAll = new javax.swing.JMenuItem(); - MenuItemFileClose = new javax.swing.JMenuItem(); - jSeparatorFileMenu = new javax.swing.JPopupMenu.Separator(); - MenuItemFileSaveESP = new javax.swing.JMenuItem(); - jMenuItem4 = new javax.swing.JMenuItem(); - MenuItemFileSendESP = new javax.swing.JMenuItem(); - jMenuItem7 = new javax.swing.JMenuItem(); - jSeparator4 = new javax.swing.JPopupMenu.Separator(); - MenuItemFileDo = new javax.swing.JMenuItem(); - jSeparator3 = new javax.swing.JPopupMenu.Separator(); - MenuItemFileRemoveESP = new javax.swing.JMenuItem(); - jSeparator2 = new javax.swing.JPopupMenu.Separator(); - MenuItemFileExit = new javax.swing.JMenuItem(); - MenuEdit = new javax.swing.JMenu(); - MenuItemEditUndo = new javax.swing.JMenuItem(); - MenuItemEditRedo = new javax.swing.JMenuItem(); - jSeparator7 = new javax.swing.JPopupMenu.Separator(); - MenuItemEditCut = new javax.swing.JMenuItem(); - MenuItemEditCopy = new javax.swing.JMenuItem(); - MenuItemEditPaste = new javax.swing.JMenuItem(); - jSeparator5 = new javax.swing.JPopupMenu.Separator(); - MenuItemEditSendSelected = new javax.swing.JMenuItem(); - MenuItemEditSendLine = new javax.swing.JMenuItem(); - MenuESP = new javax.swing.JMenu(); - MenuItemESPReset = new javax.swing.JMenuItem(); - MenuItemESPFormat = new javax.swing.JMenuItem(); - MenuView = new javax.swing.JMenu(); - AlwaysOnTop = new javax.swing.JCheckBoxMenuItem(); - MenuItemViewLog = new javax.swing.JCheckBoxMenuItem(); - MenuItemViewClearLog = new javax.swing.JMenuItem(); - MenuItemViewClearTerminal = new javax.swing.JMenuItem(); - jSeparator9 = new javax.swing.JPopupMenu.Separator(); - MenuItemViewTerminalOnly = new javax.swing.JCheckBoxMenuItem(); - MenuItemViewEditorOnly = new javax.swing.JCheckBoxMenuItem(); - jSeparator18 = new javax.swing.JPopupMenu.Separator(); - MenuItemViewToolbar = new javax.swing.JCheckBoxMenuItem(); - MenuItemViewLeftExtra = new javax.swing.JCheckBoxMenuItem(); - MenuItemViewSnippets = new javax.swing.JCheckBoxMenuItem(); - MenuItemViewFileManager = new javax.swing.JCheckBoxMenuItem(); - MenuItemViewRightExtra = new javax.swing.JCheckBoxMenuItem(); - MenuItemViewDonate = new javax.swing.JCheckBoxMenuItem(); - jSeparator13 = new javax.swing.JPopupMenu.Separator(); - MenuItemViewTermFontInc = new javax.swing.JMenuItem(); - MenuItemViewTermFontDec = new javax.swing.JMenuItem(); - jSeparator10 = new javax.swing.JPopupMenu.Separator(); - MenuItemViewEditorFontInc = new javax.swing.JMenuItem(); - MenuItemViewEditorFontDec = new javax.swing.JMenuItem(); - jSeparator11 = new javax.swing.JPopupMenu.Separator(); - MenuItemViewLogFontInc = new javax.swing.JMenuItem(); - MenuItemViewLogFontDec = new javax.swing.JMenuItem(); - jSeparator12 = new javax.swing.JPopupMenu.Separator(); - MenuItemViewFontDefault = new javax.swing.JMenuItem(); - jSeparator17 = new javax.swing.JPopupMenu.Separator(); - MenuLinks = new javax.swing.JMenu(); - MenuItemLinksMicroPythonDoc = new javax.swing.JMenuItem(); - MenuItemLinksNodeMCUdoc = new javax.swing.JMenuItem(); - jSeparator15 = new javax.swing.JPopupMenu.Separator(); - MenuItemLinksBuyDevBoard = new javax.swing.JMenuItem(); - MenuItemLinksBuyESP8266 = new javax.swing.JMenuItem(); - MenuItemLinksBuyESD12 = new javax.swing.JMenuItem(); - MenuItemLinksBuyOther = new javax.swing.JMenuItem(); - jSeparator16 = new javax.swing.JPopupMenu.Separator(); - MenuItemLinksIoTmanager = new javax.swing.JMenuItem(); - jSeparator19 = new javax.swing.JPopupMenu.Separator(); - MenuItemLinksESPlorerForumEn = new javax.swing.JMenuItem(); - MenuItemLinksESPlorerForumRu = new javax.swing.JMenuItem(); - MenuItemLinksESPlorerLatest = new javax.swing.JMenuItem(); - MenuItemLinksESPlorerSource = new javax.swing.JMenuItem(); - MenuItemLinksESPlorerHome = new javax.swing.JMenuItem(); - jSeparator20 = new javax.swing.JPopupMenu.Separator(); - MenuItemLinksDonate = new javax.swing.JMenuItem(); - MenuHelp = new javax.swing.JMenu(); - MenuItemHelpAbout = new javax.swing.JMenuItem(); - - ContextMenuTerminal.addPopupMenuListener(new javax.swing.event.PopupMenuListener() { - public void popupMenuWillBecomeVisible(javax.swing.event.PopupMenuEvent evt) { - ContextMenuTerminalPopupMenuWillBecomeVisible(evt); - } - public void popupMenuWillBecomeInvisible(javax.swing.event.PopupMenuEvent evt) { - } - public void popupMenuCanceled(javax.swing.event.PopupMenuEvent evt) { - } - }); - - MenuItemTerminalClear.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F2, java.awt.event.InputEvent.CTRL_MASK)); - MenuItemTerminalClear.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/terminal_clear.png"))); // NOI18N - MenuItemTerminalClear.setText("Clear"); - MenuItemTerminalClear.setToolTipText(""); - MenuItemTerminalClear.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemTerminalClearActionPerformed(evt); - } - }); - ContextMenuTerminal.add(MenuItemTerminalClear); - - MenuItemTerminalCopy.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_C, java.awt.event.InputEvent.CTRL_MASK)); - MenuItemTerminalCopy.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/copy.png"))); // NOI18N - MenuItemTerminalCopy.setText("Copy"); - MenuItemTerminalCopy.setToolTipText("Copy selected text to system clipboard"); - MenuItemTerminalCopy.setEnabled(false); - MenuItemTerminalCopy.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemTerminalCopyActionPerformed(evt); - } - }); - ContextMenuTerminal.add(MenuItemTerminalCopy); - ContextMenuTerminal.add(TerminalSeparator1); - - MenuItemTerminalFontInc.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_ADD, java.awt.event.InputEvent.CTRL_MASK)); - MenuItemTerminalFontInc.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/zoom in.png"))); // NOI18N - MenuItemTerminalFontInc.setText("Inc font size"); - MenuItemTerminalFontInc.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemTerminalFontIncActionPerformed(evt); - } - }); - ContextMenuTerminal.add(MenuItemTerminalFontInc); - - MenuItemTerminalFontDec.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_SUBTRACT, java.awt.event.InputEvent.CTRL_MASK)); - MenuItemTerminalFontDec.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/zoom out.png"))); // NOI18N - MenuItemTerminalFontDec.setText("Dec font size"); - MenuItemTerminalFontDec.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemTerminalFontDecActionPerformed(evt); - } - }); - ContextMenuTerminal.add(MenuItemTerminalFontDec); - ContextMenuTerminal.add(TerminalSeparator2); - - MenuItemTerminalReset.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/reset.png"))); // NOI18N - MenuItemTerminalReset.setText("Restart ESP module"); - MenuItemTerminalReset.setToolTipText("Send RESET command (firmware depended)"); - MenuItemTerminalReset.setEnabled(false); - MenuItemTerminalReset.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemTerminalResetActionPerformed(evt); - } - }); - ContextMenuTerminal.add(MenuItemTerminalReset); - - MenuItemTerminalFormat.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/file manager (delete).png"))); // NOI18N - MenuItemTerminalFormat.setText("Format ESP"); - MenuItemTerminalFormat.setToolTipText("Remove All files from ESP flash memory"); - MenuItemTerminalFormat.setEnabled(false); - MenuItemTerminalFormat.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemTerminalFormatActionPerformed(evt); - } - }); - ContextMenuTerminal.add(MenuItemTerminalFormat); - - MenuItemEditorUndo.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_Z, java.awt.event.InputEvent.CTRL_MASK)); - MenuItemEditorUndo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/undo1.png"))); // NOI18N - MenuItemEditorUndo.setText("Undo"); - MenuItemEditorUndo.setToolTipText(""); - MenuItemEditorUndo.setEnabled(false); - MenuItemEditorUndo.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemEditorUndoActionPerformed(evt); - } - }); - ContextMenuEditor.add(MenuItemEditorUndo); - - MenuItemEditorRedo.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F4, 0)); - MenuItemEditorRedo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/redo1.png"))); // NOI18N - MenuItemEditorRedo.setText("Redo"); - MenuItemEditorRedo.setToolTipText(""); - MenuItemEditorRedo.setEnabled(false); - MenuItemEditorRedo.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemEditorRedoActionPerformed(evt); - } - }); - ContextMenuEditor.add(MenuItemEditorRedo); - ContextMenuEditor.add(EditorSeparator1); - - MenuItemEditorSendSelected.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_B, java.awt.event.InputEvent.ALT_MASK)); - MenuItemEditorSendSelected.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/send_selected.png"))); // NOI18N - MenuItemEditorSendSelected.setText("Send selected to ESP"); - MenuItemEditorSendSelected.setToolTipText("Send selected fragment to ESP"); - MenuItemEditorSendSelected.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemEditorSendSelectedActionPerformed(evt); - } - }); - ContextMenuEditor.add(MenuItemEditorSendSelected); - - MenuItemEditorSendLine.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_L, java.awt.event.InputEvent.ALT_MASK)); - MenuItemEditorSendLine.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/run_line.png"))); // NOI18N - MenuItemEditorSendLine.setText("Send current line to ESP"); - MenuItemEditorSendLine.setToolTipText("Send current line to ESP"); - MenuItemEditorSendLine.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemEditorSendLineActionPerformed(evt); - } - }); - ContextMenuEditor.add(MenuItemEditorSendLine); - ContextMenuEditor.add(EditorSeparator); - - MenuItemEditorCut.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_X, java.awt.event.InputEvent.CTRL_MASK)); - MenuItemEditorCut.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/cut.png"))); // NOI18N - MenuItemEditorCut.setText("Cut"); - MenuItemEditorCut.setEnabled(false); - MenuItemEditorCut.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemEditorCutActionPerformed(evt); - } - }); - ContextMenuEditor.add(MenuItemEditorCut); - - MenuItemEditorCopy.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_C, java.awt.event.InputEvent.CTRL_MASK)); - MenuItemEditorCopy.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/copy.png"))); // NOI18N - MenuItemEditorCopy.setText("Copy"); - MenuItemEditorCopy.setEnabled(false); - MenuItemEditorCopy.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemEditorCopyActionPerformed(evt); - } - }); - ContextMenuEditor.add(MenuItemEditorCopy); - - MenuItemEditorPaste.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_V, java.awt.event.InputEvent.CTRL_MASK)); - MenuItemEditorPaste.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/paste.png"))); // NOI18N - MenuItemEditorPaste.setText("Paste"); - MenuItemEditorPaste.setEnabled(false); - MenuItemEditorPaste.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemEditorPasteActionPerformed(evt); - } - }); - ContextMenuEditor.add(MenuItemEditorPaste); - ContextMenuEditor.add(EditorSeparator2); - - MenuItemEditorFontInc.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_ADD, java.awt.event.InputEvent.ALT_MASK)); - MenuItemEditorFontInc.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/zoom in.png"))); // NOI18N - MenuItemEditorFontInc.setText("Inc font size"); - MenuItemEditorFontInc.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemEditorFontIncActionPerformed(evt); - } - }); - ContextMenuEditor.add(MenuItemEditorFontInc); - - MenuItemEditorFontDec.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_SUBTRACT, java.awt.event.InputEvent.ALT_MASK)); - MenuItemEditorFontDec.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/zoom out.png"))); // NOI18N - MenuItemEditorFontDec.setText("Dec font size"); - MenuItemEditorFontDec.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemEditorFontDecActionPerformed(evt); - } - }); - ContextMenuEditor.add(MenuItemEditorFontDec); - - MenuItemLogClear.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F1, java.awt.event.InputEvent.CTRL_MASK)); - MenuItemLogClear.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/backup_delete.png"))); // NOI18N - MenuItemLogClear.setText("Clear log"); - MenuItemLogClear.setToolTipText(""); - MenuItemLogClear.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemLogClearActionPerformed(evt); - } - }); - ContextMenuLog.add(MenuItemLogClear); - - MenuItemLogClose.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_L, java.awt.event.InputEvent.CTRL_MASK)); - MenuItemLogClose.setText("Hide Log"); - MenuItemLogClose.setToolTipText(""); - MenuItemLogClose.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemLogCloseActionPerformed(evt); - } - }); - ContextMenuLog.add(MenuItemLogClose); - ContextMenuLog.add(LogSeparator); - - MenuItemLogFontInc.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_ADD, java.awt.event.InputEvent.ALT_MASK | java.awt.event.InputEvent.CTRL_MASK)); - MenuItemLogFontInc.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/zoom in.png"))); // NOI18N - MenuItemLogFontInc.setText("Inc font size"); - MenuItemLogFontInc.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemLogFontIncActionPerformed(evt); - } - }); - ContextMenuLog.add(MenuItemLogFontInc); - - MenuItemLogFontDec.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_SUBTRACT, java.awt.event.InputEvent.ALT_MASK | java.awt.event.InputEvent.CTRL_MASK)); - MenuItemLogFontDec.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/zoom out.png"))); // NOI18N - MenuItemLogFontDec.setText("Dec font size"); - MenuItemLogFontDec.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemLogFontDecActionPerformed(evt); - } - }); - ContextMenuLog.add(MenuItemLogFontDec); - - About.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); - About.setTitle("About"); - About.setIconImage(null); - About.setMinimumSize(new java.awt.Dimension(406, 250)); - About.setModalityType(java.awt.Dialog.ModalityType.DOCUMENT_MODAL); - About.setResizable(false); - About.addWindowFocusListener(new java.awt.event.WindowFocusListener() { - public void windowGainedFocus(java.awt.event.WindowEvent evt) { - } - public void windowLostFocus(java.awt.event.WindowEvent evt) { - AboutWindowLostFocus(evt); - } - }); - About.addFocusListener(new java.awt.event.FocusAdapter() { - public void focusLost(java.awt.event.FocusEvent evt) { - AboutFocusLost(evt); - } - }); - - AppName.setFont(new java.awt.Font("Tahoma", 1, 24)); // NOI18N - AppName.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); - AppName.setText("ESPlorer"); - AppName.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); - - Version.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N - Version.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); - Version.setText(VERSION); - Version.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); - - Donate.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/donate.gif"))); // NOI18N - Donate.setToolTipText("If you'd like to make a one-time donation to ESPlorer author, you can use PayPal to make it fast and easy."); - Donate.setMaximumSize(new java.awt.Dimension(200, 55)); - Donate.setMinimumSize(new java.awt.Dimension(200, 55)); - Donate.setPreferredSize(new java.awt.Dimension(200, 55)); - Donate.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - DonateActionPerformed(evt); - } - }); - - Author.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); - Author.setText("by Victor Brutskiy (4refr0nt)"); - Author.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); - - HomePage.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/wifi.png"))); // NOI18N - HomePage.setText("Visit HomePage"); - HomePage.setToolTipText(""); - HomePage.setHorizontalTextPosition(javax.swing.SwingConstants.LEFT); - HomePage.setMaximumSize(new java.awt.Dimension(200, 55)); - HomePage.setMinimumSize(new java.awt.Dimension(200, 55)); - HomePage.setPreferredSize(new java.awt.Dimension(200, 55)); - HomePage.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - HomePageActionPerformed(evt); - } - }); - - Author1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); - Author1.setText("4refr0nt@gmail.com"); - Author1.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); - - javax.swing.GroupLayout AboutLayout = new javax.swing.GroupLayout(About.getContentPane()); - About.getContentPane().setLayout(AboutLayout); - AboutLayout.setHorizontalGroup( - AboutLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(Author, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(AppName, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(Version, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addGroup(AboutLayout.createSequentialGroup() - .addComponent(Donate, javax.swing.GroupLayout.DEFAULT_SIZE, 210, Short.MAX_VALUE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(HomePage, javax.swing.GroupLayout.PREFERRED_SIZE, 212, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addComponent(Author1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - ); - AboutLayout.setVerticalGroup( - AboutLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(AboutLayout.createSequentialGroup() - .addContainerGap(44, Short.MAX_VALUE) - .addComponent(AppName, javax.swing.GroupLayout.PREFERRED_SIZE, 42, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(18, 18, 18) - .addComponent(Version) - .addGap(18, 18, 18) - .addComponent(Author) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(Author1) - .addGap(24, 24, 24) - .addGroup(AboutLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) - .addComponent(Donate, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(HomePage, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))) - ); - - ContextMenuESPFileLUA.addPopupMenuListener(new javax.swing.event.PopupMenuListener() { - public void popupMenuWillBecomeVisible(javax.swing.event.PopupMenuEvent evt) { - ContextMenuESPFileLUAPopupMenuWillBecomeVisible(evt); - } - public void popupMenuWillBecomeInvisible(javax.swing.event.PopupMenuEvent evt) { - } - public void popupMenuCanceled(javax.swing.event.PopupMenuEvent evt) { - } - }); - - MenuItemESPFileDo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/play.png"))); // NOI18N - MenuItemESPFileDo.setText("Do file"); - MenuItemESPFileDo.setToolTipText(""); - MenuItemESPFileDo.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemESPFileDoActionPerformed(evt); - } - }); - ContextMenuESPFileLUA.add(MenuItemESPFileDo); - ContextMenuESPFileLUA.add(TerminalSeparator3); - - MenuItemESPFileDelete.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/file_remove.png"))); // NOI18N - MenuItemESPFileDelete.setText("Delete file"); - MenuItemESPFileDelete.setToolTipText(""); - MenuItemESPFileDelete.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemESPFileDeleteActionPerformed(evt); - } - }); - ContextMenuESPFileLUA.add(MenuItemESPFileDelete); - - ShowFileManager.setSelected(true); - ShowFileManager.setText("Show/Hide FileManager panel"); - ShowFileManager.setToolTipText("Look at View for enabling"); - ShowFileManager.addItemListener(new java.awt.event.ItemListener() { - public void itemStateChanged(java.awt.event.ItemEvent evt) { - ShowFileManagerItemStateChanged(evt); - } - }); - ContextMenuFileManager.add(ShowFileManager); - - setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE); - setTitle("ESPlorer"); - setAutoRequestFocus(false); - setBounds(new java.awt.Rectangle(0, 0, 0, 0)); - setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR)); - setExtendedState(this.getExtendedState() | JFrame.MAXIMIZED_BOTH); - setLocationByPlatform(true); - setName("ESPlorer"); // NOI18N - addFocusListener(new java.awt.event.FocusAdapter() { - public void focusGained(java.awt.event.FocusEvent evt) { - formFocusGained(evt); - } - }); - addComponentListener(new java.awt.event.ComponentAdapter() { - public void componentResized(java.awt.event.ComponentEvent evt) { - formComponentResized(evt); - } - }); - addWindowFocusListener(new java.awt.event.WindowFocusListener() { - public void windowGainedFocus(java.awt.event.WindowEvent evt) { - formWindowGainedFocus(evt); - } - public void windowLostFocus(java.awt.event.WindowEvent evt) { - } - }); - addPropertyChangeListener(new java.beans.PropertyChangeListener() { - public void propertyChange(java.beans.PropertyChangeEvent evt) { - formPropertyChange(evt); - } - }); - addWindowListener(new java.awt.event.WindowAdapter() { - public void windowOpened(java.awt.event.WindowEvent evt) { - formWindowOpened(evt); - } - public void windowClosing(java.awt.event.WindowEvent evt) { - formWindowClosing(evt); - } - public void windowClosed(java.awt.event.WindowEvent evt) { - formWindowClosed(evt); - } - }); - - HorizontSplit.setDividerLocation(621); - HorizontSplit.setMinimumSize(new java.awt.Dimension(100, 100)); - HorizontSplit.setPreferredSize(new java.awt.Dimension(768, 567)); - - LeftBasePane.setOpaque(true); - - LeftTab.setTabLayoutPolicy(javax.swing.JTabbedPane.SCROLL_TAB_LAYOUT); - LeftTab.setToolTipText(""); - LeftTab.setAlignmentX(0.0F); - LeftTab.setAlignmentY(0.0F); - LeftTab.setAutoscrolls(true); - LeftTab.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR)); - LeftTab.setMinimumSize(new java.awt.Dimension(100, 100)); - LeftTab.setOpaque(true); - LeftTab.addChangeListener(new javax.swing.event.ChangeListener() { - public void stateChanged(javax.swing.event.ChangeEvent evt) { - LeftTabStateChanged(evt); - } - }); - - NodeMCU.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED)); - NodeMCU.setMinimumSize(new java.awt.Dimension(100, 100)); - NodeMCU.setPreferredSize(new java.awt.Dimension(461, 537)); - NodeMCU.addFocusListener(new java.awt.event.FocusAdapter() { - public void focusGained(java.awt.event.FocusEvent evt) { - NodeMCUFocusGained(evt); - } - }); - NodeMCU.addComponentListener(new java.awt.event.ComponentAdapter() { - public void componentShown(java.awt.event.ComponentEvent evt) { - NodeMCUComponentShown(evt); - } - }); - - TextTab.setBorder(javax.swing.BorderFactory.createEtchedBorder()); - TextTab.setComponentPopupMenu(ContextMenuEditor); - TextTab.setMinimumSize(new java.awt.Dimension(462, 365)); - TextTab.setOpaque(true); - TextTab.setPreferredSize(new java.awt.Dimension(462, 365)); - TextTab.addChangeListener(new javax.swing.event.ChangeListener() { - public void stateChanged(javax.swing.event.ChangeEvent evt) { - TextTabStateChanged(evt); - } - }); - - SriptsTab.setToolTipText(""); - SriptsTab.setMinimumSize(new java.awt.Dimension(460, 350)); - SriptsTab.setOpaque(true); - - FilesToolBar.setFloatable(false); - FilesToolBar.setRollover(true); - FilesToolBar.setAlignmentY(0.5F); - FilesToolBar.setMaximumSize(new java.awt.Dimension(1000, 40)); - FilesToolBar.setMinimumSize(new java.awt.Dimension(321, 40)); - FilesToolBar.setPreferredSize(new java.awt.Dimension(321, 40)); - - ButtonFileNew.setAction(MenuItemFileNew.getAction()); - ButtonFileNew.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - ButtonFileNew.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/document.png"))); // NOI18N - ButtonFileNew.setToolTipText("New file"); - ButtonFileNew.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); - ButtonFileNew.setMaximumSize(new java.awt.Dimension(40, 40)); - ButtonFileNew.setMinimumSize(new java.awt.Dimension(40, 40)); - ButtonFileNew.setPreferredSize(new java.awt.Dimension(40, 40)); - ButtonFileNew.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); - - org.jdesktop.beansbinding.Binding binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, MenuItemFileNew, org.jdesktop.beansbinding.ELProperty.create("${enabled}"), ButtonFileNew, org.jdesktop.beansbinding.BeanProperty.create("enabled")); - bindingGroup.addBinding(binding); - - ButtonFileNew.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - ButtonFileNewActionPerformed(evt); - } - }); - FilesToolBar.add(ButtonFileNew); - - ButtonFileOpen.setAction(MenuItemFileOpen.getAction()); - ButtonFileOpen.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - ButtonFileOpen.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/folder open.png"))); // NOI18N - ButtonFileOpen.setText("Open"); - ButtonFileOpen.setToolTipText("Open file from disk"); - ButtonFileOpen.setHideActionText(true); - ButtonFileOpen.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); - ButtonFileOpen.setMaximumSize(new java.awt.Dimension(40, 40)); - ButtonFileOpen.setMinimumSize(new java.awt.Dimension(40, 40)); - ButtonFileOpen.setPreferredSize(new java.awt.Dimension(40, 40)); - ButtonFileOpen.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); - ButtonFileOpen.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - ButtonFileOpenActionPerformed(evt); - } - }); - FilesToolBar.add(ButtonFileOpen); - - ButtonFileReload.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - ButtonFileReload.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/refresh.png"))); // NOI18N - ButtonFileReload.setText("Reload"); - ButtonFileReload.setToolTipText("Reload file from disk (for use with external editor)"); - ButtonFileReload.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); - ButtonFileReload.setMaximumSize(new java.awt.Dimension(40, 40)); - ButtonFileReload.setMinimumSize(new java.awt.Dimension(40, 40)); - ButtonFileReload.setPreferredSize(new java.awt.Dimension(40, 40)); - ButtonFileReload.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); - - binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, MenuItemFileReload, org.jdesktop.beansbinding.ELProperty.create("${enabled}"), ButtonFileReload, org.jdesktop.beansbinding.BeanProperty.create("enabled")); - bindingGroup.addBinding(binding); - - ButtonFileReload.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - ButtonFileReloadActionPerformed(evt); - } - }); - FilesToolBar.add(ButtonFileReload); - - ButtonFileSave.setAction(MenuItemFileSave.getAction()); - ButtonFileSave.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - ButtonFileSave.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/save.png"))); // NOI18N - ButtonFileSave.setText("Save"); - ButtonFileSave.setToolTipText("Save file to disk"); - ButtonFileSave.setHideActionText(true); - ButtonFileSave.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); - ButtonFileSave.setMaximumSize(new java.awt.Dimension(40, 40)); - ButtonFileSave.setMinimumSize(new java.awt.Dimension(40, 40)); - ButtonFileSave.setPreferredSize(new java.awt.Dimension(40, 40)); - ButtonFileSave.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); - ButtonFileSave.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - ButtonFileSaveActionPerformed(evt); - } - }); - FilesToolBar.add(ButtonFileSave); - - ButtonFileSaveAll.setAction(MenuItemFileSave.getAction()); - ButtonFileSaveAll.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - ButtonFileSaveAll.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/save_all.png"))); // NOI18N - ButtonFileSaveAll.setText("SaveAll"); - ButtonFileSaveAll.setToolTipText("Save all open files to disk"); - ButtonFileSaveAll.setEnabled(false); - ButtonFileSaveAll.setFocusable(false); - ButtonFileSaveAll.setHideActionText(true); - ButtonFileSaveAll.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); - ButtonFileSaveAll.setMaximumSize(new java.awt.Dimension(40, 40)); - ButtonFileSaveAll.setMinimumSize(new java.awt.Dimension(40, 40)); - ButtonFileSaveAll.setPreferredSize(new java.awt.Dimension(40, 40)); - ButtonFileSaveAll.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); - ButtonFileSaveAll.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - ButtonFileSaveAllActionPerformed(evt); - } - }); - FilesToolBar.add(ButtonFileSaveAll); - - ButtonFileClose.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - ButtonFileClose.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/folder closed.png"))); // NOI18N - ButtonFileClose.setText("Close"); - ButtonFileClose.setToolTipText("Close file"); - ButtonFileClose.setHideActionText(true); - ButtonFileClose.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); - ButtonFileClose.setMaximumSize(new java.awt.Dimension(40, 40)); - ButtonFileClose.setMinimumSize(new java.awt.Dimension(40, 40)); - ButtonFileClose.setPreferredSize(new java.awt.Dimension(40, 40)); - ButtonFileClose.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); - - binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, MenuItemFileClose, org.jdesktop.beansbinding.ELProperty.create("${enabled}"), ButtonFileClose, org.jdesktop.beansbinding.BeanProperty.create("enabled")); - bindingGroup.addBinding(binding); - - ButtonFileClose.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - ButtonFileCloseActionPerformed(evt); - } - }); - FilesToolBar.add(ButtonFileClose); - FilesToolBar.add(jSeparator1); - - ButtonUndo.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - ButtonUndo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/undo1.png"))); // NOI18N - ButtonUndo.setText("Undo"); - ButtonUndo.setToolTipText("Undo last action"); - ButtonUndo.setEnabled(false); - ButtonUndo.setFocusable(false); - ButtonUndo.setHideActionText(true); - ButtonUndo.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); - ButtonUndo.setMaximumSize(new java.awt.Dimension(40, 40)); - ButtonUndo.setMinimumSize(new java.awt.Dimension(40, 40)); - ButtonUndo.setPreferredSize(new java.awt.Dimension(40, 40)); - ButtonUndo.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); - ButtonUndo.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - ButtonUndoActionPerformed(evt); - } - }); - FilesToolBar.add(ButtonUndo); - - ButtonRedo.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - ButtonRedo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/redo1.png"))); // NOI18N - ButtonRedo.setText("Redo"); - ButtonRedo.setToolTipText("Redo last action"); - ButtonRedo.setEnabled(false); - ButtonRedo.setFocusable(false); - ButtonRedo.setHideActionText(true); - ButtonRedo.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); - ButtonRedo.setMaximumSize(new java.awt.Dimension(40, 40)); - ButtonRedo.setMinimumSize(new java.awt.Dimension(40, 40)); - ButtonRedo.setPreferredSize(new java.awt.Dimension(40, 40)); - ButtonRedo.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); - ButtonRedo.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - ButtonRedoActionPerformed(evt); - } - }); - FilesToolBar.add(ButtonRedo); - FilesToolBar.add(jSeparator8); - - ButtonCut.setAction(MenuItemEditCut.getAction()); - ButtonCut.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - ButtonCut.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/cut.png"))); // NOI18N - ButtonCut.setText("Cut"); - ButtonCut.setToolTipText("Cut"); - ButtonCut.setEnabled(false); - ButtonCut.setHideActionText(true); - ButtonCut.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); - ButtonCut.setMaximumSize(new java.awt.Dimension(40, 40)); - ButtonCut.setMinimumSize(new java.awt.Dimension(40, 40)); - ButtonCut.setPreferredSize(new java.awt.Dimension(40, 40)); - ButtonCut.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); - ButtonCut.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - ButtonCutActionPerformed(evt); - } - }); - FilesToolBar.add(ButtonCut); - - ButtonCopy.setAction(MenuItemEditCopy.getAction()); - ButtonCopy.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - ButtonCopy.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/copy.png"))); // NOI18N - ButtonCopy.setText("Copy"); - ButtonCopy.setToolTipText("Copy"); - ButtonCopy.setEnabled(false); - ButtonCopy.setHideActionText(true); - ButtonCopy.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); - ButtonCopy.setMargin(new java.awt.Insets(2, 2, 2, 2)); - ButtonCopy.setMaximumSize(new java.awt.Dimension(40, 40)); - ButtonCopy.setMinimumSize(new java.awt.Dimension(40, 40)); - ButtonCopy.setPreferredSize(new java.awt.Dimension(40, 40)); - ButtonCopy.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); - ButtonCopy.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - ButtonCopyActionPerformed(evt); - } - }); - FilesToolBar.add(ButtonCopy); - - ButtonPaste.setAction(MenuItemEditPaste.getAction()); - ButtonPaste.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - ButtonPaste.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/paste.png"))); // NOI18N - ButtonPaste.setText("Paste"); - ButtonPaste.setToolTipText("Paste"); - ButtonPaste.setEnabled(false); - ButtonPaste.setHideActionText(true); - ButtonPaste.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); - ButtonPaste.setMaximumSize(new java.awt.Dimension(40, 40)); - ButtonPaste.setMinimumSize(new java.awt.Dimension(40, 40)); - ButtonPaste.setPreferredSize(new java.awt.Dimension(40, 40)); - ButtonPaste.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); - ButtonPaste.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - ButtonPasteActionPerformed(evt); - } - }); - FilesToolBar.add(ButtonPaste); - FilesToolBar.add(jSeparator6); - - ButtonSendSelected.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - ButtonSendSelected.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/send_selected.png"))); // NOI18N - ButtonSendSelected.setToolTipText("Send selected block to ESP"); - ButtonSendSelected.setHideActionText(true); - ButtonSendSelected.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); - ButtonSendSelected.setMaximumSize(new java.awt.Dimension(40, 40)); - ButtonSendSelected.setMinimumSize(new java.awt.Dimension(40, 40)); - ButtonSendSelected.setPreferredSize(new java.awt.Dimension(40, 40)); - ButtonSendSelected.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); - - binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, MenuItemEditorSendSelected, org.jdesktop.beansbinding.ELProperty.create("${enabled}"), ButtonSendSelected, org.jdesktop.beansbinding.BeanProperty.create("enabled")); - bindingGroup.addBinding(binding); - - ButtonSendSelected.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - ButtonSendSelectedActionPerformed(evt); - } - }); - FilesToolBar.add(ButtonSendSelected); - - ButtonSendLine.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - ButtonSendLine.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/run_line.png"))); // NOI18N - ButtonSendLine.setText("Line"); - ButtonSendLine.setToolTipText("Send current line to ESP"); - ButtonSendLine.setFocusable(false); - ButtonSendLine.setHideActionText(true); - ButtonSendLine.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); - ButtonSendLine.setMaximumSize(new java.awt.Dimension(40, 40)); - ButtonSendLine.setMinimumSize(new java.awt.Dimension(40, 40)); - ButtonSendLine.setPreferredSize(new java.awt.Dimension(40, 40)); - ButtonSendLine.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); - ButtonSendLine.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - ButtonSendLineActionPerformed(evt); - } - }); - FilesToolBar.add(ButtonSendLine); - - FilesTabbedPane.setOpaque(true); - FilesTabbedPane.addChangeListener(new javax.swing.event.ChangeListener() { - public void stateChanged(javax.swing.event.ChangeEvent evt) { - FilesTabbedPaneStateChanged(evt); - } - }); - - FileLayeredPane.addFocusListener(new java.awt.event.FocusAdapter() { - public void focusGained(java.awt.event.FocusEvent evt) { - FileLayeredPaneFocusGained(evt); - } - }); - - TextScroll.setVerticalScrollBarPolicy(javax.swing.ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED); - TextScroll.setViewportBorder(javax.swing.BorderFactory.createEtchedBorder()); - TextScroll.setFoldIndicatorEnabled(true); - TextScroll.setLineNumbersEnabled(true); - TextScroll.setViewportView(TextEditor); - - TextEditor.setColumns(20); - TextEditor.setRows(5); - TextEditor.setTabSize(4); - TextEditor.setCodeFoldingEnabled(true); - TextEditor.setDragEnabled(false); - TextEditor.setFadeCurrentLineHighlight(true); - TextEditor.setPaintMarkOccurrencesBorder(true); - TextEditor.setPaintMatchedBracketPair(true); - TextEditor.setPopupMenu(ContextMenuEditor); - TextEditor.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_LUA); - TextEditor.addCaretListener(new javax.swing.event.CaretListener() { - public void caretUpdate(javax.swing.event.CaretEvent evt) { - TextEditorCaretUpdate(evt); - } - }); - TextEditor.addFocusListener(new java.awt.event.FocusAdapter() { - public void focusGained(java.awt.event.FocusEvent evt) { - TextEditorFocusGained(evt); - } - }); - TextEditor.addActiveLineRangeListener(new org.fife.ui.rsyntaxtextarea.ActiveLineRangeListener() { - public void activeLineRangeChanged(org.fife.ui.rsyntaxtextarea.ActiveLineRangeEvent evt) { - TextEditorActiveLineRangeChanged(evt); - } - }); - TextEditor.addInputMethodListener(new java.awt.event.InputMethodListener() { - public void inputMethodTextChanged(java.awt.event.InputMethodEvent evt) { - TextEditorInputMethodTextChanged(evt); - } - public void caretPositionChanged(java.awt.event.InputMethodEvent evt) { - TextEditorCaretPositionChanged(evt); - } - }); - TextEditor.addKeyListener(new java.awt.event.KeyAdapter() { - public void keyTyped(java.awt.event.KeyEvent evt) { - TextEditorKeyTyped(evt); - } - }); - TextScroll.setViewportView(TextEditor); - - FileLayeredPane.setLayer(TextScroll, javax.swing.JLayeredPane.DEFAULT_LAYER); - - javax.swing.GroupLayout FileLayeredPaneLayout = new javax.swing.GroupLayout(FileLayeredPane); - FileLayeredPane.setLayout(FileLayeredPaneLayout); - FileLayeredPaneLayout.setHorizontalGroup( - FileLayeredPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(TextScroll, javax.swing.GroupLayout.DEFAULT_SIZE, 548, Short.MAX_VALUE) - ); - FileLayeredPaneLayout.setVerticalGroup( - FileLayeredPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(TextScroll, javax.swing.GroupLayout.DEFAULT_SIZE, 375, Short.MAX_VALUE) - ); - - FilesTabbedPane.addTab("NewFile", FileLayeredPane); - - LeftExtraButtons.setEnabled(false); - LeftExtraButtons.setOpaque(true); - LeftExtraButtons.setPreferredSize(new java.awt.Dimension(431, 66)); - LeftExtraButtons.setLayout(new java.awt.FlowLayout()); - - FileDo1.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - FileDo1.setText("Save&Run"); - FileDo1.setToolTipText("Do lua script"); - FileDo1.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); - FileDo1.setIconTextGap(8); - FileDo1.setMargin(new java.awt.Insets(2, 2, 2, 2)); - FileDo1.setMaximumSize(new java.awt.Dimension(127, 30)); - FileDo1.setMinimumSize(new java.awt.Dimension(127, 30)); - FileDo1.setPreferredSize(new java.awt.Dimension(127, 30)); - FileDo1.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - FileDo1ActionPerformed(evt); - } - }); - LeftExtraButtons.add(FileDo1); - - FileCompile.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - FileCompile.setText("Save&Compile"); - FileCompile.setToolTipText("Recompile lua script and do lua bytecode lc file"); - FileCompile.setIconTextGap(2); - FileCompile.setMargin(new java.awt.Insets(2, 2, 2, 2)); - FileCompile.setMaximumSize(new java.awt.Dimension(127, 30)); - FileCompile.setMinimumSize(new java.awt.Dimension(127, 30)); - FileCompile.setPreferredSize(new java.awt.Dimension(127, 30)); - FileCompile.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - FileCompileActionPerformed(evt); - } - }); - LeftExtraButtons.add(FileCompile); - - FileSaveCompileDoLC.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - FileSaveCompileDoLC.setText("Save&Compile&RunLC"); - FileSaveCompileDoLC.setIconTextGap(0); - FileSaveCompileDoLC.setMargin(new java.awt.Insets(2, 0, 2, 0)); - FileSaveCompileDoLC.setMaximumSize(new java.awt.Dimension(127, 30)); - FileSaveCompileDoLC.setMinimumSize(new java.awt.Dimension(127, 30)); - FileSaveCompileDoLC.setPreferredSize(new java.awt.Dimension(127, 30)); - FileSaveCompileDoLC.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - FileSaveCompileDoLCActionPerformed(evt); - } - }); - LeftExtraButtons.add(FileSaveCompileDoLC); - - FileUploadBin.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - FileUploadBin.setText("Save As init"); - FileUploadBin.setToolTipText("Save to ESP as init.lua"); - FileUploadBin.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); - FileUploadBin.setIconTextGap(0); - FileUploadBin.setMargin(new java.awt.Insets(2, 0, 2, 0)); - FileUploadBin.setMaximumSize(new java.awt.Dimension(127, 30)); - FileUploadBin.setMinimumSize(new java.awt.Dimension(127, 30)); - FileUploadBin.setPreferredSize(new java.awt.Dimension(127, 30)); - FileUploadBin.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - FileUploadBinActionPerformed(evt); - } - }); - LeftExtraButtons.add(FileUploadBin); - - FileCompileDoLC.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - FileCompileDoLC.setText("Save&Compile All"); - FileCompileDoLC.setActionCommand("Save&CompileAll"); - FileCompileDoLC.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); - FileCompileDoLC.setIconTextGap(0); - FileCompileDoLC.setMargin(new java.awt.Insets(2, 0, 2, 0)); - FileCompileDoLC.setMaximumSize(new java.awt.Dimension(127, 30)); - FileCompileDoLC.setMinimumSize(new java.awt.Dimension(127, 30)); - FileCompileDoLC.setPreferredSize(new java.awt.Dimension(127, 30)); - FileCompileDoLC.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - FileCompileDoLCActionPerformed(evt); - } - }); - LeftExtraButtons.add(FileCompileDoLC); - - FileCompileDoLC2.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - FileCompileDoLC2.setText("View on ESP"); - FileCompileDoLC2.setMargin(new java.awt.Insets(2, 2, 2, 2)); - FileCompileDoLC2.setMaximumSize(new java.awt.Dimension(127, 30)); - FileCompileDoLC2.setMinimumSize(new java.awt.Dimension(127, 30)); - FileCompileDoLC2.setPreferredSize(new java.awt.Dimension(127, 30)); - FileCompileDoLC2.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - FileCompileDoLC2ActionPerformed(evt); - } - }); - LeftExtraButtons.add(FileCompileDoLC2); - - FileCompileDoLC3.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - FileCompileDoLC3.setText("View on ESP"); - FileCompileDoLC3.setMargin(new java.awt.Insets(2, 2, 2, 2)); - FileCompileDoLC3.setMaximumSize(new java.awt.Dimension(127, 30)); - FileCompileDoLC3.setMinimumSize(new java.awt.Dimension(127, 30)); - FileCompileDoLC3.setPreferredSize(new java.awt.Dimension(127, 30)); - FileCompileDoLC3.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - FileCompileDoLC3ActionPerformed(evt); - } - }); - LeftExtraButtons.add(FileCompileDoLC3); - - FileCompile1.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - FileCompile1.setText("Save&Compile"); - FileCompile1.setToolTipText("Recompile lua script and do lua bytecode lc file"); - FileCompile1.setIconTextGap(2); - FileCompile1.setMargin(new java.awt.Insets(2, 2, 2, 2)); - FileCompile1.setMaximumSize(new java.awt.Dimension(127, 30)); - FileCompile1.setMinimumSize(new java.awt.Dimension(127, 30)); - FileCompile1.setPreferredSize(new java.awt.Dimension(127, 30)); - FileCompile1.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - FileCompile1ActionPerformed(evt); - } - }); - LeftExtraButtons.add(FileCompile1); - - Busy.setBackground(new java.awt.Color(0, 153, 0)); - Busy.setForeground(new java.awt.Color(255, 255, 255)); - Busy.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); - Busy.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/led_grey.png"))); // NOI18N - Busy.setText("IDLE"); - Busy.setOpaque(true); - - FilePathLabel.setText("jLabel1"); - - ProgressBar.setToolTipText(""); - ProgressBar.setOpaque(true); - ProgressBar.setStringPainted(true); - - LeftMainButtons.setOpaque(true); - LeftMainButtons.setLayout(new java.awt.FlowLayout()); - - FileSaveESP.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/move.png"))); // NOI18N - FileSaveESP.setText("Save to ESP"); - FileSaveESP.setToolTipText("Send file to ESP and save into flash memory"); - FileSaveESP.setHorizontalAlignment(javax.swing.SwingConstants.LEFT); - FileSaveESP.setIconTextGap(8); - FileSaveESP.setMaximumSize(new java.awt.Dimension(127, 30)); - FileSaveESP.setMinimumSize(new java.awt.Dimension(127, 30)); - FileSaveESP.setPreferredSize(new java.awt.Dimension(127, 30)); - FileSaveESP.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - FileSaveESPActionPerformed(evt); - } - }); - LeftMainButtons.add(FileSaveESP); - - FileSendESP.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/script_send.png"))); // NOI18N - FileSendESP.setText("Send to ESP"); - FileSendESP.setToolTipText("Send file to ESP and run \"line by line\""); - FileSendESP.setHorizontalAlignment(javax.swing.SwingConstants.LEFT); - FileSendESP.setIconTextGap(8); - FileSendESP.setMaximumSize(new java.awt.Dimension(127, 30)); - FileSendESP.setMinimumSize(new java.awt.Dimension(127, 30)); - FileSendESP.setPreferredSize(new java.awt.Dimension(127, 30)); - FileSendESP.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - FileSendESPActionPerformed(evt); - } - }); - LeftMainButtons.add(FileSendESP); - - FileDo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/play.png"))); // NOI18N - FileDo.setText("Run"); - FileDo.setToolTipText("Execute lua script via \"dofile\" command"); - FileDo.setHorizontalAlignment(javax.swing.SwingConstants.LEFT); - FileDo.setIconTextGap(8); - FileDo.setMargin(new java.awt.Insets(2, 2, 2, 2)); - FileDo.setMaximumSize(new java.awt.Dimension(127, 30)); - FileDo.setMinimumSize(new java.awt.Dimension(127, 30)); - FileDo.setPreferredSize(new java.awt.Dimension(127, 30)); - FileDo.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - FileDoActionPerformed(evt); - } - }); - LeftMainButtons.add(FileDo); - - FilesUpload.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/uploadLUA.png"))); // NOI18N - FilesUpload.setText("Upload ..."); - FilesUpload.setToolTipText("Upload file from disk to ESP flash memory"); - FilesUpload.setHorizontalAlignment(javax.swing.SwingConstants.LEFT); - FilesUpload.setIconTextGap(8); - FilesUpload.setMargin(new java.awt.Insets(2, 2, 2, 2)); - FilesUpload.setMaximumSize(new java.awt.Dimension(127, 30)); - FilesUpload.setMinimumSize(new java.awt.Dimension(127, 30)); - FilesUpload.setPreferredSize(new java.awt.Dimension(127, 30)); - FilesUpload.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - FilesUploadActionPerformed(evt); - } - }); - LeftMainButtons.add(FilesUpload); - - SriptsTab.setLayer(FilesToolBar, javax.swing.JLayeredPane.PALETTE_LAYER); - SriptsTab.setLayer(FilesTabbedPane, javax.swing.JLayeredPane.DEFAULT_LAYER); - SriptsTab.setLayer(LeftExtraButtons, javax.swing.JLayeredPane.DEFAULT_LAYER); - SriptsTab.setLayer(Busy, javax.swing.JLayeredPane.DEFAULT_LAYER); - SriptsTab.setLayer(FilePathLabel, javax.swing.JLayeredPane.DEFAULT_LAYER); - SriptsTab.setLayer(ProgressBar, javax.swing.JLayeredPane.DEFAULT_LAYER); - SriptsTab.setLayer(LeftMainButtons, javax.swing.JLayeredPane.DEFAULT_LAYER); - - javax.swing.GroupLayout SriptsTabLayout = new javax.swing.GroupLayout(SriptsTab); - SriptsTab.setLayout(SriptsTabLayout); - SriptsTabLayout.setHorizontalGroup( - SriptsTabLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(FilesTabbedPane, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE) - .addComponent(FilesToolBar, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addGroup(SriptsTabLayout.createSequentialGroup() - .addGroup(SriptsTabLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) - .addComponent(ProgressBar, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addGroup(javax.swing.GroupLayout.Alignment.LEADING, SriptsTabLayout.createSequentialGroup() - .addGap(6, 6, 6) - .addComponent(Busy, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(FilePathLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) - .addComponent(LeftExtraButtons, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 531, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(LeftMainButtons, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 531, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addGap(0, 0, Short.MAX_VALUE)) - ); - SriptsTabLayout.setVerticalGroup( - SriptsTabLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(SriptsTabLayout.createSequentialGroup() - .addComponent(FilesToolBar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(FilesTabbedPane) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(ProgressBar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(SriptsTabLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(Busy) - .addComponent(FilePathLabel)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(LeftExtraButtons, javax.swing.GroupLayout.PREFERRED_SIZE, 75, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(LeftMainButtons, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - ); - - TextTab.addTab("Scripts", SriptsTab); - SriptsTab.getAccessibleContext().setAccessibleName("Files"); - - NodeMCUCommands.setOpaque(true); - NodeMCUCommands.setLayout(new javax.swing.BoxLayout(NodeMCUCommands, javax.swing.BoxLayout.PAGE_AXIS)); - - CommandsMicroPython.setBorder(javax.swing.BorderFactory.createTitledBorder("MicroPython Commands")); - - javax.swing.GroupLayout CommandsMicroPythonLayout = new javax.swing.GroupLayout(CommandsMicroPython); - CommandsMicroPython.setLayout(CommandsMicroPythonLayout); - CommandsMicroPythonLayout.setHorizontalGroup( - CommandsMicroPythonLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGap(0, 0, Short.MAX_VALUE) - ); - CommandsMicroPythonLayout.setVerticalGroup( - CommandsMicroPythonLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGap(0, 60, Short.MAX_VALUE) - ); - - NodeMCUCommands.add(CommandsMicroPython); - - CommandsNodeMCU.setBorder(javax.swing.BorderFactory.createTitledBorder("NodeMCU Commands")); - - cmdNodeRestart.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N - cmdNodeRestart.setText("Restart ESP"); - cmdNodeRestart.setToolTipText(""); - cmdNodeRestart.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdNodeRestart.setMaximumSize(new java.awt.Dimension(210, 23)); - cmdNodeRestart.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdNodeRestart.setPreferredSize(new java.awt.Dimension(210, 23)); - cmdNodeRestart.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdNodeRestartActionPerformed(evt); - } - }); - - cmdTimerStop.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N - cmdTimerStop.setText("tmr.stop"); - cmdTimerStop.setToolTipText(""); - cmdTimerStop.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdTimerStop.setMaximumSize(new java.awt.Dimension(210, 23)); - cmdTimerStop.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdTimerStop.setPreferredSize(new java.awt.Dimension(210, 23)); - cmdTimerStop.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdTimerStopActionPerformed(evt); - } - }); - - cmdNodeChipID.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N - cmdNodeChipID.setText("Chip ID"); - cmdNodeChipID.setToolTipText(""); - cmdNodeChipID.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdNodeChipID.setMaximumSize(new java.awt.Dimension(210, 23)); - cmdNodeChipID.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdNodeChipID.setPreferredSize(new java.awt.Dimension(210, 23)); - cmdNodeChipID.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdNodeChipIDActionPerformed(evt); - } - }); - - TimerNumber.setMaximumRowCount(7); - TimerNumber.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "0", "1", "2", "3", "4", "5", "6" })); - TimerNumber.setToolTipText("Timer number (0-6)"); - - cmdNodeHeap.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N - cmdNodeHeap.setText("Heap"); - cmdNodeHeap.setToolTipText(""); - cmdNodeHeap.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdNodeHeap.setMaximumSize(new java.awt.Dimension(210, 23)); - cmdNodeHeap.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdNodeHeap.setPreferredSize(new java.awt.Dimension(210, 23)); - cmdNodeHeap.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdNodeHeapActionPerformed(evt); - } - }); - - cmdListFiles.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N - cmdListFiles.setText("List files"); - cmdListFiles.setToolTipText(""); - cmdListFiles.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdListFiles.setMaximumSize(new java.awt.Dimension(210, 23)); - cmdListFiles.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdListFiles.setPreferredSize(new java.awt.Dimension(210, 23)); - cmdListFiles.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdListFilesActionPerformed(evt); - } - }); - - cmdNodeSleep.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N - cmdNodeSleep.setText("Sleep 10000"); - cmdNodeSleep.setToolTipText(""); - cmdNodeSleep.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdNodeSleep.setMaximumSize(new java.awt.Dimension(210, 23)); - cmdNodeSleep.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdNodeSleep.setPreferredSize(new java.awt.Dimension(210, 23)); - cmdNodeSleep.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdNodeSleepActionPerformed(evt); - } - }); - - CommandsNodeMCU.setLayer(cmdNodeRestart, javax.swing.JLayeredPane.DEFAULT_LAYER); - CommandsNodeMCU.setLayer(cmdTimerStop, javax.swing.JLayeredPane.DEFAULT_LAYER); - CommandsNodeMCU.setLayer(cmdNodeChipID, javax.swing.JLayeredPane.DEFAULT_LAYER); - CommandsNodeMCU.setLayer(TimerNumber, javax.swing.JLayeredPane.DEFAULT_LAYER); - CommandsNodeMCU.setLayer(cmdNodeHeap, javax.swing.JLayeredPane.DEFAULT_LAYER); - CommandsNodeMCU.setLayer(cmdListFiles, javax.swing.JLayeredPane.DEFAULT_LAYER); - CommandsNodeMCU.setLayer(cmdNodeSleep, javax.swing.JLayeredPane.DEFAULT_LAYER); - - javax.swing.GroupLayout CommandsNodeMCULayout = new javax.swing.GroupLayout(CommandsNodeMCU); - CommandsNodeMCU.setLayout(CommandsNodeMCULayout); - CommandsNodeMCULayout.setHorizontalGroup( - CommandsNodeMCULayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(CommandsNodeMCULayout.createSequentialGroup() - .addGroup(CommandsNodeMCULayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(CommandsNodeMCULayout.createSequentialGroup() - .addComponent(cmdNodeRestart, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(cmdNodeChipID, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addGroup(CommandsNodeMCULayout.createSequentialGroup() - .addComponent(cmdTimerStop, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(TimerNumber, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE))) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addGroup(CommandsNodeMCULayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(CommandsNodeMCULayout.createSequentialGroup() - .addComponent(cmdNodeHeap, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(cmdNodeSleep, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addComponent(cmdListFiles, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addGap(0, 0, Short.MAX_VALUE)) - ); - CommandsNodeMCULayout.setVerticalGroup( - CommandsNodeMCULayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(CommandsNodeMCULayout.createSequentialGroup() - .addContainerGap() - .addGroup(CommandsNodeMCULayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(cmdNodeChipID, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(cmdNodeRestart, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(cmdNodeHeap, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(cmdNodeSleep, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(CommandsNodeMCULayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(cmdListFiles, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(cmdTimerStop, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(TimerNumber)) - .addContainerGap()) - ); - - NodeMCUCommands.add(CommandsNodeMCU); - - MicroPythonSSID.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - MicroPythonSSID.setText("SSID"); - MicroPythonSSID.setToolTipText("Enter WiFi SSID"); - MicroPythonSSID.setMaximumSize(new java.awt.Dimension(100, 23)); - MicroPythonSSID.setMinimumSize(new java.awt.Dimension(100, 23)); - MicroPythonSSID.setPreferredSize(new java.awt.Dimension(100, 23)); - MicroPythonSSID.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MicroPythonSSIDActionPerformed(evt); - } - }); - MicroPythonSSID.addFocusListener(new java.awt.event.FocusAdapter() { - public void focusGained(java.awt.event.FocusEvent evt) { - MicroPythonSSIDFocusGained(evt); - } - }); - - cmdMicroPythonStaConnect.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/connect3.png"))); // NOI18N - cmdMicroPythonStaConnect.setText("Connect to AP"); - cmdMicroPythonStaConnect.setToolTipText("Connect to WiFi Access Point"); - cmdMicroPythonStaConnect.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdMicroPythonStaConnect.setMaximumSize(new java.awt.Dimension(210, 23)); - cmdMicroPythonStaConnect.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdMicroPythonStaConnect.setPreferredSize(new java.awt.Dimension(210, 23)); - cmdMicroPythonStaConnect.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdMicroPythonStaConnectActionPerformed(evt); - } - }); - - MicroPythonPASS.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - MicroPythonPASS.setText("password"); - MicroPythonPASS.setToolTipText("Enter WiFi password"); - MicroPythonPASS.setMaximumSize(new java.awt.Dimension(104, 23)); - MicroPythonPASS.setMinimumSize(new java.awt.Dimension(104, 23)); - MicroPythonPASS.setPreferredSize(new java.awt.Dimension(104, 23)); - MicroPythonPASS.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MicroPythonPASSActionPerformed(evt); - } - }); - MicroPythonPASS.addFocusListener(new java.awt.event.FocusAdapter() { - public void focusGained(java.awt.event.FocusEvent evt) { - MicroPythonPASSFocusGained(evt); - } - }); - - MicroPythonRemoteHost.setText("micropython.org"); - MicroPythonRemoteHost.setToolTipText("Remote host name"); - - MicroPythonRemotePort.setText("80"); - MicroPythonRemotePort.setToolTipText("Remote port"); - - cmdMicroPythonSendToHost.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/connect3.png"))); // NOI18N - cmdMicroPythonSendToHost.setText("Connect and send"); - cmdMicroPythonSendToHost.setToolTipText("Start a connection as client"); - cmdMicroPythonSendToHost.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdMicroPythonSendToHostActionPerformed(evt); - } - }); - - MicroPythonRemoteData.setText("GET / HTTP/1.1\\r\\nHost: micropython.org\\r\\n\\r\\n"); - MicroPythonRemoteData.setToolTipText("Data to send"); - - cmdMicroPythonScan.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/search again.png"))); // NOI18N - cmdMicroPythonScan.setText("Scan network"); - cmdMicroPythonScan.setToolTipText("Lists all available WiFi Access Points"); - cmdMicroPythonScan.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdMicroPythonScan.setMaximumSize(new java.awt.Dimension(210, 23)); - cmdMicroPythonScan.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdMicroPythonScan.setPreferredSize(new java.awt.Dimension(210, 23)); - cmdMicroPythonScan.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdMicroPythonScanActionPerformed(evt); - } - }); - - MicroPythonCommandsWiFi.setLayer(MicroPythonSSID, javax.swing.JLayeredPane.DEFAULT_LAYER); - MicroPythonCommandsWiFi.setLayer(cmdMicroPythonStaConnect, javax.swing.JLayeredPane.DEFAULT_LAYER); - MicroPythonCommandsWiFi.setLayer(MicroPythonPASS, javax.swing.JLayeredPane.DEFAULT_LAYER); - MicroPythonCommandsWiFi.setLayer(MicroPythonRemoteHost, javax.swing.JLayeredPane.DEFAULT_LAYER); - MicroPythonCommandsWiFi.setLayer(MicroPythonRemotePort, javax.swing.JLayeredPane.DEFAULT_LAYER); - MicroPythonCommandsWiFi.setLayer(cmdMicroPythonSendToHost, javax.swing.JLayeredPane.DEFAULT_LAYER); - MicroPythonCommandsWiFi.setLayer(MicroPythonRemoteData, javax.swing.JLayeredPane.DEFAULT_LAYER); - MicroPythonCommandsWiFi.setLayer(cmdMicroPythonScan, javax.swing.JLayeredPane.DEFAULT_LAYER); - - javax.swing.GroupLayout MicroPythonCommandsWiFiLayout = new javax.swing.GroupLayout(MicroPythonCommandsWiFi); - MicroPythonCommandsWiFi.setLayout(MicroPythonCommandsWiFiLayout); - MicroPythonCommandsWiFiLayout.setHorizontalGroup( - MicroPythonCommandsWiFiLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(MicroPythonCommandsWiFiLayout.createSequentialGroup() - .addContainerGap() - .addGroup(MicroPythonCommandsWiFiLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) - .addComponent(cmdMicroPythonStaConnect, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE) - .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, MicroPythonCommandsWiFiLayout.createSequentialGroup() - .addComponent(MicroPythonSSID, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(MicroPythonPASS, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addGroup(MicroPythonCommandsWiFiLayout.createSequentialGroup() - .addComponent(MicroPythonRemoteHost, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(MicroPythonRemotePort)) - .addComponent(cmdMicroPythonSendToHost, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(MicroPythonRemoteData, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(cmdMicroPythonScan, javax.swing.GroupLayout.PREFERRED_SIZE, 206, javax.swing.GroupLayout.PREFERRED_SIZE) - .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) - ); - MicroPythonCommandsWiFiLayout.setVerticalGroup( - MicroPythonCommandsWiFiLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(MicroPythonCommandsWiFiLayout.createSequentialGroup() - .addContainerGap() - .addGroup(MicroPythonCommandsWiFiLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(MicroPythonSSID, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(MicroPythonPASS, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(cmdMicroPythonScan, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(cmdMicroPythonStaConnect, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(MicroPythonCommandsWiFiLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(MicroPythonRemoteHost, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(MicroPythonRemotePort, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(MicroPythonRemoteData, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(cmdMicroPythonSendToHost) - .addContainerGap(254, Short.MAX_VALUE)) - ); - - MicroPythonCommandsTab.addTab(" WiFi ", MicroPythonCommandsWiFi); - - MicroPythonCommandsGPIO.setLayout(new java.awt.GridLayout(11, 3)); - - MicroPythonGPIO0_1.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - MicroPythonGPIO0_1.setText("GPIO0 -> 1"); - MicroPythonGPIO0_1.setActionCommand("0"); - MicroPythonGPIO0_1.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MicroPythonSetGPIOHigh(evt); - } - }); - MicroPythonCommandsGPIO.add(MicroPythonGPIO0_1); - - MicroPythonGPIO0_0.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - MicroPythonGPIO0_0.setText("GPIO0 -> 0"); - MicroPythonGPIO0_0.setActionCommand("0"); - MicroPythonGPIO0_0.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MicroPythonSetGPIOLow(evt); - } - }); - MicroPythonCommandsGPIO.add(MicroPythonGPIO0_0); - - MicroPythonGPIO0.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - MicroPythonGPIO0.setText("GPIO0 ?"); - MicroPythonGPIO0.setActionCommand("0"); - MicroPythonGPIO0.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MicroPythonGetGPIOLevel(evt); - } - }); - MicroPythonCommandsGPIO.add(MicroPythonGPIO0); - - MicroPythonGPIO2_1.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - MicroPythonGPIO2_1.setText("GPIO2 -> 1"); - MicroPythonGPIO2_1.setActionCommand("2"); - MicroPythonGPIO2_1.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MicroPythonSetGPIOHigh(evt); - } - }); - MicroPythonCommandsGPIO.add(MicroPythonGPIO2_1); - - MicroPythonGPIO2_0.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - MicroPythonGPIO2_0.setText("GPIO2 -> 0"); - MicroPythonGPIO2_0.setActionCommand("2"); - MicroPythonGPIO2_0.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MicroPythonSetGPIOLow(evt); - } - }); - MicroPythonCommandsGPIO.add(MicroPythonGPIO2_0); - - MicroPythonGPIO2.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - MicroPythonGPIO2.setText("GPIO2 ?"); - MicroPythonGPIO2.setActionCommand("2"); - MicroPythonGPIO2.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MicroPythonGetGPIOLevel(evt); - } - }); - MicroPythonCommandsGPIO.add(MicroPythonGPIO2); - - MicroPythonGPIO4_1.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - MicroPythonGPIO4_1.setText("GPIO4 -> 1"); - MicroPythonGPIO4_1.setActionCommand("4"); - MicroPythonGPIO4_1.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MicroPythonSetGPIOHigh(evt); - } - }); - MicroPythonCommandsGPIO.add(MicroPythonGPIO4_1); - - MicroPythonGPIO4_0.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - MicroPythonGPIO4_0.setText("GPIO4 -> 0"); - MicroPythonGPIO4_0.setActionCommand("4"); - MicroPythonGPIO4_0.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MicroPythonSetGPIOLow(evt); - } - }); - MicroPythonCommandsGPIO.add(MicroPythonGPIO4_0); - - MicroPythonGPIO4.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - MicroPythonGPIO4.setText("GPIO4 ?"); - MicroPythonGPIO4.setActionCommand("4"); - MicroPythonGPIO4.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MicroPythonGetGPIOLevel(evt); - } - }); - MicroPythonCommandsGPIO.add(MicroPythonGPIO4); - - MicroPythonGPIO5_1.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - MicroPythonGPIO5_1.setText("GPIO5 -> 1"); - MicroPythonGPIO5_1.setActionCommand("5"); - MicroPythonGPIO5_1.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MicroPythonSetGPIOHigh(evt); - } - }); - MicroPythonCommandsGPIO.add(MicroPythonGPIO5_1); - - MicroPythonGPIO5_0.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - MicroPythonGPIO5_0.setText("GPIO5 -> 0"); - MicroPythonGPIO5_0.setActionCommand("5"); - MicroPythonGPIO5_0.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MicroPythonSetGPIOLow(evt); - } - }); - MicroPythonCommandsGPIO.add(MicroPythonGPIO5_0); - - MicroPythonGPIO5.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - MicroPythonGPIO5.setText("GPIO5 ?"); - MicroPythonGPIO5.setActionCommand("5"); - MicroPythonGPIO5.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MicroPythonGetGPIOLevel(evt); - } - }); - MicroPythonCommandsGPIO.add(MicroPythonGPIO5); - - MicroPythonGPIO9_1.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - MicroPythonGPIO9_1.setText("GPIO9 -> 1"); - MicroPythonGPIO9_1.setActionCommand("9"); - MicroPythonGPIO9_1.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MicroPythonSetGPIOHigh(evt); - } - }); - MicroPythonCommandsGPIO.add(MicroPythonGPIO9_1); - - MicroPythonGPIO9_0.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - MicroPythonGPIO9_0.setText("GPIO9 -> 0"); - MicroPythonGPIO9_0.setActionCommand("9"); - MicroPythonGPIO9_0.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MicroPythonSetGPIOLow(evt); - } - }); - MicroPythonCommandsGPIO.add(MicroPythonGPIO9_0); - - MicroPythonGPIO9.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - MicroPythonGPIO9.setText("GPIO9 ?"); - MicroPythonGPIO9.setActionCommand("9"); - MicroPythonGPIO9.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MicroPythonGetGPIOLevel(evt); - } - }); - MicroPythonCommandsGPIO.add(MicroPythonGPIO9); - - MicroPythonGPIO10_1.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - MicroPythonGPIO10_1.setText("GPIO10 -> 1"); - MicroPythonGPIO10_1.setActionCommand("10"); - MicroPythonGPIO10_1.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MicroPythonSetGPIOHigh(evt); - } - }); - MicroPythonCommandsGPIO.add(MicroPythonGPIO10_1); - - MicroPythonGPIO10_0.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - MicroPythonGPIO10_0.setText("GPIO10 -> 0"); - MicroPythonGPIO10_0.setActionCommand("10"); - MicroPythonGPIO10_0.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MicroPythonSetGPIOLow(evt); - } - }); - MicroPythonCommandsGPIO.add(MicroPythonGPIO10_0); - - MicroPythonGPIO10.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - MicroPythonGPIO10.setText("GPIO10 ?"); - MicroPythonGPIO10.setActionCommand("10"); - MicroPythonGPIO10.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MicroPythonGetGPIOLevel(evt); - } - }); - MicroPythonCommandsGPIO.add(MicroPythonGPIO10); - - MicroPythonGPIO12_1.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - MicroPythonGPIO12_1.setText("GPIO12 -> 1"); - MicroPythonGPIO12_1.setActionCommand("12"); - MicroPythonGPIO12_1.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MicroPythonSetGPIOHigh(evt); - } - }); - MicroPythonCommandsGPIO.add(MicroPythonGPIO12_1); - - MicroPythonGPIO12_0.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - MicroPythonGPIO12_0.setText("GPIO12 -> 0"); - MicroPythonGPIO12_0.setActionCommand("12"); - MicroPythonGPIO12_0.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MicroPythonSetGPIOLow(evt); - } - }); - MicroPythonCommandsGPIO.add(MicroPythonGPIO12_0); - - MicroPythonGPIO12.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - MicroPythonGPIO12.setText("GPIO12 ?"); - MicroPythonGPIO12.setActionCommand("12"); - MicroPythonGPIO12.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MicroPythonGetGPIOLevel(evt); - } - }); - MicroPythonCommandsGPIO.add(MicroPythonGPIO12); - - MicroPythonGPIO13_1.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - MicroPythonGPIO13_1.setText("GPIO13 -> 1"); - MicroPythonGPIO13_1.setActionCommand("13"); - MicroPythonGPIO13_1.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MicroPythonSetGPIOHigh(evt); - } - }); - MicroPythonCommandsGPIO.add(MicroPythonGPIO13_1); - - MicroPythonGPIO13_0.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - MicroPythonGPIO13_0.setText("GPIO13 -> 0"); - MicroPythonGPIO13_0.setActionCommand("13"); - MicroPythonGPIO13_0.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MicroPythonSetGPIOLow(evt); - } - }); - MicroPythonCommandsGPIO.add(MicroPythonGPIO13_0); - - MicroPythonGPIO13.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - MicroPythonGPIO13.setText("GPIO13 ?"); - MicroPythonGPIO13.setActionCommand("13"); - MicroPythonGPIO13.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MicroPythonGetGPIOLevel(evt); - } - }); - MicroPythonCommandsGPIO.add(MicroPythonGPIO13); - - MicroPythonGPIO14_1.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - MicroPythonGPIO14_1.setText("GPIO14 -> 1"); - MicroPythonGPIO14_1.setActionCommand("14"); - MicroPythonGPIO14_1.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MicroPythonSetGPIOHigh(evt); - } - }); - MicroPythonCommandsGPIO.add(MicroPythonGPIO14_1); - - MicroPythonGPIO14_0.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - MicroPythonGPIO14_0.setText("GPIO14 -> 0"); - MicroPythonGPIO14_0.setActionCommand("14"); - MicroPythonGPIO14_0.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MicroPythonSetGPIOLow(evt); - } - }); - MicroPythonCommandsGPIO.add(MicroPythonGPIO14_0); - - MicroPythonGPIO14.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - MicroPythonGPIO14.setText("GPIO14 ?"); - MicroPythonGPIO14.setActionCommand("14"); - MicroPythonGPIO14.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MicroPythonGetGPIOLevel(evt); - } - }); - MicroPythonCommandsGPIO.add(MicroPythonGPIO14); - - MicroPythonGPIO15_1.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - MicroPythonGPIO15_1.setText("GPIO15 -> 1"); - MicroPythonGPIO15_1.setActionCommand("15"); - MicroPythonGPIO15_1.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MicroPythonSetGPIOHigh(evt); - } - }); - MicroPythonCommandsGPIO.add(MicroPythonGPIO15_1); - - MicroPythonGPIO15_0.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - MicroPythonGPIO15_0.setText("GPIO15 -> 0"); - MicroPythonGPIO15_0.setActionCommand("15"); - MicroPythonGPIO15_0.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MicroPythonSetGPIOLow(evt); - } - }); - MicroPythonCommandsGPIO.add(MicroPythonGPIO15_0); - - MicroPythonGPIO15.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - MicroPythonGPIO15.setText("GPIO15 ?"); - MicroPythonGPIO15.setActionCommand("15"); - MicroPythonGPIO15.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MicroPythonGetGPIOLevel(evt); - } - }); - MicroPythonCommandsGPIO.add(MicroPythonGPIO15); - - MicroPythonGPIO16_1.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - MicroPythonGPIO16_1.setText("GPIO16 -> 1"); - MicroPythonGPIO16_1.setActionCommand("16"); - MicroPythonGPIO16_1.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MicroPythonSetGPIOHigh(evt); - } - }); - MicroPythonCommandsGPIO.add(MicroPythonGPIO16_1); - - MicroPythonGPIO16_0.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - MicroPythonGPIO16_0.setText("GPIO16 -> 0"); - MicroPythonGPIO16_0.setActionCommand("16"); - MicroPythonGPIO16_0.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MicroPythonSetGPIOLow(evt); - } - }); - MicroPythonCommandsGPIO.add(MicroPythonGPIO16_0); - - MicroPythonGPIO16.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - MicroPythonGPIO16.setText("GPIO16 ?"); - MicroPythonGPIO16.setActionCommand("16"); - MicroPythonGPIO16.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MicroPythonGetGPIOLevel(evt); - } - }); - MicroPythonCommandsGPIO.add(MicroPythonGPIO16); - - MicroPythonCommandsTab.addTab(" GPIO ", MicroPythonCommandsGPIO); - - NodeMCUCommands.add(MicroPythonCommandsTab); - - TextTab.addTab("Commands", NodeMCUCommands); - - NodeMCUSnippets.setLayout(new javax.swing.BoxLayout(NodeMCUSnippets, javax.swing.BoxLayout.LINE_AXIS)); - - LeftSnippetsPane.setMaximumSize(new java.awt.Dimension(150, 32767)); - LeftSnippetsPane.setLayout(new java.awt.GridLayout(16, 1)); - - SnippetEdit0.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - SnippetEdit0.setText("Edit Snippet0"); - SnippetEdit0.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - SnippetEdit0ActionPerformed(evt); - } - }); - LeftSnippetsPane.add(SnippetEdit0); - - SnippetEdit1.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - SnippetEdit1.setText("Edit Snippet1"); - SnippetEdit1.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - SnippetEdit1ActionPerformed(evt); - } - }); - LeftSnippetsPane.add(SnippetEdit1); - - SnippetEdit2.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - SnippetEdit2.setText("Edit Snippet2"); - SnippetEdit2.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - SnippetEdit2ActionPerformed(evt); - } - }); - LeftSnippetsPane.add(SnippetEdit2); - - SnippetEdit3.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - SnippetEdit3.setText("Edit Snippet3"); - SnippetEdit3.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - SnippetEdit3ActionPerformed(evt); - } - }); - LeftSnippetsPane.add(SnippetEdit3); - - SnippetEdit4.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - SnippetEdit4.setText("Edit Snippet4"); - SnippetEdit4.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - SnippetEdit4ActionPerformed(evt); - } - }); - LeftSnippetsPane.add(SnippetEdit4); - - SnippetEdit5.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - SnippetEdit5.setText("Edit Snippet5"); - SnippetEdit5.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - SnippetEdit5ActionPerformed(evt); - } - }); - LeftSnippetsPane.add(SnippetEdit5); - - SnippetEdit6.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - SnippetEdit6.setText("Edit Snippet6"); - SnippetEdit6.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - SnippetEdit6ActionPerformed(evt); - } - }); - LeftSnippetsPane.add(SnippetEdit6); - - SnippetEdit7.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - SnippetEdit7.setText("Edit Snippet7"); - SnippetEdit7.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - SnippetEdit7ActionPerformed(evt); - } - }); - LeftSnippetsPane.add(SnippetEdit7); - - SnippetEdit8.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - SnippetEdit8.setText("Edit Snippet8"); - SnippetEdit8.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - SnippetEdit8ActionPerformed(evt); - } - }); - LeftSnippetsPane.add(SnippetEdit8); - - SnippetEdit9.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - SnippetEdit9.setText("Edit Snippet9"); - SnippetEdit9.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - SnippetEdit9ActionPerformed(evt); - } - }); - LeftSnippetsPane.add(SnippetEdit9); - - SnippetEdit10.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - SnippetEdit10.setText("Edit Snippet10"); - SnippetEdit10.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - SnippetEdit10ActionPerformed(evt); - } - }); - LeftSnippetsPane.add(SnippetEdit10); - - SnippetEdit11.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - SnippetEdit11.setText("Edit Snippet11"); - SnippetEdit11.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - SnippetEdit11ActionPerformed(evt); - } - }); - LeftSnippetsPane.add(SnippetEdit11); - - SnippetEdit12.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - SnippetEdit12.setText("Edit Snippet12"); - SnippetEdit12.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - SnippetEdit12ActionPerformed(evt); - } - }); - LeftSnippetsPane.add(SnippetEdit12); - - SnippetEdit13.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - SnippetEdit13.setText("Edit Snippet13"); - SnippetEdit13.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - SnippetEdit13ActionPerformed(evt); - } - }); - LeftSnippetsPane.add(SnippetEdit13); - - SnippetEdit14.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - SnippetEdit14.setText("Edit Snippet14"); - SnippetEdit14.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - SnippetEdit14ActionPerformed(evt); - } - }); - LeftSnippetsPane.add(SnippetEdit14); - - SnippetEdit15.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - SnippetEdit15.setText("Edit Snippet15"); - SnippetEdit15.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - SnippetEdit15ActionPerformed(evt); - } - }); - LeftSnippetsPane.add(SnippetEdit15); - - NodeMCUSnippets.add(LeftSnippetsPane); - - jLayeredPane4.setLayout(new javax.swing.BoxLayout(jLayeredPane4, javax.swing.BoxLayout.PAGE_AXIS)); - - SnippetName.setEnabled(false); - - SnippetSave.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - SnippetSave.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/save.png"))); // NOI18N - SnippetSave.setText("Save"); - SnippetSave.setToolTipText("Save snippet to disk"); - SnippetSave.setEnabled(false); - SnippetSave.setMargin(new java.awt.Insets(2, 2, 2, 2)); - SnippetSave.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - SnippetSaveActionPerformed(evt); - } - }); - - SnippetRun.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - SnippetRun.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/server1_start.png"))); // NOI18N - SnippetRun.setText("Run"); - SnippetRun.setToolTipText("Run snippet"); - SnippetRun.setEnabled(false); - SnippetRun.setMargin(new java.awt.Insets(2, 2, 2, 2)); - SnippetRun.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - SnippetRunActionPerformed(evt); - } - }); - - SnippetsBusy.setBackground(new java.awt.Color(0, 153, 0)); - SnippetsBusy.setForeground(new java.awt.Color(255, 255, 255)); - SnippetsBusy.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); - SnippetsBusy.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/led_grey.png"))); // NOI18N - SnippetsBusy.setText("IDLE"); - SnippetsBusy.setOpaque(true); - - SnippetCancelEdit.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - SnippetCancelEdit.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/abort.png"))); // NOI18N - SnippetCancelEdit.setText("Cancel"); - SnippetCancelEdit.setToolTipText("Cancel edit and clear editor window"); - SnippetCancelEdit.setEnabled(false); - SnippetCancelEdit.setMargin(new java.awt.Insets(2, 2, 2, 2)); - SnippetCancelEdit.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - SnippetCancelEditActionPerformed(evt); - } - }); - - Condensed.setText("Condensed executing"); - Condensed.addItemListener(new java.awt.event.ItemListener() { - public void itemStateChanged(java.awt.event.ItemEvent evt) { - CondensedItemStateChanged(evt); - } - }); - - SnippetTopPane.setLayer(SnippetName, javax.swing.JLayeredPane.DEFAULT_LAYER); - SnippetTopPane.setLayer(SnippetSave, javax.swing.JLayeredPane.DEFAULT_LAYER); - SnippetTopPane.setLayer(SnippetRun, javax.swing.JLayeredPane.DEFAULT_LAYER); - SnippetTopPane.setLayer(SnippetsBusy, javax.swing.JLayeredPane.DEFAULT_LAYER); - SnippetTopPane.setLayer(SnippetCancelEdit, javax.swing.JLayeredPane.DEFAULT_LAYER); - SnippetTopPane.setLayer(Condensed, javax.swing.JLayeredPane.DEFAULT_LAYER); - - javax.swing.GroupLayout SnippetTopPaneLayout = new javax.swing.GroupLayout(SnippetTopPane); - SnippetTopPane.setLayout(SnippetTopPaneLayout); - SnippetTopPaneLayout.setHorizontalGroup( - SnippetTopPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(SnippetTopPaneLayout.createSequentialGroup() - .addGroup(SnippetTopPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) - .addGroup(SnippetTopPaneLayout.createSequentialGroup() - .addComponent(SnippetSave) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(SnippetCancelEdit)) - .addComponent(SnippetName)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addGroup(SnippetTopPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(SnippetsBusy, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGroup(SnippetTopPaneLayout.createSequentialGroup() - .addComponent(SnippetRun, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(Condensed))) - .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) - ); - SnippetTopPaneLayout.setVerticalGroup( - SnippetTopPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(SnippetTopPaneLayout.createSequentialGroup() - .addGroup(SnippetTopPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(SnippetName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(SnippetsBusy)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(SnippetTopPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(SnippetSave) - .addComponent(SnippetRun) - .addComponent(SnippetCancelEdit) - .addComponent(Condensed))) - ); - - jLayeredPane4.add(SnippetTopPane); - - SnippetScrollPane.setBorder(javax.swing.BorderFactory.createEtchedBorder()); - SnippetScrollPane.setVerticalScrollBarPolicy(javax.swing.ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED); - SnippetScrollPane.setEnabled(false); - SnippetScrollPane.setLineNumbersEnabled(true); - - SnippetText.setEditable(false); - SnippetText.setColumns(20); - SnippetText.setRows(5); - SnippetText.setEnabled(false); - SnippetScrollPane.setViewportView(SnippetText); - - jLayeredPane4.add(SnippetScrollPane); - - NodeMCUSnippets.add(jLayeredPane4); - - TextTab.addTab("Snippets", NodeMCUSnippets); - - NodeMCUSettings.setAutoscrolls(true); - NodeMCUSettings.setOpaque(true); - - OptionsFirmware.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Select firmware", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 0, 10))); // NOI18N - OptionsFirmware.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - - Firmware.add(OptionNodeMCU); - OptionNodeMCU.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - OptionNodeMCU.setSelected(true); - OptionNodeMCU.setText("NodeMCU"); - OptionNodeMCU.setToolTipText(""); - OptionNodeMCU.addChangeListener(new javax.swing.event.ChangeListener() { - public void stateChanged(javax.swing.event.ChangeEvent evt) { - OptionNodeMCUStateChanged(evt); - } - }); - OptionNodeMCU.addItemListener(new java.awt.event.ItemListener() { - public void itemStateChanged(java.awt.event.ItemEvent evt) { - OptionNodeMCUItemStateChanged(evt); - } - }); - - Firmware.add(OptionMicroPython); - OptionMicroPython.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - OptionMicroPython.setText("MicroPython"); - OptionMicroPython.addChangeListener(new javax.swing.event.ChangeListener() { - public void stateChanged(javax.swing.event.ChangeEvent evt) { - OptionMicroPythonStateChanged(evt); - } - }); - OptionMicroPython.addItemListener(new java.awt.event.ItemListener() { - public void itemStateChanged(java.awt.event.ItemEvent evt) { - OptionMicroPythonItemStateChanged(evt); - } - }); - - OptionsFirmware.setLayer(OptionNodeMCU, javax.swing.JLayeredPane.DEFAULT_LAYER); - OptionsFirmware.setLayer(OptionMicroPython, javax.swing.JLayeredPane.DEFAULT_LAYER); - - javax.swing.GroupLayout OptionsFirmwareLayout = new javax.swing.GroupLayout(OptionsFirmware); - OptionsFirmware.setLayout(OptionsFirmwareLayout); - OptionsFirmwareLayout.setHorizontalGroup( - OptionsFirmwareLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(OptionNodeMCU, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(OptionMicroPython, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - ); - OptionsFirmwareLayout.setVerticalGroup( - OptionsFirmwareLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(OptionsFirmwareLayout.createSequentialGroup() - .addComponent(OptionNodeMCU) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(OptionMicroPython) - .addContainerGap()) - ); - - OptionsOther.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Other", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 0, 10))); // NOI18N - - FileAutoSaveDisk.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - FileAutoSaveDisk.setSelected(true); - FileAutoSaveDisk.setText("AutoSave file to disk before save to ESP"); - FileAutoSaveDisk.setToolTipText(""); - FileAutoSaveDisk.setHorizontalAlignment(javax.swing.SwingConstants.LEFT); - FileAutoSaveDisk.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT); - FileAutoSaveDisk.addItemListener(new java.awt.event.ItemListener() { - public void itemStateChanged(java.awt.event.ItemEvent evt) { - FileAutoSaveDiskItemStateChanged(evt); - } - }); - - FileAutoSaveESP.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - FileAutoSaveESP.setSelected(true); - FileAutoSaveESP.setText("AutoSave file to ESP after save to disk"); - FileAutoSaveESP.setToolTipText(""); - FileAutoSaveESP.setHorizontalAlignment(javax.swing.SwingConstants.LEFT); - FileAutoSaveESP.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT); - FileAutoSaveESP.addItemListener(new java.awt.event.ItemListener() { - public void itemStateChanged(java.awt.event.ItemEvent evt) { - FileAutoSaveESPItemStateChanged(evt); - } - }); - - FileAutoRun.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - FileAutoRun.setText("AutoRun file after save to ESP"); - FileAutoRun.setToolTipText(""); - FileAutoRun.setHorizontalAlignment(javax.swing.SwingConstants.LEFT); - FileAutoRun.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT); - FileAutoRun.addItemListener(new java.awt.event.ItemListener() { - public void itemStateChanged(java.awt.event.ItemEvent evt) { - FileAutoRunItemStateChanged(evt); - } - }); - - EditorThemeLabel.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - EditorThemeLabel.setText("Editor color theme"); - - EditorTheme.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - EditorTheme.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Default", "Dark", "Eclipse", "IDEA", "Visual Studio", "Default-alt" })); - EditorTheme.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - EditorThemeActionPerformed(evt); - } - }); - - UseExternalEditor.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - UseExternalEditor.setText("Use external editor"); - UseExternalEditor.setToolTipText("Use external editor. All files will be open in ReadOnly mode"); - UseExternalEditor.setHorizontalAlignment(javax.swing.SwingConstants.LEFT); - UseExternalEditor.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT); - UseExternalEditor.addItemListener(new java.awt.event.ItemListener() { - public void itemStateChanged(java.awt.event.ItemEvent evt) { - UseExternalEditorItemStateChanged(evt); - } - }); - - OptionsOther.setLayer(FileAutoSaveDisk, javax.swing.JLayeredPane.DEFAULT_LAYER); - OptionsOther.setLayer(FileAutoSaveESP, javax.swing.JLayeredPane.DEFAULT_LAYER); - OptionsOther.setLayer(FileAutoRun, javax.swing.JLayeredPane.DEFAULT_LAYER); - OptionsOther.setLayer(EditorThemeLabel, javax.swing.JLayeredPane.DEFAULT_LAYER); - OptionsOther.setLayer(EditorTheme, javax.swing.JLayeredPane.DEFAULT_LAYER); - OptionsOther.setLayer(UseExternalEditor, javax.swing.JLayeredPane.DEFAULT_LAYER); - - javax.swing.GroupLayout OptionsOtherLayout = new javax.swing.GroupLayout(OptionsOther); - OptionsOther.setLayout(OptionsOtherLayout); - OptionsOtherLayout.setHorizontalGroup( - OptionsOtherLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(FileAutoSaveDisk, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(FileAutoSaveESP, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addGroup(OptionsOtherLayout.createSequentialGroup() - .addComponent(EditorThemeLabel) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(EditorTheme, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addContainerGap()) - .addComponent(UseExternalEditor, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(FileAutoRun, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - ); - OptionsOtherLayout.setVerticalGroup( - OptionsOtherLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(OptionsOtherLayout.createSequentialGroup() - .addComponent(FileAutoSaveDisk, javax.swing.GroupLayout.PREFERRED_SIZE, 21, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(1, 1, 1) - .addComponent(FileAutoSaveESP, javax.swing.GroupLayout.PREFERRED_SIZE, 21, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(UseExternalEditor) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(OptionsOtherLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(EditorThemeLabel) - .addComponent(EditorTheme, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(FileAutoRun) - .addContainerGap(39, Short.MAX_VALUE)) - ); - - OptionsFileSendMode.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Send", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 0, 10))); // NOI18N - OptionsFileSendMode.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - - DelayLabel.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - DelayLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); - DelayLabel.setText("Delay after answer = 0 ms"); - DelayLabel.setToolTipText("It's not \"line delay\", as you known. It's delay between answer from ESP and send new data"); - - Delay.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - Delay.setMajorTickSpacing(500); - Delay.setMaximum(1000); - Delay.setMinorTickSpacing(100); - Delay.setPaintLabels(true); - Delay.setPaintTicks(true); - Delay.setSnapToTicks(true); - Delay.setToolTipText("Delay between answer from ESP and send new data"); - Delay.setValue(0); - Delay.setAlignmentY(1.0F); - Delay.addChangeListener(new javax.swing.event.ChangeListener() { - public void stateChanged(javax.swing.event.ChangeEvent evt) { - DelayStateChanged(evt); - } - }); - - AnswerDelayLabel.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - AnswerDelayLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); - AnswerDelayLabel.setText("Answer timeout = 3 s"); - AnswerDelayLabel.setToolTipText("How many time we waiting answer from ESP8266"); - - AnswerDelay.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - AnswerDelay.setMajorTickSpacing(5); - AnswerDelay.setMaximum(10); - AnswerDelay.setMinorTickSpacing(1); - AnswerDelay.setPaintLabels(true); - AnswerDelay.setPaintTicks(true); - AnswerDelay.setSnapToTicks(true); - AnswerDelay.setToolTipText("Maximum time for waiting firmware answer"); - AnswerDelay.setValue(3); - AnswerDelay.addChangeListener(new javax.swing.event.ChangeListener() { - public void stateChanged(javax.swing.event.ChangeEvent evt) { - AnswerDelayStateChanged(evt); - } - }); - - DumbMode.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - DumbMode.setText("\"Dumb Mode\", never check answers"); - DumbMode.setToolTipText(""); - DumbMode.addItemListener(new java.awt.event.ItemListener() { - public void itemStateChanged(java.awt.event.ItemEvent evt) { - DumbModeItemStateChanged(evt); - } - }); - - LineDelayLabel.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - LineDelayLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); - LineDelayLabel.setText("Line delay for \"Dumb Mode\" = 200 ms"); - LineDelayLabel.setToolTipText("It's usual \"line delay\", as you known."); - - binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, DumbMode, org.jdesktop.beansbinding.ELProperty.create("${selected}"), LineDelayLabel, org.jdesktop.beansbinding.BeanProperty.create("enabled")); - bindingGroup.addBinding(binding); - - LineDelay.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - LineDelay.setMajorTickSpacing(500); - LineDelay.setMaximum(1000); - LineDelay.setMinorTickSpacing(100); - LineDelay.setPaintLabels(true); - LineDelay.setPaintTicks(true); - LineDelay.setSnapToTicks(true); - LineDelay.setToolTipText("Fixed delay between lines"); - LineDelay.setValue(200); - LineDelay.setAlignmentY(1.0F); - - binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, DumbMode, org.jdesktop.beansbinding.ELProperty.create("${selected}"), LineDelay, org.jdesktop.beansbinding.BeanProperty.create("enabled")); - bindingGroup.addBinding(binding); - - LineDelay.addChangeListener(new javax.swing.event.ChangeListener() { - public void stateChanged(javax.swing.event.ChangeEvent evt) { - LineDelayStateChanged(evt); - } - }); - - TurboMode.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - TurboMode.setText("\"Turbo Mode\""); - TurboMode.setToolTipText(""); - TurboMode.addItemListener(new java.awt.event.ItemListener() { - public void itemStateChanged(java.awt.event.ItemEvent evt) { - TurboModeItemStateChanged(evt); - } - }); - TurboMode.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - TurboModeActionPerformed(evt); - } - }); - - OptionsFileSendMode.setLayer(DelayLabel, javax.swing.JLayeredPane.DEFAULT_LAYER); - OptionsFileSendMode.setLayer(Delay, javax.swing.JLayeredPane.DEFAULT_LAYER); - OptionsFileSendMode.setLayer(AnswerDelayLabel, javax.swing.JLayeredPane.DEFAULT_LAYER); - OptionsFileSendMode.setLayer(AnswerDelay, javax.swing.JLayeredPane.DEFAULT_LAYER); - OptionsFileSendMode.setLayer(DumbMode, javax.swing.JLayeredPane.DEFAULT_LAYER); - OptionsFileSendMode.setLayer(LineDelayLabel, javax.swing.JLayeredPane.DEFAULT_LAYER); - OptionsFileSendMode.setLayer(LineDelay, javax.swing.JLayeredPane.DEFAULT_LAYER); - OptionsFileSendMode.setLayer(TurboMode, javax.swing.JLayeredPane.DEFAULT_LAYER); - - javax.swing.GroupLayout OptionsFileSendModeLayout = new javax.swing.GroupLayout(OptionsFileSendMode); - OptionsFileSendMode.setLayout(OptionsFileSendModeLayout); - OptionsFileSendModeLayout.setHorizontalGroup( - OptionsFileSendModeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(OptionsFileSendModeLayout.createSequentialGroup() - .addGroup(OptionsFileSendModeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(OptionsFileSendModeLayout.createSequentialGroup() - .addGroup(OptionsFileSendModeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) - .addComponent(TurboMode, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(DelayLabel, javax.swing.GroupLayout.DEFAULT_SIZE, 199, Short.MAX_VALUE)) - .addGap(0, 0, Short.MAX_VALUE)) - .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, OptionsFileSendModeLayout.createSequentialGroup() - .addGap(0, 0, Short.MAX_VALUE) - .addGroup(OptionsFileSendModeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(DumbMode, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 200, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(Delay, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 200, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(AnswerDelayLabel, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 200, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(AnswerDelay, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(LineDelayLabel, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 200, javax.swing.GroupLayout.PREFERRED_SIZE))) - .addComponent(LineDelay, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) - .addContainerGap()) - ); - OptionsFileSendModeLayout.setVerticalGroup( - OptionsFileSendModeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(OptionsFileSendModeLayout.createSequentialGroup() - .addComponent(TurboMode) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(DelayLabel) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(Delay, javax.swing.GroupLayout.PREFERRED_SIZE, 39, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(AnswerDelayLabel) - .addGap(1, 1, 1) - .addComponent(AnswerDelay, javax.swing.GroupLayout.PREFERRED_SIZE, 36, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(DumbMode) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(LineDelayLabel) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(LineDelay, javax.swing.GroupLayout.PREFERRED_SIZE, 39, javax.swing.GroupLayout.PREFERRED_SIZE) - .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) - ); - - jLayeredPane2.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Data scrollback", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 0, 10))); // NOI18N - - jLabel1.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - jLabel1.setText("Terminal"); - jLabel1.setPreferredSize(new java.awt.Dimension(40, 20)); - - jLabel7.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - jLabel7.setText("Log"); - jLabel7.setPreferredSize(new java.awt.Dimension(17, 23)); - - TerminalMaxSize.setHorizontalAlignment(javax.swing.JTextField.RIGHT); - TerminalMaxSize.setText("100"); - TerminalMaxSize.setToolTipText(""); - TerminalMaxSize.addFocusListener(new java.awt.event.FocusAdapter() { - public void focusLost(java.awt.event.FocusEvent evt) { - TerminalMaxSizeFocusLost(evt); - } - }); - - LogMaxSize.setHorizontalAlignment(javax.swing.JTextField.RIGHT); - LogMaxSize.setText("10"); - LogMaxSize.setToolTipText(""); - LogMaxSize.addFocusListener(new java.awt.event.FocusAdapter() { - public void focusLost(java.awt.event.FocusEvent evt) { - LogMaxSizeFocusLost(evt); - } - }); - LogMaxSize.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - LogMaxSizeActionPerformed(evt); - } - }); - - jLabel8.setText("kb"); - - jLabel9.setText("kb"); - - jLayeredPane2.setLayer(jLabel1, javax.swing.JLayeredPane.DEFAULT_LAYER); - jLayeredPane2.setLayer(jLabel7, javax.swing.JLayeredPane.DEFAULT_LAYER); - jLayeredPane2.setLayer(TerminalMaxSize, javax.swing.JLayeredPane.DEFAULT_LAYER); - jLayeredPane2.setLayer(LogMaxSize, javax.swing.JLayeredPane.DEFAULT_LAYER); - jLayeredPane2.setLayer(jLabel8, javax.swing.JLayeredPane.DEFAULT_LAYER); - jLayeredPane2.setLayer(jLabel9, javax.swing.JLayeredPane.DEFAULT_LAYER); - - javax.swing.GroupLayout jLayeredPane2Layout = new javax.swing.GroupLayout(jLayeredPane2); - jLayeredPane2.setLayout(jLayeredPane2Layout); - jLayeredPane2Layout.setHorizontalGroup( - jLayeredPane2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(jLayeredPane2Layout.createSequentialGroup() - .addGroup(jLayeredPane2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) - .addComponent(jLabel7, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(jLabel1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addGroup(jLayeredPane2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) - .addComponent(TerminalMaxSize, javax.swing.GroupLayout.DEFAULT_SIZE, 59, Short.MAX_VALUE) - .addComponent(LogMaxSize)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(jLayeredPane2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(jLabel8) - .addComponent(jLabel9)) - .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) - ); - jLayeredPane2Layout.setVerticalGroup( - jLayeredPane2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(jLayeredPane2Layout.createSequentialGroup() - .addGroup(jLayeredPane2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 15, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(TerminalMaxSize, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(jLabel8)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(jLayeredPane2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(LogMaxSize, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(jLabel7, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(jLabel9))) - ); - - jLayeredPane3.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "SerialPort", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 0, 10))); // NOI18N - - CustomPortName.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - CustomPortName.setHorizontalAlignment(javax.swing.JTextField.LEFT); - CustomPortName.setText("/dev/AnySerialDevice"); - CustomPortName.setToolTipText(""); - CustomPortName.setEnabled(false); - CustomPortName.setMinimumSize(new java.awt.Dimension(50, 19)); - CustomPortName.addFocusListener(new java.awt.event.FocusAdapter() { - public void focusLost(java.awt.event.FocusEvent evt) { - CustomPortNameFocusLost(evt); - } - }); - - UseCustomPortName.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - UseCustomPortName.setText("Use custom serial port name"); - UseCustomPortName.setToolTipText("Use custom serial port name (AutoScan will be disabled)"); - UseCustomPortName.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - UseCustomPortNameActionPerformed(evt); - } - }); - - jLabel10.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - jLabel10.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); - jLabel10.setText("(AutoScan will be disabled)"); - jLabel10.setPreferredSize(new java.awt.Dimension(17, 23)); - - AutodetectFirmware.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - AutodetectFirmware.setText("Autodetect firmware"); - AutodetectFirmware.setToolTipText("Use custom serial port name (AutoScan will be disabled)"); - AutodetectFirmware.addItemListener(new java.awt.event.ItemListener() { - public void itemStateChanged(java.awt.event.ItemEvent evt) { - AutodetectFirmwareItemStateChanged(evt); - } - }); - - CommandEcho.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - CommandEcho.setSelected(true); - CommandEcho.setText("Command Echo"); - CommandEcho.setToolTipText("Use custom serial port name (AutoScan will be disabled)"); - CommandEcho.addItemListener(new java.awt.event.ItemListener() { - public void itemStateChanged(java.awt.event.ItemEvent evt) { - CommandEchoItemStateChanged(evt); - } - }); - - jLayeredPane3.setLayer(CustomPortName, javax.swing.JLayeredPane.DEFAULT_LAYER); - jLayeredPane3.setLayer(UseCustomPortName, javax.swing.JLayeredPane.DEFAULT_LAYER); - jLayeredPane3.setLayer(jLabel10, javax.swing.JLayeredPane.DEFAULT_LAYER); - jLayeredPane3.setLayer(AutodetectFirmware, javax.swing.JLayeredPane.DEFAULT_LAYER); - jLayeredPane3.setLayer(CommandEcho, javax.swing.JLayeredPane.DEFAULT_LAYER); - - javax.swing.GroupLayout jLayeredPane3Layout = new javax.swing.GroupLayout(jLayeredPane3); - jLayeredPane3.setLayout(jLayeredPane3Layout); - jLayeredPane3Layout.setHorizontalGroup( - jLayeredPane3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(UseCustomPortName, javax.swing.GroupLayout.DEFAULT_SIZE, 161, Short.MAX_VALUE) - .addComponent(jLabel10, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(CustomPortName, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(AutodetectFirmware, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(CommandEcho, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - ); - jLayeredPane3Layout.setVerticalGroup( - jLayeredPane3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(jLayeredPane3Layout.createSequentialGroup() - .addComponent(UseCustomPortName) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(jLabel10, javax.swing.GroupLayout.PREFERRED_SIZE, 15, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(CustomPortName, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(AutodetectFirmware) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(CommandEcho) - .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) - ); - - NodeMCUSettings.setLayer(OptionsFirmware, javax.swing.JLayeredPane.DEFAULT_LAYER); - NodeMCUSettings.setLayer(OptionsOther, javax.swing.JLayeredPane.DEFAULT_LAYER); - NodeMCUSettings.setLayer(OptionsFileSendMode, javax.swing.JLayeredPane.DEFAULT_LAYER); - NodeMCUSettings.setLayer(jLayeredPane2, javax.swing.JLayeredPane.DEFAULT_LAYER); - NodeMCUSettings.setLayer(jLayeredPane3, javax.swing.JLayeredPane.DEFAULT_LAYER); - - javax.swing.GroupLayout NodeMCUSettingsLayout = new javax.swing.GroupLayout(NodeMCUSettings); - NodeMCUSettings.setLayout(NodeMCUSettingsLayout); - NodeMCUSettingsLayout.setHorizontalGroup( - NodeMCUSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(NodeMCUSettingsLayout.createSequentialGroup() - .addGroup(NodeMCUSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) - .addComponent(OptionsOther) - .addComponent(OptionsFirmware) - .addComponent(OptionsFileSendMode, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(NodeMCUSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) - .addComponent(jLayeredPane2) - .addComponent(jLayeredPane3)) - .addContainerGap(174, Short.MAX_VALUE)) - ); - NodeMCUSettingsLayout.setVerticalGroup( - NodeMCUSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(NodeMCUSettingsLayout.createSequentialGroup() - .addGroup(NodeMCUSettingsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(NodeMCUSettingsLayout.createSequentialGroup() - .addComponent(OptionsFirmware, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(OptionsOther, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addGroup(NodeMCUSettingsLayout.createSequentialGroup() - .addComponent(jLayeredPane3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(jLayeredPane2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))) - .addGap(45, 45, 45) - .addComponent(OptionsFileSendMode, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(0, 0, Short.MAX_VALUE)) - ); - - TextTab.addTab("Settings", new javax.swing.ImageIcon(getClass().getResource("/resources/settings2.png")), NodeMCUSettings, "Settings for file sending"); // NOI18N - - javax.swing.GroupLayout NodeMCULayout = new javax.swing.GroupLayout(NodeMCU); - NodeMCU.setLayout(NodeMCULayout); - NodeMCULayout.setHorizontalGroup( - NodeMCULayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(TextTab, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - ); - NodeMCULayout.setVerticalGroup( - NodeMCULayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(TextTab, javax.swing.GroupLayout.DEFAULT_SIZE, 692, Short.MAX_VALUE) - ); - - TextTab.getAccessibleContext().setAccessibleName("NewFile"); - - LeftTab.addTab(" NodeMCU & MicroPython ", NodeMCU); - - ATvXX.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); - - BasicATcommandsPane.setBorder(javax.swing.BorderFactory.createTitledBorder(new javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.LOWERED), "Basic AT commands", javax.swing.border.TitledBorder.CENTER, javax.swing.border.TitledBorder.DEFAULT_POSITION)); - BasicATcommandsPane.setToolTipText("Basic AT commnads"); - BasicATcommandsPane.setMaximumSize(new java.awt.Dimension(445, 50)); - BasicATcommandsPane.setMinimumSize(new java.awt.Dimension(445, 50)); - BasicATcommandsPane.setOpaque(true); - BasicATcommandsPane.setLayout(new java.awt.FlowLayout()); - - cmdAT.setText("AT"); - cmdAT.setToolTipText("Super simple command \"AT\""); - cmdAT.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdATActionPerformed(evt); - } - }); - BasicATcommandsPane.add(cmdAT); - - AT_Restart.setText("RST"); - AT_Restart.setToolTipText("Restart"); - AT_Restart.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - AT_RestartActionPerformed(evt); - } - }); - BasicATcommandsPane.add(AT_Restart); - - AT_GMR.setText("GMR"); - AT_GMR.setToolTipText("Get version info"); - AT_GMR.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - AT_GMRActionPerformed(evt); - } - }); - BasicATcommandsPane.add(AT_GMR); - - GSLP.setText("GSLP"); - GSLP.setToolTipText("Enter deep-sleep mode on 5sec"); - GSLP.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - GSLPActionPerformed(evt); - } - }); - BasicATcommandsPane.add(GSLP); - - ATE0.setText("ATE0"); - ATE0.setToolTipText("Echo OFF"); - ATE0.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - ATE0ActionPerformed(evt); - } - }); - BasicATcommandsPane.add(ATE0); - - ATE1.setText("ATE1"); - ATE1.setToolTipText("Echo ON"); - ATE1.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - ATE1ActionPerformed(evt); - } - }); - BasicATcommandsPane.add(ATE1); - - UPDATE.setText("UPD"); - UPDATE.setToolTipText("Send command \"AT+UPDATE\" for firmware Cloud update "); - UPDATE.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - UPDATEActionPerformed(evt); - } - }); - BasicATcommandsPane.add(UPDATE); - - ATvXX.add(BasicATcommandsPane, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -1, -1)); - - TabAT.setTabLayoutPolicy(javax.swing.JTabbedPane.SCROLL_TAB_LAYOUT); - TabAT.setToolTipText("ESP8266 AT commands v0.20"); - TabAT.setAlignmentX(0.0F); - TabAT.setAlignmentY(0.0F); - TabAT.setFocusable(false); - TabAT.setOpaque(true); - - binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, AT_Station, org.jdesktop.beansbinding.ELProperty.create("${border}"), TabAT, org.jdesktop.beansbinding.BeanProperty.create("border")); - bindingGroup.addBinding(binding); - - AT_Station.setToolTipText("WiFi commands"); - AT_Station.setAlignmentX(0.0F); - AT_Station.setAlignmentY(0.0F); - AT_Station.setAutoscrolls(true); - AT_Station.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - AT_Station.setInheritsPopupMenu(true); - AT_Station.setMinimumSize(new java.awt.Dimension(0, 130)); - AT_Station.setName(""); // NOI18N - AT_Station.setOpaque(false); - AT_Station.setPreferredSize(new java.awt.Dimension(457, 291)); - AT_Station.addFocusListener(new java.awt.event.FocusAdapter() { - public void focusGained(java.awt.event.FocusEvent evt) { - AT_StationFocusGained(evt); - } - }); - AT_Station.addComponentListener(new java.awt.event.ComponentAdapter() { - public void componentShown(java.awt.event.ComponentEvent evt) { - AT_StationComponentShown(evt); - } - }); - - TopWiFiStaFiller.setOpaque(true); - - WiFiStationPane.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createEtchedBorder(), "WiFi Station")); - WiFiStationPane.setAlignmentX(0.0F); - WiFiStationPane.setAlignmentY(0.0F); - WiFiStationPane.setMaximumSize(new java.awt.Dimension(463, 291)); - WiFiStationPane.setMinimumSize(new java.awt.Dimension(463, 291)); - WiFiStationPane.setName(""); // NOI18N - WiFiStationPane.setOpaque(true); - - cmdGetCWJAP.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/information.png"))); // NOI18N - cmdGetCWJAP.setText("CWJAP? - Connection info"); - cmdGetCWJAP.setToolTipText("Query AP’s info which is connect by ESP8266"); - cmdGetCWJAP.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdGetCWJAP.setMaximumSize(new java.awt.Dimension(210, 23)); - cmdGetCWJAP.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdGetCWJAP.setPreferredSize(new java.awt.Dimension(210, 23)); - cmdGetCWJAP.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdGetCWJAPActionPerformed(evt); - } - }); - - cmdSetCWJAP.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/connect3.png"))); // NOI18N - cmdSetCWJAP.setText("CWJAP Connect to AP"); - cmdSetCWJAP.setToolTipText("Connect to WiFi Access Point"); - cmdSetCWJAP.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdSetCWJAP.setMaximumSize(new java.awt.Dimension(210, 23)); - cmdSetCWJAP.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdSetCWJAP.setPreferredSize(new java.awt.Dimension(210, 23)); - cmdSetCWJAP.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdSetCWJAPActionPerformed(evt); - } - }); - - SSID.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - SSID.setText("SSID"); - SSID.setToolTipText("Enter WiFi SSID"); - SSID.setMaximumSize(new java.awt.Dimension(100, 23)); - SSID.setMinimumSize(new java.awt.Dimension(100, 23)); - SSID.setPreferredSize(new java.awt.Dimension(100, 23)); - SSID.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - SSIDActionPerformed(evt); - } - }); - SSID.addFocusListener(new java.awt.event.FocusAdapter() { - public void focusGained(java.awt.event.FocusEvent evt) { - SSIDFocusGained(evt); - } - }); - - PASS.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - PASS.setText("password"); - PASS.setToolTipText("Enter WiFi password"); - PASS.setMaximumSize(new java.awt.Dimension(104, 23)); - PASS.setMinimumSize(new java.awt.Dimension(104, 23)); - PASS.setPreferredSize(new java.awt.Dimension(104, 23)); - PASS.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - PASSActionPerformed(evt); - } - }); - PASS.addFocusListener(new java.awt.event.FocusAdapter() { - public void focusGained(java.awt.event.FocusEvent evt) { - PASSFocusGained(evt); - } - }); - - cmdSetCWQAP.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N - cmdSetCWQAP.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/disconnect3.png"))); // NOI18N - cmdSetCWQAP.setText("CWQAP - Disconnect from AP"); - cmdSetCWQAP.setToolTipText("Disconnect from WiFi Access Point"); - cmdSetCWQAP.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdSetCWQAP.setMaximumSize(new java.awt.Dimension(210, 23)); - cmdSetCWQAP.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdSetCWQAP.setPreferredSize(new java.awt.Dimension(210, 23)); - cmdSetCWQAP.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdSetCWQAPActionPerformed(evt); - } - }); - - cmdGetCIPSTAMAC.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N - cmdGetCIPSTAMAC.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/get.png"))); // NOI18N - cmdGetCIPSTAMAC.setText("CIPSTAMAC? Get MAC"); - cmdGetCIPSTAMAC.setToolTipText("Get Station MAC address"); - cmdGetCIPSTAMAC.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdGetCIPSTAMAC.setMaximumSize(new java.awt.Dimension(210, 23)); - cmdGetCIPSTAMAC.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdGetCIPSTAMAC.setPreferredSize(new java.awt.Dimension(210, 23)); - cmdGetCIPSTAMAC.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdGetCIPSTAMACActionPerformed(evt); - } - }); - - cmdSetCIPSTAMAC.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N - cmdSetCIPSTAMAC.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/set.png"))); // NOI18N - cmdSetCIPSTAMAC.setText("CIPSTAMAC= Set MAC Station"); - cmdSetCIPSTAMAC.setToolTipText("Set Station MAC address"); - cmdSetCIPSTAMAC.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdSetCIPSTAMAC.setMaximumSize(new java.awt.Dimension(210, 23)); - cmdSetCIPSTAMAC.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdSetCIPSTAMAC.setPreferredSize(new java.awt.Dimension(210, 23)); - cmdSetCIPSTAMAC.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdSetCIPSTAMACActionPerformed(evt); - } - }); - - try { - MAC.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.MaskFormatter("AA:AA:AA:AA:AA:AA"))); - } catch (java.text.ParseException ex) { - ex.printStackTrace(); - } - MAC.setText("FF:FF:FF:FF:FF:FF"); - MAC.setToolTipText("Station MAC address"); - MAC.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - MAC.setMaximumSize(new java.awt.Dimension(210, 23)); - MAC.setMinimumSize(new java.awt.Dimension(210, 23)); - MAC.setPreferredSize(new java.awt.Dimension(210, 23)); - - cmdGetCIPSTA.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N - cmdGetCIPSTA.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/get.png"))); // NOI18N - cmdGetCIPSTA.setText("CIPSTA? Get Station IP"); - cmdGetCIPSTA.setToolTipText("Get Station IP address"); - cmdGetCIPSTA.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdGetCIPSTA.setMaximumSize(new java.awt.Dimension(210, 23)); - cmdGetCIPSTA.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdGetCIPSTA.setPreferredSize(new java.awt.Dimension(210, 23)); - cmdGetCIPSTA.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdGetCIPSTAActionPerformed(evt); - } - }); - - cmdSetCIPSTA.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N - cmdSetCIPSTA.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/set.png"))); // NOI18N - cmdSetCIPSTA.setText("CIPSTA= Set Station IP"); - cmdSetCIPSTA.setToolTipText("Set Station IP address"); - cmdSetCIPSTA.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdSetCIPSTA.setMaximumSize(new java.awt.Dimension(210, 23)); - cmdSetCIPSTA.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdSetCIPSTA.setPreferredSize(new java.awt.Dimension(210, 23)); - cmdSetCIPSTA.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdSetCIPSTAActionPerformed(evt); - } - }); - - StationIP.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - StationIP.setText("192.168.1.50"); - StationIP.setMaximumSize(new java.awt.Dimension(210, 23)); - StationIP.setMinimumSize(new java.awt.Dimension(210, 23)); - StationIP.setPreferredSize(new java.awt.Dimension(210, 23)); - - PingIP.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - PingIP.setText("192.168.1.1"); - PingIP.setToolTipText("The IP address or hostname of the node to ping."); - PingIP.setMaximumSize(new java.awt.Dimension(210, 23)); - PingIP.setMinimumSize(new java.awt.Dimension(210, 23)); - PingIP.setPreferredSize(new java.awt.Dimension(210, 23)); - - cmdSetPING.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N - cmdSetPING.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/ping.png"))); // NOI18N - cmdSetPING.setText("PING= Ping remote node"); - cmdSetPING.setToolTipText("Ping a node in the network"); - cmdSetPING.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdSetPING.setMaximumSize(new java.awt.Dimension(210, 23)); - cmdSetPING.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdSetPING.setPreferredSize(new java.awt.Dimension(210, 23)); - cmdSetPING.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdSetPINGActionPerformed(evt); - } - }); - - WiFiStationPane.setLayer(cmdGetCWJAP, javax.swing.JLayeredPane.DEFAULT_LAYER); - WiFiStationPane.setLayer(cmdSetCWJAP, javax.swing.JLayeredPane.DEFAULT_LAYER); - WiFiStationPane.setLayer(SSID, javax.swing.JLayeredPane.DEFAULT_LAYER); - WiFiStationPane.setLayer(PASS, javax.swing.JLayeredPane.DEFAULT_LAYER); - WiFiStationPane.setLayer(cmdSetCWQAP, javax.swing.JLayeredPane.DEFAULT_LAYER); - WiFiStationPane.setLayer(cmdGetCIPSTAMAC, javax.swing.JLayeredPane.DEFAULT_LAYER); - WiFiStationPane.setLayer(cmdSetCIPSTAMAC, javax.swing.JLayeredPane.DEFAULT_LAYER); - WiFiStationPane.setLayer(MAC, javax.swing.JLayeredPane.DEFAULT_LAYER); - WiFiStationPane.setLayer(cmdGetCIPSTA, javax.swing.JLayeredPane.DEFAULT_LAYER); - WiFiStationPane.setLayer(cmdSetCIPSTA, javax.swing.JLayeredPane.DEFAULT_LAYER); - WiFiStationPane.setLayer(StationIP, javax.swing.JLayeredPane.DEFAULT_LAYER); - WiFiStationPane.setLayer(PingIP, javax.swing.JLayeredPane.DEFAULT_LAYER); - WiFiStationPane.setLayer(cmdSetPING, javax.swing.JLayeredPane.DEFAULT_LAYER); - - javax.swing.GroupLayout WiFiStationPaneLayout = new javax.swing.GroupLayout(WiFiStationPane); - WiFiStationPane.setLayout(WiFiStationPaneLayout); - WiFiStationPaneLayout.setHorizontalGroup( - WiFiStationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(WiFiStationPaneLayout.createSequentialGroup() - .addContainerGap() - .addGroup(WiFiStationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(MAC, javax.swing.GroupLayout.PREFERRED_SIZE, 210, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(cmdSetCIPSTAMAC, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGroup(WiFiStationPaneLayout.createSequentialGroup() - .addGroup(WiFiStationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(cmdGetCWJAP, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(cmdSetCWQAP, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGroup(WiFiStationPaneLayout.createSequentialGroup() - .addGap(1, 1, 1) - .addComponent(cmdGetCIPSTAMAC, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addGroup(WiFiStationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) - .addGroup(WiFiStationPaneLayout.createSequentialGroup() - .addComponent(SSID, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(PASS, javax.swing.GroupLayout.PREFERRED_SIZE, 1, Short.MAX_VALUE)) - .addComponent(cmdSetCWJAP, javax.swing.GroupLayout.PREFERRED_SIZE, 201, javax.swing.GroupLayout.PREFERRED_SIZE))) - .addComponent(cmdGetCIPSTA, javax.swing.GroupLayout.PREFERRED_SIZE, 210, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(StationIP, javax.swing.GroupLayout.PREFERRED_SIZE, 210, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(cmdSetCIPSTA, javax.swing.GroupLayout.PREFERRED_SIZE, 210, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(PingIP, javax.swing.GroupLayout.PREFERRED_SIZE, 210, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(cmdSetPING, javax.swing.GroupLayout.PREFERRED_SIZE, 210, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) - ); - WiFiStationPaneLayout.setVerticalGroup( - WiFiStationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(WiFiStationPaneLayout.createSequentialGroup() - .addContainerGap() - .addGroup(WiFiStationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(cmdGetCWJAP, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(SSID, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(PASS, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(WiFiStationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(cmdSetCWQAP, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(cmdSetCWJAP, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(cmdGetCIPSTAMAC, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(MAC, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(cmdSetCIPSTAMAC, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(cmdGetCIPSTA, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(StationIP, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(cmdSetCIPSTA, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(PingIP, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(cmdSetPING, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE) - .addContainerGap(128, Short.MAX_VALUE)) - ); - - WiFiStationPaneLayout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {cmdGetCIPSTA, cmdGetCWJAP, cmdSetCIPSTA, cmdSetCWQAP}); - - WiFiStationPaneLayout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {MAC, StationIP, cmdGetCIPSTAMAC, cmdSetCIPSTAMAC, cmdSetCWJAP}); - - javax.swing.GroupLayout AT_StationLayout = new javax.swing.GroupLayout(AT_Station); - AT_Station.setLayout(AT_StationLayout); - AT_StationLayout.setHorizontalGroup( - AT_StationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(TopWiFiStaFiller, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(WiFiStationPane, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - ); - AT_StationLayout.setVerticalGroup( - AT_StationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, AT_StationLayout.createSequentialGroup() - .addComponent(TopWiFiStaFiller, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(WiFiStationPane, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) - ); - - TabAT.addTab("WiFi Station", null, AT_Station, "WiFi AT commands"); - AT_Station.getAccessibleContext().setAccessibleName(""); - AT_Station.getAccessibleContext().setAccessibleDescription("WiFi AT commands"); - - AT_SoftAP.addFocusListener(new java.awt.event.FocusAdapter() { - public void focusGained(java.awt.event.FocusEvent evt) { - AT_SoftAPFocusGained(evt); - } - }); - AT_SoftAP.addComponentListener(new java.awt.event.ComponentAdapter() { - public void componentShown(java.awt.event.ComponentEvent evt) { - AT_SoftAPComponentShown(evt); - } - }); - - WiFisoftAPPane.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createEtchedBorder(), "WiFi softAP")); - WiFisoftAPPane.setAlignmentX(0.0F); - WiFisoftAPPane.setAlignmentY(0.0F); - WiFisoftAPPane.setMaximumSize(new java.awt.Dimension(463, 291)); - WiFisoftAPPane.setMinimumSize(new java.awt.Dimension(463, 291)); - WiFisoftAPPane.setOpaque(true); - - cmdSetCWSAP.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N - cmdSetCWSAP.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/server1_start.png"))); // NOI18N - cmdSetCWSAP.setText("CWSAP= Set softAP config"); - cmdSetCWSAP.setToolTipText("Set configuraton of softAP mode"); - cmdSetCWSAP.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdSetCWSAP.setMaximumSize(new java.awt.Dimension(210, 23)); - cmdSetCWSAP.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdSetCWSAP.setPreferredSize(new java.awt.Dimension(210, 23)); - cmdSetCWSAP.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdSetCWSAPActionPerformed(evt); - } - }); - - cmdGetCWSAP.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N - cmdGetCWSAP.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/information.png"))); // NOI18N - cmdGetCWSAP.setText("AT+CWSAP? Get softAP config"); - cmdGetCWSAP.setToolTipText("Get configuraton of softAP mode"); - cmdGetCWSAP.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdGetCWSAP.setMaximumSize(new java.awt.Dimension(210, 23)); - cmdGetCWSAP.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdGetCWSAP.setPreferredSize(new java.awt.Dimension(210, 23)); - cmdGetCWSAP.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdGetCWSAPActionPerformed(evt); - } - }); - - cmdGetCIPAPMAC.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N - cmdGetCIPAPMAC.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/get.png"))); // NOI18N - cmdGetCIPAPMAC.setText("CIPAPMAC Get softAP MAC"); - cmdGetCIPAPMAC.setToolTipText("Get MAC address of ESP8266 softAP"); - cmdGetCIPAPMAC.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdGetCIPAPMAC.setMaximumSize(new java.awt.Dimension(210, 23)); - cmdGetCIPAPMAC.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdGetCIPAPMAC.setPreferredSize(new java.awt.Dimension(210, 23)); - cmdGetCIPAPMAC.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdGetCIPAPMACActionPerformed(evt); - } - }); - - cmdGetCWLIF.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N - cmdGetCWLIF.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/get.png"))); // NOI18N - cmdGetCWLIF.setText("CWLIF Get connected clients IP"); - cmdGetCWLIF.setToolTipText("Get IP adresses softAP clients"); - cmdGetCWLIF.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdGetCWLIF.setMaximumSize(new java.awt.Dimension(210, 23)); - cmdGetCWLIF.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdGetCWLIF.setPreferredSize(new java.awt.Dimension(210, 23)); - cmdGetCWLIF.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdGetCWLIFActionPerformed(evt); - } - }); - - SSIDsoftAP.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - SSIDsoftAP.setText("SSID"); - SSIDsoftAP.setToolTipText("Enter WiFi SSID"); - SSIDsoftAP.setMaximumSize(new java.awt.Dimension(100, 23)); - SSIDsoftAP.setMinimumSize(new java.awt.Dimension(100, 23)); - SSIDsoftAP.setPreferredSize(new java.awt.Dimension(100, 23)); - SSIDsoftAP.addFocusListener(new java.awt.event.FocusAdapter() { - public void focusGained(java.awt.event.FocusEvent evt) { - SSIDsoftAPFocusGained(evt); - } - }); - SSIDsoftAP.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - SSIDsoftAPActionPerformed(evt); - } - }); - - PASSsoftAP.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - PASSsoftAP.setText("password"); - PASSsoftAP.setToolTipText("Enter WiFi password"); - PASSsoftAP.setMaximumSize(new java.awt.Dimension(104, 23)); - PASSsoftAP.setMinimumSize(new java.awt.Dimension(104, 23)); - PASSsoftAP.setPreferredSize(new java.awt.Dimension(104, 23)); - PASSsoftAP.addFocusListener(new java.awt.event.FocusAdapter() { - public void focusGained(java.awt.event.FocusEvent evt) { - PASSsoftAPFocusGained(evt); - } - }); - PASSsoftAP.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - PASSsoftAPActionPerformed(evt); - } - }); - - cmdGetCIPAP.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N - cmdGetCIPAP.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/get.png"))); // NOI18N - cmdGetCIPAP.setToolTipText("Get IP address of ESP8266 softAP"); - cmdGetCIPAP.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdGetCIPAP.setMaximumSize(new java.awt.Dimension(210, 23)); - cmdGetCIPAP.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdGetCIPAP.setPreferredSize(new java.awt.Dimension(210, 23)); - cmdGetCIPAP.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdGetCIPAPActionPerformed(evt); - } - }); - - cmdSetCIPAPMAC.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N - cmdSetCIPAPMAC.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/set.png"))); // NOI18N - cmdSetCIPAPMAC.setToolTipText("Set softAP MAC address"); - cmdSetCIPAPMAC.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdSetCIPAPMAC.setMaximumSize(new java.awt.Dimension(210, 23)); - cmdSetCIPAPMAC.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdSetCIPAPMAC.setPreferredSize(new java.awt.Dimension(210, 23)); - cmdSetCIPAPMAC.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdSetCIPAPMACActionPerformed(evt); - } - }); - - try { - MAC1.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.MaskFormatter("AA:AA:AA:AA:AA:AA"))); - } catch (java.text.ParseException ex) { - ex.printStackTrace(); - } - MAC1.setText("FF:FF:FF:FF:FF:FF"); - MAC1.setToolTipText("Station MAC address"); - MAC1.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - MAC1.setMaximumSize(new java.awt.Dimension(2108, 23)); - MAC1.setMinimumSize(new java.awt.Dimension(2108, 23)); - MAC1.setPreferredSize(new java.awt.Dimension(2108, 23)); - - encryption.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N - encryption.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "0 - Open", "1 - WPA_PSK", "2 - WPA2_PSK", "3 - WPA_WPA2_PSK" })); - encryption.setSelectedIndex(2); - encryption.setToolTipText("Set encryption type softAP"); - encryption.setMaximumSize(new java.awt.Dimension(104, 23)); - encryption.setMinimumSize(new java.awt.Dimension(104, 23)); - encryption.setPreferredSize(new java.awt.Dimension(104, 23)); - - channel.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N - channel.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "channel 1", "channel 2", "channel 3", "channel 4", "channel 5", "channel 6", "channel 7", "channel 8", "channel 9", "channel 10", "channel 11", "channel 12", "channel 13" })); - channel.setToolTipText("Set channell ID softAP"); - channel.setAlignmentX(0.0F); - channel.setMaximumSize(new java.awt.Dimension(100, 23)); - channel.setMinimumSize(new java.awt.Dimension(100, 23)); - channel.setPreferredSize(new java.awt.Dimension(100, 23)); - - softAPIP.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - softAPIP.setText("192.168.4.1"); - softAPIP.setToolTipText(""); - softAPIP.setMaximumSize(new java.awt.Dimension(210, 23)); - softAPIP.setMinimumSize(new java.awt.Dimension(210, 23)); - softAPIP.setPreferredSize(new java.awt.Dimension(210, 23)); - - cmdSetCIPAP.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N - cmdSetCIPAP.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/set.png"))); // NOI18N - cmdSetCIPAP.setText("CIPAP= Set softAP IP"); - cmdSetCIPAP.setToolTipText("Set softAP IP address"); - cmdSetCIPAP.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdSetCIPAP.setMaximumSize(new java.awt.Dimension(210, 23)); - cmdSetCIPAP.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdSetCIPAP.setPreferredSize(new java.awt.Dimension(210, 23)); - cmdSetCIPAP.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdSetCIPAPActionPerformed(evt); - } - }); - - WiFisoftAPPane.setLayer(cmdSetCWSAP, javax.swing.JLayeredPane.DEFAULT_LAYER); - WiFisoftAPPane.setLayer(cmdGetCWSAP, javax.swing.JLayeredPane.DEFAULT_LAYER); - WiFisoftAPPane.setLayer(cmdGetCIPAPMAC, javax.swing.JLayeredPane.DEFAULT_LAYER); - WiFisoftAPPane.setLayer(cmdGetCWLIF, javax.swing.JLayeredPane.DEFAULT_LAYER); - WiFisoftAPPane.setLayer(SSIDsoftAP, javax.swing.JLayeredPane.DEFAULT_LAYER); - WiFisoftAPPane.setLayer(PASSsoftAP, javax.swing.JLayeredPane.DEFAULT_LAYER); - WiFisoftAPPane.setLayer(cmdGetCIPAP, javax.swing.JLayeredPane.DEFAULT_LAYER); - WiFisoftAPPane.setLayer(cmdSetCIPAPMAC, javax.swing.JLayeredPane.DEFAULT_LAYER); - WiFisoftAPPane.setLayer(MAC1, javax.swing.JLayeredPane.DEFAULT_LAYER); - WiFisoftAPPane.setLayer(encryption, javax.swing.JLayeredPane.DEFAULT_LAYER); - WiFisoftAPPane.setLayer(channel, javax.swing.JLayeredPane.DEFAULT_LAYER); - WiFisoftAPPane.setLayer(softAPIP, javax.swing.JLayeredPane.DEFAULT_LAYER); - WiFisoftAPPane.setLayer(cmdSetCIPAP, javax.swing.JLayeredPane.DEFAULT_LAYER); - - javax.swing.GroupLayout WiFisoftAPPaneLayout = new javax.swing.GroupLayout(WiFisoftAPPane); - WiFisoftAPPane.setLayout(WiFisoftAPPaneLayout); - WiFisoftAPPaneLayout.setHorizontalGroup( - WiFisoftAPPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(WiFisoftAPPaneLayout.createSequentialGroup() - .addContainerGap() - .addGroup(WiFisoftAPPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(WiFisoftAPPaneLayout.createSequentialGroup() - .addGroup(WiFisoftAPPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(MAC1, javax.swing.GroupLayout.PREFERRED_SIZE, 210, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(cmdSetCIPAPMAC, javax.swing.GroupLayout.PREFERRED_SIZE, 210, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(cmdGetCIPAP, javax.swing.GroupLayout.PREFERRED_SIZE, 210, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(cmdSetCIPAP, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addGap(0, 0, Short.MAX_VALUE)) - .addGroup(WiFisoftAPPaneLayout.createSequentialGroup() - .addGroup(WiFisoftAPPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) - .addGroup(WiFisoftAPPaneLayout.createSequentialGroup() - .addComponent(cmdGetCIPAPMAC, javax.swing.GroupLayout.PREFERRED_SIZE, 210, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(cmdSetCWSAP, javax.swing.GroupLayout.PREFERRED_SIZE, 1, Short.MAX_VALUE)) - .addGroup(WiFisoftAPPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(WiFisoftAPPaneLayout.createSequentialGroup() - .addGroup(WiFisoftAPPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(cmdGetCWSAP, javax.swing.GroupLayout.PREFERRED_SIZE, 210, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(cmdGetCWLIF, javax.swing.GroupLayout.PREFERRED_SIZE, 210, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addGroup(WiFisoftAPPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) - .addComponent(SSIDsoftAP, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(channel, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(WiFisoftAPPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) - .addComponent(PASSsoftAP, javax.swing.GroupLayout.PREFERRED_SIZE, 95, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(encryption, 0, 1, Short.MAX_VALUE))) - .addComponent(softAPIP, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))) - .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))) - ); - WiFisoftAPPaneLayout.setVerticalGroup( - WiFisoftAPPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(WiFisoftAPPaneLayout.createSequentialGroup() - .addContainerGap() - .addGroup(WiFisoftAPPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(SSIDsoftAP, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(PASSsoftAP, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(cmdGetCWSAP, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addGroup(WiFisoftAPPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(WiFisoftAPPaneLayout.createSequentialGroup() - .addGap(4, 4, 4) - .addGroup(WiFisoftAPPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(channel, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(encryption, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE))) - .addGroup(WiFisoftAPPaneLayout.createSequentialGroup() - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(cmdGetCWLIF, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE))) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(WiFisoftAPPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(cmdGetCIPAPMAC, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(cmdSetCWSAP, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(MAC1, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(cmdSetCIPAPMAC, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(cmdGetCIPAP, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(softAPIP, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(cmdSetCIPAP, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE) - .addContainerGap(246, Short.MAX_VALUE)) - ); - - TopWiFiAPFiller.setOpaque(true); - - AT_SoftAP.setLayer(WiFisoftAPPane, javax.swing.JLayeredPane.DEFAULT_LAYER); - AT_SoftAP.setLayer(TopWiFiAPFiller, javax.swing.JLayeredPane.DEFAULT_LAYER); - - javax.swing.GroupLayout AT_SoftAPLayout = new javax.swing.GroupLayout(AT_SoftAP); - AT_SoftAP.setLayout(AT_SoftAPLayout); - AT_SoftAPLayout.setHorizontalGroup( - AT_SoftAPLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(WiFisoftAPPane, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(TopWiFiAPFiller, javax.swing.GroupLayout.DEFAULT_SIZE, 463, Short.MAX_VALUE) - ); - AT_SoftAPLayout.setVerticalGroup( - AT_SoftAPLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, AT_SoftAPLayout.createSequentialGroup() - .addComponent(TopWiFiAPFiller, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(WiFisoftAPPane, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - ); - - TabAT.addTab("WiFi softAP", AT_SoftAP); - - AT_Client.setToolTipText("TCP/IP related commands"); - AT_Client.setAlignmentX(0.0F); - AT_Client.setAlignmentY(0.0F); - AT_Client.setOpaque(false); - AT_Client.addFocusListener(new java.awt.event.FocusAdapter() { - public void focusGained(java.awt.event.FocusEvent evt) { - AT_ClientFocusGained(evt); - } - }); - AT_Client.addComponentListener(new java.awt.event.ComponentAdapter() { - public void componentShown(java.awt.event.ComponentEvent evt) { - AT_ClientComponentShown(evt); - } - }); - - TopWiFiStaFiller1.setOpaque(true); - - common.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createEtchedBorder(), "Common parameters for commands", javax.swing.border.TitledBorder.CENTER, javax.swing.border.TitledBorder.DEFAULT_POSITION)); - common.setMaximumSize(new java.awt.Dimension(445, 54)); - common.setMinimumSize(new java.awt.Dimension(445, 54)); - common.setPreferredSize(new java.awt.Dimension(445, 54)); - - conn_id.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "0", "1", "2", "3", "4" })); - conn_id.setToolTipText("Connection ID"); - - MUXGroup.add(single); - single.setText("CIPMUX=0 - Single"); - single.setToolTipText("Single connection"); - single.addItemListener(new java.awt.event.ItemListener() { - public void itemStateChanged(java.awt.event.ItemEvent evt) { - singleItemStateChanged(evt); - } - }); - - MUXGroup.add(multi); - multi.setSelected(true); - multi.setText("CIPMUX=1 - Multiple"); - multi.setToolTipText("Multiple connection"); - multi.addItemListener(new java.awt.event.ItemListener() { - public void itemStateChanged(java.awt.event.ItemEvent evt) { - multiItemStateChanged(evt); - } - }); - multi.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - multiActionPerformed(evt); - } - }); - - jLabel4.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); - jLabel4.setText("Connection ID"); - - javax.swing.GroupLayout commonLayout = new javax.swing.GroupLayout(common); - common.setLayout(commonLayout); - commonLayout.setHorizontalGroup( - commonLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(commonLayout.createSequentialGroup() - .addGap(2, 2, 2) - .addComponent(jLabel4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(conn_id, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(multi) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(single, javax.swing.GroupLayout.PREFERRED_SIZE, 151, javax.swing.GroupLayout.PREFERRED_SIZE)) - ); - commonLayout.setVerticalGroup( - commonLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(commonLayout.createSequentialGroup() - .addGroup(commonLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(conn_id, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(multi) - .addComponent(single) - .addComponent(jLabel4)) - .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) - ); - - cmdGetCIPSTART.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/information.png"))); // NOI18N - cmdGetCIPSTART.setText("CIPSTART=? - Connection info"); - cmdGetCIPSTART.setToolTipText("Get the information of param"); - cmdGetCIPSTART.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdGetCIPSTARTActionPerformed(evt); - } - }); - - UDP.setBorder(javax.swing.BorderFactory.createTitledBorder("UDP only")); - UDP.addPropertyChangeListener(new java.beans.PropertyChangeListener() { - public void propertyChange(java.beans.PropertyChangeEvent evt) { - UDPPropertyChange(evt); - } - }); - - udp_local_port.setToolTipText("Local UDP port"); - udp_local_port.setEnabled(false); - - jLabel2.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); - jLabel2.setText("Local port"); - - udp_mode.setToolTipText("Local UDP port"); - udp_mode.setEnabled(false); - - jLabel3.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); - jLabel3.setText("mode"); - - UDP.setLayer(udp_local_port, javax.swing.JLayeredPane.DEFAULT_LAYER); - UDP.setLayer(jLabel2, javax.swing.JLayeredPane.DEFAULT_LAYER); - UDP.setLayer(udp_mode, javax.swing.JLayeredPane.DEFAULT_LAYER); - UDP.setLayer(jLabel3, javax.swing.JLayeredPane.DEFAULT_LAYER); - - javax.swing.GroupLayout UDPLayout = new javax.swing.GroupLayout(UDP); - UDP.setLayout(UDPLayout); - UDPLayout.setHorizontalGroup( - UDPLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(UDPLayout.createSequentialGroup() - .addGroup(UDPLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) - .addComponent(jLabel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(udp_local_port)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addGroup(UDPLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(udp_mode) - .addComponent(jLabel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) - .addGap(6, 6, 6)) - ); - UDPLayout.setVerticalGroup( - UDPLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(UDPLayout.createSequentialGroup() - .addGroup(UDPLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(jLabel2) - .addComponent(jLabel3)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addGroup(UDPLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(udp_local_port, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(udp_mode, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addContainerGap()) - ); - - remote_address.setText("192.168.1.1"); - remote_address.setToolTipText("Remote IP address"); - - remote_port.setText("80"); - remote_port.setToolTipText("Remote port"); - - protocol.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "TCP", "UDP" })); - protocol.setToolTipText("Connection type: TCP or UDP"); - protocol.addItemListener(new java.awt.event.ItemListener() { - public void itemStateChanged(java.awt.event.ItemEvent evt) { - protocolItemStateChanged(evt); - } - }); - - cmdSetCIPSTART.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/connect3.png"))); // NOI18N - cmdSetCIPSTART.setText("AT+CIPSTART= - Start connection"); - cmdSetCIPSTART.setToolTipText("Start a connection as client"); - cmdSetCIPSTART.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdSetCIPSTARTActionPerformed(evt); - } - }); - - data.setColumns(15); - data.setRows(5); - data.setTabSize(4); - data.setText("GET / HTTP/1.0\nHost: 192.168.1.1\nConnection: keep-alive\nAccept: */*\n\n"); - data.setToolTipText("Data to send to remote client"); - data.setCaretPosition(1); - jScrollData.setViewportView(data); - - cmdCIPSEND.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/level up.png"))); // NOI18N - cmdCIPSEND.setText("AT+CIPSEND= - Send data"); - cmdCIPSEND.setToolTipText("Send data to remote client"); - cmdCIPSEND.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdCIPSENDActionPerformed(evt); - } - }); - - cmdCIPSENDinteractive.setText("AT+CIPSEND - Interactive "); - cmdCIPSENDinteractive.setToolTipText("Send data to remote client in interactive mode. After all data sent, type \"+++\""); - cmdCIPSENDinteractive.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdCIPSENDinteractiveActionPerformed(evt); - } - }); - - cmdSetCIPCLOSE.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/disconnect3.png"))); // NOI18N - cmdSetCIPCLOSE.setText("AT+CIPCLOSE - Close connection"); - cmdSetCIPCLOSE.setToolTipText("Close current connection in Single mode and close connection in Multiple mode"); - cmdSetCIPCLOSE.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdSetCIPCLOSEActionPerformed(evt); - } - }); - - TCPclientBottomPane.setLayer(common, javax.swing.JLayeredPane.DEFAULT_LAYER); - TCPclientBottomPane.setLayer(cmdGetCIPSTART, javax.swing.JLayeredPane.DEFAULT_LAYER); - TCPclientBottomPane.setLayer(UDP, javax.swing.JLayeredPane.DEFAULT_LAYER); - TCPclientBottomPane.setLayer(remote_address, javax.swing.JLayeredPane.DEFAULT_LAYER); - TCPclientBottomPane.setLayer(remote_port, javax.swing.JLayeredPane.DEFAULT_LAYER); - TCPclientBottomPane.setLayer(protocol, javax.swing.JLayeredPane.DEFAULT_LAYER); - TCPclientBottomPane.setLayer(cmdSetCIPSTART, javax.swing.JLayeredPane.DEFAULT_LAYER); - TCPclientBottomPane.setLayer(jScrollData, javax.swing.JLayeredPane.DEFAULT_LAYER); - TCPclientBottomPane.setLayer(cmdCIPSEND, javax.swing.JLayeredPane.DEFAULT_LAYER); - TCPclientBottomPane.setLayer(cmdCIPSENDinteractive, javax.swing.JLayeredPane.DEFAULT_LAYER); - TCPclientBottomPane.setLayer(cmdSetCIPCLOSE, javax.swing.JLayeredPane.DEFAULT_LAYER); - - javax.swing.GroupLayout TCPclientBottomPaneLayout = new javax.swing.GroupLayout(TCPclientBottomPane); - TCPclientBottomPane.setLayout(TCPclientBottomPaneLayout); - TCPclientBottomPaneLayout.setHorizontalGroup( - TCPclientBottomPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(common, javax.swing.GroupLayout.DEFAULT_SIZE, 457, Short.MAX_VALUE) - .addGroup(TCPclientBottomPaneLayout.createSequentialGroup() - .addComponent(UDP, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(TCPclientBottomPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(TCPclientBottomPaneLayout.createSequentialGroup() - .addComponent(remote_address, javax.swing.GroupLayout.PREFERRED_SIZE, 97, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(remote_port, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(protocol, javax.swing.GroupLayout.PREFERRED_SIZE, 68, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addComponent(cmdSetCIPSTART)) - .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) - .addGroup(TCPclientBottomPaneLayout.createSequentialGroup() - .addComponent(jScrollData) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(TCPclientBottomPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(TCPclientBottomPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) - .addComponent(cmdCIPSEND, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(cmdCIPSENDinteractive, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(cmdSetCIPCLOSE, javax.swing.GroupLayout.DEFAULT_SIZE, 230, Short.MAX_VALUE)) - .addComponent(cmdGetCIPSTART, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 230, javax.swing.GroupLayout.PREFERRED_SIZE))) - ); - TCPclientBottomPaneLayout.setVerticalGroup( - TCPclientBottomPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, TCPclientBottomPaneLayout.createSequentialGroup() - .addComponent(common, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGroup(TCPclientBottomPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(TCPclientBottomPaneLayout.createSequentialGroup() - .addGap(18, 18, 18) - .addGroup(TCPclientBottomPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(remote_address, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(remote_port, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(protocol, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(cmdSetCIPSTART)) - .addGroup(TCPclientBottomPaneLayout.createSequentialGroup() - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(UDP, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(TCPclientBottomPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(TCPclientBottomPaneLayout.createSequentialGroup() - .addComponent(cmdGetCIPSTART) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(cmdCIPSEND) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(cmdCIPSENDinteractive) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(cmdSetCIPCLOSE) - .addContainerGap(258, Short.MAX_VALUE)) - .addComponent(jScrollData))) - ); - - javax.swing.GroupLayout AT_ClientLayout = new javax.swing.GroupLayout(AT_Client); - AT_Client.setLayout(AT_ClientLayout); - AT_ClientLayout.setHorizontalGroup( - AT_ClientLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(TCPclientBottomPane) - .addComponent(TopWiFiStaFiller1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - ); - AT_ClientLayout.setVerticalGroup( - AT_ClientLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(AT_ClientLayout.createSequentialGroup() - .addComponent(TopWiFiStaFiller1, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(TCPclientBottomPane)) - ); - - TabAT.addTab("TCP/IP client", AT_Client); - AT_Client.getAccessibleContext().setAccessibleName("AT_IP"); - AT_Client.getAccessibleContext().setAccessibleDescription(""); - - AT_Server.setOpaque(false); - AT_Server.addFocusListener(new java.awt.event.FocusAdapter() { - public void focusGained(java.awt.event.FocusEvent evt) { - AT_ServerFocusGained(evt); - } - }); - AT_Server.addComponentListener(new java.awt.event.ComponentAdapter() { - public void componentShown(java.awt.event.ComponentEvent evt) { - AT_ServerComponentShown(evt); - } - }); - - TCPServerTopFiller.setOpaque(true); - - TCPServerBottomPane.setBorder(javax.swing.BorderFactory.createEtchedBorder()); - TCPServerBottomPane.setMaximumSize(new java.awt.Dimension(463, 377)); - TCPServerBottomPane.setMinimumSize(new java.awt.Dimension(463, 377)); - TCPServerBottomPane.setOpaque(true); - - cmdGetCIPMODE.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N - cmdGetCIPMODE.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/information.png"))); // NOI18N - cmdGetCIPMODE.setText("CIPMODE? 0 - normal"); - cmdGetCIPMODE.setToolTipText("Get current transfer mode (0- normal, 1 -unvarnished)"); - cmdGetCIPMODE.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdGetCIPMODE.setMaximumSize(new java.awt.Dimension(120, 23)); - cmdGetCIPMODE.setMinimumSize(new java.awt.Dimension(120, 23)); - cmdGetCIPMODE.setPreferredSize(new java.awt.Dimension(120, 23)); - cmdGetCIPMODE.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdGetCIPMODEActionPerformed(evt); - } - }); - - cmdSetCIPMODE0.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N - cmdSetCIPMODE0.setText("CIPMODE=0"); - cmdSetCIPMODE0.setToolTipText("Set current transfer mode to 0 (normal mode)"); - cmdSetCIPMODE0.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdSetCIPMODE0.setMaximumSize(new java.awt.Dimension(120, 23)); - cmdSetCIPMODE0.setMinimumSize(new java.awt.Dimension(120, 23)); - cmdSetCIPMODE0.setPreferredSize(new java.awt.Dimension(120, 23)); - cmdSetCIPMODE0.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdSetCIPMODE0ActionPerformed(evt); - } - }); - - cmdSetCIPMODE1.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N - cmdSetCIPMODE1.setText("CIPMODE=1"); - cmdSetCIPMODE1.setToolTipText("Set current transfer mode to 1 (unvarnished mode)"); - cmdSetCIPMODE1.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdSetCIPMODE1.setMaximumSize(new java.awt.Dimension(120, 23)); - cmdSetCIPMODE1.setMinimumSize(new java.awt.Dimension(120, 23)); - cmdSetCIPMODE1.setPreferredSize(new java.awt.Dimension(120, 23)); - cmdSetCIPMODE1.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdSetCIPMODE1ActionPerformed(evt); - } - }); - - cmdSetCIPSERVER.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N - cmdSetCIPSERVER.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/web_server_start.png"))); // NOI18N - cmdSetCIPSERVER.setText("CIPSERVER Start/Stop"); - cmdSetCIPSERVER.setToolTipText("Set TCP server (Start and down)"); - cmdSetCIPSERVER.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdSetCIPSERVER.setMaximumSize(new java.awt.Dimension(120, 23)); - cmdSetCIPSERVER.setMinimumSize(new java.awt.Dimension(120, 23)); - cmdSetCIPSERVER.setPreferredSize(new java.awt.Dimension(120, 23)); - cmdSetCIPSERVER.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdSetCIPSERVERActionPerformed(evt); - } - }); - - ServerMode.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N - ServerMode.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "0 - Delete Server", "1 - Create Server" })); - ServerMode.setSelectedIndex(1); - ServerMode.setToolTipText("Select MODE for CIPSERVER command"); - ServerMode.setAlignmentX(0.0F); - ServerMode.setMaximumSize(new java.awt.Dimension(120, 23)); - ServerMode.setMinimumSize(new java.awt.Dimension(120, 23)); - ServerMode.setPreferredSize(new java.awt.Dimension(120, 23)); - ServerMode.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - ServerModeActionPerformed(evt); - } - }); - - jLabel5.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); - jLabel5.setText("port"); - - ServerPort.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - ServerPort.setText("80"); - ServerPort.setMaximumSize(new java.awt.Dimension(100, 23)); - ServerPort.setMinimumSize(new java.awt.Dimension(100, 23)); - ServerPort.setPreferredSize(new java.awt.Dimension(100, 23)); - - cmdGetCIPSTO.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N - cmdGetCIPSTO.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/get.png"))); // NOI18N - cmdGetCIPSTO.setText("CIPSTO?"); - cmdGetCIPSTO.setToolTipText("Get current server timeout"); - cmdGetCIPSTO.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdGetCIPSTO.setMaximumSize(new java.awt.Dimension(120, 23)); - cmdGetCIPSTO.setMinimumSize(new java.awt.Dimension(120, 23)); - cmdGetCIPSTO.setPreferredSize(new java.awt.Dimension(120, 23)); - cmdGetCIPSTO.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdGetCIPSTOActionPerformed(evt); - } - }); - - cmdSetCIPSTO.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N - cmdSetCIPSTO.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/set.png"))); // NOI18N - cmdSetCIPSTO.setText("CIPSTO="); - cmdSetCIPSTO.setToolTipText("Set current server timeout"); - cmdSetCIPSTO.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdSetCIPSTO.setMaximumSize(new java.awt.Dimension(120, 23)); - cmdSetCIPSTO.setMinimumSize(new java.awt.Dimension(120, 23)); - cmdSetCIPSTO.setPreferredSize(new java.awt.Dimension(120, 23)); - cmdSetCIPSTO.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdSetCIPSTOActionPerformed(evt); - } - }); - - ServerTimeout.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - ServerTimeout.setText("60"); - ServerTimeout.setToolTipText("Set server timeout "); - ServerTimeout.setMaximumSize(new java.awt.Dimension(120, 23)); - ServerTimeout.setMinimumSize(new java.awt.Dimension(120, 23)); - ServerTimeout.setPreferredSize(new java.awt.Dimension(120, 23)); - - jLabel6.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); - jLabel6.setText("Server timeout"); - - TCPServerBottomPane.setLayer(cmdGetCIPMODE, javax.swing.JLayeredPane.DEFAULT_LAYER); - TCPServerBottomPane.setLayer(cmdSetCIPMODE0, javax.swing.JLayeredPane.DEFAULT_LAYER); - TCPServerBottomPane.setLayer(cmdSetCIPMODE1, javax.swing.JLayeredPane.DEFAULT_LAYER); - TCPServerBottomPane.setLayer(cmdSetCIPSERVER, javax.swing.JLayeredPane.DEFAULT_LAYER); - TCPServerBottomPane.setLayer(ServerMode, javax.swing.JLayeredPane.DEFAULT_LAYER); - TCPServerBottomPane.setLayer(jLabel5, javax.swing.JLayeredPane.DEFAULT_LAYER); - TCPServerBottomPane.setLayer(ServerPort, javax.swing.JLayeredPane.DEFAULT_LAYER); - TCPServerBottomPane.setLayer(cmdGetCIPSTO, javax.swing.JLayeredPane.DEFAULT_LAYER); - TCPServerBottomPane.setLayer(cmdSetCIPSTO, javax.swing.JLayeredPane.DEFAULT_LAYER); - TCPServerBottomPane.setLayer(ServerTimeout, javax.swing.JLayeredPane.DEFAULT_LAYER); - TCPServerBottomPane.setLayer(jLabel6, javax.swing.JLayeredPane.DEFAULT_LAYER); - - javax.swing.GroupLayout TCPServerBottomPaneLayout = new javax.swing.GroupLayout(TCPServerBottomPane); - TCPServerBottomPane.setLayout(TCPServerBottomPaneLayout); - TCPServerBottomPaneLayout.setHorizontalGroup( - TCPServerBottomPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(TCPServerBottomPaneLayout.createSequentialGroup() - .addGroup(TCPServerBottomPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) - .addComponent(cmdSetCIPSERVER, javax.swing.GroupLayout.PREFERRED_SIZE, 210, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGroup(TCPServerBottomPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(TCPServerBottomPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) - .addComponent(ServerMode, javax.swing.GroupLayout.PREFERRED_SIZE, 210, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(cmdSetCIPSTO, javax.swing.GroupLayout.PREFERRED_SIZE, 210, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGroup(TCPServerBottomPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(TCPServerBottomPaneLayout.createSequentialGroup() - .addComponent(jLabel6, javax.swing.GroupLayout.PREFERRED_SIZE, 102, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(ServerTimeout, javax.swing.GroupLayout.PREFERRED_SIZE, 98, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addGroup(TCPServerBottomPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) - .addComponent(cmdSetCIPMODE1, javax.swing.GroupLayout.PREFERRED_SIZE, 210, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(cmdGetCIPSTO, javax.swing.GroupLayout.PREFERRED_SIZE, 210, javax.swing.GroupLayout.PREFERRED_SIZE))) - .addComponent(cmdGetCIPMODE, javax.swing.GroupLayout.PREFERRED_SIZE, 210, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(cmdSetCIPMODE0, javax.swing.GroupLayout.PREFERRED_SIZE, 210, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addGroup(TCPServerBottomPaneLayout.createSequentialGroup() - .addContainerGap() - .addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, 96, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(ServerPort, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))) - .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) - ); - TCPServerBottomPaneLayout.setVerticalGroup( - TCPServerBottomPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(TCPServerBottomPaneLayout.createSequentialGroup() - .addComponent(cmdGetCIPMODE, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(cmdSetCIPMODE0, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(cmdSetCIPMODE1, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(cmdGetCIPSTO, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addGroup(TCPServerBottomPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(ServerTimeout, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(jLabel6)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(cmdSetCIPSTO, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(ServerMode, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(TCPServerBottomPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(jLabel5) - .addComponent(ServerPort, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(cmdSetCIPSERVER, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(0, 304, Short.MAX_VALUE)) - ); - - javax.swing.GroupLayout AT_ServerLayout = new javax.swing.GroupLayout(AT_Server); - AT_Server.setLayout(AT_ServerLayout); - AT_ServerLayout.setHorizontalGroup( - AT_ServerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(TCPServerBottomPane, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(TCPServerTopFiller, javax.swing.GroupLayout.DEFAULT_SIZE, 463, Short.MAX_VALUE) - ); - AT_ServerLayout.setVerticalGroup( - AT_ServerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, AT_ServerLayout.createSequentialGroup() - .addComponent(TCPServerTopFiller, javax.swing.GroupLayout.PREFERRED_SIZE, 69, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(TCPServerBottomPane, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - ); - - TabAT.addTab("TCP/IP Server", AT_Server); - - ATvXX.add(TabAT, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 70, 440, 645)); - - TCP_common.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createEtchedBorder(), "Common TCP commands")); - TCP_common.setAlignmentX(0.0F); - TCP_common.setAlignmentY(0.0F); - TCP_common.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR)); - TCP_common.setMaximumSize(new java.awt.Dimension(445, 45)); - TCP_common.setMinimumSize(new java.awt.Dimension(445, 45)); - TCP_common.setOpaque(true); - TCP_common.setLayout(new java.awt.FlowLayout()); - - cmdGetCIPSTATUS.setText("CIPSTATUS"); - cmdGetCIPSTATUS.setToolTipText("Get information about connection ( 2 - got IP, 3 - Connected, 4 - Disconnected )"); - cmdGetCIPSTATUS.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdGetCIPSTATUSActionPerformed(evt); - } - }); - TCP_common.add(cmdGetCIPSTATUS); - - cmdGetCIPMUX.setText("CIPMUX?"); - cmdGetCIPMUX.setToolTipText("Get information about current mode: Single or Multiple connection allowed"); - cmdGetCIPMUX.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdGetCIPMUXActionPerformed(evt); - } - }); - TCP_common.add(cmdGetCIPMUX); - - cmdSetCIPMUX1.setText("CIPMUX=1"); - cmdSetCIPMUX1.setToolTipText("Set mode for Multiple connections allowed"); - cmdSetCIPMUX1.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdSetCIPMUX1ActionPerformed(evt); - } - }); - TCP_common.add(cmdSetCIPMUX1); - - cmdSetCIPMUX0.setText("CIPMUX=0"); - cmdSetCIPMUX0.setToolTipText("Set mode for Single only connection allowed"); - cmdSetCIPMUX0.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdSetCIPMUX0ActionPerformed(evt); - } - }); - TCP_common.add(cmdSetCIPMUX0); - - cmdGetCIFSR.setText("CIFSR"); - cmdGetCIFSR.setToolTipText("Get local IP address (softAP or Station)"); - cmdGetCIFSR.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdGetCIFSRActionPerformed(evt); - } - }); - TCP_common.add(cmdGetCIFSR); - - ATvXX.setLayer(TCP_common, javax.swing.JLayeredPane.PALETTE_LAYER); - ATvXX.add(TCP_common, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 100, 540, 60)); - - WiFi_common.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createEtchedBorder(), "Common WiFi commands")); - WiFi_common.setAlignmentX(0.0F); - WiFi_common.setAlignmentY(0.0F); - WiFi_common.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR)); - WiFi_common.setName(""); // NOI18N - WiFi_common.setOpaque(true); - WiFi_common.setPreferredSize(new java.awt.Dimension(445, 110)); - WiFi_common.setLayout(new java.awt.FlowLayout()); - - cmdGetHelpCWMODE.setText("CWMODE=? - Get available modes"); - cmdGetHelpCWMODE.setToolTipText("Get value scope of WiFi mode (CommandWifiMODE)"); - cmdGetHelpCWMODE.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdGetHelpCWMODE.setMaximumSize(new java.awt.Dimension(210, 23)); - cmdGetHelpCWMODE.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdGetHelpCWMODE.setPreferredSize(new java.awt.Dimension(210, 23)); - - binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, cmdGetHelpCWMODE, org.jdesktop.beansbinding.ELProperty.create("${font}"), cmdGetHelpCWMODE, org.jdesktop.beansbinding.BeanProperty.create("font")); - bindingGroup.addBinding(binding); - - cmdGetHelpCWMODE.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdGetHelpCWMODEActionPerformed(evt); - } - }); - WiFi_common.add(cmdGetHelpCWMODE); - - cmdSetCWMODE1.setText("CWMODE=1 Station"); - cmdSetCWMODE1.setToolTipText("Set ESP8266 WiFi mode 1 - Station"); - cmdSetCWMODE1.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdSetCWMODE1.setMaximumSize(new java.awt.Dimension(210, 23)); - cmdSetCWMODE1.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdSetCWMODE1.setPreferredSize(new java.awt.Dimension(210, 23)); - - binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, cmdGetHelpCWMODE, org.jdesktop.beansbinding.ELProperty.create("${font}"), cmdSetCWMODE1, org.jdesktop.beansbinding.BeanProperty.create("font")); - bindingGroup.addBinding(binding); - - cmdSetCWMODE1.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdSetCWMODE1ActionPerformed(evt); - } - }); - WiFi_common.add(cmdSetCWMODE1); - - cmdGetCWMODE.setText("CWMODE? - Get current mode"); - cmdGetCWMODE.setToolTipText("Query ESP8266’s current WiFi mode. (CommandWifiMODE)"); - cmdGetCWMODE.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdGetCWMODE.setMaximumSize(new java.awt.Dimension(210, 23)); - cmdGetCWMODE.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdGetCWMODE.setPreferredSize(new java.awt.Dimension(210, 23)); - - binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, cmdGetHelpCWMODE, org.jdesktop.beansbinding.ELProperty.create("${font}"), cmdGetCWMODE, org.jdesktop.beansbinding.BeanProperty.create("font")); - bindingGroup.addBinding(binding); - - cmdGetCWMODE.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdGetCWMODEActionPerformed(evt); - } - }); - WiFi_common.add(cmdGetCWMODE); - - cmdSetCWMODE2.setText("CWMODE=2 softAP"); - cmdSetCWMODE2.setToolTipText("Set ESP8266 WiFi mode 2 - Soft Access Point mode"); - cmdSetCWMODE2.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdSetCWMODE2.setMaximumSize(new java.awt.Dimension(210, 23)); - cmdSetCWMODE2.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdSetCWMODE2.setPreferredSize(new java.awt.Dimension(210, 23)); - - binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, cmdGetHelpCWMODE, org.jdesktop.beansbinding.ELProperty.create("${font}"), cmdSetCWMODE2, org.jdesktop.beansbinding.BeanProperty.create("font")); - bindingGroup.addBinding(binding); - - cmdSetCWMODE2.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdSetCWMODE2ActionPerformed(evt); - } - }); - WiFi_common.add(cmdSetCWMODE2); - - cmdSetCWLAP.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/search again.png"))); // NOI18N - cmdSetCWLAP.setText("CWLAP - Get AP list"); - cmdSetCWLAP.setToolTipText("Lists all available WiFi Access Points"); - cmdSetCWLAP.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdSetCWLAP.setMaximumSize(new java.awt.Dimension(210, 23)); - cmdSetCWLAP.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdSetCWLAP.setPreferredSize(new java.awt.Dimension(210, 23)); - - binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, cmdGetHelpCWMODE, org.jdesktop.beansbinding.ELProperty.create("${font}"), cmdSetCWLAP, org.jdesktop.beansbinding.BeanProperty.create("font")); - bindingGroup.addBinding(binding); - - cmdSetCWLAP.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdSetCWLAPActionPerformed(evt); - } - }); - WiFi_common.add(cmdSetCWLAP); - - cmdSetCWMODE3.setText("CWMODE=3 softAP + Station"); - cmdSetCWMODE3.setToolTipText("Set ESP8266 WiFi mode 3 - Soft Access Point mode + Station"); - cmdSetCWMODE3.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdSetCWMODE3.setMaximumSize(new java.awt.Dimension(210, 23)); - cmdSetCWMODE3.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdSetCWMODE3.setPreferredSize(new java.awt.Dimension(210, 23)); - - binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, cmdGetHelpCWMODE, org.jdesktop.beansbinding.ELProperty.create("${font}"), cmdSetCWMODE3, org.jdesktop.beansbinding.BeanProperty.create("font")); - bindingGroup.addBinding(binding); - - cmdSetCWMODE3.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdSetCWMODE3ActionPerformed(evt); - } - }); - WiFi_common.add(cmdSetCWMODE3); - - DHCP.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "0 - Enable DHCP", "1 - Disable DHCP" })); - DHCP.setMaximumSize(new java.awt.Dimension(114, 23)); - DHCP.setMinimumSize(new java.awt.Dimension(114, 23)); - DHCP.setPreferredSize(new java.awt.Dimension(114, 23)); - WiFi_common.add(DHCP); - - DHCPmode.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "0 - Set softAP", "1 - Set Station", "2 - Set both AP&Sta" })); - DHCPmode.setSelectedIndex(1); - DHCPmode.setMaximumSize(new java.awt.Dimension(90, 23)); - DHCPmode.setMinimumSize(new java.awt.Dimension(90, 23)); - DHCPmode.setPreferredSize(new java.awt.Dimension(90, 23)); - WiFi_common.add(DHCPmode); - - cmdSetCWDHCP.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N - cmdSetCWDHCP.setText("AT+CWDHCP DHCP control"); - cmdSetCWDHCP.setToolTipText("Enable/Disable DHCP"); - cmdSetCWDHCP.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdSetCWDHCP.setMaximumSize(new java.awt.Dimension(210, 23)); - cmdSetCWDHCP.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdSetCWDHCP.setPreferredSize(new java.awt.Dimension(210, 23)); - cmdSetCWDHCP.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdSetCWDHCPActionPerformed(evt); - } - }); - WiFi_common.add(cmdSetCWDHCP); - - ATvXX.setLayer(WiFi_common, javax.swing.JLayeredPane.PALETTE_LAYER); - ATvXX.add(WiFi_common, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 100, 540, 140)); - - LeftTab.addTab(" AT-based ", ATvXX); - - RN2483.setOpaque(true); - - MacPane.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); - - LoRaMAC.setOpaque(true); - LoRaMAC.setPreferredSize(new java.awt.Dimension(729, 600)); - - MacCommon.setBorder(javax.swing.BorderFactory.createTitledBorder("Parameters")); - - cmdMacSetAdrOn.setText("mac set adr on"); - cmdMacSetAdrOn.setToolTipText("sys reset"); - cmdMacSetAdrOn.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdMacSetAdrOn.setMaximumSize(new java.awt.Dimension(210, 23)); - cmdMacSetAdrOn.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdMacSetAdrOn.setPreferredSize(new java.awt.Dimension(210, 23)); - cmdMacSetAdrOn.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdMacSetAdrOnActionPerformed(evt); - } - }); - - cmdMacSetDR.setText("mac set dr (Data Rate)"); - cmdMacSetDR.setToolTipText("sys reset"); - cmdMacSetDR.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdMacSetDR.setMaximumSize(new java.awt.Dimension(210, 23)); - cmdMacSetDR.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdMacSetDR.setPreferredSize(new java.awt.Dimension(210, 23)); - cmdMacSetDR.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdMacSetDRActionPerformed(evt); - } - }); - - cmdMacSetPwrIdx.setText("mac set pwridx (Power)"); - cmdMacSetPwrIdx.setToolTipText("sys reset"); - cmdMacSetPwrIdx.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdMacSetPwrIdx.setMaximumSize(new java.awt.Dimension(210, 23)); - cmdMacSetPwrIdx.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdMacSetPwrIdx.setPreferredSize(new java.awt.Dimension(210, 23)); - cmdMacSetPwrIdx.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdMacSetPwrIdxActionPerformed(evt); - } - }); - - cmdMacGetStatus.setText("mac get status"); - cmdMacGetStatus.setToolTipText("sys reset"); - cmdMacGetStatus.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdMacGetStatus.setMaximumSize(new java.awt.Dimension(210, 23)); - cmdMacGetStatus.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdMacGetStatus.setPreferredSize(new java.awt.Dimension(210, 23)); - cmdMacGetStatus.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdMacGetStatusActionPerformed(evt); - } - }); - - cmdMacSetAdrOff.setText("mac set adr off"); - cmdMacSetAdrOff.setToolTipText("sys reset"); - cmdMacSetAdrOff.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdMacSetAdrOff.setMaximumSize(new java.awt.Dimension(210, 23)); - cmdMacSetAdrOff.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdMacSetAdrOff.setPreferredSize(new java.awt.Dimension(210, 23)); - cmdMacSetAdrOff.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdMacSetAdrOffActionPerformed(evt); - } - }); - - cmdMacGetAdr.setText("mac get adr"); - cmdMacGetAdr.setToolTipText("sys reset"); - cmdMacGetAdr.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdMacGetAdr.setMaximumSize(new java.awt.Dimension(210, 23)); - cmdMacGetAdr.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdMacGetAdr.setPreferredSize(new java.awt.Dimension(210, 23)); - cmdMacGetAdr.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdMacGetAdrActionPerformed(evt); - } - }); - - MacDR.setText("5"); - MacDR.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MacDRActionPerformed(evt); - } - }); - - MacPower.setText("1"); - MacPower.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MacPowerActionPerformed(evt); - } - }); - - cmdMacGetDR.setText("mac get dr"); - cmdMacGetDR.setToolTipText("sys reset"); - cmdMacGetDR.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdMacGetDR.setMaximumSize(new java.awt.Dimension(210, 23)); - cmdMacGetDR.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdMacGetDR.setPreferredSize(new java.awt.Dimension(210, 23)); - cmdMacGetDR.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdMacGetDRActionPerformed(evt); - } - }); - - cmdMacGetPwrIdx.setText("mac get pwridx"); - cmdMacGetPwrIdx.setToolTipText("sys reset"); - cmdMacGetPwrIdx.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdMacGetPwrIdx.setMaximumSize(new java.awt.Dimension(210, 23)); - cmdMacGetPwrIdx.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdMacGetPwrIdx.setPreferredSize(new java.awt.Dimension(210, 23)); - cmdMacGetPwrIdx.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdMacGetPwrIdxActionPerformed(evt); - } - }); - - MacCommon.setLayer(cmdMacSetAdrOn, javax.swing.JLayeredPane.DEFAULT_LAYER); - MacCommon.setLayer(cmdMacSetDR, javax.swing.JLayeredPane.DEFAULT_LAYER); - MacCommon.setLayer(cmdMacSetPwrIdx, javax.swing.JLayeredPane.DEFAULT_LAYER); - MacCommon.setLayer(cmdMacGetStatus, javax.swing.JLayeredPane.DEFAULT_LAYER); - MacCommon.setLayer(cmdMacSetAdrOff, javax.swing.JLayeredPane.DEFAULT_LAYER); - MacCommon.setLayer(cmdMacGetAdr, javax.swing.JLayeredPane.DEFAULT_LAYER); - MacCommon.setLayer(MacDR, javax.swing.JLayeredPane.DEFAULT_LAYER); - MacCommon.setLayer(MacPower, javax.swing.JLayeredPane.DEFAULT_LAYER); - MacCommon.setLayer(cmdMacGetDR, javax.swing.JLayeredPane.DEFAULT_LAYER); - MacCommon.setLayer(cmdMacGetPwrIdx, javax.swing.JLayeredPane.DEFAULT_LAYER); - - javax.swing.GroupLayout MacCommonLayout = new javax.swing.GroupLayout(MacCommon); - MacCommon.setLayout(MacCommonLayout); - MacCommonLayout.setHorizontalGroup( - MacCommonLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(MacCommonLayout.createSequentialGroup() - .addGroup(MacCommonLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) - .addComponent(cmdMacGetStatus, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 180, Short.MAX_VALUE) - .addComponent(cmdMacSetPwrIdx, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 1, Short.MAX_VALUE) - .addComponent(cmdMacSetDR, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 1, Short.MAX_VALUE) - .addComponent(cmdMacSetAdrOn, javax.swing.GroupLayout.PREFERRED_SIZE, 1, Short.MAX_VALUE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(MacCommonLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) - .addComponent(cmdMacSetAdrOff, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(MacDR) - .addComponent(MacPower)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(MacCommonLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(MacCommonLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) - .addComponent(cmdMacGetDR, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(cmdMacGetAdr, javax.swing.GroupLayout.PREFERRED_SIZE, 1, Short.MAX_VALUE)) - .addComponent(cmdMacGetPwrIdx, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) - ); - MacCommonLayout.setVerticalGroup( - MacCommonLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(MacCommonLayout.createSequentialGroup() - .addGroup(MacCommonLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(cmdMacSetAdrOn, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(cmdMacSetAdrOff, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(cmdMacGetAdr, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(MacCommonLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(cmdMacSetDR, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(MacDR, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(cmdMacGetDR, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(MacCommonLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(cmdMacSetPwrIdx, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(MacPower, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(cmdMacGetPwrIdx, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(cmdMacGetStatus, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - ); - - SendUnconfirmed.setBorder(javax.swing.BorderFactory.createTitledBorder("Send Data")); - - cmdMacTX.setText("Transmit data"); - cmdMacTX.setToolTipText("sys reset"); - cmdMacTX.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdMacTX.setMaximumSize(new java.awt.Dimension(210, 23)); - cmdMacTX.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdMacTX.setPreferredSize(new java.awt.Dimension(210, 23)); - cmdMacTX.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdMacTXActionPerformed(evt); - } - }); - - MacTxPort.setText("16"); - - MacTxData.setText("48454c4c4f"); - - TxConfirmed.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "uncnf", "cnf", " " })); - TxConfirmed.addItemListener(new java.awt.event.ItemListener() { - public void itemStateChanged(java.awt.event.ItemEvent evt) { - TxConfirmedItemStateChanged(evt); - } - }); - TxConfirmed.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - TxConfirmedActionPerformed(evt); - } - }); - - jLabel13.setText("default: HELLO"); - - SendUnconfirmed.setLayer(cmdMacTX, javax.swing.JLayeredPane.DEFAULT_LAYER); - SendUnconfirmed.setLayer(MacTxPort, javax.swing.JLayeredPane.DEFAULT_LAYER); - SendUnconfirmed.setLayer(MacTxData, javax.swing.JLayeredPane.DEFAULT_LAYER); - SendUnconfirmed.setLayer(TxConfirmed, javax.swing.JLayeredPane.DEFAULT_LAYER); - SendUnconfirmed.setLayer(jLabel13, javax.swing.JLayeredPane.DEFAULT_LAYER); - - javax.swing.GroupLayout SendUnconfirmedLayout = new javax.swing.GroupLayout(SendUnconfirmed); - SendUnconfirmed.setLayout(SendUnconfirmedLayout); - SendUnconfirmedLayout.setHorizontalGroup( - SendUnconfirmedLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(SendUnconfirmedLayout.createSequentialGroup() - .addComponent(cmdMacTX, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(TxConfirmed, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(MacTxPort, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(SendUnconfirmedLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(jLabel13, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(MacTxData)) - .addContainerGap()) - ); - SendUnconfirmedLayout.setVerticalGroup( - SendUnconfirmedLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(SendUnconfirmedLayout.createSequentialGroup() - .addComponent(jLabel13) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addGroup(SendUnconfirmedLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(MacTxData, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(MacTxPort, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))) - .addGroup(SendUnconfirmedLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(cmdMacTX, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(TxConfirmed, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)) - ); - - RadioPane.setBorder(javax.swing.BorderFactory.createTitledBorder("Radio")); - - MacSF.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "sf7", "sf8", "sf9", "sf10", "sf11", "sf12", " " })); - MacSF.addItemListener(new java.awt.event.ItemListener() { - public void itemStateChanged(java.awt.event.ItemEvent evt) { - MacSFItemStateChanged(evt); - } - }); - MacSF.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MacSFActionPerformed(evt); - } - }); - - jLabel11.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); - jLabel11.setText("Spread Factor"); - - RadioRxBandWidth.setText("25"); - - RadioFreq.setText("868100000"); - - cmdRadiosetRxBw.setText(" set rx band widh"); - cmdRadiosetRxBw.setToolTipText("sys reset"); - cmdRadiosetRxBw.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdRadiosetRxBw.setMaximumSize(new java.awt.Dimension(210, 23)); - cmdRadiosetRxBw.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdRadiosetRxBw.setPreferredSize(new java.awt.Dimension(210, 23)); - cmdRadiosetRxBw.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdRadiosetRxBwActionPerformed(evt); - } - }); - - cmdRadioSetFreq.setText("radio set freq"); - cmdRadioSetFreq.setToolTipText("sys reset"); - cmdRadioSetFreq.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdRadioSetFreq.setMaximumSize(new java.awt.Dimension(210, 23)); - cmdRadioSetFreq.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdRadioSetFreq.setPreferredSize(new java.awt.Dimension(210, 23)); - cmdRadioSetFreq.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdRadioSetFreqActionPerformed(evt); - } - }); - - cmdRadioGetSF.setText("radio get sf"); - cmdRadioGetSF.setToolTipText("sys reset"); - cmdRadioGetSF.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdRadioGetSF.setMaximumSize(new java.awt.Dimension(210, 23)); - cmdRadioGetSF.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdRadioGetSF.setPreferredSize(new java.awt.Dimension(210, 23)); - cmdRadioGetSF.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdRadioGetSFActionPerformed(evt); - } - }); - - cmdRadioGetBw.setText("radio get bw"); - cmdRadioGetBw.setToolTipText("sys reset"); - cmdRadioGetBw.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdRadioGetBw.setMaximumSize(new java.awt.Dimension(210, 23)); - cmdRadioGetBw.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdRadioGetBw.setPreferredSize(new java.awt.Dimension(210, 23)); - cmdRadioGetBw.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdRadioGetBwActionPerformed(evt); - } - }); - - cmdRadioGetRxBw.setText("radio get rxbw"); - cmdRadioGetRxBw.setToolTipText("sys reset"); - cmdRadioGetRxBw.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdRadioGetRxBw.setMaximumSize(new java.awt.Dimension(210, 23)); - cmdRadioGetRxBw.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdRadioGetRxBw.setPreferredSize(new java.awt.Dimension(210, 23)); - cmdRadioGetRxBw.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdRadioGetRxBwActionPerformed(evt); - } - }); - - cmdRadioGetFreq.setText("radio get freq"); - cmdRadioGetFreq.setToolTipText("sys reset"); - cmdRadioGetFreq.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdRadioGetFreq.setMaximumSize(new java.awt.Dimension(210, 23)); - cmdRadioGetFreq.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdRadioGetFreq.setPreferredSize(new java.awt.Dimension(210, 23)); - cmdRadioGetFreq.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdRadioGetFreqActionPerformed(evt); - } - }); - - MacBandWidth.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "125", "250", "500", " " })); - MacBandWidth.addItemListener(new java.awt.event.ItemListener() { - public void itemStateChanged(java.awt.event.ItemEvent evt) { - MacBandWidthItemStateChanged(evt); - } - }); - MacBandWidth.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MacBandWidthActionPerformed(evt); - } - }); - - jLabel12.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); - jLabel12.setText("Band Width"); - - RadioPane.setLayer(MacSF, javax.swing.JLayeredPane.DEFAULT_LAYER); - RadioPane.setLayer(jLabel11, javax.swing.JLayeredPane.DEFAULT_LAYER); - RadioPane.setLayer(RadioRxBandWidth, javax.swing.JLayeredPane.DEFAULT_LAYER); - RadioPane.setLayer(RadioFreq, javax.swing.JLayeredPane.DEFAULT_LAYER); - RadioPane.setLayer(cmdRadiosetRxBw, javax.swing.JLayeredPane.DEFAULT_LAYER); - RadioPane.setLayer(cmdRadioSetFreq, javax.swing.JLayeredPane.DEFAULT_LAYER); - RadioPane.setLayer(cmdRadioGetSF, javax.swing.JLayeredPane.DEFAULT_LAYER); - RadioPane.setLayer(cmdRadioGetBw, javax.swing.JLayeredPane.DEFAULT_LAYER); - RadioPane.setLayer(cmdRadioGetRxBw, javax.swing.JLayeredPane.DEFAULT_LAYER); - RadioPane.setLayer(cmdRadioGetFreq, javax.swing.JLayeredPane.DEFAULT_LAYER); - RadioPane.setLayer(MacBandWidth, javax.swing.JLayeredPane.DEFAULT_LAYER); - RadioPane.setLayer(jLabel12, javax.swing.JLayeredPane.DEFAULT_LAYER); - - javax.swing.GroupLayout RadioPaneLayout = new javax.swing.GroupLayout(RadioPane); - RadioPane.setLayout(RadioPaneLayout); - RadioPaneLayout.setHorizontalGroup( - RadioPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(RadioPaneLayout.createSequentialGroup() - .addGroup(RadioPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(RadioPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) - .addComponent(jLabel11, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(cmdRadiosetRxBw, javax.swing.GroupLayout.PREFERRED_SIZE, 180, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(cmdRadioSetFreq, javax.swing.GroupLayout.PREFERRED_SIZE, 180, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addComponent(jLabel12, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(RadioPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) - .addComponent(MacSF, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(RadioRxBandWidth) - .addComponent(RadioFreq, javax.swing.GroupLayout.DEFAULT_SIZE, 100, Short.MAX_VALUE) - .addComponent(MacBandWidth, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(RadioPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(cmdRadioGetSF, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE) - .addComponent(cmdRadioGetBw, javax.swing.GroupLayout.PREFERRED_SIZE, 1, Short.MAX_VALUE) - .addComponent(cmdRadioGetRxBw, javax.swing.GroupLayout.PREFERRED_SIZE, 1, Short.MAX_VALUE) - .addComponent(cmdRadioGetFreq, javax.swing.GroupLayout.PREFERRED_SIZE, 1, Short.MAX_VALUE)) - .addGap(92, 92, 92)) - ); - RadioPaneLayout.setVerticalGroup( - RadioPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(RadioPaneLayout.createSequentialGroup() - .addGroup(RadioPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(RadioPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(jLabel11) - .addComponent(MacSF, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addComponent(cmdRadioGetSF, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(RadioPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(cmdRadioGetBw, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(MacBandWidth, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(jLabel12)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(RadioPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(cmdRadiosetRxBw, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(RadioRxBandWidth, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(cmdRadioGetRxBw, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(RadioPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(cmdRadioSetFreq, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(RadioFreq, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(cmdRadioGetFreq, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))) - ); - - jLayeredPane1.setBorder(javax.swing.BorderFactory.createTitledBorder("System")); - - cmdSysReset.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N - cmdSysReset.setText("sys reset"); - cmdSysReset.setToolTipText("sys reset"); - cmdSysReset.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdSysReset.setMaximumSize(new java.awt.Dimension(210, 30)); - cmdSysReset.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdSysReset.setPreferredSize(new java.awt.Dimension(210, 40)); - cmdSysReset.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdSysResetActionPerformed(evt); - } - }); - - cmdSysFactoryReset.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N - cmdSysFactoryReset.setText("sys factoryRESET"); - cmdSysFactoryReset.setToolTipText(""); - cmdSysFactoryReset.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdSysFactoryReset.setMaximumSize(new java.awt.Dimension(210, 30)); - cmdSysFactoryReset.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdSysFactoryReset.setPreferredSize(new java.awt.Dimension(210, 40)); - cmdSysFactoryReset.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdSysFactoryResetActionPerformed(evt); - } - }); - - cmdSysGetVer.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N - cmdSysGetVer.setText("sys get ver"); - cmdSysGetVer.setToolTipText(""); - cmdSysGetVer.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdSysGetVer.setMaximumSize(new java.awt.Dimension(210, 30)); - cmdSysGetVer.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdSysGetVer.setPreferredSize(new java.awt.Dimension(210, 40)); - cmdSysGetVer.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdSysGetVerActionPerformed(evt); - } - }); - - cmdSysGetHwEui.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N - cmdSysGetHwEui.setText("sys get hweui"); - cmdSysGetHwEui.setToolTipText(""); - cmdSysGetHwEui.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdSysGetHwEui.setMaximumSize(new java.awt.Dimension(210, 30)); - cmdSysGetHwEui.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdSysGetHwEui.setPreferredSize(new java.awt.Dimension(210, 40)); - cmdSysGetHwEui.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdSysGetHwEuiActionPerformed(evt); - } - }); - - jLayeredPane1.setLayer(cmdSysReset, javax.swing.JLayeredPane.DEFAULT_LAYER); - jLayeredPane1.setLayer(cmdSysFactoryReset, javax.swing.JLayeredPane.DEFAULT_LAYER); - jLayeredPane1.setLayer(cmdSysGetVer, javax.swing.JLayeredPane.DEFAULT_LAYER); - jLayeredPane1.setLayer(cmdSysGetHwEui, javax.swing.JLayeredPane.DEFAULT_LAYER); - - javax.swing.GroupLayout jLayeredPane1Layout = new javax.swing.GroupLayout(jLayeredPane1); - jLayeredPane1.setLayout(jLayeredPane1Layout); - jLayeredPane1Layout.setHorizontalGroup( - jLayeredPane1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(jLayeredPane1Layout.createSequentialGroup() - .addComponent(cmdSysReset, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(cmdSysFactoryReset, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(cmdSysGetVer, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(cmdSysGetHwEui, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE) - .addContainerGap(20, Short.MAX_VALUE)) - ); - jLayeredPane1Layout.setVerticalGroup( - jLayeredPane1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(jLayeredPane1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(cmdSysReset, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(cmdSysGetVer, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(cmdSysFactoryReset, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(cmdSysGetHwEui, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - ); - - LoRaMAC.setLayer(MacCommon, javax.swing.JLayeredPane.DEFAULT_LAYER); - LoRaMAC.setLayer(SendUnconfirmed, javax.swing.JLayeredPane.DEFAULT_LAYER); - LoRaMAC.setLayer(RadioPane, javax.swing.JLayeredPane.DEFAULT_LAYER); - LoRaMAC.setLayer(jLayeredPane1, javax.swing.JLayeredPane.DEFAULT_LAYER); - - javax.swing.GroupLayout LoRaMACLayout = new javax.swing.GroupLayout(LoRaMAC); - LoRaMAC.setLayout(LoRaMACLayout); - LoRaMACLayout.setHorizontalGroup( - LoRaMACLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(LoRaMACLayout.createSequentialGroup() - .addGroup(LoRaMACLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(MacCommon) - .addComponent(RadioPane) - .addComponent(SendUnconfirmed) - .addComponent(jLayeredPane1)) - .addGap(199, 199, 199)) - ); - LoRaMACLayout.setVerticalGroup( - LoRaMACLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(LoRaMACLayout.createSequentialGroup() - .addComponent(MacCommon, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(RadioPane, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(SendUnconfirmed, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(jLayeredPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(0, 204, Short.MAX_VALUE)) - ); - - MacPane.setViewportView(LoRaMAC); - - RN2483jTab.addTab(" MAC & Radio", MacPane); - - ActivationPane.setPreferredSize(new java.awt.Dimension(537, 600)); - - ABPPane.setBorder(javax.swing.BorderFactory.createTitledBorder("Activation By Personalization")); - - cmdMacSetDevAddr.setText("mac set devaddr"); - cmdMacSetDevAddr.setToolTipText("sys reset"); - cmdMacSetDevAddr.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdMacSetDevAddr.setMaximumSize(new java.awt.Dimension(210, 23)); - cmdMacSetDevAddr.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdMacSetDevAddr.setPreferredSize(new java.awt.Dimension(210, 23)); - cmdMacSetDevAddr.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdMacSetDevAddrActionPerformed(evt); - } - }); - - cmdMacSetNwkSKey.setText("mac set nwkskey"); - cmdMacSetNwkSKey.setToolTipText("sys reset"); - cmdMacSetNwkSKey.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdMacSetNwkSKey.setMaximumSize(new java.awt.Dimension(210, 23)); - cmdMacSetNwkSKey.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdMacSetNwkSKey.setPreferredSize(new java.awt.Dimension(210, 23)); - cmdMacSetNwkSKey.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdMacSetNwkSKeyActionPerformed(evt); - } - }); - - cmdMacSetAppSKey.setText("mac set appskey"); - cmdMacSetAppSKey.setToolTipText("sys reset"); - cmdMacSetAppSKey.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdMacSetAppSKey.setMaximumSize(new java.awt.Dimension(210, 23)); - cmdMacSetAppSKey.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdMacSetAppSKey.setPreferredSize(new java.awt.Dimension(210, 23)); - cmdMacSetAppSKey.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdMacSetAppSKeyActionPerformed(evt); - } - }); - - cmdMacjoinABP.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N - cmdMacjoinABP.setText("Join ABP"); - cmdMacjoinABP.setToolTipText("sys reset"); - cmdMacjoinABP.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdMacjoinABP.setMaximumSize(new java.awt.Dimension(210, 23)); - cmdMacjoinABP.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdMacjoinABP.setPreferredSize(new java.awt.Dimension(210, 23)); - cmdMacjoinABP.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdMacjoinABPActionPerformed(evt); - } - }); - - cmdMacGetDevAddr.setText("mac get devaddr"); - cmdMacGetDevAddr.setToolTipText("sys reset"); - cmdMacGetDevAddr.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdMacGetDevAddr.setMaximumSize(new java.awt.Dimension(210, 23)); - cmdMacGetDevAddr.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdMacGetDevAddr.setPreferredSize(new java.awt.Dimension(210, 23)); - cmdMacGetDevAddr.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdMacGetDevAddrActionPerformed(evt); - } - }); - - DevAddr.setText("00000000"); - DevAddr.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - DevAddrActionPerformed(evt); - } - }); - - NwkSKey.setText("2B7E151628AED2A6ABF7158809CF4F3C"); - NwkSKey.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - NwkSKeyActionPerformed(evt); - } - }); - - AppSKey.setText("2B7E151628AED2A6ABF7158809CF4F3C"); - AppSKey.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - AppSKeyActionPerformed(evt); - } - }); - - ABPPane.setLayer(cmdMacSetDevAddr, javax.swing.JLayeredPane.DEFAULT_LAYER); - ABPPane.setLayer(cmdMacSetNwkSKey, javax.swing.JLayeredPane.DEFAULT_LAYER); - ABPPane.setLayer(cmdMacSetAppSKey, javax.swing.JLayeredPane.DEFAULT_LAYER); - ABPPane.setLayer(cmdMacjoinABP, javax.swing.JLayeredPane.DEFAULT_LAYER); - ABPPane.setLayer(cmdMacGetDevAddr, javax.swing.JLayeredPane.DEFAULT_LAYER); - ABPPane.setLayer(DevAddr, javax.swing.JLayeredPane.DEFAULT_LAYER); - ABPPane.setLayer(NwkSKey, javax.swing.JLayeredPane.DEFAULT_LAYER); - ABPPane.setLayer(AppSKey, javax.swing.JLayeredPane.DEFAULT_LAYER); - - javax.swing.GroupLayout ABPPaneLayout = new javax.swing.GroupLayout(ABPPane); - ABPPane.setLayout(ABPPaneLayout); - ABPPaneLayout.setHorizontalGroup( - ABPPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(ABPPaneLayout.createSequentialGroup() - .addGroup(ABPPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) - .addComponent(cmdMacSetAppSKey, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 1, Short.MAX_VALUE) - .addComponent(cmdMacSetNwkSKey, javax.swing.GroupLayout.PREFERRED_SIZE, 1, Short.MAX_VALUE) - .addComponent(cmdMacSetDevAddr, javax.swing.GroupLayout.PREFERRED_SIZE, 180, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(cmdMacjoinABP, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(ABPPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) - .addComponent(NwkSKey) - .addComponent(DevAddr) - .addComponent(AppSKey)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(cmdMacGetDevAddr, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(0, 0, Short.MAX_VALUE)) - ); - ABPPaneLayout.setVerticalGroup( - ABPPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, ABPPaneLayout.createSequentialGroup() - .addGroup(ABPPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(cmdMacSetDevAddr, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(DevAddr, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(cmdMacGetDevAddr, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(ABPPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(cmdMacSetNwkSKey, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(NwkSKey, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(ABPPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(cmdMacSetAppSKey, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(AppSKey, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(cmdMacjoinABP, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE) - .addContainerGap()) - ); - - cmdMacSave.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N - cmdMacSave.setText("Save"); - cmdMacSave.setToolTipText("sys reset"); - cmdMacSave.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdMacSave.setMaximumSize(new java.awt.Dimension(210, 23)); - cmdMacSave.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdMacSave.setPreferredSize(new java.awt.Dimension(210, 23)); - cmdMacSave.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdMacSaveActionPerformed(evt); - } - }); - - OTAAPane.setBorder(javax.swing.BorderFactory.createTitledBorder("Over The Air Activation")); - - cmdMacSetDevEui.setText("mac set deveui"); - cmdMacSetDevEui.setToolTipText("sys reset"); - cmdMacSetDevEui.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdMacSetDevEui.setMaximumSize(new java.awt.Dimension(210, 23)); - cmdMacSetDevEui.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdMacSetDevEui.setPreferredSize(new java.awt.Dimension(210, 23)); - cmdMacSetDevEui.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdMacSetDevEuiActionPerformed(evt); - } - }); - - cmdMacSetAppEui.setText("mac set appeui"); - cmdMacSetAppEui.setToolTipText("sys reset"); - cmdMacSetAppEui.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdMacSetAppEui.setMaximumSize(new java.awt.Dimension(210, 23)); - cmdMacSetAppEui.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdMacSetAppEui.setPreferredSize(new java.awt.Dimension(210, 23)); - cmdMacSetAppEui.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdMacSetAppEuiActionPerformed(evt); - } - }); - - cmdMacSetAppKey.setText("mac set appkey"); - cmdMacSetAppKey.setToolTipText("sys reset"); - cmdMacSetAppKey.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdMacSetAppKey.setMaximumSize(new java.awt.Dimension(210, 23)); - cmdMacSetAppKey.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdMacSetAppKey.setPreferredSize(new java.awt.Dimension(210, 23)); - cmdMacSetAppKey.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdMacSetAppKeyActionPerformed(evt); - } - }); - - cmdMacJoinOTAA.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N - cmdMacJoinOTAA.setText("Join OTAA"); - cmdMacJoinOTAA.setToolTipText("sys reset"); - cmdMacJoinOTAA.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdMacJoinOTAA.setMaximumSize(new java.awt.Dimension(210, 23)); - cmdMacJoinOTAA.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdMacJoinOTAA.setPreferredSize(new java.awt.Dimension(210, 23)); - cmdMacJoinOTAA.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdMacJoinOTAAActionPerformed(evt); - } - }); - - cmdMacGetDevEui.setText("mac get deveui"); - cmdMacGetDevEui.setToolTipText("sys reset"); - cmdMacGetDevEui.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdMacGetDevEui.setMaximumSize(new java.awt.Dimension(210, 23)); - cmdMacGetDevEui.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdMacGetDevEui.setPreferredSize(new java.awt.Dimension(210, 23)); - cmdMacGetDevEui.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdMacGetDevEuiActionPerformed(evt); - } - }); - - cmdMacGetAppEui.setText("mac get appeui"); - cmdMacGetAppEui.setToolTipText("sys reset"); - cmdMacGetAppEui.setMargin(new java.awt.Insets(2, 2, 2, 2)); - cmdMacGetAppEui.setMaximumSize(new java.awt.Dimension(210, 23)); - cmdMacGetAppEui.setMinimumSize(new java.awt.Dimension(210, 23)); - cmdMacGetAppEui.setPreferredSize(new java.awt.Dimension(210, 23)); - cmdMacGetAppEui.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - cmdMacGetAppEuiActionPerformed(evt); - } - }); - - DevEUI.setText("Enter Device EUI"); - DevEUI.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - DevEUIActionPerformed(evt); - } - }); - - AppEUI.setText("Enter App EUI"); - AppEUI.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - AppEUIActionPerformed(evt); - } - }); - - AppKey.setText("Enter App Key"); - AppKey.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - AppKeyActionPerformed(evt); - } - }); - - OTAAPane.setLayer(cmdMacSetDevEui, javax.swing.JLayeredPane.DEFAULT_LAYER); - OTAAPane.setLayer(cmdMacSetAppEui, javax.swing.JLayeredPane.DEFAULT_LAYER); - OTAAPane.setLayer(cmdMacSetAppKey, javax.swing.JLayeredPane.DEFAULT_LAYER); - OTAAPane.setLayer(cmdMacJoinOTAA, javax.swing.JLayeredPane.DEFAULT_LAYER); - OTAAPane.setLayer(cmdMacGetDevEui, javax.swing.JLayeredPane.DEFAULT_LAYER); - OTAAPane.setLayer(cmdMacGetAppEui, javax.swing.JLayeredPane.DEFAULT_LAYER); - OTAAPane.setLayer(DevEUI, javax.swing.JLayeredPane.DEFAULT_LAYER); - OTAAPane.setLayer(AppEUI, javax.swing.JLayeredPane.DEFAULT_LAYER); - OTAAPane.setLayer(AppKey, javax.swing.JLayeredPane.DEFAULT_LAYER); - - javax.swing.GroupLayout OTAAPaneLayout = new javax.swing.GroupLayout(OTAAPane); - OTAAPane.setLayout(OTAAPaneLayout); - OTAAPaneLayout.setHorizontalGroup( - OTAAPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(OTAAPaneLayout.createSequentialGroup() - .addGroup(OTAAPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) - .addComponent(cmdMacSetDevEui, javax.swing.GroupLayout.PREFERRED_SIZE, 180, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(cmdMacSetAppEui, javax.swing.GroupLayout.PREFERRED_SIZE, 1, Short.MAX_VALUE) - .addComponent(cmdMacSetAppKey, javax.swing.GroupLayout.PREFERRED_SIZE, 1, Short.MAX_VALUE) - .addComponent(cmdMacJoinOTAA, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(OTAAPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) - .addComponent(AppEUI) - .addComponent(DevEUI, javax.swing.GroupLayout.DEFAULT_SIZE, 204, Short.MAX_VALUE) - .addComponent(AppKey)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(OTAAPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) - .addComponent(cmdMacGetDevEui, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(cmdMacGetAppEui, javax.swing.GroupLayout.PREFERRED_SIZE, 1, Short.MAX_VALUE)) - .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) - ); - OTAAPaneLayout.setVerticalGroup( - OTAAPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, OTAAPaneLayout.createSequentialGroup() - .addGroup(OTAAPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(cmdMacSetDevEui, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(DevEUI, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(cmdMacGetDevEui, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(OTAAPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(cmdMacSetAppEui, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(AppEUI, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(cmdMacGetAppEui, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(OTAAPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(cmdMacSetAppKey, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(AppKey, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(cmdMacJoinOTAA, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE) - .addContainerGap()) - ); - - ActivationPane.setLayer(ABPPane, javax.swing.JLayeredPane.DEFAULT_LAYER); - ActivationPane.setLayer(cmdMacSave, javax.swing.JLayeredPane.DEFAULT_LAYER); - ActivationPane.setLayer(OTAAPane, javax.swing.JLayeredPane.DEFAULT_LAYER); - - javax.swing.GroupLayout ActivationPaneLayout = new javax.swing.GroupLayout(ActivationPane); - ActivationPane.setLayout(ActivationPaneLayout); - ActivationPaneLayout.setHorizontalGroup( - ActivationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(ActivationPaneLayout.createSequentialGroup() - .addGroup(ActivationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) - .addComponent(OTAAPane, javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(ABPPane, javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(cmdMacSave, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) - .addGap(19, 19, 19)) - ); - ActivationPaneLayout.setVerticalGroup( - ActivationPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(ActivationPaneLayout.createSequentialGroup() - .addComponent(ABPPane, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(1, 1, 1) - .addComponent(cmdMacSave, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(OTAAPane, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(0, 267, Short.MAX_VALUE)) - ); - - ActivationScrollPane.setViewportView(ActivationPane); - - RN2483jTab.addTab(" Activation ", ActivationScrollPane); - - RN2483.setLayer(RN2483jTab, javax.swing.JLayeredPane.DEFAULT_LAYER); - - javax.swing.GroupLayout RN2483Layout = new javax.swing.GroupLayout(RN2483); - RN2483.setLayout(RN2483Layout); - RN2483Layout.setHorizontalGroup( - RN2483Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(RN2483jTab, javax.swing.GroupLayout.DEFAULT_SIZE, 598, Short.MAX_VALUE) - ); - RN2483Layout.setVerticalGroup( - RN2483Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(RN2483jTab, javax.swing.GroupLayout.DEFAULT_SIZE, 696, Short.MAX_VALUE) - ); - - LeftTab.addTab(" RN2483 ", RN2483); - - LeftBasePane.setLayer(LeftTab, javax.swing.JLayeredPane.DEFAULT_LAYER); - - javax.swing.GroupLayout LeftBasePaneLayout = new javax.swing.GroupLayout(LeftBasePane); - LeftBasePane.setLayout(LeftBasePaneLayout); - LeftBasePaneLayout.setHorizontalGroup( - LeftBasePaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(LeftTab, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - ); - LeftBasePaneLayout.setVerticalGroup( - LeftBasePaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(LeftTab, javax.swing.GroupLayout.DEFAULT_SIZE, 742, Short.MAX_VALUE) - ); - - LeftTab.getAccessibleContext().setAccessibleName("LeftTab"); - - HorizontSplit.setLeftComponent(LeftBasePane); - - RightBasePane.setOpaque(true); - RightBasePane.setLayout(new javax.swing.BoxLayout(RightBasePane, javax.swing.BoxLayout.PAGE_AXIS)); - - LEDPanel.setOpaque(true); - - PortOpenLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); - PortOpenLabel.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/led_grey.png"))); // NOI18N - PortOpenLabel.setText("Open"); - PortOpenLabel.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); - PortOpenLabel.setMaximumSize(new java.awt.Dimension(50, 25)); - PortOpenLabel.setMinimumSize(new java.awt.Dimension(50, 25)); - PortOpenLabel.setPreferredSize(new java.awt.Dimension(50, 25)); - PortOpenLabel.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); - - PortCTS.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); - PortCTS.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/led_grey.png"))); // NOI18N - PortCTS.setText("CTS"); - PortCTS.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); - PortCTS.setMaximumSize(new java.awt.Dimension(50, 25)); - PortCTS.setMinimumSize(new java.awt.Dimension(50, 25)); - PortCTS.setPreferredSize(new java.awt.Dimension(50, 25)); - PortCTS.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); - - PortDTR.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/led_grey.png"))); // NOI18N - PortDTR.setText("DTR"); - PortDTR.setToolTipText(""); - PortDTR.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); - PortDTR.setVerticalAlignment(javax.swing.SwingConstants.TOP); - PortDTR.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); - PortDTR.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - PortDTRActionPerformed(evt); - } - }); - - PortRTS.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/led_grey.png"))); // NOI18N - PortRTS.setText("RTS"); - PortRTS.setToolTipText(""); - PortRTS.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); - PortRTS.setVerticalAlignment(javax.swing.SwingConstants.TOP); - PortRTS.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM); - PortRTS.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - PortRTSActionPerformed(evt); - } - }); - - Open.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - Open.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/connect1.png"))); // NOI18N - Open.setText("Open"); - Open.setToolTipText("Open/Close selected serial port"); - Open.setIconTextGap(2); - Open.setMargin(new java.awt.Insets(1, 1, 1, 1)); - Open.setMaximumSize(new java.awt.Dimension(100, 25)); - Open.setMinimumSize(new java.awt.Dimension(85, 25)); - Open.setPreferredSize(new java.awt.Dimension(80, 25)); - Open.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - OpenActionPerformed(evt); - } - }); - - Speed.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N - Speed.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "1200", "2400", "4800", "9600", "19200", "38400", "57600", "74880", "115200", "230400", "460800", "921600" })); - Speed.setToolTipText("Select baud rate"); - Speed.setMaximumSize(new java.awt.Dimension(80, 25)); - Speed.setMinimumSize(new java.awt.Dimension(80, 25)); - Speed.setPreferredSize(new java.awt.Dimension(80, 25)); - Speed.addItemListener(new java.awt.event.ItemListener() { - public void itemStateChanged(java.awt.event.ItemEvent evt) { - SpeedItemStateChanged(evt); - } - }); - Speed.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - SpeedActionPerformed(evt); - } - }); - Speed.addFocusListener(new java.awt.event.FocusAdapter() { - public void focusLost(java.awt.event.FocusEvent evt) { - SpeedFocusLost(evt); - } - }); - - ReScan.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/refresh3.png"))); // NOI18N - ReScan.setToolTipText("Scan system for available serial port"); - ReScan.setMaximumSize(new java.awt.Dimension(25, 25)); - ReScan.setMinimumSize(new java.awt.Dimension(25, 25)); - ReScan.setPreferredSize(new java.awt.Dimension(25, 25)); - ReScan.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - ReScanActionPerformed(evt); - } - }); - - AutoScroll.setFont(new java.awt.Font("Tahoma", 0, 8)); // NOI18N - AutoScroll.setSelected(true); - AutoScroll.setText("AutoScroll"); - AutoScroll.setToolTipText("Terminal AutoScroll Enable/Disable"); - AutoScroll.setMinimumSize(new java.awt.Dimension(70, 25)); - AutoScroll.setPreferredSize(new java.awt.Dimension(60, 25)); - AutoScroll.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - AutoScrollActionPerformed(evt); - } - }); - - Port.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - Port.setMaximumRowCount(20); - Port.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "COM1", "COM3" })); - Port.setToolTipText("Serial port chooser"); - Port.setMaximumSize(new java.awt.Dimension(150, 25)); - Port.setMinimumSize(new java.awt.Dimension(150, 25)); - Port.setPreferredSize(new java.awt.Dimension(150, 25)); - Port.addItemListener(new java.awt.event.ItemListener() { - public void itemStateChanged(java.awt.event.ItemEvent evt) { - PortItemStateChanged(evt); - } - }); - Port.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - PortActionPerformed(evt); - } - }); - - EOL.setFont(new java.awt.Font("Tahoma", 0, 8)); // NOI18N - EOL.setText("EOL"); - EOL.setToolTipText("EOL visible Enable/Disable"); - EOL.setMinimumSize(new java.awt.Dimension(70, 25)); - EOL.setPreferredSize(new java.awt.Dimension(60, 25)); - EOL.addItemListener(new java.awt.event.ItemListener() { - public void itemStateChanged(java.awt.event.ItemEvent evt) { - EOLItemStateChanged(evt); - } - }); - - CR.setFont(CR.getFont().deriveFont(CR.getFont().getSize()-4f)); - CR.setSelected(true); - CR.setText("CR"); - CR.setToolTipText("Add CR at end of line"); - CR.setAlignmentY(0.0F); - CR.setEnabled(false); - CR.setIconTextGap(0); - CR.setMargin(new java.awt.Insets(0, 0, 0, 0)); - CR.setName(""); // NOI18N - CR.setNextFocusableComponent(Command); - - LF.setFont(LF.getFont().deriveFont(LF.getFont().getSize()-4f)); - LF.setSelected(true); - LF.setText("LF"); - LF.setToolTipText("Add LF at end of line"); - LF.setAlignmentY(0.0F); - LF.setEnabled(false); - LF.setIconTextGap(0); - LF.setMargin(new java.awt.Insets(0, 0, 0, 0)); - - DonateSmall.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/donate-small.gif"))); // NOI18N - DonateSmall.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); - DonateSmall.setMargin(new java.awt.Insets(2, 2, 2, 2)); - DonateSmall.setMaximumSize(new java.awt.Dimension(100, 35)); - DonateSmall.setMinimumSize(new java.awt.Dimension(100, 35)); - DonateSmall.setPreferredSize(new java.awt.Dimension(100, 35)); - DonateSmall.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - DonateSmallActionPerformed(evt); - } - }); - - TerminalOnlyCheckBox.setFont(TerminalOnlyCheckBox.getFont().deriveFont(TerminalOnlyCheckBox.getFont().getSize()-4f)); - TerminalOnlyCheckBox.setText(" Hide Editor"); - TerminalOnlyCheckBox.setToolTipText("Add LF at end of line"); - TerminalOnlyCheckBox.setAlignmentY(0.0F); - TerminalOnlyCheckBox.setIconTextGap(0); - TerminalOnlyCheckBox.setMargin(new java.awt.Insets(0, 0, 0, 0)); - TerminalOnlyCheckBox.addItemListener(new java.awt.event.ItemListener() { - public void itemStateChanged(java.awt.event.ItemEvent evt) { - TerminalOnlyCheckBoxItemStateChanged(evt); - } - }); - - EditorOnlyCheckBox.setFont(EditorOnlyCheckBox.getFont().deriveFont(EditorOnlyCheckBox.getFont().getSize()-4f)); - EditorOnlyCheckBox.setText(" Hide Terminal"); - EditorOnlyCheckBox.setToolTipText("Add LF at end of line"); - EditorOnlyCheckBox.setAlignmentY(0.0F); - EditorOnlyCheckBox.setIconTextGap(0); - EditorOnlyCheckBox.setMargin(new java.awt.Insets(0, 0, 0, 0)); - EditorOnlyCheckBox.addItemListener(new java.awt.event.ItemListener() { - public void itemStateChanged(java.awt.event.ItemEvent evt) { - EditorOnlyCheckBoxItemStateChanged(evt); - } - }); - - LEDPanel.setLayer(PortOpenLabel, javax.swing.JLayeredPane.DEFAULT_LAYER); - LEDPanel.setLayer(PortCTS, javax.swing.JLayeredPane.DEFAULT_LAYER); - LEDPanel.setLayer(PortDTR, javax.swing.JLayeredPane.DEFAULT_LAYER); - LEDPanel.setLayer(PortRTS, javax.swing.JLayeredPane.DEFAULT_LAYER); - LEDPanel.setLayer(Open, javax.swing.JLayeredPane.DEFAULT_LAYER); - LEDPanel.setLayer(Speed, javax.swing.JLayeredPane.DEFAULT_LAYER); - LEDPanel.setLayer(ReScan, javax.swing.JLayeredPane.DEFAULT_LAYER); - LEDPanel.setLayer(AutoScroll, javax.swing.JLayeredPane.DEFAULT_LAYER); - LEDPanel.setLayer(Port, javax.swing.JLayeredPane.DEFAULT_LAYER); - LEDPanel.setLayer(EOL, javax.swing.JLayeredPane.DEFAULT_LAYER); - LEDPanel.setLayer(CR, javax.swing.JLayeredPane.DEFAULT_LAYER); - LEDPanel.setLayer(LF, javax.swing.JLayeredPane.DEFAULT_LAYER); - LEDPanel.setLayer(DonateSmall, javax.swing.JLayeredPane.DEFAULT_LAYER); - LEDPanel.setLayer(TerminalOnlyCheckBox, javax.swing.JLayeredPane.DEFAULT_LAYER); - LEDPanel.setLayer(EditorOnlyCheckBox, javax.swing.JLayeredPane.DEFAULT_LAYER); - - javax.swing.GroupLayout LEDPanelLayout = new javax.swing.GroupLayout(LEDPanel); - LEDPanel.setLayout(LEDPanelLayout); - LEDPanelLayout.setHorizontalGroup( - LEDPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(LEDPanelLayout.createSequentialGroup() - .addGroup(LEDPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(LEDPanelLayout.createSequentialGroup() - .addGroup(LEDPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) - .addGroup(LEDPanelLayout.createSequentialGroup() - .addComponent(PortDTR) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(PortRTS)) - .addGroup(LEDPanelLayout.createSequentialGroup() - .addComponent(PortOpenLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(PortCTS, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(Open, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(LEDPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(LEDPanelLayout.createSequentialGroup() - .addComponent(ReScan, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(LEDPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) - .addComponent(EOL, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(AutoScroll, javax.swing.GroupLayout.DEFAULT_SIZE, 70, Short.MAX_VALUE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addGroup(LEDPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(LEDPanelLayout.createSequentialGroup() - .addComponent(LF) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(EditorOnlyCheckBox, javax.swing.GroupLayout.PREFERRED_SIZE, 1, Short.MAX_VALUE)) - .addGroup(LEDPanelLayout.createSequentialGroup() - .addComponent(CR) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(TerminalOnlyCheckBox, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))) - .addGroup(LEDPanelLayout.createSequentialGroup() - .addComponent(Speed, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(DonateSmall, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))) - .addComponent(Port, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) - .addContainerGap()) - ); - LEDPanelLayout.setVerticalGroup( - LEDPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(LEDPanelLayout.createSequentialGroup() - .addComponent(Port, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(LEDPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, LEDPanelLayout.createSequentialGroup() - .addGroup(LEDPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(ReScan, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addGroup(LEDPanelLayout.createSequentialGroup() - .addGroup(LEDPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(AutoScroll, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE) - .addComponent(CR) - .addComponent(TerminalOnlyCheckBox)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(LEDPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(EOL, javax.swing.GroupLayout.PREFERRED_SIZE, 16, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(LF) - .addComponent(EditorOnlyCheckBox)))) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(LEDPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) - .addComponent(Speed, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(DonateSmall, javax.swing.GroupLayout.DEFAULT_SIZE, 45, Short.MAX_VALUE))) - .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, LEDPanelLayout.createSequentialGroup() - .addGroup(LEDPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(PortOpenLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(PortCTS, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(LEDPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(PortDTR) - .addComponent(PortRTS))) - .addComponent(Open, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))) - ); - - Port.getAccessibleContext().setAccessibleName(""); - - RightBasePane.add(LEDPanel); - - RightBigPane.setBorder(new javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.RAISED)); - RightBigPane.setOpaque(true); - RightBigPane.addPropertyChangeListener(new java.beans.PropertyChangeListener() { - public void propertyChange(java.beans.PropertyChangeEvent evt) { - RightBigPanePropertyChange(evt); - } - }); - - RightFilesSplitPane.setDividerLocation(300); - RightFilesSplitPane.setAutoscrolls(true); - RightFilesSplitPane.addPropertyChangeListener(new java.beans.PropertyChangeListener() { - public void propertyChange(java.beans.PropertyChangeEvent evt) { - RightFilesSplitPanePropertyChange(evt); - } - }); - - RightSplitPane.setBorder(null); - RightSplitPane.setDividerLocation(320); - RightSplitPane.setOrientation(javax.swing.JSplitPane.VERTICAL_SPLIT); - RightSplitPane.setToolTipText(""); - RightSplitPane.setName(""); // NOI18N - RightSplitPane.addPropertyChangeListener(new java.beans.PropertyChangeListener() { - public void propertyChange(java.beans.PropertyChangeEvent evt) { - RightSplitPanePropertyChange(evt); - } - }); - - TerminalPane.setToolTipText("Terminal window"); - TerminalPane.setMaximumSize(new java.awt.Dimension(100, 100)); - TerminalPane.setMinimumSize(new java.awt.Dimension(100, 100)); - TerminalPane.setName(""); // NOI18N - TerminalPane.setPreferredSize(new java.awt.Dimension(100, 100)); - TerminalPane.setViewportView(Terminal); - - Terminal.setEditable(false); - Terminal.setBorder(new javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.RAISED)); - Terminal.setColumns(20); - Terminal.setRows(50); - Terminal.setTabSize(4); - Terminal.setToolTipText(""); - Terminal.setWrapStyleWord(false); - Terminal.setBracketMatchingEnabled(false); - Terminal.setCloseCurlyBraces(false); - Terminal.setCloseMarkupTags(false); - Terminal.setDragEnabled(false); - Terminal.setFadeCurrentLineHighlight(true); - Terminal.setHighlightSecondaryLanguages(false); - Terminal.setMaximumSize(new java.awt.Dimension(100, 100)); - Terminal.setMinimumSize(new java.awt.Dimension(100, 100)); - Terminal.setName(""); // NOI18N - Terminal.setPopupMenu(ContextMenuTerminal); - Terminal.setSyntaxEditingStyle("text/LUA"); - Terminal.addPropertyChangeListener(new java.beans.PropertyChangeListener() { - public void propertyChange(java.beans.PropertyChangeEvent evt) { - TerminalPropertyChange(evt); - } - }); - TerminalPane.setViewportView(Terminal); - Terminal.getAccessibleContext().setAccessibleParent(TerminalPane); - - RightSplitPane.setTopComponent(TerminalPane); - - ScrollLog.setBorder(TerminalPane.getBorder()); - ScrollLog.setToolTipText("Log"); - ScrollLog.setVerticalScrollBarPolicy(javax.swing.ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); - ScrollLog.setAlignmentX(0.0F); - ScrollLog.setAlignmentY(0.0F); - - Log.setEditable(false); - Log.setBackground(new java.awt.Color(51, 51, 51)); - Log.setColumns(20); - Log.setFont(Log.getFont().deriveFont(Log.getFont().getSize()-1f)); - Log.setForeground(new java.awt.Color(0, 204, 0)); - Log.setLineWrap(true); - Log.setRows(3); - Log.setTabSize(4); - Log.setText("Logging enable"); - Log.setToolTipText("Log"); - Log.setWrapStyleWord(true); - Log.setAlignmentX(0.0F); - Log.setAlignmentY(0.0F); - Log.setBorder(Terminal.getBorder()); - Log.setComponentPopupMenu(ContextMenuLog); - Log.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); - Log.setName("Log"); // NOI18N - Log.setNextFocusableComponent(SendCommand); - Log.setSelectionColor(new java.awt.Color(204, 0, 0)); - Log.setSelectionEnd(0); - Log.addCaretListener(new javax.swing.event.CaretListener() { - public void caretUpdate(javax.swing.event.CaretEvent evt) { - LogCaretUpdate(evt); - } - }); - ScrollLog.setViewportView(Log); - Log.getAccessibleContext().setAccessibleName("Log"); - - RightSplitPane.setBottomComponent(ScrollLog); - - TerminalLogPane.setLayer(RightSplitPane, javax.swing.JLayeredPane.DEFAULT_LAYER); - - javax.swing.GroupLayout TerminalLogPaneLayout = new javax.swing.GroupLayout(TerminalLogPane); - TerminalLogPane.setLayout(TerminalLogPaneLayout); - TerminalLogPaneLayout.setHorizontalGroup( - TerminalLogPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGap(0, 293, Short.MAX_VALUE) - .addGroup(TerminalLogPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(RightSplitPane, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 293, Short.MAX_VALUE)) - ); - TerminalLogPaneLayout.setVerticalGroup( - TerminalLogPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGap(0, 339, Short.MAX_VALUE) - .addGroup(TerminalLogPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(RightSplitPane, javax.swing.GroupLayout.DEFAULT_SIZE, 339, Short.MAX_VALUE)) - ); - - RightFilesSplitPane.setLeftComponent(TerminalLogPane); - - FileManagerScrollPane.setBorder(null); - FileManagerScrollPane.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); - - FileManagersLayer.setMaximumSize(new java.awt.Dimension(145, 145)); - - NodeFileManagerPane.setComponentPopupMenu(ContextMenuFileManager); - NodeFileManagerPane.setMaximumSize(new java.awt.Dimension(145, 145)); - NodeFileManagerPane.setName(""); // NOI18N - NodeFileManagerPane.setPreferredSize(new java.awt.Dimension(145, 145)); - java.awt.FlowLayout flowLayout1 = new java.awt.FlowLayout(java.awt.FlowLayout.LEADING, 2, 2); - flowLayout1.setAlignOnBaseline(true); - NodeFileManagerPane.setLayout(flowLayout1); - - FileFormat.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/file manager (delete).png"))); // NOI18N - FileFormat.setText("Format"); - FileFormat.setToolTipText("Format (erase) NodeMCU file system. All files will be removed!"); - FileFormat.setHorizontalAlignment(javax.swing.SwingConstants.LEFT); - FileFormat.setMargin(new java.awt.Insets(2, 4, 2, 4)); - FileFormat.setMaximumSize(new java.awt.Dimension(130, 25)); - FileFormat.setMinimumSize(new java.awt.Dimension(130, 25)); - FileFormat.setPreferredSize(new java.awt.Dimension(130, 25)); - FileFormat.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - FileFormatActionPerformed(evt); - } - }); - NodeFileManagerPane.add(FileFormat); - - FileSystemInfo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/file manager.png"))); // NOI18N - FileSystemInfo.setText("FS Info"); - FileSystemInfo.setToolTipText("Execute command file.fsinfo() and show total, used and remainig space on the ESP filesystem"); - FileSystemInfo.setAlignmentX(0.5F); - FileSystemInfo.setHorizontalAlignment(javax.swing.SwingConstants.LEFT); - FileSystemInfo.setMargin(new java.awt.Insets(2, 2, 2, 2)); - FileSystemInfo.setMaximumSize(new java.awt.Dimension(130, 25)); - FileSystemInfo.setPreferredSize(new java.awt.Dimension(130, 25)); - FileSystemInfo.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - FileSystemInfoActionPerformed(evt); - } - }); - NodeFileManagerPane.add(FileSystemInfo); - - FileListReload.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N - FileListReload.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/refresh3.png"))); // NOI18N - FileListReload.setText("Reload"); - FileListReload.setAlignmentX(0.5F); - FileListReload.setHorizontalAlignment(javax.swing.SwingConstants.LEFT); - FileListReload.setMargin(new java.awt.Insets(2, 2, 2, 2)); - FileListReload.setMaximumSize(new java.awt.Dimension(130, 25)); - FileListReload.setPreferredSize(new java.awt.Dimension(130, 25)); - FileListReload.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - FileListReloadActionPerformed(evt); - } - }); - NodeFileManagerPane.add(FileListReload); - - FileAsButton1.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N - FileAsButton1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/file.png"))); // NOI18N - FileAsButton1.setText("File 1"); - FileAsButton1.setToolTipText("Left click"); - FileAsButton1.setAlignmentX(0.5F); - FileAsButton1.setComponentPopupMenu(ContextMenuESPFileLUA); - FileAsButton1.setHorizontalAlignment(javax.swing.SwingConstants.LEFT); - FileAsButton1.setMargin(new java.awt.Insets(2, 2, 2, 2)); - FileAsButton1.setMaximumSize(new java.awt.Dimension(130, 25)); - FileAsButton1.setPreferredSize(new java.awt.Dimension(130, 25)); - FileAsButton1.addMouseListener(new java.awt.event.MouseAdapter() { - public void mouseClicked(java.awt.event.MouseEvent evt) { - FileAsButton1MouseClicked(evt); - } - }); - FileAsButton1.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - FileAsButton1ActionPerformed(evt); - } - }); - NodeFileManagerPane.add(FileAsButton1); - - FileRenamePanel.setMaximumSize(new java.awt.Dimension(130, 45)); - FileRenamePanel.setMinimumSize(new java.awt.Dimension(130, 45)); - - FileRenameLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); - FileRenameLabel.setText("Old file name"); - FileRenameLabel.setToolTipText("Input new file name and hit Enter to completed or press Reload for cancel"); - FileRenameLabel.setMaximumSize(new java.awt.Dimension(130, 14)); - FileRenameLabel.setMinimumSize(new java.awt.Dimension(130, 14)); - FileRenameLabel.setPreferredSize(new java.awt.Dimension(130, 14)); - - FileRename.setText("NewFileName"); - FileRename.setToolTipText("Input new file name and hit Enter to completed or press Reload for cancel"); - FileRename.setMaximumSize(new java.awt.Dimension(130, 25)); - FileRename.setMinimumSize(new java.awt.Dimension(130, 25)); - FileRename.setPreferredSize(new java.awt.Dimension(130, 25)); - FileRename.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - FileRenameActionPerformed(evt); - } - }); - - FileRenamePanel.setLayer(FileRenameLabel, javax.swing.JLayeredPane.DEFAULT_LAYER); - FileRenamePanel.setLayer(FileRename, javax.swing.JLayeredPane.DEFAULT_LAYER); - - javax.swing.GroupLayout FileRenamePanelLayout = new javax.swing.GroupLayout(FileRenamePanel); - FileRenamePanel.setLayout(FileRenamePanelLayout); - FileRenamePanelLayout.setHorizontalGroup( - FileRenamePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(FileRenamePanelLayout.createSequentialGroup() - .addGroup(FileRenamePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) - .addComponent(FileRename, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(FileRenameLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) - .addGap(0, 0, Short.MAX_VALUE)) - ); - FileRenamePanelLayout.setVerticalGroup( - FileRenamePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(FileRenamePanelLayout.createSequentialGroup() - .addComponent(FileRenameLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(FileRename, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addGap(0, 0, Short.MAX_VALUE)) - ); - - NodeFileManagerPane.add(FileRenamePanel); - - PyFileManagerPane.setMaximumSize(new java.awt.Dimension(500, 155)); - PyFileManagerPane.setMinimumSize(new java.awt.Dimension(55, 55)); - PyFileManagerPane.setPreferredSize(new java.awt.Dimension(155, 155)); - PyFileManagerPane.setLayout(new java.awt.FlowLayout()); - - PyListDir.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/refresh3.png"))); // NOI18N - PyListDir.setText("ListDir /"); - PyListDir.setToolTipText("Execute command listdir() and show files"); - PyListDir.setAlignmentX(0.5F); - PyListDir.setHorizontalAlignment(javax.swing.SwingConstants.LEFT); - PyListDir.setMargin(new java.awt.Insets(2, 2, 2, 2)); - PyListDir.setMaximumSize(new java.awt.Dimension(130, 25)); - PyListDir.setPreferredSize(new java.awt.Dimension(130, 25)); - PyListDir.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - PyListDirActionPerformed(evt); - } - }); - PyFileManagerPane.add(PyListDir); - - PyFileAsButton1.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N - PyFileAsButton1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/file.png"))); // NOI18N - PyFileAsButton1.setText("File 1"); - PyFileAsButton1.setToolTipText("Left click"); - PyFileAsButton1.setAlignmentX(0.5F); - PyFileAsButton1.setComponentPopupMenu(ContextMenuESPFileLUA); - PyFileAsButton1.setHorizontalAlignment(javax.swing.SwingConstants.LEFT); - PyFileAsButton1.setMargin(new java.awt.Insets(2, 2, 2, 2)); - PyFileAsButton1.setMaximumSize(new java.awt.Dimension(130, 25)); - PyFileAsButton1.setPreferredSize(new java.awt.Dimension(130, 25)); - PyFileAsButton1.addMouseListener(new java.awt.event.MouseAdapter() { - public void mouseClicked(java.awt.event.MouseEvent evt) { - PyFileAsButton1MouseClicked(evt); - } - }); - PyFileAsButton1.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - PyFileAsButton1ActionPerformed(evt); - } - }); - PyFileManagerPane.add(PyFileAsButton1); - - FileManagersLayer.setLayer(NodeFileManagerPane, javax.swing.JLayeredPane.DEFAULT_LAYER); - FileManagersLayer.setLayer(PyFileManagerPane, javax.swing.JLayeredPane.DEFAULT_LAYER); - - javax.swing.GroupLayout FileManagersLayerLayout = new javax.swing.GroupLayout(FileManagersLayer); - FileManagersLayer.setLayout(FileManagersLayerLayout); - FileManagersLayerLayout.setHorizontalGroup( - FileManagersLayerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(FileManagersLayerLayout.createSequentialGroup() - .addGroup(FileManagersLayerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(PyFileManagerPane, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(NodeFileManagerPane, javax.swing.GroupLayout.PREFERRED_SIZE, 155, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addGap(0, 433, Short.MAX_VALUE)) - ); - FileManagersLayerLayout.setVerticalGroup( - FileManagersLayerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(FileManagersLayerLayout.createSequentialGroup() - .addComponent(NodeFileManagerPane, javax.swing.GroupLayout.DEFAULT_SIZE, 255, Short.MAX_VALUE) - .addGap(6, 6, 6) - .addComponent(PyFileManagerPane, javax.swing.GroupLayout.DEFAULT_SIZE, 174, Short.MAX_VALUE)) - ); - - FileManagerScrollPane.setViewportView(FileManagersLayer); - - RightFilesSplitPane.setRightComponent(FileManagerScrollPane); - - RightSnippetsPane.setLayout(new java.awt.FlowLayout()); - - ButtonSnippet0.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - ButtonSnippet0.setMnemonic(KeyEvent.VK_BACK_QUOTE); - ButtonSnippet0.setText("Snippet0"); - ButtonSnippet0.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - ButtonSnippet0ActionPerformed(evt); - } - }); - RightSnippetsPane.add(ButtonSnippet0); - - ButtonSnippet1.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - ButtonSnippet1.setMnemonic(KeyEvent.VK_1); - ButtonSnippet1.setText("Snippet1"); - ButtonSnippet1.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - ButtonSnippet1ActionPerformed(evt); - } - }); - RightSnippetsPane.add(ButtonSnippet1); - - ButtonSnippet2.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - ButtonSnippet2.setMnemonic(KeyEvent.VK_2); - ButtonSnippet2.setText("Snippet2"); - ButtonSnippet2.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - ButtonSnippet2ActionPerformed(evt); - } - }); - RightSnippetsPane.add(ButtonSnippet2); - - ButtonSnippet3.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - ButtonSnippet3.setMnemonic(KeyEvent.VK_3); - ButtonSnippet3.setText("Snippet3"); - ButtonSnippet3.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - ButtonSnippet3ActionPerformed(evt); - } - }); - RightSnippetsPane.add(ButtonSnippet3); - - ButtonSnippet4.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - ButtonSnippet4.setMnemonic(KeyEvent.VK_4); - ButtonSnippet4.setText("Snippet4"); - ButtonSnippet4.setToolTipText(""); - ButtonSnippet4.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - ButtonSnippet4ActionPerformed(evt); - } - }); - RightSnippetsPane.add(ButtonSnippet4); - - ButtonSnippet5.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - ButtonSnippet5.setMnemonic(KeyEvent.VK_5); - ButtonSnippet5.setText("Snippet5"); - ButtonSnippet5.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - ButtonSnippet5ActionPerformed(evt); - } - }); - RightSnippetsPane.add(ButtonSnippet5); - - ButtonSnippet6.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - ButtonSnippet6.setMnemonic(KeyEvent.VK_6); - ButtonSnippet6.setText("Snippet6"); - ButtonSnippet6.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - ButtonSnippet6ActionPerformed(evt); - } - }); - RightSnippetsPane.add(ButtonSnippet6); - - ButtonSnippet7.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - ButtonSnippet7.setMnemonic(KeyEvent.VK_7); - ButtonSnippet7.setText("Snippet7"); - ButtonSnippet7.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - ButtonSnippet7ActionPerformed(evt); - } - }); - RightSnippetsPane.add(ButtonSnippet7); - - ButtonSnippet8.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - ButtonSnippet8.setMnemonic(KeyEvent.VK_8); - ButtonSnippet8.setText("Snippet8"); - ButtonSnippet8.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - ButtonSnippet8ActionPerformed(evt); - } - }); - RightSnippetsPane.add(ButtonSnippet8); - - ButtonSnippet9.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - ButtonSnippet9.setMnemonic(KeyEvent.VK_9); - ButtonSnippet9.setText("Snippet9"); - ButtonSnippet9.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - ButtonSnippet9ActionPerformed(evt); - } - }); - RightSnippetsPane.add(ButtonSnippet9); - - ButtonSnippet10.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - ButtonSnippet10.setMnemonic(KeyEvent.VK_0); - ButtonSnippet10.setText("Snippet10"); - ButtonSnippet10.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - ButtonSnippet10ActionPerformed(evt); - } - }); - RightSnippetsPane.add(ButtonSnippet10); - - ButtonSnippet11.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - ButtonSnippet11.setMnemonic(KeyEvent.VK_MINUS); - ButtonSnippet11.setText("Snippet11"); - ButtonSnippet11.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - ButtonSnippet11ActionPerformed(evt); - } - }); - RightSnippetsPane.add(ButtonSnippet11); - - ButtonSnippet12.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - ButtonSnippet12.setMnemonic(KeyEvent.VK_EQUALS); - ButtonSnippet12.setText("Snippet12"); - ButtonSnippet12.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - ButtonSnippet12ActionPerformed(evt); - } - }); - RightSnippetsPane.add(ButtonSnippet12); - - ButtonSnippet13.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - ButtonSnippet13.setMnemonic(KeyEvent.VK_BACK_SLASH); - ButtonSnippet13.setText("Snippet13"); - ButtonSnippet13.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - ButtonSnippet13ActionPerformed(evt); - } - }); - RightSnippetsPane.add(ButtonSnippet13); - - ButtonSnippet14.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - ButtonSnippet14.setMnemonic(KeyEvent.VK_BACK_SPACE); - ButtonSnippet14.setText("Snippet14"); - ButtonSnippet14.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - ButtonSnippet14ActionPerformed(evt); - } - }); - RightSnippetsPane.add(ButtonSnippet14); - - ButtonSnippet15.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - ButtonSnippet15.setText("Snippet15"); - ButtonSnippet15.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - ButtonSnippet15ActionPerformed(evt); - } - }); - RightSnippetsPane.add(ButtonSnippet15); - - RightBigPane.setLayer(RightFilesSplitPane, javax.swing.JLayeredPane.DEFAULT_LAYER); - RightBigPane.setLayer(RightSnippetsPane, javax.swing.JLayeredPane.DEFAULT_LAYER); - - javax.swing.GroupLayout RightBigPaneLayout = new javax.swing.GroupLayout(RightBigPane); - RightBigPane.setLayout(RightBigPaneLayout); - RightBigPaneLayout.setHorizontalGroup( - RightBigPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(RightFilesSplitPane, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE) - .addComponent(RightSnippetsPane, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE) - ); - RightBigPaneLayout.setVerticalGroup( - RightBigPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(RightBigPaneLayout.createSequentialGroup() - .addComponent(RightFilesSplitPane, javax.swing.GroupLayout.DEFAULT_SIZE, 343, Short.MAX_VALUE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(RightSnippetsPane, javax.swing.GroupLayout.DEFAULT_SIZE, 100, Short.MAX_VALUE)) - ); - - RightBasePane.add(RightBigPane); - - RightExtraButtons.setOpaque(true); - RightExtraButtons.setLayout(new java.awt.FlowLayout()); - - NodeHeap.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - NodeHeap.setText("Heap"); - NodeHeap.setToolTipText("Return the remain HEAP size in bytes"); - NodeHeap.setMaximumSize(new java.awt.Dimension(87, 30)); - NodeHeap.setMinimumSize(new java.awt.Dimension(87, 30)); - NodeHeap.setPreferredSize(new java.awt.Dimension(87, 30)); - NodeHeap.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - NodeHeapActionPerformed(evt); - } - }); - RightExtraButtons.add(NodeHeap); - - NodeInfo.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - NodeInfo.setText("Chip Info"); - NodeInfo.setToolTipText("Return NodeMCU version, chipid, flashid, flash size, flash mode, flash speed"); - NodeInfo.setMaximumSize(new java.awt.Dimension(87, 30)); - NodeInfo.setMinimumSize(new java.awt.Dimension(87, 30)); - NodeInfo.setPreferredSize(new java.awt.Dimension(87, 30)); - NodeInfo.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - NodeInfoActionPerformed(evt); - } - }); - RightExtraButtons.add(NodeInfo); - - NodeChipID.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - NodeChipID.setText("Chip ID"); - NodeChipID.setToolTipText("Return chip ID"); - NodeChipID.setMargin(new java.awt.Insets(2, 2, 2, 2)); - NodeChipID.setMaximumSize(new java.awt.Dimension(87, 30)); - NodeChipID.setMinimumSize(new java.awt.Dimension(87, 30)); - NodeChipID.setPreferredSize(new java.awt.Dimension(87, 30)); - NodeChipID.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - NodeChipIDActionPerformed(evt); - } - }); - RightExtraButtons.add(NodeChipID); - - NodeFlashID.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - NodeFlashID.setText("Flash ID"); - NodeFlashID.setToolTipText("Return flash ID"); - NodeFlashID.setMargin(new java.awt.Insets(2, 2, 2, 2)); - NodeFlashID.setMaximumSize(new java.awt.Dimension(87, 30)); - NodeFlashID.setMinimumSize(new java.awt.Dimension(87, 30)); - NodeFlashID.setPreferredSize(new java.awt.Dimension(87, 30)); - NodeFlashID.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - NodeFlashIDActionPerformed(evt); - } - }); - RightExtraButtons.add(NodeFlashID); - - NodeReset.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - NodeReset.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/reset.png"))); // NOI18N - NodeReset.setText("Reset"); - NodeReset.setToolTipText("Soft reset by command node.reset()"); - NodeReset.setMargin(new java.awt.Insets(2, 4, 2, 4)); - NodeReset.setMaximumSize(new java.awt.Dimension(87, 30)); - NodeReset.setMinimumSize(new java.awt.Dimension(87, 30)); - NodeReset.setPreferredSize(new java.awt.Dimension(87, 30)); - NodeReset.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - NodeResetActionPerformed(evt); - } - }); - RightExtraButtons.add(NodeReset); - - RightBasePane.add(RightExtraButtons); - - RightBottomPane.setOpaque(true); - RightBottomPane.setLayout(new java.awt.GridBagLayout()); - - Command.setEditable(true); - Command.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N - Command.setMaximumRowCount(20); - Command.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "AT", "AT+GMR", "AT+RST", "" })); - Command.setToolTipText("Command to send"); - Command.setAutoscrolls(true); - Command.setEnabled(false); - Command.setName("Command"); // NOI18N - Command.addItemListener(new java.awt.event.ItemListener() { - public void itemStateChanged(java.awt.event.ItemEvent evt) { - CommandItemStateChanged(evt); - } - }); - Command.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - CommandActionPerformed(evt); - } - }); - Command.addKeyListener(new java.awt.event.KeyAdapter() { - public void keyTyped(java.awt.event.KeyEvent evt) { - CommandKeyTyped(evt); - } - public void keyPressed(java.awt.event.KeyEvent evt) { - CommandKeyPressed(evt); - } - public void keyReleased(java.awt.event.KeyEvent evt) { - CommandKeyReleased(evt); - } - }); - gridBagConstraints = new java.awt.GridBagConstraints(); - gridBagConstraints.gridx = 0; - gridBagConstraints.gridy = 0; - gridBagConstraints.gridwidth = 4; - gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; - gridBagConstraints.ipady = 10; - gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; - gridBagConstraints.weightx = 1.0; - RightBottomPane.add(Command, gridBagConstraints); - Command.getAccessibleContext().setAccessibleName("Command"); - - SendCommand.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N - SendCommand.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/left.png"))); // NOI18N - SendCommand.setText("Send"); - SendCommand.setToolTipText(""); - SendCommand.setAlignmentY(0.0F); - SendCommand.setEnabled(false); - SendCommand.setMargin(new java.awt.Insets(0, 0, 0, 0)); - SendCommand.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - SendCommandActionPerformed(evt); - } - }); - gridBagConstraints = new java.awt.GridBagConstraints(); - gridBagConstraints.gridx = 4; - gridBagConstraints.gridy = 0; - gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; - gridBagConstraints.ipady = 10; - gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; - RightBottomPane.add(SendCommand, gridBagConstraints); - SendCommand.getAccessibleContext().setAccessibleName(""); - - RightBasePane.add(RightBottomPane); - - HorizontSplit.setRightComponent(RightBasePane); - - MainMenuBar.setAlignmentX(0.0F); - MainMenuBar.setName("MainMenu"); // NOI18N - MainMenuBar.setPreferredSize(new java.awt.Dimension(300, 22)); - - MenuFile.setText("File"); - MenuFile.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuFileActionPerformed(evt); - } - }); - - MenuItemFileNew.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_N, java.awt.event.InputEvent.CTRL_MASK)); - MenuItemFileNew.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/document.png"))); // NOI18N - MenuItemFileNew.setText("New"); - MenuItemFileNew.setToolTipText("File New"); - MenuItemFileNew.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemFileNewActionPerformed(evt); - } - }); - MenuFile.add(MenuItemFileNew); - - MenuItemFileOpen.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_O, java.awt.event.InputEvent.CTRL_MASK)); - MenuItemFileOpen.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/folder open.png"))); // NOI18N - MenuItemFileOpen.setText("Open from disk"); - MenuItemFileOpen.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemFileOpenActionPerformed(evt); - } - }); - MenuFile.add(MenuItemFileOpen); - - MenuItemFileReload.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_R, java.awt.event.InputEvent.CTRL_MASK)); - MenuItemFileReload.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/refresh.png"))); // NOI18N - MenuItemFileReload.setText("Reload from disk"); - MenuItemFileReload.setToolTipText("Reload file from disk, if you use external editor"); - MenuItemFileReload.setEnabled(false); - MenuItemFileReload.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemFileReloadActionPerformed(evt); - } - }); - MenuFile.add(MenuItemFileReload); - - MenuItemFileSave.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_S, java.awt.event.InputEvent.CTRL_MASK)); - MenuItemFileSave.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/save.png"))); // NOI18N - MenuItemFileSave.setText("Save to disk"); - MenuItemFileSave.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemFileSaveActionPerformed(evt); - } - }); - MenuFile.add(MenuItemFileSave); - - MenuItemFileSaveAs.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/save.png"))); // NOI18N - MenuItemFileSaveAs.setText("Save As.. to disk"); - MenuItemFileSaveAs.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemFileSaveAsActionPerformed(evt); - } - }); - MenuFile.add(MenuItemFileSaveAs); - - MenuItemFileSaveAll.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_A, java.awt.event.InputEvent.CTRL_MASK)); - MenuItemFileSaveAll.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/save_all.png"))); // NOI18N - MenuItemFileSaveAll.setText("Save All to disk"); - MenuItemFileSaveAll.setEnabled(false); - MenuFile.add(MenuItemFileSaveAll); - - MenuItemFileClose.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F4, java.awt.event.InputEvent.CTRL_MASK)); - MenuItemFileClose.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/folder closed.png"))); // NOI18N - MenuItemFileClose.setText("Close"); - MenuItemFileClose.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemFileCloseActionPerformed(evt); - } - }); - MenuFile.add(MenuItemFileClose); - MenuFile.add(jSeparatorFileMenu); - - MenuItemFileSaveESP.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_S, java.awt.event.InputEvent.ALT_MASK)); - MenuItemFileSaveESP.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/move.png"))); // NOI18N - MenuItemFileSaveESP.setText("Save to ESP"); - - binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, FileSaveESP, org.jdesktop.beansbinding.ELProperty.create("${enabled}"), MenuItemFileSaveESP, org.jdesktop.beansbinding.BeanProperty.create("enabled")); - bindingGroup.addBinding(binding); - - MenuItemFileSaveESP.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemFileSaveESPActionPerformed(evt); - } - }); - MenuFile.add(MenuItemFileSaveESP); - - jMenuItem4.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_A, java.awt.event.InputEvent.ALT_MASK)); - jMenuItem4.setText("Save All to ESP"); - jMenuItem4.setEnabled(false); - MenuFile.add(jMenuItem4); - - MenuItemFileSendESP.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_E, java.awt.event.InputEvent.ALT_MASK)); - MenuItemFileSendESP.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/script_send.png"))); // NOI18N - MenuItemFileSendESP.setText("Send to ESP"); - MenuItemFileSendESP.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemFileSendESPActionPerformed(evt); - } - }); - MenuFile.add(MenuItemFileSendESP); - - jMenuItem7.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_U, java.awt.event.InputEvent.ALT_MASK)); - jMenuItem7.setText("Upload file to ESP"); - jMenuItem7.setEnabled(false); - MenuFile.add(jMenuItem7); - MenuFile.add(jSeparator4); - - MenuItemFileDo.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_D, java.awt.event.InputEvent.ALT_MASK)); - MenuItemFileDo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/play.png"))); // NOI18N - MenuItemFileDo.setText("DoFile on ESP"); - MenuItemFileDo.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemFileDoActionPerformed(evt); - } - }); - MenuFile.add(MenuItemFileDo); - MenuFile.add(jSeparator3); - - MenuItemFileRemoveESP.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_R, java.awt.event.InputEvent.ALT_MASK)); - MenuItemFileRemoveESP.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/trash.png"))); // NOI18N - MenuItemFileRemoveESP.setText("Remove from ESP"); - MenuItemFileRemoveESP.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemFileRemoveESPActionPerformed(evt); - } - }); - MenuFile.add(MenuItemFileRemoveESP); - MenuFile.add(jSeparator2); - - MenuItemFileExit.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F4, java.awt.event.InputEvent.ALT_MASK)); - MenuItemFileExit.setText("Exit"); - MenuItemFileExit.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemFileExitActionPerformed(evt); - } - }); - MenuFile.add(MenuItemFileExit); - - MainMenuBar.add(MenuFile); - - MenuEdit.setText("Edit"); - - MenuItemEditUndo.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_Z, java.awt.event.InputEvent.CTRL_MASK)); - MenuItemEditUndo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/undo1.png"))); // NOI18N - MenuItemEditUndo.setText("Undo"); - MenuItemEditUndo.setEnabled(false); - MenuItemEditUndo.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemEditUndoActionPerformed(evt); - } - }); - MenuEdit.add(MenuItemEditUndo); - - MenuItemEditRedo.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F4, 0)); - MenuItemEditRedo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/redo1.png"))); // NOI18N - MenuItemEditRedo.setText("Redo"); - MenuItemEditRedo.setEnabled(false); - MenuItemEditRedo.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemEditRedoActionPerformed(evt); - } - }); - MenuEdit.add(MenuItemEditRedo); - MenuEdit.add(jSeparator7); - - MenuItemEditCut.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_X, java.awt.event.InputEvent.CTRL_MASK)); - MenuItemEditCut.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/cut.png"))); // NOI18N - MenuItemEditCut.setText("Cut"); - MenuItemEditCut.setEnabled(false); - MenuItemEditCut.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemEditCutActionPerformed(evt); - } - }); - MenuEdit.add(MenuItemEditCut); - - MenuItemEditCopy.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_C, java.awt.event.InputEvent.CTRL_MASK)); - MenuItemEditCopy.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/copy.png"))); // NOI18N - MenuItemEditCopy.setText("Copy"); - MenuItemEditCopy.setEnabled(false); - MenuItemEditCopy.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemEditCopyActionPerformed(evt); - } - }); - MenuEdit.add(MenuItemEditCopy); - - MenuItemEditPaste.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_V, java.awt.event.InputEvent.CTRL_MASK)); - MenuItemEditPaste.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/paste.png"))); // NOI18N - MenuItemEditPaste.setText("Paste"); - MenuItemEditPaste.setToolTipText(""); - MenuItemEditPaste.setEnabled(false); - MenuItemEditPaste.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemEditPasteActionPerformed(evt); - } - }); - MenuEdit.add(MenuItemEditPaste); - MenuEdit.add(jSeparator5); - - MenuItemEditSendSelected.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_B, java.awt.event.InputEvent.ALT_MASK)); - MenuItemEditSendSelected.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/send_selected.png"))); // NOI18N - MenuItemEditSendSelected.setText("Send selected Block to ESP"); - MenuItemEditSendSelected.setToolTipText("Send selected block to ESP"); - - binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, MenuItemEditorSendSelected, org.jdesktop.beansbinding.ELProperty.create("${enabled}"), MenuItemEditSendSelected, org.jdesktop.beansbinding.BeanProperty.create("enabled")); - bindingGroup.addBinding(binding); - - MenuItemEditSendSelected.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemEditSendSelectedActionPerformed(evt); - } - }); - MenuEdit.add(MenuItemEditSendSelected); - - MenuItemEditSendLine.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_L, java.awt.event.InputEvent.ALT_MASK)); - MenuItemEditSendLine.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/run_line.png"))); // NOI18N - MenuItemEditSendLine.setText("Send current Line to ESP"); - MenuItemEditSendLine.setToolTipText("Send current line from code editor window to ESP"); - MenuItemEditSendLine.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemEditSendLineActionPerformed(evt); - } - }); - MenuEdit.add(MenuItemEditSendLine); - - MainMenuBar.add(MenuEdit); - - MenuESP.setText("ESP"); - MenuESP.setToolTipText(""); - - MenuItemESPReset.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/reset.png"))); // NOI18N - MenuItemESPReset.setText("Restart ESP module"); - MenuItemESPReset.setToolTipText("Send RESET command (firmware depended)"); - MenuItemESPReset.setEnabled(false); - MenuItemESPReset.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemESPResetActionPerformed(evt); - } - }); - MenuESP.add(MenuItemESPReset); - - MenuItemESPFormat.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/file manager (delete).png"))); // NOI18N - MenuItemESPFormat.setText("Format ESP"); - MenuItemESPFormat.setToolTipText("Remove All files from ESP flash memory"); - MenuItemESPFormat.setEnabled(false); - MenuItemESPFormat.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemESPFormatActionPerformed(evt); - } - }); - MenuESP.add(MenuItemESPFormat); - - MainMenuBar.add(MenuESP); - - MenuView.setText("View"); - buttonGroupLF.add(MenuView); - MenuView.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuViewActionPerformed(evt); - } - }); - - AlwaysOnTop.setText("Always On Top"); - AlwaysOnTop.setToolTipText(""); - AlwaysOnTop.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/AlwaysOnTop.png"))); // NOI18N - AlwaysOnTop.addItemListener(new java.awt.event.ItemListener() { - public void itemStateChanged(java.awt.event.ItemEvent evt) { - AlwaysOnTopItemStateChanged(evt); - } - }); - AlwaysOnTop.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - AlwaysOnTopActionPerformed(evt); - } - }); - MenuView.add(AlwaysOnTop); - - MenuItemViewLog.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_L, java.awt.event.InputEvent.CTRL_MASK)); - MenuItemViewLog.setSelected(true); - MenuItemViewLog.setText("Show Log"); - MenuItemViewLog.setToolTipText("Enable/disable log window"); - MenuItemViewLog.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/backup.png"))); // NOI18N - MenuItemViewLog.addItemListener(new java.awt.event.ItemListener() { - public void itemStateChanged(java.awt.event.ItemEvent evt) { - MenuItemViewLogItemStateChanged(evt); - } - }); - MenuItemViewLog.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemViewLogActionPerformed(evt); - } - }); - MenuView.add(MenuItemViewLog); - - MenuItemViewClearLog.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F1, java.awt.event.InputEvent.CTRL_MASK)); - MenuItemViewClearLog.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/backup_delete.png"))); // NOI18N - MenuItemViewClearLog.setText("Clear log"); - MenuItemViewClearLog.setToolTipText("Clear log window"); - MenuItemViewClearLog.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemViewClearLogActionPerformed(evt); - } - }); - MenuView.add(MenuItemViewClearLog); - - MenuItemViewClearTerminal.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F2, java.awt.event.InputEvent.CTRL_MASK)); - MenuItemViewClearTerminal.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/terminal_clear.png"))); // NOI18N - MenuItemViewClearTerminal.setText("Clear terminal"); - MenuItemViewClearTerminal.setToolTipText("Clear terminal window"); - MenuItemViewClearTerminal.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemViewClearTerminalActionPerformed(evt); - } - }); - MenuView.add(MenuItemViewClearTerminal); - MenuView.add(jSeparator9); - - MenuItemViewTerminalOnly.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F1, java.awt.event.InputEvent.ALT_MASK)); - MenuItemViewTerminalOnly.setText("Show Terminal only (Left panel show/hide)"); - MenuItemViewTerminalOnly.setToolTipText("Enable/disable left panel"); - MenuItemViewTerminalOnly.addItemListener(new java.awt.event.ItemListener() { - public void itemStateChanged(java.awt.event.ItemEvent evt) { - MenuItemViewTerminalOnlyItemStateChanged(evt); - } - }); - MenuItemViewTerminalOnly.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemViewTerminalOnlyActionPerformed(evt); - } - }); - MenuView.add(MenuItemViewTerminalOnly); - - MenuItemViewEditorOnly.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F2, java.awt.event.InputEvent.ALT_MASK)); - MenuItemViewEditorOnly.setText("Show Editor only (Right panel show/hide)"); - MenuItemViewEditorOnly.setToolTipText("Enable/disable left panel"); - MenuItemViewEditorOnly.addItemListener(new java.awt.event.ItemListener() { - public void itemStateChanged(java.awt.event.ItemEvent evt) { - MenuItemViewEditorOnlyItemStateChanged(evt); - } - }); - MenuItemViewEditorOnly.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemViewEditorOnlyActionPerformed(evt); - } - }); - MenuView.add(MenuItemViewEditorOnly); - MenuView.add(jSeparator18); - - MenuItemViewToolbar.setSelected(true); - MenuItemViewToolbar.setText("Show toolbar at top left"); - MenuItemViewToolbar.setToolTipText("Enable/disable files toolbar at top left"); - MenuItemViewToolbar.addItemListener(new java.awt.event.ItemListener() { - public void itemStateChanged(java.awt.event.ItemEvent evt) { - MenuItemViewToolbarItemStateChanged(evt); - } - }); - MenuItemViewToolbar.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemViewToolbarActionPerformed(evt); - } - }); - MenuView.add(MenuItemViewToolbar); - - MenuItemViewLeftExtra.setText("Show Extra buttons at lleft"); - MenuItemViewLeftExtra.setToolTipText("Enable/disable Extra buttons panel at left"); - MenuItemViewLeftExtra.addItemListener(new java.awt.event.ItemListener() { - public void itemStateChanged(java.awt.event.ItemEvent evt) { - MenuItemViewLeftExtraItemStateChanged(evt); - } - }); - MenuItemViewLeftExtra.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemViewLeftExtraActionPerformed(evt); - } - }); - MenuView.add(MenuItemViewLeftExtra); - - MenuItemViewSnippets.setSelected(true); - MenuItemViewSnippets.setText("Show Snippets panel at right"); - MenuItemViewSnippets.setToolTipText("Enable/disable Snippets panel"); - MenuItemViewSnippets.addItemListener(new java.awt.event.ItemListener() { - public void itemStateChanged(java.awt.event.ItemEvent evt) { - MenuItemViewSnippetsItemStateChanged(evt); - } - }); - MenuItemViewSnippets.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemViewSnippetsActionPerformed(evt); - } - }); - MenuView.add(MenuItemViewSnippets); - - MenuItemViewFileManager.setSelected(true); - MenuItemViewFileManager.setText("Show FileManager panel at right"); - MenuItemViewFileManager.setToolTipText("Enable/disable FileManager panel at right"); - MenuItemViewFileManager.addItemListener(new java.awt.event.ItemListener() { - public void itemStateChanged(java.awt.event.ItemEvent evt) { - MenuItemViewFileManagerItemStateChanged(evt); - } - }); - MenuItemViewFileManager.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemViewFileManagerActionPerformed(evt); - } - }); - MenuView.add(MenuItemViewFileManager); - - MenuItemViewRightExtra.setSelected(true); - MenuItemViewRightExtra.setText("Show Extra buttons at bottom right"); - MenuItemViewRightExtra.setToolTipText("Enable/disable Extra buttons panel at bottom right"); - MenuItemViewRightExtra.addItemListener(new java.awt.event.ItemListener() { - public void itemStateChanged(java.awt.event.ItemEvent evt) { - MenuItemViewRightExtraItemStateChanged(evt); - } - }); - MenuItemViewRightExtra.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemViewRightExtraActionPerformed(evt); - } - }); - MenuView.add(MenuItemViewRightExtra); - - MenuItemViewDonate.setSelected(true); - MenuItemViewDonate.setText("I'm already make donation,
please hide dontation button at bottom right!"); - MenuItemViewDonate.setToolTipText("Enable/disable Extra buttons panel at bottom right"); - MenuItemViewDonate.addItemListener(new java.awt.event.ItemListener() { - public void itemStateChanged(java.awt.event.ItemEvent evt) { - MenuItemViewDonateItemStateChanged(evt); - } - }); - MenuItemViewDonate.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemViewDonateActionPerformed(evt); - } - }); - MenuView.add(MenuItemViewDonate); - MenuView.add(jSeparator13); - - MenuItemViewTermFontInc.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_ADD, java.awt.event.InputEvent.CTRL_MASK)); - MenuItemViewTermFontInc.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/zoom in.png"))); // NOI18N - MenuItemViewTermFontInc.setText("Terminal font size inc"); - MenuItemViewTermFontInc.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemViewTermFontIncActionPerformed(evt); - } - }); - MenuView.add(MenuItemViewTermFontInc); - - MenuItemViewTermFontDec.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_SUBTRACT, java.awt.event.InputEvent.CTRL_MASK)); - MenuItemViewTermFontDec.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/zoom out.png"))); // NOI18N - MenuItemViewTermFontDec.setText("Terminal font size dec"); - MenuItemViewTermFontDec.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemViewTermFontDecActionPerformed(evt); - } - }); - MenuView.add(MenuItemViewTermFontDec); - MenuView.add(jSeparator10); - - MenuItemViewEditorFontInc.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_ADD, java.awt.event.InputEvent.ALT_MASK)); - MenuItemViewEditorFontInc.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/zoom in.png"))); // NOI18N - MenuItemViewEditorFontInc.setText("Editor font size inc"); - MenuItemViewEditorFontInc.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemViewEditorFontIncActionPerformed(evt); - } - }); - MenuView.add(MenuItemViewEditorFontInc); - - MenuItemViewEditorFontDec.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_SUBTRACT, java.awt.event.InputEvent.ALT_MASK)); - MenuItemViewEditorFontDec.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/zoom out.png"))); // NOI18N - MenuItemViewEditorFontDec.setText("Editor font size dec"); - MenuItemViewEditorFontDec.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemViewEditorFontDecActionPerformed(evt); - } - }); - MenuView.add(MenuItemViewEditorFontDec); - MenuView.add(jSeparator11); - - MenuItemViewLogFontInc.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_ADD, java.awt.event.InputEvent.ALT_MASK | java.awt.event.InputEvent.CTRL_MASK)); - MenuItemViewLogFontInc.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/zoom in.png"))); // NOI18N - MenuItemViewLogFontInc.setText("Log font size inc"); - MenuItemViewLogFontInc.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemViewLogFontIncActionPerformed(evt); - } - }); - MenuView.add(MenuItemViewLogFontInc); - - MenuItemViewLogFontDec.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_SUBTRACT, java.awt.event.InputEvent.ALT_MASK | java.awt.event.InputEvent.CTRL_MASK)); - MenuItemViewLogFontDec.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/zoom out.png"))); // NOI18N - MenuItemViewLogFontDec.setText("Log font size dec"); - MenuItemViewLogFontDec.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemViewLogFontDecActionPerformed(evt); - } - }); - MenuView.add(MenuItemViewLogFontDec); - MenuView.add(jSeparator12); - - MenuItemViewFontDefault.setText("Reset all font size to default"); - MenuItemViewFontDefault.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemViewFontDefaultActionPerformed(evt); - } - }); - MenuView.add(MenuItemViewFontDefault); - MenuView.add(jSeparator17); - - MainMenuBar.add(MenuView); - - MenuLinks.setText("Links"); - - MenuItemLinksMicroPythonDoc.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/micropython.png"))); // NOI18N - MenuItemLinksMicroPythonDoc.setText("MicroPython Documentation English"); - MenuItemLinksMicroPythonDoc.setToolTipText("Open doc NodeMCU API Chinese in browser"); - MenuItemLinksMicroPythonDoc.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemLinksMicroPythonDocActionPerformed(evt); - } - }); - MenuLinks.add(MenuItemLinksMicroPythonDoc); - - MenuItemLinksNodeMCUdoc.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/nodemcu.png"))); // NOI18N - MenuItemLinksNodeMCUdoc.setText("NodeMCU Documentation English"); - MenuItemLinksNodeMCUdoc.setToolTipText("Open doc NodeMCU API English in browser"); - MenuItemLinksNodeMCUdoc.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemLinksNodeMCUdocActionPerformed(evt); - } - }); - MenuLinks.add(MenuItemLinksNodeMCUdoc); - MenuLinks.add(jSeparator15); - - MenuItemLinksBuyDevBoard.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/aliexpress.png"))); // NOI18N - MenuItemLinksBuyDevBoard.setText("Buy NodeMCU v3 (LoLin brand, USB)"); - MenuItemLinksBuyDevBoard.setToolTipText("Buy NodeMCU development boards on Aliexpress"); - MenuItemLinksBuyDevBoard.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemLinksBuyDevBoardActionPerformed(evt); - } - }); - MenuLinks.add(MenuItemLinksBuyDevBoard); - - MenuItemLinksBuyESP8266.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/aliexpress.png"))); // NOI18N - MenuItemLinksBuyESP8266.setText("Buy Witty (RGB LED, 3 buttons, USB)"); - MenuItemLinksBuyESP8266.setToolTipText("Buy ESP8266 ESP-01 ESP-02 ... ESP-12 modules on Aliexpress"); - MenuItemLinksBuyESP8266.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemLinksBuyESP8266ActionPerformed(evt); - } - }); - MenuLinks.add(MenuItemLinksBuyESP8266); - - MenuItemLinksBuyESD12.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/aliexpress.png"))); // NOI18N - MenuItemLinksBuyESD12.setText("Buy WeMos mini (many shields, USB)"); - MenuItemLinksBuyESD12.setToolTipText("Buy ESP8266 ESD-12 4M flash board"); - MenuItemLinksBuyESD12.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemLinksBuyESD12ActionPerformed(evt); - } - }); - MenuLinks.add(MenuItemLinksBuyESD12); - - MenuItemLinksBuyOther.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/aliexpress.png"))); // NOI18N - MenuItemLinksBuyOther.setText("Buy most popular DIY parts"); - MenuItemLinksBuyOther.setToolTipText("Buy any electronics and other on Aliexpress"); - MenuItemLinksBuyOther.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemLinksBuyOtherActionPerformed(evt); - } - }); - MenuLinks.add(MenuItemLinksBuyOther); - MenuLinks.add(jSeparator16); - - MenuItemLinksIoTmanager.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/IoTmanager.png"))); // NOI18N - MenuItemLinksIoTmanager.setText("IoT Manager - free Android app
for any DIY devices. Ads free.
From 4refr0nt, ESPlorer developer"); - MenuItemLinksIoTmanager.setToolTipText("You can make donation for ESPlorer developer"); - MenuItemLinksIoTmanager.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemLinksIoTmanagerActionPerformed(evt); - } - }); - MenuLinks.add(MenuItemLinksIoTmanager); - MenuLinks.add(jSeparator19); - - MenuItemLinksESPlorerForumEn.setText("ESPlorer discuss, bugs report - esp8266.com English"); - MenuItemLinksESPlorerForumEn.setToolTipText("Link to ESP8266.COM forum, ESPlorer topic, English"); - MenuItemLinksESPlorerForumEn.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemLinksESPlorerForumEnActionPerformed(evt); - } - }); - MenuLinks.add(MenuItemLinksESPlorerForumEn); - - MenuItemLinksESPlorerForumRu.setText("ESPlorer discuss, bugs report Russian"); - MenuItemLinksESPlorerForumRu.setToolTipText("Link to ESP8266.RU forum, ESPlorer topic, Russian"); - MenuItemLinksESPlorerForumRu.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemLinksESPlorerForumRuActionPerformed(evt); - } - }); - MenuLinks.add(MenuItemLinksESPlorerForumRu); - - MenuItemLinksESPlorerLatest.setText("ESPlorer download latest stable"); - MenuItemLinksESPlorerLatest.setToolTipText("Link to ESP8266.RU, download ESPlorer latest"); - MenuItemLinksESPlorerLatest.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemLinksESPlorerLatestActionPerformed(evt); - } - }); - MenuLinks.add(MenuItemLinksESPlorerLatest); - - MenuItemLinksESPlorerSource.setText("ESPlorer download source code from github"); - MenuItemLinksESPlorerSource.setToolTipText("Link to GITHUB for download ESPlorer source code"); - MenuItemLinksESPlorerSource.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemLinksESPlorerSourceActionPerformed(evt); - } - }); - MenuLinks.add(MenuItemLinksESPlorerSource); - - MenuItemLinksESPlorerHome.setText("ESPlorer home page on esp8266.ru"); - MenuItemLinksESPlorerHome.setToolTipText("Link to ESP8266.RU, ESPlorer HomePage"); - MenuItemLinksESPlorerHome.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemLinksESPlorerHomeActionPerformed(evt); - } - }); - MenuLinks.add(MenuItemLinksESPlorerHome); - MenuLinks.add(jSeparator20); - - MenuItemLinksDonate.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/paypal.png"))); // NOI18N - MenuItemLinksDonate.setText("Make donation for ESPlorer developer"); - MenuItemLinksDonate.setToolTipText("You can make donation for ESPlorer developer"); - MenuItemLinksDonate.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemLinksDonateActionPerformed(evt); - } - }); - MenuLinks.add(MenuItemLinksDonate); - - MainMenuBar.add(MenuLinks); - - MenuHelp.setText("?"); - - MenuItemHelpAbout.setText("About"); - MenuItemHelpAbout.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - MenuItemHelpAboutActionPerformed(evt); - } - }); - MenuHelp.add(MenuItemHelpAbout); - - MainMenuBar.add(MenuHelp); - - setJMenuBar(MainMenuBar); - - javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); - getContentPane().setLayout(layout); - layout.setHorizontalGroup( - layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(HorizontSplit, javax.swing.GroupLayout.DEFAULT_SIZE, 1024, Short.MAX_VALUE) - ); - layout.setVerticalGroup( - layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(HorizontSplit, javax.swing.GroupLayout.DEFAULT_SIZE, 746, Short.MAX_VALUE) - ); - - getAccessibleContext().setAccessibleDescription(""); - - bindingGroup.bind(); - - pack(); - }//
//GEN-END:initComponents - - private void PortActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_PortActionPerformed - // TODO add your handling code here: - }//GEN-LAST:event_PortActionPerformed - - private void MenuItemFileExitActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemFileExitActionPerformed - AppClose(); - }//GEN-LAST:event_MenuItemFileExitActionPerformed - - private void SpeedFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_SpeedFocusLost - nSpeed = Integer.parseInt((String) Speed.getSelectedItem()); - }//GEN-LAST:event_SpeedFocusLost - - private void SpeedActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_SpeedActionPerformed - if (portJustOpen) { - log("ERROR: Communication with MCU not established."); - return; - } - nSpeed = Integer.parseInt((String) Speed.getSelectedItem()); - if (pOpen) { // reconnect - if (OptionNodeMCU.isSelected() || FirmwareType == FIRMWARE_NODEMCU) { - log("Try to reconnect with baud " + Integer.toString(nSpeed) + "..."); - btnSend("print(uart.setup(0, " + nSpeed + ", 8, 0, 1, 1 ))"); - try { - Thread.sleep(200L); - } catch (InterruptedException e) { - } - } else { - return; - } - if (SetSerialPortParams()) { - log("Reconnect: Success."); - CheckComm(); - } - } - UpdateLED(); - }//GEN-LAST:event_SpeedActionPerformed - - private void OpenActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_OpenActionPerformed - if (Open.isSelected()) { - if (pOpen) { - return; - } - try { - String port; - if (UseCustomPortName.isSelected()) { - port = CustomPortName.getText().trim(); - } else { - port = Port.getSelectedItem().toString().trim(); - } - prefs.put(SERIAL_PORT, port); - log("Serial port " + port + " save as default."); - int speed = Speed.getSelectedIndex(); - prefs.putInt(SERIAL_BAUD, speed); - log("Baud rate " + Speed.getSelectedItem().toString().trim() + " save as default."); - } catch (Exception e) { - } - pOpen = portOpen(); - Open.setSelected(pOpen); - } else { - portClose(); - } - UpdateButtons(); - }//GEN-LAST:event_OpenActionPerformed - private void UpdateButtons() { - pOpen = Open.isSelected(); - if (pOpen && !portJustOpen) { - UpdateLED(); - Port.setEnabled(false); - //Speed.setEnabled(false); - ReScan.setEnabled(false); - SendCommand.setEnabled(true); - Command.setEnabled(true); - CR.setEnabled(true); - LF.setEnabled(true); - // left panel - FileSaveESP.setEnabled(true); - MenuItemFileSaveESP.setEnabled(true); - FileSendESP.setEnabled(true); - MenuItemFileSendESP.setEnabled(true); - MenuItemFileRemoveESP.setEnabled(true); - FileDo.setEnabled(true); - MenuItemFileDo.setEnabled(true); - MenuItemEditorSendLine.setEnabled(true); - MenuItemEditSendLine.setEnabled(true); - ButtonSendLine.setEnabled(true); - NodeReset.setEnabled(true); - MenuItemTerminalReset.setEnabled(true); - MenuItemTerminalFormat.setEnabled(true); - MenuItemESPReset.setEnabled(true); - MenuItemESPFormat.setEnabled(true); - SnippetRun.setEnabled(true); - ButtonSendLine.setEnabled(true); - ButtonSnippet0.setEnabled(true); - ButtonSnippet1.setEnabled(true); - ButtonSnippet2.setEnabled(true); - ButtonSnippet3.setEnabled(true); - ButtonSnippet4.setEnabled(true); - ButtonSnippet5.setEnabled(true); - ButtonSnippet6.setEnabled(true); - ButtonSnippet7.setEnabled(true); - ButtonSnippet8.setEnabled(true); - ButtonSnippet9.setEnabled(true); - ButtonSnippet10.setEnabled(true); - ButtonSnippet11.setEnabled(true); - ButtonSnippet12.setEnabled(true); - ButtonSnippet13.setEnabled(true); - ButtonSnippet14.setEnabled(true); - ButtonSnippet15.setEnabled(true); - - } else { - UpdateLED(); - Port.setEnabled(true); - //Speed.setEnabled(true); - ReScan.setEnabled(true); - SendCommand.setEnabled(false); - Command.setEnabled(false); - CR.setEnabled(false); - LF.setEnabled(false); - // left panel - FileSaveESP.setEnabled(false); - FileSaveESP.setSelected(false); - MenuItemFileSaveESP.setEnabled(false); - FileSendESP.setEnabled(false); - FileSendESP.setSelected(false); - MenuItemFileSendESP.setEnabled(false); - MenuItemFileRemoveESP.setEnabled(false); - FileDo.setEnabled(false); - MenuItemFileDo.setEnabled(false); - MenuItemEditorSendLine.setEnabled(false); - MenuItemEditSendLine.setEnabled(false); - ButtonSendLine.setEnabled(false); - NodeReset.setEnabled(false); - MenuItemTerminalReset.setEnabled(false); - MenuItemTerminalFormat.setEnabled(false); - MenuItemESPReset.setEnabled(false); - MenuItemESPFormat.setEnabled(false); - SnippetRun.setEnabled(false); - ButtonSnippet0.setEnabled(false); - ButtonSnippet1.setEnabled(false); - ButtonSnippet2.setEnabled(false); - ButtonSnippet3.setEnabled(false); - ButtonSnippet4.setEnabled(false); - ButtonSnippet5.setEnabled(false); - ButtonSnippet6.setEnabled(false); - ButtonSnippet7.setEnabled(false); - ButtonSnippet8.setEnabled(false); - ButtonSnippet9.setEnabled(false); - ButtonSnippet10.setEnabled(false); - ButtonSnippet11.setEnabled(false); - ButtonSnippet12.setEnabled(false); - ButtonSnippet13.setEnabled(false); - ButtonSnippet14.setEnabled(false); - ButtonSnippet15.setEnabled(false); - } - - DisablingNotImplemented(); - - } - private void formWindowOpened(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowOpened - PortFinder(); - this.setTitle("ESPlorer " + VERSION + " by 4refr0nt"); - ProgressBar.setVisible(false); - CommandsSetNodeMCU(); - isToolbarShow(); - isLeftExtraShow(); - isRightExtraShow(); - isRightSnippetsShow(); - SetWindowSize(); - isFileManagerShow(); - isLogShow(); - }//GEN-LAST:event_formWindowOpened - private void SetWindowSize() { - int x, y, h, w; - x = prefs.getInt(WIN_X, 0); - y = prefs.getInt(WIN_Y, 0); - h = prefs.getInt(WIN_H, 768); - w = prefs.getInt(WIN_W, 1024); - this.setBounds(x, y, w, h); - } - - private void isToolbarShow() { - FilesToolBar.setVisible(MenuItemViewToolbar.isSelected()); - } - - private void isLeftExtraShow() { - LeftExtraButtons.setVisible(MenuItemViewLeftExtra.isSelected()); - } - - private void isRightExtraShow() { - RightExtraButtons.setVisible(MenuItemViewRightExtra.isSelected()); - } - - private void isRightSnippetsShow() { - RightSnippetsPane.setVisible(MenuItemViewSnippets.isSelected()); - } - - private void isFileManagerShow() { - int div; - final int w = 160; - if (MenuItemViewFileManager.isSelected()) { - FileManagerScrollPane.setEnabled(true); - FileManagerScrollPane.setVisible(true); - //div = prefs.getInt( FM_DIV, RightFilesSplitPane.getWidth()-w ); - //if ( div > RightFilesSplitPane.getWidth()-w ) { - div = RightFilesSplitPane.getWidth() - w; - //} - RightFilesSplitPane.setDividerLocation(div); - } else { - FileManagerScrollPane.setEnabled(false); - FileManagerScrollPane.setVisible(false); - RightFilesSplitPane.setDividerLocation(RightFilesSplitPane.getWidth() - RightFilesSplitPane.getDividerSize()); - } - } - - private void isLogShow() { - if (MenuItemViewLog.isSelected()) { - ScrollLog.setVisible(true); - ScrollLog.setEnabled(true); - RightSplitPane.setDividerLocation(prefs.getInt(LOG_DIV, RightSplitPane.getHeight() - 200)); - } else { - ScrollLog.setVisible(false); - ScrollLog.setEnabled(false); - RightSplitPane.setDividerLocation(RightSplitPane.getHeight() - RightSplitPane.getDividerSize()); - } - } - private void ReScanActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ReScanActionPerformed - PortFinder(); - }//GEN-LAST:event_ReScanActionPerformed - - private void SendCommandActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_SendCommandActionPerformed - if (CommandEcho.isSelected()) { - if (Terminal.getCaretOffsetFromLineStart() > 0) { - TerminalAdd("\r\n"); - } - TerminalAdd(Command.getSelectedItem().toString()); - TerminalAdd("\r\n"); - } - SendCommand(); - }//GEN-LAST:event_SendCommandActionPerformed - - private void ContextMenuTerminalPopupMenuWillBecomeVisible(javax.swing.event.PopupMenuEvent evt) {//GEN-FIRST:event_ContextMenuTerminalPopupMenuWillBecomeVisible - try { - MenuItemTerminalCopy.setEnabled(Terminal.getSelectedText().length() > 0); - } catch (Exception e) { - MenuItemTerminalCopy.setEnabled(false); - } - int size = Terminal.getFont().getSize(); - String inc, dec; - if (size < TERMINAL_FONT_SIZE_MAX) { - inc = "Change font size from " + Integer.toString(size) + " to " + Integer.toString(size + 1); - } else { - inc = "Set font size to " + Float.toString(TERMINAL_FONT_SIZE_MIN); - } - MenuItemTerminalFontInc.setText(inc); - if (size > TERMINAL_FONT_SIZE_MIN) { - dec = "Change font size from " + Integer.toString(size) + " to " + Integer.toString(size - 1); - } else { - dec = "Set font size to " + Float.toString(TERMINAL_FONT_SIZE_MAX); - } - MenuItemTerminalFontDec.setText(dec); - }//GEN-LAST:event_ContextMenuTerminalPopupMenuWillBecomeVisible - - private void MenuItemTerminalCopyActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemTerminalCopyActionPerformed - Terminal.copy(); - }//GEN-LAST:event_MenuItemTerminalCopyActionPerformed - - private void MenuItemTerminalClearActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemTerminalClearActionPerformed - Terminal.setText(""); - }//GEN-LAST:event_MenuItemTerminalClearActionPerformed - - private void MenuItemViewLogActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemViewLogActionPerformed - isLogShow(); - prefs.putBoolean(SHOW_LOG, MenuItemViewLog.isSelected()); - }//GEN-LAST:event_MenuItemViewLogActionPerformed - - private void MenuItemFileSaveActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemFileSaveActionPerformed - SaveFile(); - if (FileAutoSaveESP.isSelected() && !FileSaveESP.isSelected()) { - FileSaveESP.doClick(); - } - }//GEN-LAST:event_MenuItemFileSaveActionPerformed - boolean isFileNew() { - try { - if (FilesTabbedPane.getTitleAt(iTab).equals(NewFile)) { - return true; - } - } catch (Exception e) { - return true; - } - return false; - } - - boolean SaveFile() { - boolean success = false; - if (isFileNew()) { // we saving new file - log("Saving new file..."); - FileCount++; - String fileExt; - if (OptionNodeMCU.isSelected()) { - fileExt = ".lua"; - } else { // MicroPython - fileExt = ".py"; - } - iFile.set(iTab, new File("script" + Integer.toString(FileCount) + fileExt)); - chooser.rescanCurrentDirectory(); - chooser.setSelectedFile(iFile.get(iTab)); - int returnVal = chooser.showSaveDialog(null); - if (returnVal != JFileChooser.APPROVE_OPTION) { - log("Saving abort by user."); - UpdateEditorButtons(); - return false; - } - SavePath(); - iFile.set(iTab, chooser.getSelectedFile()); - if (iFile.get(iTab).exists()) { - log("File " + iFile.get(iTab).getName() + " already exist, waiting user choice"); - int shouldWrite = Dialog("File " + iFile.get(iTab).getName() + " already exist. Overwrite?", JOptionPane.YES_NO_OPTION); - if (shouldWrite != JOptionPane.YES_OPTION) { - UpdateEditorButtons(); - log("Saving canceled by user, because file " + FileName + " already exist"); - return false; - } else { - log("File " + FileName + " will be overwriten by user choice"); - } - } - } else { // we saving file, when open - log("We save known file " + iFile.get(iTab).getName()); - } - try { - log("Try to saving file " + iFile.get(iTab).getName() + " ..."); - fos = new FileOutputStream(iFile.get(iTab)); - osw = new OutputStreamWriter(fos, "UTF-8"); - bw = new BufferedWriter(osw); - bw.write(TextEditor1.get(iTab).getText()); - bw.flush(); - osw.flush(); - fos.flush(); - FileName = iFile.get(iTab).getName(); - log("Save file " + FileName + ": Success."); - FilesTabbedPane.setTitleAt(iTab, FileName); - UpdateEditorButtons(); - success = true; - } catch (IOException ex) { - log("Save file " + iFile.get(iTab).getName() + ": FAIL."); - log(ex.toString()); -// log(ex.getStackTrace().toString()); - JOptionPane.showMessageDialog(null, "Error, file not saved!"); - } - try { - if (bw != null) { - bw.close(); - } - if (osw != null) { - osw.close(); - } - if (fos != null) { - fos.close(); - } - } catch (IOException ex) { - log(ex.toString()); -// log(ex.getStackTrace().toString()); - } - TextEditor1.get(iTab).discardAllEdits(); - FileChanged.set(iTab, false); - UpdateEditorButtons(); - return success; - } - private void MenuItemFileNewActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemFileNewActionPerformed - FileNew(""); - }//GEN-LAST:event_MenuItemFileNewActionPerformed - private void FileNew(String s) { - if (UseExternalEditor.isSelected()) { - return; - } - AddTab(s); - if (s.isEmpty()) { - log("New empty file ready."); - } else { - log("New file ready, content load: Success."); - } - } - private void MenuItemEditCutActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemEditCutActionPerformed - if (UseExternalEditor.isSelected()) { - return; - } - TextEditor1.get(iTab).cut(); - FileChanged.set(iTab, true); - }//GEN-LAST:event_MenuItemEditCutActionPerformed - - private void MenuItemEditCopyActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemEditCopyActionPerformed - TextEditor1.get(iTab).copy(); - }//GEN-LAST:event_MenuItemEditCopyActionPerformed - - private void MenuItemEditPasteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemEditPasteActionPerformed - if (UseExternalEditor.isSelected()) { - return; - } - TextEditor1.get(iTab).paste(); - FileChanged.set(iTab, true); - }//GEN-LAST:event_MenuItemEditPasteActionPerformed -// File open - private void MenuItemFileOpenActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemFileOpenActionPerformed - OpenFile(); - }//GEN-LAST:event_MenuItemFileOpenActionPerformed - private void SavePath() { - workDir = chooser.getCurrentDirectory().toString(); - prefs.put(PATH, workDir); - } - - private void OpenFile() { - chooser.rescanCurrentDirectory(); - int success = chooser.showOpenDialog(LeftBasePane); - if (success == JFileChooser.APPROVE_OPTION) { - SavePath(); - int isOpen = -1; - for (int i = 0; i < iFile.size(); i++) { - if (chooser.getSelectedFile().getPath().equals(iFile.get(i).getPath())) { - iTab = i; - isOpen = i; - break; - } - } - if (isOpen >= 0) { - FilesTabbedPane.setSelectedIndex(iTab); - UpdateEditorButtons(); - FileName = chooser.getSelectedFile().getName(); - log("File " + FileName + " already open, select tab to file " + FileName); - JOptionPane.showMessageDialog(null, "File " + FileName + " already open. You can use 'Reload' only."); - return; - } - if (!isFileNew() || isChanged()) { - AddTab(""); - } - log("Try to open file " + chooser.getSelectedFile().getName()); - try { - iFile.set(iTab, chooser.getSelectedFile()); - FileName = iFile.get(iTab).getName(); - log("File name: " + iFile.get(iTab).getPath()); - if (iFile.get(iTab).length() > 1024 * 1024) { // 1M - JOptionPane.showMessageDialog(null, "File " + FileName + " too large."); - log("File too large. Size: " + Long.toString(iFile.get(iTab).length() / 1024 / 1024) + " Mb, file: " + iFile.get(iTab).getPath()); - UpdateEditorButtons(); - return; - } - FilesTabbedPane.setTitleAt(iTab, iFile.get(iTab).getName()); - } catch (HeadlessException ex) { - JOptionPane.showMessageDialog(null, "Error, file is not open!"); - log(ex.toString()); - log("Open: FAIL."); -// log(ex.getStackTrace().toString()); - } - if (LoadFile()) { - log("Open \"" + FileName + "\": Success."); - } - } - UpdateEditorButtons(); - } - - private boolean LoadFile() { - boolean success; - if (isFileNew()) { - UpdateEditorButtons(); - log("Internal error 101: FileTab is NewFile."); - return false; - } - FileName = ""; - try { - FileName = iFile.get(iTab).getName(); - log("Try to load file " + FileName); - } catch (Exception e) { - log("Internal error 102: no current file descriptor."); - return false; - } - try { - fis = new FileInputStream(iFile.get(iTab)); - isr = new InputStreamReader(fis, "UTF-8"); - br = new BufferedReader(isr); - StringBuilder sb = new StringBuilder(); - String line; - while ((line = br.readLine()) != null) { - sb.append(line).append('\n'); - } - TextEditor1.get(iTab).setText(sb.toString()); - success = true; - } catch (IOException ex) { - log(ex.toString()); - log("Loading " + FileName + ": FAIL."); - UpdateEditorButtons(); - JOptionPane.showMessageDialog(null, "Error, file not load!"); - return false; - } - try { - if (br != null) { - br.close(); - } - if (isr != null) { - isr.close(); - } - if (fis != null) { - fis.close(); - } - } catch (IOException ex) { - log(ex.toString()); - log("Internal error 103: can't close stream."); - } - if (success) { - TextEditor1.get(iTab).setCaretPosition(0); - FileChanged.set(iTab, false); - TextEditor1.get(iTab).discardAllEdits(); - UpdateEditorButtons(); - FileLabelUpdate(); - if (UseExternalEditor.isSelected()) { - TextEditor1.get(iTab).setEditable(false); - } - log("Loading " + FileName + ": Success."); - } - return success; - } - - private boolean PrefsFlush() { - boolean success = false; - try { - prefs.flush(); - success = true; - } catch (BackingStoreException e) { - log("ERROR: Can't save some setting."); - log(e.toString()); - } - return success; - } - private void MenuItemEditorCutActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemEditorCutActionPerformed - MenuItemEditCut.doClick(); - }//GEN-LAST:event_MenuItemEditorCutActionPerformed - - private void MenuItemEditorCopyActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemEditorCopyActionPerformed - MenuItemEditCopy.doClick(); - }//GEN-LAST:event_MenuItemEditorCopyActionPerformed - - private void MenuItemEditorPasteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemEditorPasteActionPerformed - MenuItemEditPaste.doClick(); - }//GEN-LAST:event_MenuItemEditorPasteActionPerformed - - private void MenuItemLogClearActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemLogClearActionPerformed - Log.setText(""); - }//GEN-LAST:event_MenuItemLogClearActionPerformed - private void CheckSelected() { - if (TextEditor1.get(iTab).getSelectedText() == null) { - MenuItemEditorCut.setEnabled(false); - MenuItemEditCut.setEnabled(false); - MenuItemEditorCopy.setEnabled(false); - MenuItemEditCopy.setEnabled(false); - ButtonCut.setEnabled(false); - ButtonCopy.setEnabled(false); - MenuItemEditSendSelected.setEnabled(false); - MenuItemEditorSendSelected.setEnabled(false); - ButtonSendSelected.setEnabled(false); - } else { - MenuItemEditorCut.setEnabled(true); - MenuItemEditCut.setEnabled(true); - MenuItemEditorCopy.setEnabled(true); - MenuItemEditCopy.setEnabled(true); - ButtonCut.setEnabled(true); - ButtonCopy.setEnabled(true); - MenuItemEditSendSelected.setEnabled(pOpen); - MenuItemEditorSendSelected.setEnabled(pOpen); - ButtonSendSelected.setEnabled(pOpen); - } - try { - if (Toolkit.getDefaultToolkit().getSystemClipboard().getContents(null) == null) { // clipboard empty - MenuItemEditorPaste.setEnabled(false); - MenuItemEditPaste.setEnabled(false); - ButtonPaste.setEnabled(false); - } else { - MenuItemEditorPaste.setEnabled(true); - MenuItemEditPaste.setEnabled(true); - ButtonPaste.setEnabled(true); - } - } catch (HeadlessException e) { - } - } - - private void UpdateEditorButtons() { - iTab = FilesTabbedPane.getSelectedIndex(); - // isChanged - if (isChanged() && !UseExternalEditor.isSelected()) { - if (isFileNew()) { - MenuItemFileSave.setEnabled(true); - ButtonFileSave.setEnabled(true); - MenuItemFileReload.setEnabled(false); - ButtonFileReload.setEnabled(false); - } else { - MenuItemFileSave.setEnabled(true); - ButtonFileSave.setEnabled(true); - MenuItemFileReload.setEnabled(true); - ButtonFileReload.setEnabled(true); - } - } else if (isFileNew()) { - MenuItemFileSave.setEnabled(true); - ButtonFileSave.setEnabled(true); - MenuItemFileReload.setEnabled(false); - ButtonFileReload.setEnabled(false); - } else { - MenuItemFileSave.setEnabled(false); - ButtonFileSave.setEnabled(false); - MenuItemFileReload.setEnabled(true); - ButtonFileReload.setEnabled(true); - } - if (isFileNew() && (FilesTabbedPane.getTabCount() == 1)) { - MenuItemFileClose.setEnabled(false); - ButtonFileClose.setEnabled(false); - } else { - MenuItemFileClose.setEnabled(true); - ButtonFileClose.setEnabled(true); - } - // CanUndo - try { - if (TextEditor1.isEmpty()) { - return; - } - } catch (Exception e) { - return; - } - if (TextEditor1.get(iTab).canUndo()) { - MenuItemEditUndo.setEnabled(true); - MenuItemEditorUndo.setEnabled(true); - ButtonUndo.setEnabled(true); - } else { - MenuItemEditUndo.setEnabled(false); - MenuItemEditorUndo.setEnabled(false); - ButtonUndo.setEnabled(false); - } - // CanRedo - if (TextEditor1.get(iTab).canRedo()) { - MenuItemEditRedo.setEnabled(true); - MenuItemEditorRedo.setEnabled(true); - ButtonRedo.setEnabled(true); - } else { - MenuItemEditRedo.setEnabled(false); - MenuItemEditorRedo.setEnabled(false); - ButtonRedo.setEnabled(false); - } - CheckSelected(); - if (UseExternalEditor.isSelected()) { - MenuItemFileReload.setEnabled(true); - ButtonFileReload.setEnabled(true); - - MenuItemFileSave.setEnabled(false); - ButtonFileSave.setEnabled(false); - MenuItemEditUndo.setEnabled(false); - MenuItemEditorUndo.setEnabled(false); - ButtonUndo.setEnabled(false); - MenuItemEditRedo.setEnabled(false); - MenuItemEditorRedo.setEnabled(false); - ButtonRedo.setEnabled(false); - MenuItemEditorCut.setEnabled(false); - MenuItemEditCut.setEnabled(false); - ButtonCut.setEnabled(false); - MenuItemEditorPaste.setEnabled(false); - MenuItemEditPaste.setEnabled(false); - ButtonPaste.setEnabled(false); - MenuItemFileNew.setEnabled(false); - ButtonFileNew.setEnabled(false); - MenuItemFileSaveAs.setEnabled(false); - } else { - MenuItemFileNew.setEnabled(true); - ButtonFileNew.setEnabled(true); - MenuItemFileSaveAs.setEnabled(true); - } - } - private void formFocusGained(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_formFocusGained - UpdateEditorButtons(); - UpdateButtons(); - }//GEN-LAST:event_formFocusGained - - private void MenuItemFileReloadActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemFileReloadActionPerformed - ReloadFile(); - }//GEN-LAST:event_MenuItemFileReloadActionPerformed - - private void MenuItemFileCloseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemFileCloseActionPerformed - CloseFile(); - }//GEN-LAST:event_MenuItemFileCloseActionPerformed - - private void MenuItemViewClearTerminalActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemViewClearTerminalActionPerformed - MenuItemTerminalClear.doClick(); - }//GEN-LAST:event_MenuItemViewClearTerminalActionPerformed - - private void MenuItemViewClearLogActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemViewClearLogActionPerformed - MenuItemLogClear.doClick(); - }//GEN-LAST:event_MenuItemViewClearLogActionPerformed - - private void AlwaysOnTopItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_AlwaysOnTopItemStateChanged - this.setAlwaysOnTop(AlwaysOnTop.isSelected()); - }//GEN-LAST:event_AlwaysOnTopItemStateChanged - - private void MenuItemEditUndoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemEditUndoActionPerformed - if (TextEditor1.get(iTab).canUndo()) { - TextEditor1.get(iTab).undoLastAction(); - } - }//GEN-LAST:event_MenuItemEditUndoActionPerformed - - private void MenuItemEditRedoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemEditRedoActionPerformed - if (TextEditor1.get(iTab).canRedo()) { - TextEditor1.get(iTab).redoLastAction(); - } - }//GEN-LAST:event_MenuItemEditRedoActionPerformed - - private void MenuItemEditorRedoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemEditorRedoActionPerformed - MenuItemEditRedo.doClick(); - }//GEN-LAST:event_MenuItemEditorRedoActionPerformed - - private void MenuItemEditorUndoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemEditorUndoActionPerformed - MenuItemEditUndo.doClick(); - }//GEN-LAST:event_MenuItemEditorUndoActionPerformed - private void NodeListFiles() { - if (portJustOpen) { - log("ERROR: Communication with MCU not yet established."); - return; - } - //String cmd = "print(\"~~~File \"..\"list START~~~\") for k,v in pairs(file.list()) do l = string.format(\"%-15s\",k) print(l..\" - \"..v..\" bytes\") end l=nil k=nil v=nil print(\"~~~File \"..\"list END~~~\")"; - String cmd = "_dir=function()\n" - + " local k,v,l\n" - + " print(\"~~~File \"..\"list START~~~\")\n" - + " for k,v in pairs(file.list()) do \n" - + " l = string.format(\"%-15s\",k) \n" - + " print(l..\" : \"..v..\" bytes\") \n" - + " end \n" - + " print(\"~~~File \"..\"list END~~~\")\n" - + "end\n" - + "_dir()\n" - + "_dir=nil"; - try { - serialPort.removeEventListener(); - } catch (SerialPortException e) { - log(e.toString()); - } - try { - serialPort.addEventListener(new PortNodeFilesReader(), portMask); - log("FileManager: Add EventListener: Success."); - } catch (SerialPortException e) { - log("FileManager: Add EventListener Error. Canceled."); - return; - } - ClearNodeFileManager(); - rx_data = ""; - rcvBuf = ""; - sendBuf = cmdPrep(cmd); - log("FileManager: Starting..."); - SendLock(); - int delay = 10; - j0(); - taskPerformer = (ActionEvent evt) -> { - if (j < sendBuf.size()) { - LocalEcho = false; - send(addCR(sendBuf.get(j)), false); - sendPending = false; - } - }; - timer = new Timer(delay, taskPerformer); - timer.setRepeats(false); - timer.setInitialDelay(delay); - WatchDog(); - timer.start(); - } - - private void ClearNodeFileManager() { - if (!MenuItemViewFileManager.isSelected()) { - return; - } - NodeFileManagerPane.removeAll(); - NodeFileManagerPane.add(FileFormat); - NodeFileManagerPane.add(FileSystemInfo); - NodeFileManagerPane.add(FileListReload); - NodeFileManagerPane.add(FileRenamePanel); - FileRenamePanel.setVisible(false); - FileRenamePanel.setEnabled(false); - NodeFileManagerPane.repaint(); - FileAsButton = new ArrayList<>(); - } - - private class PortNodeFilesReader implements SerialPortEventListener { - - @Override - public void serialEvent(SerialPortEvent event) { - String data; - if (event.isRXCHAR() && event.getEventValue() > 0) { - try { - data = serialPort.readString(event.getEventValue()); - rcvBuf = rcvBuf + data; - rx_data = rx_data + data; - } catch (SerialPortException e) { - log(e.toString()); - } - if (rcvBuf.contains("> ")) { - try { - timeout.restart(); - } catch (Exception e) { - log(e.toString()); - } - rcvBuf = ""; - if (j < sendBuf.size() - 1) { - if (timer.isRunning() || sendPending) { - // - } else { - inc_j(); - sendPending = true; - timer.start(); - } - } else { // send done - try { - timer.stop(); - } catch (Exception e) { - } - } - } - try { - if (rx_data.contains("~~~File list END~~~")) { - try { - timeout.stop(); - } catch (Exception e) { - log(e.toString()); - } - ProgressBar.setValue(100); - log("FileManager: File list found! Do parsing..."); - try { - // parsing answer - int start = rx_data.indexOf("~~~File list START~~~"); - rx_data = rx_data.substring(start + 23, rx_data.indexOf("~~~File list END~~~")); - //log(rx_data.replaceAll("\r?\n", "\r\n")); - s = rx_data.split("\r?\n"); - Arrays.sort(s); -// TerminalAdd("\r\n" + rx_data + "\r\n> "); - int usedSpace = 0; - TerminalAdd("\r\n----------------------------"); - for (String subs : s) { - TerminalAdd("\r\n" + subs); - String[] parts = subs.split(":"); - if (parts[0].trim().length() > 0) { - int size = Integer.parseInt(parts[1].trim().split(" ")[0]); - AddNodeFileButton(parts[0].trim(), size); - usedSpace += size; - log("FileManager found file " + parts[0].trim()); - } - } - if (FileAsButton.isEmpty()) { - TerminalAdd("No files found."); - TerminalAdd("\r\n----------------------------\r\n> "); - } else { - TerminalAdd("\r\n----------------------------"); - TerminalAdd("\r\nTotal file(s) : " + Integer.toString(s.length)); - TerminalAdd("\r\nTotal size : " + Integer.toString(usedSpace) + " bytes\r\n"); - } - NodeFileManagerPane.invalidate(); - NodeFileManagerPane.doLayout(); - NodeFileManagerPane.repaint(); - NodeFileManagerPane.requestFocusInWindow(); - log("FileManager: File list parsing done, found " + FileAsButton.size() + " file(s)."); - } catch (NumberFormatException e) { - log(e.toString()); - } - try { - serialPort.removeEventListener(); - } catch (SerialPortException e) { - } - serialPort.addEventListener(new PortReader(), portMask); - SendUnLock(); - NodeFileSystemInfo(); - } - } catch (SerialPortException ex) { - log(ex.toString()); - } - } else if (event.isCTS()) { - UpdateLedCTS(); - } else if (event.isERR()) { - log("FileManager: Unknown serial port error received."); - } - } - } - - private void FileDownload(String param) { - if (portJustOpen) { - log("Downloader: Communication with MCU not yet established."); - return; - } - // param init.luaSize:123 - DownloadedFileName = param.split("Size:")[0]; - int size = Integer.parseInt(param.split("Size:")[1]); - packets = size / 1024; - if (size % 1024 > 0) { - packets++; - } - sendBuf = new ArrayList<>(); - rcvPackets = new ArrayList<>(); - PacketsData = new ArrayList<>(); - PacketsSize = new ArrayList<>(); - PacketsNum = new ArrayList<>(); - rcvFile = ""; - PacketsByte = new byte[0]; - rx_byte = new byte[0]; - PacketsCRC = new ArrayList<>(); - String cmd = "_dl=function() " - + " file.open(\"" + DownloadedFileName + "\", \"r\")\n" - + " local buf " - + " local i=0 " - + " local checksum\n" - + " repeat " - + " buf = file.read(1024) " - + " if buf ~= nil then " - + " i = i + 1 " - + " checksum = 0 " - + " for j=1, string.len(buf) do\n" - + " checksum = checksum + (buf:byte(j)*20)%19 " - + " end " - + " buf='~~~'..'DATA-START~~~'..buf..'~~~'..'DATA-LENGTH~~~'..string.len(buf)..'~~~'..'DATA-N~~~'..i..'~~~'..'DATA-CRC~~~'..checksum..'~~~'..'DATA-END~~~'\n" - + " uart.write(0,buf) " - + " end " - + " tmr.wdclr() " - + " until(buf == nil) " - + " file.close()\n" - + " buf='~~~'..'DATA-TOTAL-START~~~'..i..'~~~'..'DATA-TOTAL-END~~~'\n" - + " uart.write(0,buf) " - + "end " - + "_dl() " - + "_dl=nil\n"; - s = cmd.split("\r?\n"); - sendBuf.addAll(Arrays.asList(s)); - log("Downloader: Starting..."); - startTime = System.currentTimeMillis(); - SendLock(); - rx_data = ""; - rcvBuf = ""; - rx_byte = new byte[0]; - try { - serialPort.removeEventListener(); - } catch (SerialPortException e) { - log(e.toString()); - } - try { - serialPort.addEventListener(new PortFileDownloader(), portMask); - log("Downloader: Add EventListener: Success."); - } catch (SerialPortException e) { - log("Downloader: Add EventListener Error. Canceled."); - return; - } - int delay = 10; - j0(); - taskPerformer = (ActionEvent evt) -> { - if (j < sendBuf.size()) { - send(addCR(sendBuf.get(j)), false); - sendPending = false; - } - }; - timer = new Timer(delay, taskPerformer); - timer.setRepeats(false); - log("Downloader: Start"); - TerminalAdd("\r\nDownload file \"" + DownloadedFileName + "\"..."); - timer.setInitialDelay(delay); - WatchDog(); - timer.start(); - } - - private void FileDownloadFinisher(boolean success) { - try { - serialPort.removeEventListener(); - } catch (SerialPortException e) { - log(e.toString()); - } - try { - serialPort.addEventListener(new PortReader(), portMask); - } catch (SerialPortException e) { - log("Downloader: Can't Add OldEventListener."); - } - //SendUnLock(); - StopSend(); - if (success) { - TerminalAdd("Success.\r\n"); - if (DownloadCommand.startsWith("EDIT")) { - FileNew(rcvFile); - } else if (DownloadCommand.startsWith("DOWNLOAD")) { - SaveDownloadedFile(); - } else { - // nothing, reserved - } - } else { - TerminalAdd("FAIL.\r\n"); - } - } - - private byte[] concatArray(byte[] a, byte[] b) { - if (a == null) { - return b; - } - if (b == null) { - return a; - } - byte[] r = new byte[a.length + b.length]; - System.arraycopy(a, 0, r, 0, a.length); - System.arraycopy(b, 0, r, a.length, b.length); - return r; - } - - private class PortFileDownloader implements SerialPortEventListener { - - @Override - public void serialEvent(SerialPortEvent event) { - String data; - byte[] b; - if (event.isRXCHAR() && event.getEventValue() > 0) { - try { - b = serialPort.readBytes(); - rx_byte = concatArray(rx_byte, b); - data = new String(b); - rcvBuf = rcvBuf + data; - rx_data = rx_data + data; - //TerminalAdd(data); - } catch (SerialPortException e) { - log(e.toString()); - } - if (rcvBuf.contains("> ")) { - try { - timeout.restart(); - } catch (Exception e) { - log(e.toString()); - } - rcvBuf = ""; - if (j < sendBuf.size() - 1) { - if (timer.isRunning() || sendPending) { - // - } else { - inc_j(); - sendPending = true; - timer.start(); - } - } else { // send done - try { - timer.stop(); - } catch (Exception e) { - } - } - } - /* - String l = data.replace("\r", ""); - l = l.replace("\n", ""); - l = l.replace("`", ""); - log("recv:" + l); - */ - if ((rx_data.lastIndexOf("~~~DATA-END") >= 0) && (rx_data.lastIndexOf("~~~DATA-START") >= 0)) { - // we got full packet - rcvPackets.add(rx_data.split("~~~DATA-END")[0]); // store RAW data - rx_data = rx_data.substring(rx_data.indexOf("~~~DATA-END") + 11); // and remove it from buf - if (packets > 0) { // exclude div by zero - ProgressBar.setValue(rcvPackets.size() * 100 / packets); - } - // ~~~DATA-START~~~buf~~~DATA-LENGTH~~~string.len(buf)~~~DATA-N~~~i~~~DATA-CRC~~~CheckSum~~~DATA-END - //0 1 2 3 4 5 - // split packet & check crc - int i = rcvPackets.size() - 1; - String[] part = rcvPackets.get(i).split("~~~DATA-CRC~~~"); - PacketsCRC.add(Integer.parseInt(part[1])); - String left = part[0]; - part = left.split("~~~DATA-N~~~"); - PacketsNum.add(Integer.parseInt(part[1])); - left = part[0]; - part = left.split("~~~DATA-LENGTH~~~"); - PacketsSize.add(Integer.parseInt(part[1])); - left = part[0]; - part = left.split("~~~DATA-START~~~"); - PacketsData.add(part[1]); - int startData = FindPacketID(i + 1); - byte[] x; - if ((startData > 0) && (rx_byte.length >= (startData + PacketsSize.get(i)))) { - x = copyPartArray(rx_byte, startData, PacketsSize.get(i)); - //log("Downloader: data from packet #" + Integer.toString(i+1) + " found in raw data"); - } else { - x = new byte[0]; - //log("Downloader: data packet #" + Integer.toString(i+1) + " not found in raw data."); - //log("raw date length " + rx_byte.length + - // "\r\nstartData " + Integer.toString(startData) ); - } - //rx_byte = new byte[0]; - if (PacketsCRC.get(i) == CRC(x)) { - try { - timeout.restart(); - } catch (Exception e) { - log(e.toString()); - } - rcvFile = rcvFile + PacketsData.get(i); - PacketsByte = concatArray(PacketsByte, x); - log("Downloader: Receive packet: " + Integer.toString(PacketsNum.get(i)) + "/" + Integer.toString(packets) - + ", size:" + Integer.toString(PacketsSize.get(i)) - + ", CRC check: Success"); - } else { - try { - timeout.stop(); - } catch (Exception e) { - log(e.toString()); - } - log("Downloader: Receive packets: " + Integer.toString(PacketsNum.get(i)) + "/" + Integer.toString(packets) - + ", size expected:" + Integer.toString(PacketsSize.get(i)) - + ", size received:" + Integer.toString(PacketsByte.length) - + "\r\n, CRC expected :" + Integer.toString(PacketsCRC.get(i)) - + " CRC received :" + Integer.toString(CRC(x))); - log("Downloader: FAIL."); - PacketsCRC.clear(); - PacketsNum.clear(); - PacketsSize.clear(); - PacketsData.clear(); - rcvPackets.clear(); - rcvFile = ""; - PacketsByte = new byte[0]; - FileDownloadFinisher(false); - } - } else if ((rx_data.lastIndexOf("~~~DATA-TOTAL-END~~~") >= 0) && (PacketsNum.size() == packets)) { - try { - timeout.stop(); - } catch (Exception e) { - log(e.toString()); - } - ProgressBar.setValue(100); - log("Downloader: Receive final sequense. File download: Success"); - //log(rx_data); - FileDownloadFinisher(true); - } else { - //log("rxbyte - " + Integer.toString( rx_byte.length )); - } - } else if (event.isCTS()) { - UpdateLedCTS(); - } else if (event.isERR()) { - log("Downloader: Unknown serial port error received."); - FileDownloadFinisher(false); - } - } - } - - private byte[] copyPartArray(byte[] a, int start, int len) { - if (a == null) { - return null; - } - if (start > a.length) { - return null; - } - byte[] r = new byte[len]; - try { - System.arraycopy(a, start, r, 0, len); - } catch (Exception e) { - log(e.toString()); - log("copyPartArray exception"); - log("size a=" + Integer.toString(a.length)); - log("start =" + Integer.toString(start)); - log("len =" + Integer.toString(len)); - } - return r; - } - - private int FindPacketID(int nPacket) { - int i, j, n, ret = -1; - boolean success; - String s = "~~~DATA-START~~~"; - i = 0; - n = 0; - while (i < rx_byte.length - s.length()) { - success = true; - for (j = 0; j < s.length(); j++) { - if (!(rx_byte[i + j] == s.charAt(j))) { - success = false; - break; - } - } - if (success) { - n++; - //log("Downloader: n =" + Integer.toString(n)); - //log("Downloader: nPacket =" + Integer.toString(nPacket)); - } - if (success && (n == nPacket)) { - ret = i + s.length(); - break; - } else { - } - i++; - } - //log("Downloader: FindPacketID=" + Integer.toString(ret)); - return ret; - } - - private int CRC(byte[] s) { - int cs = 0; - int x; - try { - for (int i = 0; i < s.length; i++) { - x = s[i] & 0xFF; - //log( Integer.toHexString(x) ); - cs = cs + (x * 20) % 19; - } - //log("\r\nCRC size= " + Integer.toString(s.length)+ ", CRC="+Integer.toString(cs)); - } catch (Exception e) { - log(e.toString()); - log(Arrays.toString(e.getStackTrace())); - log("size=" + Integer.toString(s.length)); - } - return cs; - } - - private void HexDump(String FileName) { - String cmd = "_dump=function()\n" - + " local buf\n" - + " local j=0\n" - + " if file.open(\"" + FileName + "\", \"r\") then\n" - + " print('--HexDump start')\n" - + " repeat\n" - + " buf=file.read(1024)\n" - + " if buf~=nil then\n" - + " local n \n" - + " if #buf==1024 then\n" - + " n=(#buf/16)*16\n" - + " else\n" - + " n=(#buf/16+1)*16\n" - + " end\n" - + " for i=1,n do\n" - + " j=j+1\n" - + " if (i-1)%16==0 then\n" - + " uart.write(0,string.format('%08X ',j-1)) \n" - + " end\n" - + " uart.write(0,i>#buf and' 'or string.format('%02X ',buf:byte(i)))\n" - + " if i%8==0 then uart.write(0,' ')end\n" - + " if i%16==0 then uart.write(0,buf:sub(i-16+1, i):gsub('%c','.'),'\\n')end\n" - + " if i%128==0 then tmr.wdclr()end\n" - + " end\n" - + " end\n" - + " until(buf==nil)\n" - + " file.close()\n" - + " print(\"\\r--HexDump done.\")\n" - + " else\n" - + " print(\"\\r--HexDump error: can't open file\")\n" - + " end\n" - + "end\n" - + "_dump()\n" - + "_dump=nil\n"; - LocalEcho = false; - SendToESP(cmdPrep(cmd)); - } - - private ArrayList cmdPrep(String cmd) { - String[] str = cmd.split("\n"); - ArrayList s256 = new ArrayList<>(); - int i = 0; - s256.add(""); - for (String subs : str) { - if ((s256.get(i).length() + subs.trim().length()) <= 250) { - s256.set(i, s256.get(i) + " " + subs.trim()); - } else { - s256.set(i, s256.get(i) + "\r"); - s256.add(subs); - i++; - } - } - return s256; - } - - private void UpdateLedCTS() { - try { - if (serialPort.isCTS()) { - PortCTS.setIcon(LED_GREEN); - } else { - PortCTS.setIcon(LED_GREY); - } - } catch (SerialPortException e) { - log(e.toString()); - } - } - - private void TerminalAdd(String s) { - Document doc = Terminal.getDocument(); - if (doc.getLength() > TerminalMax) { - try { - doc.remove(0, 1024); - } catch (BadLocationException e) { - } - } - try { - doc.insertString(doc.getLength(), s, null); - } catch (BadLocationException e) { - log(e.toString()); - } - if (AutoScroll.isSelected()) { - try { - Terminal.setCaretPosition(doc.getLength()); - } catch (Exception e) { - log(e.toString()); - } - } - } - private void MenuItemEditorSendSelectedActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemEditorSendSelectedActionPerformed - MenuItemEditSendSelected.doClick(); - }//GEN-LAST:event_MenuItemEditorSendSelectedActionPerformed - - private void MenuItemEditSendSelectedActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemEditSendSelectedActionPerformed - int l; - if ((LeftTab.getSelectedIndex() == 0) && (TextTab.getSelectedIndex() == 0)) { // NodeMCU and Scripts - try { - l = TextEditor1.get(iTab).getSelectedText().length(); - } catch (Exception e) { - log("Can't send: nothing selected."); - return; - } - if (l > 0) { - SendToESP(TextEditor1.get(iTab).getSelectedText()); - } - } else if ((LeftTab.getSelectedIndex() == 0) && (TextTab.getSelectedIndex() == 0)) { // NodeMCU and Snippets - try { - l = SnippetText.getSelectedText().length(); - } catch (Exception e) { - log("Can't send: nothing selected."); - return; - } - if (l > 0) { - SendToESP(SnippetText.getSelectedText()); - } - } - }//GEN-LAST:event_MenuItemEditSendSelectedActionPerformed - - private void MenuItemFileRemoveESPActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemFileRemoveESPActionPerformed - String ft = iFile.get(iTab).getName(); - if (ft.length() == 0) { - log("FileRemoveESP: FAIL. Can't remove file from ESP without name."); - JOptionPane.showMessageDialog(null, "Can't remove file from ESP without name."); - } - FileRemoveESP(ft); - }//GEN-LAST:event_MenuItemFileRemoveESPActionPerformed - private void FileRemoveESP(String FileName) { - btnSend("file.remove(\"" + FileName + "\")"); - try { - Thread.sleep(200L); - } catch (InterruptedException e) { - } - FileListReload.doClick(); - } - private void MenuItemFileSaveESPActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemFileSaveESPActionPerformed - if (!FileSaveESP.isSelected()) { - FileSaveESP.doClick(); - } - }//GEN-LAST:event_MenuItemFileSaveESPActionPerformed - - private void NodeResetActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_NodeResetActionPerformed - cmdNodeRestart.doClick(); - }//GEN-LAST:event_NodeResetActionPerformed - - private void MenuItemLogCloseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemLogCloseActionPerformed - MenuItemViewLog.doClick(); - }//GEN-LAST:event_MenuItemLogCloseActionPerformed - - private void MenuItemTerminalResetActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemTerminalResetActionPerformed - MenuItemESPReset.doClick(); - }//GEN-LAST:event_MenuItemTerminalResetActionPerformed - - private void DonateActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_DonateActionPerformed - goLink(donate_uri); - }//GEN-LAST:event_DonateActionPerformed - - private void MenuItemHelpAboutActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemHelpAboutActionPerformed - About.setLocationRelativeTo(null); - About.setVisible(true); - }//GEN-LAST:event_MenuItemHelpAboutActionPerformed - - private void AboutFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_AboutFocusLost - About.dispose(); - }//GEN-LAST:event_AboutFocusLost - - private void HomePageActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_HomePageActionPerformed - goLink(homepage_uri); - }//GEN-LAST:event_HomePageActionPerformed - - private void PortItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_PortItemStateChanged - - }//GEN-LAST:event_PortItemStateChanged - private void LoadSnippets() { - String suffix; - if (OptionNodeMCU.isSelected()) { - suffix = ""; - SnippetText.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_LUA); - } else { - suffix = "_mpy"; - SnippetText.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_PYTHON); - } - log("Snippets: loading..."); - for (int i = 0; i <= 15; i++) { - String n = Integer.toString(i).trim(); - if (prefs.get("Snippet" + n + suffix + "name", null) == null) { - prefs.put("Snippet" + n + suffix + "name", "Snippet" + n); - prefs.put("Snippet" + n + suffix, ""); - PrefsFlush(); - } - JButton snippetButton = snippetButtons.get(i); - String newText = prefs.get("Snippet" + n + suffix + "name", "Snippet" + n); - snippetButton.setText(newText); - Snippets[i] = prefs.get("Snippet" + n + suffix, ""); - } - if (OptionMicroPython.isSelected()) - { - if (Snippets[0].isEmpty()) - { - ButtonSnippet0.setText("GPIO2 1"); - prefs.put("Snippet0" + suffix + "name", "Set GPIO2 high"); - Snippets[0] = "from machine import Pin\r\n" - + "pin = Pin(2, Pin.OUT)\r\n" - + "pin.value(1)"; - } - if (Snippets[1].isEmpty()) { - ButtonSnippet1.setText("GPIO2 0"); - prefs.put("Snippet1" + suffix + "name", "Set GPIO2 low"); - Snippets[1] = "from machine import Pin\r\n" - + "pin = Pin(2, Pin.OUT)\r\n" - + "pin.value(0)"; - } - } - SetSnippetEditButtonsTooltip(); - log("Snippets load: Success."); - } - - private void SnippetEdit(int n) { - if (SnippetText.canUndo() || SnippetText.canRedo()) { - this.setAlwaysOnTop(false); - int returnVal = JOptionPane.showConfirmDialog(null, "Discard any changes and load Snippet" + Integer.toString(n), "Attention", JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE); - this.setAlwaysOnTop(AlwaysOnTop.isSelected()); - if (returnVal != JOptionPane.YES_OPTION) { - return; - } - } - SnippetText.setEnabled(true); - iSnippets = n; - SnippetName.setEnabled(true); - SnippetSave.setEnabled(true); - SnippetRun.setEnabled(true); - SnippetCancelEdit.setEnabled(true); - SnippetText.setEnabled(true); - SnippetScrollPane.setEnabled(true); - SnippetText.setEditable(true); - SnippetText.setText(Snippets[iSnippets]); - //SnippetText.setBackground(themeTextBackground); - SnippetText.discardAllEdits(); - String suffix; - if (OptionNodeMCU.isSelected()) { - suffix = ""; - } else { - suffix = "_mpy"; - } - String snippetName = prefs.get("Snippet" + n + suffix + "name", "Snippet" + n); - log("Snippet name set to:" + snippetName); - SnippetName.setText(snippetName); - } - private void ButtonSnippet0ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButtonSnippet0ActionPerformed - DoSnippet(0); - }//GEN-LAST:event_ButtonSnippet0ActionPerformed - - private void ButtonSnippet1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButtonSnippet1ActionPerformed - DoSnippet(1); - }//GEN-LAST:event_ButtonSnippet1ActionPerformed - - private void ButtonSnippet2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButtonSnippet2ActionPerformed - DoSnippet(2); - }//GEN-LAST:event_ButtonSnippet2ActionPerformed - - private void ButtonSnippet3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButtonSnippet3ActionPerformed - DoSnippet(3); - }//GEN-LAST:event_ButtonSnippet3ActionPerformed - - private void ButtonSnippet4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButtonSnippet4ActionPerformed - DoSnippet(4); - }//GEN-LAST:event_ButtonSnippet4ActionPerformed - - private void ButtonSnippet5ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButtonSnippet5ActionPerformed - DoSnippet(5); - }//GEN-LAST:event_ButtonSnippet5ActionPerformed - - private void ButtonSnippet6ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButtonSnippet6ActionPerformed - DoSnippet(6); - }//GEN-LAST:event_ButtonSnippet6ActionPerformed - - private void ButtonSnippet7ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButtonSnippet7ActionPerformed - DoSnippet(7); - }//GEN-LAST:event_ButtonSnippet7ActionPerformed - - private void ButtonSnippet8ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButtonSnippet8ActionPerformed - DoSnippet(8); - }//GEN-LAST:event_ButtonSnippet8ActionPerformed - - private void ButtonSnippet9ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButtonSnippet9ActionPerformed - DoSnippet(9); - }//GEN-LAST:event_ButtonSnippet9ActionPerformed - - private void ButtonSnippet10ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButtonSnippet10ActionPerformed - DoSnippet(10); - }//GEN-LAST:event_ButtonSnippet10ActionPerformed - - private void ButtonSnippet11ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButtonSnippet11ActionPerformed - DoSnippet(11); - }//GEN-LAST:event_ButtonSnippet11ActionPerformed - - private void ButtonSnippet12ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButtonSnippet12ActionPerformed - DoSnippet(12); - }//GEN-LAST:event_ButtonSnippet12ActionPerformed - - private void ButtonSnippet13ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButtonSnippet13ActionPerformed - DoSnippet(13); - }//GEN-LAST:event_ButtonSnippet13ActionPerformed - - private void ButtonSnippet14ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButtonSnippet14ActionPerformed - DoSnippet(14); - }//GEN-LAST:event_ButtonSnippet14ActionPerformed - - private void ButtonSnippet15ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButtonSnippet15ActionPerformed - DoSnippet(15); - }//GEN-LAST:event_ButtonSnippet15ActionPerformed - - private void MenuItemEditSendLineActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemEditSendLineActionPerformed - int nLine; - if ((LeftTab.getSelectedIndex() == 0) && (TextTab.getSelectedIndex() == 0)) { // NodeMCU and Scripts - nLine = TextEditor1.get(iTab).getCaretLineNumber(); - String cmd = TextEditor1.get(iTab).getText().split("\r?\n")[nLine]; - btnSend(cmd); - } else if ((LeftTab.getSelectedIndex() == 0) && (TextTab.getSelectedIndex() == 2)) { // NodeMCU and Snippets - nLine = SnippetText.getCaretLineNumber(); - String cmd = SnippetText.getText().split("\r?\n")[nLine]; - btnSend(cmd); - } - }//GEN-LAST:event_MenuItemEditSendLineActionPerformed - - private void MenuItemFileSendESPActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemFileSendESPActionPerformed - FileSendESP.doClick(); - }//GEN-LAST:event_MenuItemFileSendESPActionPerformed - - private void MenuItemEditorSendLineActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemEditorSendLineActionPerformed - MenuItemEditSendLine.doClick(); - }//GEN-LAST:event_MenuItemEditorSendLineActionPerformed - - private void MenuFileActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuFileActionPerformed - - }//GEN-LAST:event_MenuFileActionPerformed - - private void MenuItemFileDoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemFileDoActionPerformed - FileDo.doClick(); - }//GEN-LAST:event_MenuItemFileDoActionPerformed - - private void MenuItemTerminalFontDecActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemTerminalFontDecActionPerformed - MenuItemViewTermFontDec.doClick(); - }//GEN-LAST:event_MenuItemTerminalFontDecActionPerformed - - private void MenuItemTerminalFontIncActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemTerminalFontIncActionPerformed - MenuItemViewTermFontInc.doClick(); - }//GEN-LAST:event_MenuItemTerminalFontIncActionPerformed - - private void MenuItemViewTermFontIncActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemViewTermFontIncActionPerformed - int size = Terminal.getFont().getSize(); - if (size < TERMINAL_FONT_SIZE_MAX) { - Terminal.setFont(Terminal.getFont().deriveFont(Terminal.getFont().getSize() + 1f)); - } else { - Terminal.setFont(Terminal.getFont().deriveFont(TERMINAL_FONT_SIZE_MAX)); - } - prefs.putFloat(TERMINAL_FONT_SIZE, Terminal.getFont().getSize()); - PrefsFlush(); - }//GEN-LAST:event_MenuItemViewTermFontIncActionPerformed - - private void MenuItemViewTermFontDecActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemViewTermFontDecActionPerformed - int size = Terminal.getFont().getSize(); - if (size > TERMINAL_FONT_SIZE_MIN) { - Terminal.setFont(Terminal.getFont().deriveFont(Terminal.getFont().getSize() - 1f)); - } else { - Terminal.setFont(Terminal.getFont().deriveFont(TERMINAL_FONT_SIZE_MIN)); - } - prefs.putFloat(TERMINAL_FONT_SIZE, Terminal.getFont().getSize()); - PrefsFlush(); - }//GEN-LAST:event_MenuItemViewTermFontDecActionPerformed - - private void MenuItemViewEditorFontIncActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemViewEditorFontIncActionPerformed - int size = TextEditor1.get(iTab).getFont().getSize(); - if (size < EDITOR_FONT_SIZE_MAX) { - TextEditor1.get(iTab).setFont(TextEditor1.get(iTab).getFont().deriveFont(TextEditor1.get(iTab).getFont().getSize() + 1f)); - } else { - TextEditor1.get(iTab).setFont(TextEditor1.get(iTab).getFont().deriveFont(EDITOR_FONT_SIZE_MAX)); - } - prefs.putFloat(EDITOR_FONT_SIZE, TextEditor1.get(iTab).getFont().getSize()); - PrefsFlush(); - SetTheme(prefs.getInt(COLOR_THEME, 0), true); // for all - }//GEN-LAST:event_MenuItemViewEditorFontIncActionPerformed - - private void MenuItemViewEditorFontDecActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemViewEditorFontDecActionPerformed - int size = TextEditor1.get(iTab).getFont().getSize(); - if (size > EDITOR_FONT_SIZE_MIN) { - TextEditor1.get(iTab).setFont(TextEditor1.get(iTab).getFont().deriveFont(TextEditor1.get(iTab).getFont().getSize() - 1f)); - } else { - TextEditor1.get(iTab).setFont(TextEditor1.get(iTab).getFont().deriveFont(EDITOR_FONT_SIZE_MIN)); - } - prefs.putFloat(EDITOR_FONT_SIZE, TextEditor1.get(iTab).getFont().getSize()); - PrefsFlush(); - SetTheme(prefs.getInt(COLOR_THEME, 0), true); // for all - }//GEN-LAST:event_MenuItemViewEditorFontDecActionPerformed - - private void MenuItemViewFontDefaultActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemViewFontDefaultActionPerformed - prefs.putFloat(TERMINAL_FONT_SIZE, TERMINAL_FONT_SIZE_DEFAULT); - prefs.putFloat(EDITOR_FONT_SIZE, EDITOR_FONT_SIZE_DEFAULT); - prefs.putFloat(LOG_FONT_SIZE, LOG_FONT_SIZE_DEFAULT); - PrefsFlush(); - SetTheme(prefs.getInt(COLOR_THEME, 0), true); // for all - Terminal.setFont(Terminal.getFont().deriveFont(TERMINAL_FONT_SIZE_DEFAULT)); - Log.setFont(Log.getFont().deriveFont(LOG_FONT_SIZE_DEFAULT)); - }//GEN-LAST:event_MenuItemViewFontDefaultActionPerformed - - private void MenuItemEditorFontIncActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemEditorFontIncActionPerformed - MenuItemViewEditorFontInc.doClick(); - }//GEN-LAST:event_MenuItemEditorFontIncActionPerformed - - private void MenuItemEditorFontDecActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemEditorFontDecActionPerformed - MenuItemViewEditorFontDec.doClick(); - }//GEN-LAST:event_MenuItemEditorFontDecActionPerformed - - private void MenuItemViewLogFontIncActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemViewLogFontIncActionPerformed - int size = Log.getFont().getSize(); - if (size < LOG_FONT_SIZE_MAX) { - Log.setFont(Log.getFont().deriveFont(Log.getFont().getSize() + 1f)); - } else { - Log.setFont(Log.getFont().deriveFont(LOG_FONT_SIZE_MAX)); - } - prefs.putFloat(LOG_FONT_SIZE, Log.getFont().getSize()); - PrefsFlush(); - }//GEN-LAST:event_MenuItemViewLogFontIncActionPerformed - - private void MenuItemViewLogFontDecActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemViewLogFontDecActionPerformed - int size = Log.getFont().getSize(); - if (size > LOG_FONT_SIZE_MIN) { - Log.setFont(Log.getFont().deriveFont(Log.getFont().getSize() - 1f)); - } else { - Log.setFont(Log.getFont().deriveFont(LOG_FONT_SIZE_MIN)); - } - prefs.putFloat(LOG_FONT_SIZE, Log.getFont().getSize()); - PrefsFlush(); - }//GEN-LAST:event_MenuItemViewLogFontDecActionPerformed - - private void MenuItemLogFontIncActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemLogFontIncActionPerformed - MenuItemViewLogFontInc.doClick(); - }//GEN-LAST:event_MenuItemLogFontIncActionPerformed - - private void MenuItemLogFontDecActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemLogFontDecActionPerformed - MenuItemViewLogFontDec.doClick(); - }//GEN-LAST:event_MenuItemLogFontDecActionPerformed - - private void SpeedItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_SpeedItemStateChanged - nSpeed = Integer.parseInt((String) Speed.getSelectedItem()); - - }//GEN-LAST:event_SpeedItemStateChanged - - private void LogCaretUpdate(javax.swing.event.CaretEvent evt) {//GEN-FIRST:event_LogCaretUpdate - }//GEN-LAST:event_LogCaretUpdate - - private void MenuItemESPResetActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemESPResetActionPerformed - if (LeftTab.getSelectedIndex() == 0) { // NodeMCU TAB - cmdNodeRestart.doClick(); - } else if (LeftTab.getSelectedIndex() == 1) { // AT TAB - AT_Restart.doClick(); - } - }//GEN-LAST:event_MenuItemESPResetActionPerformed - - private void MenuItemESPFormatActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemESPFormatActionPerformed - if (LeftTab.getSelectedIndex() == 0) { // NodeMCU TAB - int isFormat = Dialog("Format ESP flash data area and remove ALL files. Are you sure?", JOptionPane.YES_NO_OPTION); - if (isFormat == JOptionPane.YES_OPTION) { - btnSend("file.format()"); - } - } - }//GEN-LAST:event_MenuItemESPFormatActionPerformed - - private void MenuItemTerminalFormatActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemTerminalFormatActionPerformed - MenuItemESPFormat.doClick(); - }//GEN-LAST:event_MenuItemTerminalFormatActionPerformed - - private void MenuItemLinksNodeMCUdocActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemLinksNodeMCUdocActionPerformed - goLink(api_en_uri); - }//GEN-LAST:event_MenuItemLinksNodeMCUdocActionPerformed - - private void MenuItemLinksMicroPythonDocActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemLinksMicroPythonDocActionPerformed - goLink(micropython_doc); - }//GEN-LAST:event_MenuItemLinksMicroPythonDocActionPerformed - - private void MenuItemESPFileDoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemESPFileDoActionPerformed - - }//GEN-LAST:event_MenuItemESPFileDoActionPerformed - - private void MenuItemESPFileDeleteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemESPFileDeleteActionPerformed - // TODO add your handling code here: - }//GEN-LAST:event_MenuItemESPFileDeleteActionPerformed - - private void ContextMenuESPFileLUAPopupMenuWillBecomeVisible(javax.swing.event.PopupMenuEvent evt) {//GEN-FIRST:event_ContextMenuESPFileLUAPopupMenuWillBecomeVisible - - }//GEN-LAST:event_ContextMenuESPFileLUAPopupMenuWillBecomeVisible - - private void TerminalPropertyChange(java.beans.PropertyChangeEvent evt) {//GEN-FIRST:event_TerminalPropertyChange - - }//GEN-LAST:event_TerminalPropertyChange - - private void RightFilesSplitPanePropertyChange(java.beans.PropertyChangeEvent evt) {//GEN-FIRST:event_RightFilesSplitPanePropertyChange - if ("dividerLocation".equals(evt.getPropertyName()) && MenuItemViewFileManager.isSelected()) { - prefs.putInt(FM_DIV, RightFilesSplitPane.getDividerLocation()); - } - }//GEN-LAST:event_RightFilesSplitPanePropertyChange - - private void RightBigPanePropertyChange(java.beans.PropertyChangeEvent evt) {//GEN-FIRST:event_RightBigPanePropertyChange - - }//GEN-LAST:event_RightBigPanePropertyChange - - private void formPropertyChange(java.beans.PropertyChangeEvent evt) {//GEN-FIRST:event_formPropertyChange - //log(evt.getPropertyName()); - }//GEN-LAST:event_formPropertyChange - - private void formComponentResized(java.awt.event.ComponentEvent evt) {//GEN-FIRST:event_formComponentResized - isFileManagerShow(); - }//GEN-LAST:event_formComponentResized - - private void FileListReloadActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_FileListReloadActionPerformed - NodeListFiles(); - }//GEN-LAST:event_FileListReloadActionPerformed - - private void FileAsButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_FileAsButton1ActionPerformed - String fn = evt.getActionCommand(); - if (fn.endsWith(".lua") || fn.endsWith(".lc")) { - String cmd = "dofile(\"" + fn + "\")"; - btnSend(cmd); - } else if (fn.endsWith(".bin") || fn.endsWith(".dat")) { - HexDump(fn); - } else { - ViewFile(fn); - } - }//GEN-LAST:event_FileAsButton1ActionPerformed - - private void FileAsButton1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_FileAsButton1MouseClicked - - }//GEN-LAST:event_FileAsButton1MouseClicked - - private void NodeInfoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_NodeInfoActionPerformed - btnSend("=node.info()"); - }//GEN-LAST:event_NodeInfoActionPerformed - - private void NodeChipIDActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_NodeChipIDActionPerformed - btnSend("=node.chipid()"); - }//GEN-LAST:event_NodeChipIDActionPerformed - - private void NodeFlashIDActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_NodeFlashIDActionPerformed - btnSend("=node.flashid()"); - }//GEN-LAST:event_NodeFlashIDActionPerformed - - private void NodeHeapActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_NodeHeapActionPerformed - btnSend("=node.heap()"); - }//GEN-LAST:event_NodeHeapActionPerformed - - private void FileFormatActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_FileFormatActionPerformed - MenuItemESPFormat.doClick(); - }//GEN-LAST:event_FileFormatActionPerformed - - private void MenuItemViewSnippetsActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemViewSnippetsActionPerformed - prefs.putBoolean(SHOW_SNIP_RIGHT, MenuItemViewSnippets.isSelected()); - isRightSnippetsShow(); - }//GEN-LAST:event_MenuItemViewSnippetsActionPerformed - - private void MenuItemViewFileManagerActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemViewFileManagerActionPerformed - prefs.putBoolean(SHOW_FM_RIGHT, MenuItemViewFileManager.isSelected()); - isFileManagerShow(); - }//GEN-LAST:event_MenuItemViewFileManagerActionPerformed - - private void MenuItemViewRightExtraActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemViewRightExtraActionPerformed - RightExtraButtons.setVisible(MenuItemViewRightExtra.isSelected()); - prefs.putBoolean(SHOW_EXTRA_RIGHT, MenuItemViewRightExtra.isSelected()); - }//GEN-LAST:event_MenuItemViewRightExtraActionPerformed - - private void MenuItemFileSaveAsActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemFileSaveAsActionPerformed - // TODO add your handling code here: - }//GEN-LAST:event_MenuItemFileSaveAsActionPerformed - - private void MenuItemViewToolbarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemViewToolbarActionPerformed - prefs.putBoolean(SHOW_TOOLBAR, MenuItemViewToolbar.isSelected()); - isToolbarShow(); - }//GEN-LAST:event_MenuItemViewToolbarActionPerformed - - private void MenuItemViewLeftExtraActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemViewLeftExtraActionPerformed - prefs.putBoolean(SHOW_EXTRA_LEFT, MenuItemViewLeftExtra.isSelected()); - isLeftExtraShow(); - }//GEN-LAST:event_MenuItemViewLeftExtraActionPerformed - - private void MenuViewActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuViewActionPerformed - - }//GEN-LAST:event_MenuViewActionPerformed - - private void RightSplitPanePropertyChange(java.beans.PropertyChangeEvent evt) {//GEN-FIRST:event_RightSplitPanePropertyChange - if ("dividerLocation".equals(evt.getPropertyName()) && MenuItemViewLog.isSelected()) { - prefs.putInt(LOG_DIV, RightSplitPane.getDividerLocation()); - } - }//GEN-LAST:event_RightSplitPanePropertyChange - - private void AutoScrollActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_AutoScrollActionPerformed - prefs.putBoolean(AUTO_SCROLL, AutoScroll.isSelected()); - }//GEN-LAST:event_AutoScrollActionPerformed - - private void PortDTRActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_PortDTRActionPerformed - prefs.putBoolean(PORT_DTR, PortDTR.isSelected()); - try { - serialPort.setDTR(PortDTR.isSelected()); - if (PortDTR.isSelected()) { - log("DTR set to ON"); - } else { - log("DTR set to OFF"); - } - } catch (Exception e) { - PortDTR.setSelected(false); - log(e.toString()); - log("Can't change DTR state"); - } - UpdateLED(); - }//GEN-LAST:event_PortDTRActionPerformed - - private void PortRTSActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_PortRTSActionPerformed - prefs.putBoolean(PORT_RTS, PortRTS.isSelected()); - try { - serialPort.setRTS(PortRTS.isSelected()); - if (PortRTS.isSelected()) { - log("RTS set to ON"); - } else { - log("RTS set to OFF"); - } - } catch (Exception e) { - PortRTS.setSelected(false); - log(e.toString()); - log("Can't change RTS state"); - } - UpdateLED(); - }//GEN-LAST:event_PortRTSActionPerformed - - private void MenuItemViewToolbarItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_MenuItemViewToolbarItemStateChanged - prefs.putBoolean(SHOW_TOOLBAR, MenuItemViewToolbar.isSelected()); - isToolbarShow(); - }//GEN-LAST:event_MenuItemViewToolbarItemStateChanged - - private void MenuItemViewLeftExtraItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_MenuItemViewLeftExtraItemStateChanged - prefs.putBoolean(SHOW_EXTRA_LEFT, MenuItemViewLeftExtra.isSelected()); - isLeftExtraShow(); - }//GEN-LAST:event_MenuItemViewLeftExtraItemStateChanged - - private void MenuItemViewSnippetsItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_MenuItemViewSnippetsItemStateChanged - prefs.putBoolean(SHOW_SNIP_RIGHT, MenuItemViewSnippets.isSelected()); - isRightSnippetsShow(); - }//GEN-LAST:event_MenuItemViewSnippetsItemStateChanged - - private void MenuItemViewFileManagerItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_MenuItemViewFileManagerItemStateChanged - prefs.putBoolean(SHOW_FM_RIGHT, MenuItemViewFileManager.isSelected()); - ShowFileManager.setSelected(MenuItemViewFileManager.isSelected()); - isFileManagerShow(); - }//GEN-LAST:event_MenuItemViewFileManagerItemStateChanged - - private void MenuItemViewRightExtraItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_MenuItemViewRightExtraItemStateChanged - RightExtraButtons.setVisible(MenuItemViewRightExtra.isSelected()); - prefs.putBoolean(SHOW_EXTRA_RIGHT, MenuItemViewRightExtra.isSelected()); - }//GEN-LAST:event_MenuItemViewRightExtraItemStateChanged - - private void MenuItemViewLogItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_MenuItemViewLogItemStateChanged - isLogShow(); - prefs.putBoolean(SHOW_LOG, MenuItemViewLog.isSelected()); - }//GEN-LAST:event_MenuItemViewLogItemStateChanged - - private void FileSystemInfoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_FileSystemInfoActionPerformed - NodeFileSystemInfo(); - }//GEN-LAST:event_FileSystemInfoActionPerformed - - private void FileRenameActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_FileRenameActionPerformed - btnSend("file.rename(\"" + FileRenameLabel.getText() + "\",\"" + FileRename.getText().trim() + "\")"); - try { - Thread.sleep(200L); - } catch (Exception e) { - } - FileListReload.doClick(); - }//GEN-LAST:event_FileRenameActionPerformed - - private void MenuItemViewDonateItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_MenuItemViewDonateItemStateChanged - DonateSmall.setVisible(!MenuItemViewDonate.isSelected()); - prefs.putBoolean(SHOW_DONATE, MenuItemViewDonate.isSelected()); - }//GEN-LAST:event_MenuItemViewDonateItemStateChanged - - private void MenuItemViewDonateActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemViewDonateActionPerformed - // nothing - }//GEN-LAST:event_MenuItemViewDonateActionPerformed - - private void DonateSmallActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_DonateSmallActionPerformed - goLink(donate_uri); - }//GEN-LAST:event_DonateSmallActionPerformed - - private void MenuItemLinksBuyDevBoardActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemLinksBuyDevBoardActionPerformed - goLink(buy_nodeMCU); - }//GEN-LAST:event_MenuItemLinksBuyDevBoardActionPerformed - - private void MenuItemLinksBuyESP8266ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemLinksBuyESP8266ActionPerformed - goLink(buy_esp8266); - }//GEN-LAST:event_MenuItemLinksBuyESP8266ActionPerformed - - private void MenuItemLinksBuyESD12ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemLinksBuyESD12ActionPerformed - goLink(buy_esd12); - }//GEN-LAST:event_MenuItemLinksBuyESD12ActionPerformed - - private void MenuItemLinksESPlorerForumEnActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemLinksESPlorerForumEnActionPerformed - goLink(esp8266com_uri); - }//GEN-LAST:event_MenuItemLinksESPlorerForumEnActionPerformed - - private void MenuItemLinksESPlorerForumRuActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemLinksESPlorerForumRuActionPerformed - goLink(esp8266ru_uri); - }//GEN-LAST:event_MenuItemLinksESPlorerForumRuActionPerformed - - private void MenuItemLinksESPlorerLatestActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemLinksESPlorerLatestActionPerformed - goLink(esplorer_latest); - }//GEN-LAST:event_MenuItemLinksESPlorerLatestActionPerformed - - private void MenuItemLinksESPlorerSourceActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemLinksESPlorerSourceActionPerformed - goLink(esplorer_source); - }//GEN-LAST:event_MenuItemLinksESPlorerSourceActionPerformed - - private void MenuItemLinksESPlorerHomeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemLinksESPlorerHomeActionPerformed - goLink(homepage_uri); - }//GEN-LAST:event_MenuItemLinksESPlorerHomeActionPerformed - - private void MenuItemLinksDonateActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemLinksDonateActionPerformed - goLink(donate_uri); - }//GEN-LAST:event_MenuItemLinksDonateActionPerformed - - private void MenuItemLinksBuyOtherActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemLinksBuyOtherActionPerformed - goLink(buy_other); - }//GEN-LAST:event_MenuItemLinksBuyOtherActionPerformed - - private void formWindowGainedFocus(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowGainedFocus - - }//GEN-LAST:event_formWindowGainedFocus - - private void formWindowClosing(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowClosing - AppClose(); - }//GEN-LAST:event_formWindowClosing - private void AppClose() { - Rectangle r = this.getBounds(); - prefs.putInt(WIN_X, r.x); - prefs.putInt(WIN_Y, r.y); - prefs.putInt(WIN_H, r.height); - prefs.putInt(WIN_W, r.width); - //log("w="+Integer.toString(prefs.getInt(WIN_W, 0))); - while (FilesTabbedPane.getTabCount() > 0) { - if (CloseFile() == JOptionPane.CANCEL_OPTION) { - return; - } - if ((FilesTabbedPane.getTabCount() == 1) && isFileNew()) { - break; - } - } - this.setVisible(false); - System.exit(0); - } - private void formWindowClosed(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowClosed - // TODO add your handling code here: - }//GEN-LAST:event_formWindowClosed - - private void EOLItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_EOLItemStateChanged - Terminal.setEOLMarkersVisible(EOL.isSelected()); - }//GEN-LAST:event_EOLItemStateChanged - - private void MenuItemViewLookAndFeelActionPerformed(java.awt.event.ActionEvent evt) { - String lclass = evt.getActionCommand(); - prefs.put("LAF", lclass); - try { - UIManager.setLookAndFeel(lclass); - SwingUtilities.updateComponentTreeUI(this); - this.pack(); - this.setExtendedState(this.getExtendedState() | JFrame.MAXIMIZED_BOTH); - } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) { - Logger.getLogger(ESPlorer.class.getName()).log(Level.SEVERE, null, ex); - } - } - - private void MenuItemViewTerminalOnlyItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_MenuItemViewTerminalOnlyItemStateChanged - if (MenuItemViewTerminalOnly.isSelected()) { - MenuItemViewEditorOnly.setSelected(false); - TerminalOnlyCheckBox.setSelected(true); - EditorOnlyCheckBox.setSelected(false); - HorizontSplit.setDividerLocation(0); - } else { - TerminalOnlyCheckBox.setSelected(false); - HorizontSplit.setDividerLocation(550); - } - }//GEN-LAST:event_MenuItemViewTerminalOnlyItemStateChanged - - private void MenuItemViewTerminalOnlyActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemViewTerminalOnlyActionPerformed - // TODO add your handling code here: - }//GEN-LAST:event_MenuItemViewTerminalOnlyActionPerformed - - private void TerminalOnlyCheckBoxItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_TerminalOnlyCheckBoxItemStateChanged - MenuItemViewTerminalOnly.setSelected(TerminalOnlyCheckBox.isSelected()); - }//GEN-LAST:event_TerminalOnlyCheckBoxItemStateChanged - - private void ShowFileManagerItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_ShowFileManagerItemStateChanged - MenuItemViewFileManager.setSelected(ShowFileManager.isSelected()); - }//GEN-LAST:event_ShowFileManagerItemStateChanged - - private void AboutWindowLostFocus(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_AboutWindowLostFocus - About.dispose(); - }//GEN-LAST:event_AboutWindowLostFocus - - private void LeftTabStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_LeftTabStateChanged - if (LeftTab.getSelectedIndex() == 0) { // NodeMCU & Python - if (FirmwareType == FIRMWARE_MPYTHON || OptionMicroPython.isSelected()) { - CommandsSetMicroPython(); - } else { - CommandsSetNodeMCU(); - } - } else if (LeftTab.getSelectedIndex() == 1) { // AT - FirmwareType = FIRMWARE_AT; - CommandsSetAT(); - } else if (LeftTab.getSelectedIndex() == 2) { // RN2483 - if (pOpen && nSpeed != 57600) { - TerminalAdd("\r\nWarning! RN2483 default baud rate is 57600.\r\n"); - } - } - }//GEN-LAST:event_LeftTabStateChanged - - private void cmdSetCWDHCPActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdSetCWDHCPActionPerformed - btnSend("AT+CWDHCP=" + Integer.toString(DHCPmode.getSelectedIndex()) + "," + Integer.toString(DHCP.getSelectedIndex())); - }//GEN-LAST:event_cmdSetCWDHCPActionPerformed - - private void cmdSetCWMODE3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdSetCWMODE3ActionPerformed - btnSend("AT+CWMODE=3"); - }//GEN-LAST:event_cmdSetCWMODE3ActionPerformed - - private void cmdSetCWLAPActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdSetCWLAPActionPerformed - btnSend("AT+CWLAP"); - }//GEN-LAST:event_cmdSetCWLAPActionPerformed - - private void cmdSetCWMODE2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdSetCWMODE2ActionPerformed - btnSend("AT+CWMODE=2"); - }//GEN-LAST:event_cmdSetCWMODE2ActionPerformed - - private void cmdGetCWMODEActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdGetCWMODEActionPerformed - btnSend("AT+CWMODE?"); - }//GEN-LAST:event_cmdGetCWMODEActionPerformed - - private void cmdSetCWMODE1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdSetCWMODE1ActionPerformed - btnSend("AT+CWMODE=1"); - }//GEN-LAST:event_cmdSetCWMODE1ActionPerformed - - private void cmdGetHelpCWMODEActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdGetHelpCWMODEActionPerformed - btnSend("AT+CWMODE=?"); - }//GEN-LAST:event_cmdGetHelpCWMODEActionPerformed - - private void cmdGetCIFSRActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdGetCIFSRActionPerformed - btnSend("AT+CIFSR"); - }//GEN-LAST:event_cmdGetCIFSRActionPerformed - - private void cmdSetCIPMUX0ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdSetCIPMUX0ActionPerformed - btnSend("AT+CIPMUX=0"); - }//GEN-LAST:event_cmdSetCIPMUX0ActionPerformed - - private void cmdSetCIPMUX1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdSetCIPMUX1ActionPerformed - btnSend("AT+CIPMUX=1"); - }//GEN-LAST:event_cmdSetCIPMUX1ActionPerformed - - private void cmdGetCIPMUXActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdGetCIPMUXActionPerformed - btnSend("AT+CIPMUX?"); - }//GEN-LAST:event_cmdGetCIPMUXActionPerformed - - private void cmdGetCIPSTATUSActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdGetCIPSTATUSActionPerformed - btnSend("AT+CIPSTATUS"); - }//GEN-LAST:event_cmdGetCIPSTATUSActionPerformed - - private void AT_ServerComponentShown(java.awt.event.ComponentEvent evt) {//GEN-FIRST:event_AT_ServerComponentShown - WiFi_common.setVisible(false); - TCP_common.setVisible(true); - }//GEN-LAST:event_AT_ServerComponentShown - - private void AT_ServerFocusGained(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_AT_ServerFocusGained - - }//GEN-LAST:event_AT_ServerFocusGained - - private void cmdSetCIPSTOActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdSetCIPSTOActionPerformed - btnSend("AT+CIPSTO=" + ServerTimeout.getText().trim()); - }//GEN-LAST:event_cmdSetCIPSTOActionPerformed - - private void cmdGetCIPSTOActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdGetCIPSTOActionPerformed - btnSend("AT+CIPSTO?"); - }//GEN-LAST:event_cmdGetCIPSTOActionPerformed - - private void ServerModeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ServerModeActionPerformed - if (ServerMode.getSelectedIndex() == 1) { // create - ServerPort.setEnabled(true); - } else { - ServerPort.setEnabled(false); - } - }//GEN-LAST:event_ServerModeActionPerformed - - private void cmdSetCIPSERVERActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdSetCIPSERVERActionPerformed - String cmd = "AT+CIPSERVER="; - cmd += Integer.toString(ServerMode.getSelectedIndex()).trim(); - if (ServerMode.getSelectedIndex() == 1) { - cmd += "," + ServerPort.getText().trim(); - } - btnSend(cmd); - }//GEN-LAST:event_cmdSetCIPSERVERActionPerformed - - private void cmdSetCIPMODE1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdSetCIPMODE1ActionPerformed - btnSend("AT+CIPMODE=1"); - }//GEN-LAST:event_cmdSetCIPMODE1ActionPerformed - - private void cmdSetCIPMODE0ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdSetCIPMODE0ActionPerformed - btnSend("AT+CIPMODE=0"); - }//GEN-LAST:event_cmdSetCIPMODE0ActionPerformed - - private void cmdGetCIPMODEActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdGetCIPMODEActionPerformed - btnSend("AT+CIPMODE?"); - }//GEN-LAST:event_cmdGetCIPMODEActionPerformed - - private void AT_ClientComponentShown(java.awt.event.ComponentEvent evt) {//GEN-FIRST:event_AT_ClientComponentShown - WiFi_common.setVisible(false); - TCP_common.setVisible(true); - }//GEN-LAST:event_AT_ClientComponentShown - - private void AT_ClientFocusGained(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_AT_ClientFocusGained - - }//GEN-LAST:event_AT_ClientFocusGained - - private void cmdSetCIPCLOSEActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdSetCIPCLOSEActionPerformed - String cmd = "AT+CIPCLOSE"; - if (multi.isSelected()) { - cmd += "=" + conn_id.getSelectedItem().toString(); - } - btnSend(cmd); - }//GEN-LAST:event_cmdSetCIPCLOSEActionPerformed - - private void cmdCIPSENDinteractiveActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdCIPSENDinteractiveActionPerformed - btnSend("AT+CIPSEND"); - }//GEN-LAST:event_cmdCIPSENDinteractiveActionPerformed - - private void cmdCIPSENDActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdCIPSENDActionPerformed - String cmd = "AT+CIPSEND="; - String len = Integer.toString(data.getText().length()); - if (multi.isSelected()) { - cmd += conn_id.getSelectedItem().toString() + ","; - } - cmd += len; - btnSend(cmd); - btnSend(data.getText()); - }//GEN-LAST:event_cmdCIPSENDActionPerformed - - private void cmdSetCIPSTARTActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdSetCIPSTARTActionPerformed - String cmd = "AT+CIPSTART="; - if (multi.isSelected()) { - cmd += conn_id.getSelectedItem().toString() + ","; - btnSend("AT+CIPMUX=1"); - } else { - btnSend("AT+CIPMUX=0"); - } - if (protocol.getSelectedIndex() == 0) { // TCP - cmd += "\"TCP\",\""; - } else { - cmd += "\"UDP\",\""; - } - cmd += remote_address.getText().trim() + "\"," + remote_port.getText().trim(); - if ((udp_local_port.getText().trim() != "") && (protocol.getSelectedIndex() == 1)) { - cmd += "," + udp_local_port.getText().trim() + "," + udp_mode.getText().trim(); - } - btnSend(cmd); - }//GEN-LAST:event_cmdSetCIPSTARTActionPerformed - - private void protocolItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_protocolItemStateChanged - if (protocol.getSelectedIndex() == 0) { // TCP - udp_local_port.setEnabled(false); - udp_mode.setEnabled(false); - } else { - udp_local_port.setEnabled(true); - udp_mode.setEnabled(true); - } - - }//GEN-LAST:event_protocolItemStateChanged - - private void UDPPropertyChange(java.beans.PropertyChangeEvent evt) {//GEN-FIRST:event_UDPPropertyChange - - }//GEN-LAST:event_UDPPropertyChange - - private void cmdGetCIPSTARTActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdGetCIPSTARTActionPerformed - btnSend("AT+CIPSTART=?"); - }//GEN-LAST:event_cmdGetCIPSTARTActionPerformed - - private void multiActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_multiActionPerformed - // TODO add your handling code here: - }//GEN-LAST:event_multiActionPerformed - - private void multiItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_multiItemStateChanged - - }//GEN-LAST:event_multiItemStateChanged - - private void singleItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_singleItemStateChanged - - }//GEN-LAST:event_singleItemStateChanged - - private void AT_SoftAPComponentShown(java.awt.event.ComponentEvent evt) {//GEN-FIRST:event_AT_SoftAPComponentShown - WiFi_common.setVisible(true); - TCP_common.setVisible(false); - }//GEN-LAST:event_AT_SoftAPComponentShown - - private void AT_SoftAPFocusGained(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_AT_SoftAPFocusGained - - }//GEN-LAST:event_AT_SoftAPFocusGained - - private void cmdSetCIPAPActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdSetCIPAPActionPerformed - btnSend("AT+CIPAP=\"" + softAPIP.getText() + "\""); - }//GEN-LAST:event_cmdSetCIPAPActionPerformed - - private void cmdSetCIPAPMACActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdSetCIPAPMACActionPerformed - btnSend("AT+CIPAPMAC=\"" + MAC.getText() + "\""); - }//GEN-LAST:event_cmdSetCIPAPMACActionPerformed - - private void cmdGetCIPAPActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdGetCIPAPActionPerformed - btnSend("AT+CIPAP?"); - }//GEN-LAST:event_cmdGetCIPAPActionPerformed - - private void PASSsoftAPActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_PASSsoftAPActionPerformed - // TODO add your handling code here: - }//GEN-LAST:event_PASSsoftAPActionPerformed - - private void PASSsoftAPFocusGained(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_PASSsoftAPFocusGained - // TODO add your handling code here: - }//GEN-LAST:event_PASSsoftAPFocusGained - - private void SSIDsoftAPActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_SSIDsoftAPActionPerformed - // TODO add your handling code here: - }//GEN-LAST:event_SSIDsoftAPActionPerformed - - private void SSIDsoftAPFocusGained(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_SSIDsoftAPFocusGained - // TODO add your handling code here: - }//GEN-LAST:event_SSIDsoftAPFocusGained - - private void cmdGetCWLIFActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdGetCWLIFActionPerformed - btnSend("AT+CWLIF"); - }//GEN-LAST:event_cmdGetCWLIFActionPerformed - - private void cmdGetCIPAPMACActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdGetCIPAPMACActionPerformed - btnSend("AT+CIPAPMAC?"); - }//GEN-LAST:event_cmdGetCIPAPMACActionPerformed - - private void cmdGetCWSAPActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdGetCWSAPActionPerformed - btnSend("AT+CWSAP?"); - }//GEN-LAST:event_cmdGetCWSAPActionPerformed - - private void cmdSetCWSAPActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdSetCWSAPActionPerformed - int ch = channel.getSelectedIndex() + 1; - btnSend("AT+CWSAP=\"" + SSIDsoftAP.getText() + "\",\"" + PASSsoftAP.getText() + "\"," + Integer.toString(ch) + "," + encryption.getSelectedIndex()); - }//GEN-LAST:event_cmdSetCWSAPActionPerformed - - private void AT_StationComponentShown(java.awt.event.ComponentEvent evt) {//GEN-FIRST:event_AT_StationComponentShown - WiFi_common.setVisible(true); - TCP_common.setVisible(false); - }//GEN-LAST:event_AT_StationComponentShown - - private void AT_StationFocusGained(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_AT_StationFocusGained - - }//GEN-LAST:event_AT_StationFocusGained - - private void cmdSetCIPSTAActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdSetCIPSTAActionPerformed - btnSend("AT+CIPSTA=\"" + StationIP.getText() + "\""); - }//GEN-LAST:event_cmdSetCIPSTAActionPerformed - - private void cmdGetCIPSTAActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdGetCIPSTAActionPerformed - btnSend("AT+CIPSTA?"); - }//GEN-LAST:event_cmdGetCIPSTAActionPerformed - - private void cmdSetCIPSTAMACActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdSetCIPSTAMACActionPerformed - btnSend("AT+CIPSTAMAC=\"" + MAC.getText() + "\""); - }//GEN-LAST:event_cmdSetCIPSTAMACActionPerformed - - private void cmdGetCIPSTAMACActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdGetCIPSTAMACActionPerformed - btnSend("AT+CIPSTAMAC?"); - }//GEN-LAST:event_cmdGetCIPSTAMACActionPerformed - - private void cmdSetCWQAPActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdSetCWQAPActionPerformed - btnSend("AT+CWQAP"); - }//GEN-LAST:event_cmdSetCWQAPActionPerformed - - private void PASSActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_PASSActionPerformed - // TODO add your handling code here: - }//GEN-LAST:event_PASSActionPerformed - - private void PASSFocusGained(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_PASSFocusGained - if (PASS.getText().trim() == "password") { - PASS.setText(""); - } - }//GEN-LAST:event_PASSFocusGained - - private void SSIDActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_SSIDActionPerformed - // TODO add your handling code here: - }//GEN-LAST:event_SSIDActionPerformed - - private void SSIDFocusGained(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_SSIDFocusGained - if (SSID.getText().trim() == "SSID") { - SSID.setText(""); - } - }//GEN-LAST:event_SSIDFocusGained - - private void cmdSetCWJAPActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdSetCWJAPActionPerformed - btnSend("AT+CWJAP=\"" + SSID.getText() + "\",\"" + PASS.getText() + "\""); - }//GEN-LAST:event_cmdSetCWJAPActionPerformed - - private void cmdGetCWJAPActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdGetCWJAPActionPerformed - btnSend("AT+CWJAP?"); - }//GEN-LAST:event_cmdGetCWJAPActionPerformed - - private void UPDATEActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_UPDATEActionPerformed - btnSend("AT+CIUPDATE"); - }//GEN-LAST:event_UPDATEActionPerformed - - private void ATE1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ATE1ActionPerformed - btnSend("ATE1"); - }//GEN-LAST:event_ATE1ActionPerformed - - private void ATE0ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ATE0ActionPerformed - btnSend("ATE0"); - }//GEN-LAST:event_ATE0ActionPerformed - - private void GSLPActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_GSLPActionPerformed - btnSend("AT+GSLP=5000"); - }//GEN-LAST:event_GSLPActionPerformed - - private void AT_GMRActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_AT_GMRActionPerformed - btnSend("AT+GMR"); - }//GEN-LAST:event_AT_GMRActionPerformed - - private void AT_RestartActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_AT_RestartActionPerformed - btnSend("AT+RST"); - }//GEN-LAST:event_AT_RestartActionPerformed - - private void cmdATActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdATActionPerformed - btnSend("AT"); - }//GEN-LAST:event_cmdATActionPerformed - - private void NodeMCUComponentShown(java.awt.event.ComponentEvent evt) {//GEN-FIRST:event_NodeMCUComponentShown - UpdateEditorButtons(); - UpdateButtons(); - }//GEN-LAST:event_NodeMCUComponentShown - - private void NodeMCUFocusGained(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_NodeMCUFocusGained - - }//GEN-LAST:event_NodeMCUFocusGained - - private void TextTabStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_TextTabStateChanged - if (TextTab.getSelectedIndex() == 2) { // snippets - } else if (TextTab.getSelectedIndex() == 3) { // Settings - } else if (TextTab.getSelectedIndex() == 1) { // Commands - } else if (TextTab.getSelectedIndex() == 0) { // Scripts - } - }//GEN-LAST:event_TextTabStateChanged - - private void AutodetectFirmwareItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_AutodetectFirmwareItemStateChanged - prefs.putBoolean(AUTODETECT, AutodetectFirmware.isSelected()); - }//GEN-LAST:event_AutodetectFirmwareItemStateChanged - - private void UseCustomPortNameActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_UseCustomPortNameActionPerformed - Port.setEnabled(!UseCustomPortName.isSelected()); - Port.setVisible(!UseCustomPortName.isSelected()); - CustomPortName.setEnabled(UseCustomPortName.isSelected()); - prefs.putBoolean(USE_CUSTOM_PORT, UseCustomPortName.isSelected()); - }//GEN-LAST:event_UseCustomPortNameActionPerformed - - private void CustomPortNameFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_CustomPortNameFocusLost - prefs.put(CUSTOM_PORT_NAME, CustomPortName.getText()); - }//GEN-LAST:event_CustomPortNameFocusLost - - private void LogMaxSizeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_LogMaxSizeActionPerformed - - }//GEN-LAST:event_LogMaxSizeActionPerformed - - private void LogMaxSizeFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_LogMaxSizeFocusLost - try { - LogMax = Integer.parseInt(LogMaxSize.getText()) * 1024; - } catch (Exception e) { - LogMax = 1024 * 10; - } - if (LogMax < 2048) { - LogMax = 2048; - } else if (LogMax > 32 * 1024) { - LogMax = 32 * 1024; - } - prefs.putInt(LOG_MAX_SIZE, LogMax); - log("Log max size set to " + Integer.toString(LogMax / 1024) + " KB", DEBUG); - }//GEN-LAST:event_LogMaxSizeFocusLost - - private void TerminalMaxSizeFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_TerminalMaxSizeFocusLost - try { - TerminalMax = Integer.parseInt(TerminalMaxSize.getText()) * 1024; - } catch (Exception e) { - TerminalMax = 1024 * 100; - } - if (TerminalMax < 2048) { - TerminalMax = 2048; - } else if (TerminalMax > 1024 * 1024) { - TerminalMax = 1024 * 1024; - } - prefs.putInt(TERMINAL_MAX_SIZE, TerminalMax); - log("Terminal max size set to " + Integer.toString(TerminalMax / 1024) + " KB", DEBUG); - }//GEN-LAST:event_TerminalMaxSizeFocusLost - - private void TurboModeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_TurboModeActionPerformed - if (TurboMode.isSelected()) { - DumbMode.setEnabled(false); - DumbMode.setSelected(false); - } else { - DumbMode.setEnabled(true); - } - prefs.putBoolean(TURBO_MODE, TurboMode.isSelected()); - PrefsFlush(); - }//GEN-LAST:event_TurboModeActionPerformed - - private void TurboModeItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_TurboModeItemStateChanged - - }//GEN-LAST:event_TurboModeItemStateChanged - - private void LineDelayStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_LineDelayStateChanged - LineDelayLabel.setText("Line delay for \"Dumb Mode\" = " + Integer.toString(LineDelay.getValue()) + " ms"); - prefs.putInt(LINE_DELAY, LineDelay.getValue()); - PrefsFlush(); - }//GEN-LAST:event_LineDelayStateChanged - - private void DumbModeItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_DumbModeItemStateChanged - if (DumbMode.isSelected()) { - DelayLabel.setEnabled(false); - Delay.setEnabled(false); - AnswerDelayLabel.setEnabled(false); - AnswerDelay.setEnabled(false); - LineDelayLabel.setEnabled(true); - LineDelay.setEnabled(true); - TurboMode.setSelected(false); - TurboMode.setEnabled(false); - } else { - DelayLabel.setEnabled(true); - Delay.setEnabled(true); - AnswerDelayLabel.setEnabled(true); - AnswerDelay.setEnabled(true); - LineDelayLabel.setEnabled(false); - LineDelay.setEnabled(false); - TurboMode.setEnabled(true); - } - prefs.putBoolean(DUMB_MODE, DumbMode.isSelected()); - PrefsFlush(); - }//GEN-LAST:event_DumbModeItemStateChanged - - private void AnswerDelayStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_AnswerDelayStateChanged - AnswerDelayLabel.setText("Answer timout = " + Integer.toString(AnswerDelay.getValue()) + " s"); - prefs.putInt(TIMEOUT, AnswerDelay.getValue()); - PrefsFlush(); - }//GEN-LAST:event_AnswerDelayStateChanged - - private void DelayStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_DelayStateChanged - DelayLabel.setText("Delay after answer = " + Integer.toString(Delay.getValue()) + " ms"); - prefs.putInt(DELAY, Delay.getValue()); - PrefsFlush(); - }//GEN-LAST:event_DelayStateChanged - - private void UseExternalEditorItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_UseExternalEditorItemStateChanged - prefs.putBoolean(USE_EXT_EDITOR, UseExternalEditor.isSelected()); - UpdateButtons(); - }//GEN-LAST:event_UseExternalEditorItemStateChanged - - private void EditorThemeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_EditorThemeActionPerformed - int n = EditorTheme.getSelectedIndex(); - prefs.putInt(COLOR_THEME, n); - PrefsFlush(); - SetTheme(n, true); // for all - }//GEN-LAST:event_EditorThemeActionPerformed - - private void FileAutoRunItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_FileAutoRunItemStateChanged - prefs.putBoolean(FILE_AUTO_RUN, FileAutoRun.isSelected()); - PrefsFlush(); - }//GEN-LAST:event_FileAutoRunItemStateChanged - - private void FileAutoSaveESPItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_FileAutoSaveESPItemStateChanged - prefs.putBoolean(FILE_AUTO_SAVE_ESP, FileAutoSaveESP.isSelected()); - PrefsFlush(); - }//GEN-LAST:event_FileAutoSaveESPItemStateChanged - - private void FileAutoSaveDiskItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_FileAutoSaveDiskItemStateChanged - prefs.putBoolean(FILE_AUTO_SAVE_DISK, FileAutoSaveDisk.isSelected()); - PrefsFlush(); - }//GEN-LAST:event_FileAutoSaveDiskItemStateChanged - - private void OptionMicroPythonItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_OptionMicroPythonItemStateChanged - if (OptionMicroPython.isSelected()) { - SetFirmwareType(FIRMWARE_MPYTHON); - } - }//GEN-LAST:event_OptionMicroPythonItemStateChanged - - private void OptionNodeMCUItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_OptionNodeMCUItemStateChanged - if (OptionNodeMCU.isSelected()) { - SetFirmwareType(FIRMWARE_NODEMCU); - } - }//GEN-LAST:event_OptionNodeMCUItemStateChanged - - private void CondensedItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_CondensedItemStateChanged - prefs.putBoolean(CONDENSED, Condensed.isSelected()); - }//GEN-LAST:event_CondensedItemStateChanged - - private void SnippetCancelEditActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_SnippetCancelEditActionPerformed - if (SnippetText.canUndo() || SnippetText.canRedo()) { - this.setAlwaysOnTop(false); - int returnVal = JOptionPane.showConfirmDialog(null, "Discard any changes and CANCEL edit this snippet without saving?", "Attention", JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE); - this.setAlwaysOnTop(AlwaysOnTop.isSelected()); - if (returnVal != JOptionPane.YES_OPTION) { - return; - } - } - SnippetText.setEnabled(false); - SnippetName.setEnabled(false); - SnippetSave.setEnabled(false); - SnippetRun.setEnabled(false); - SnippetCancelEdit.setEnabled(false); - SnippetText.setEnabled(false); - SnippetScrollPane.setEnabled(false); - SnippetText.setEditable(false); - SnippetText.setText(""); - SnippetText.discardAllEdits(); - SnippetName.setText(""); - //SnippetText.setBackground(SnippetTopPane.getBackground()); - }//GEN-LAST:event_SnippetCancelEditActionPerformed - - private void SnippetRunActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_SnippetRunActionPerformed - SendToESP(SnippetText.getText()); - }//GEN-LAST:event_SnippetRunActionPerformed - - private void SnippetSaveActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_SnippetSaveActionPerformed - SnippetName.setEnabled(false); - SnippetSave.setEnabled(false); - SnippetRun.setEnabled(true); - SnippetCancelEdit.setEnabled(true); - SnippetText.setEnabled(false); - SnippetScrollPane.setEnabled(false); - SnippetText.setEditable(false); - //SnippetText.setBackground(SnippetTopPane.getBackground()); - SnippetText.setEnabled(false); - if (iSnippets == 0) { - ButtonSnippet0.setText(SnippetName.getText()); - } else if (iSnippets == 1) { - ButtonSnippet1.setText(SnippetName.getText()); - } else if (iSnippets == 2) { - ButtonSnippet2.setText(SnippetName.getText()); - } else if (iSnippets == 3) { - ButtonSnippet3.setText(SnippetName.getText()); - } else if (iSnippets == 4) { - ButtonSnippet4.setText(SnippetName.getText()); - } else if (iSnippets == 5) { - ButtonSnippet5.setText(SnippetName.getText()); - } else if (iSnippets == 6) { - ButtonSnippet6.setText(SnippetName.getText()); - } else if (iSnippets == 7) { - ButtonSnippet7.setText(SnippetName.getText()); - } else if (iSnippets == 8) { - ButtonSnippet8.setText(SnippetName.getText()); - } else if (iSnippets == 9) { - ButtonSnippet9.setText(SnippetName.getText()); - } else if (iSnippets == 10) { - ButtonSnippet10.setText(SnippetName.getText()); - } else if (iSnippets == 11) { - ButtonSnippet11.setText(SnippetName.getText()); - } else if (iSnippets == 12) { - ButtonSnippet12.setText(SnippetName.getText()); - } else if (iSnippets == 13) { - ButtonSnippet13.setText(SnippetName.getText()); - } else if (iSnippets == 14) { - ButtonSnippet14.setText(SnippetName.getText()); - } else { - ButtonSnippet15.setText(SnippetName.getText()); - iSnippets = 15; - } - SetSnippetEditButtonsTooltip(); - Snippets[iSnippets] = SnippetText.getText(); - String suffix; - if (OptionNodeMCU.isSelected()) { - suffix = ""; - } else { - suffix = "_mpy"; - } - prefs.put("Snippet" + Integer.toString(iSnippets) + suffix + "name", SnippetName.getText()); - prefs.put("Snippet" + Integer.toString(iSnippets) + suffix, Snippets[iSnippets]); - if (PrefsFlush()) { - log("Snippet" + Integer.toString(iSnippets) + " saved: Success."); - } - SnippetText.discardAllEdits(); - }//GEN-LAST:event_SnippetSaveActionPerformed - - private void SnippetEdit15ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_SnippetEdit15ActionPerformed - SnippetEdit(15); - }//GEN-LAST:event_SnippetEdit15ActionPerformed - - private void SnippetEdit14ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_SnippetEdit14ActionPerformed - SnippetEdit(14); - }//GEN-LAST:event_SnippetEdit14ActionPerformed - - private void SnippetEdit13ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_SnippetEdit13ActionPerformed - SnippetEdit(13); - }//GEN-LAST:event_SnippetEdit13ActionPerformed - - private void SnippetEdit12ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_SnippetEdit12ActionPerformed - SnippetEdit(12); - }//GEN-LAST:event_SnippetEdit12ActionPerformed - - private void SnippetEdit11ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_SnippetEdit11ActionPerformed - SnippetEdit(11); - }//GEN-LAST:event_SnippetEdit11ActionPerformed - - private void SnippetEdit10ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_SnippetEdit10ActionPerformed - SnippetEdit(10); - }//GEN-LAST:event_SnippetEdit10ActionPerformed - - private void SnippetEdit9ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_SnippetEdit9ActionPerformed - SnippetEdit(9); - }//GEN-LAST:event_SnippetEdit9ActionPerformed - - private void SnippetEdit8ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_SnippetEdit8ActionPerformed - SnippetEdit(8); - }//GEN-LAST:event_SnippetEdit8ActionPerformed - - private void SnippetEdit7ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_SnippetEdit7ActionPerformed - SnippetEdit(7); - }//GEN-LAST:event_SnippetEdit7ActionPerformed - - private void SnippetEdit6ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_SnippetEdit6ActionPerformed - SnippetEdit(6); - }//GEN-LAST:event_SnippetEdit6ActionPerformed - - private void SnippetEdit5ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_SnippetEdit5ActionPerformed - SnippetEdit(5); - }//GEN-LAST:event_SnippetEdit5ActionPerformed - - private void SnippetEdit4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_SnippetEdit4ActionPerformed - SnippetEdit(4); - }//GEN-LAST:event_SnippetEdit4ActionPerformed - - private void SnippetEdit3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_SnippetEdit3ActionPerformed - SnippetEdit(3); - }//GEN-LAST:event_SnippetEdit3ActionPerformed - - private void SnippetEdit2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_SnippetEdit2ActionPerformed - SnippetEdit(2); - }//GEN-LAST:event_SnippetEdit2ActionPerformed - - private void SnippetEdit1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_SnippetEdit1ActionPerformed - SnippetEdit(1); - }//GEN-LAST:event_SnippetEdit1ActionPerformed - - private void SnippetEdit0ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_SnippetEdit0ActionPerformed - SnippetEdit(0); - }//GEN-LAST:event_SnippetEdit0ActionPerformed - - private void cmdTimerStopActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdTimerStopActionPerformed - String cmd = "tmr.stop(" + Integer.toString(TimerNumber.getSelectedIndex()) + ")"; - btnSend(cmd); - }//GEN-LAST:event_cmdTimerStopActionPerformed - - private void cmdListFilesActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdListFilesActionPerformed - NodeListFiles(); - }//GEN-LAST:event_cmdListFilesActionPerformed - - private void cmdNodeSleepActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdNodeSleepActionPerformed - int returnVal = Dialog("This function can only be used in the condition that esp8266 PIN32(RST) and PIN8(XPD_DCDC) are connected together.", JOptionPane.YES_NO_OPTION); - if (returnVal == JOptionPane.YES_OPTION) { - btnSend("node.dsleep(10000)"); - } - }//GEN-LAST:event_cmdNodeSleepActionPerformed - - private void cmdNodeHeapActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdNodeHeapActionPerformed - btnSend("print(node.heap())"); - }//GEN-LAST:event_cmdNodeHeapActionPerformed - - private void cmdNodeChipIDActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdNodeChipIDActionPerformed - btnSend("print(node.chipid())"); - }//GEN-LAST:event_cmdNodeChipIDActionPerformed - - private void cmdNodeRestartActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdNodeRestartActionPerformed - if (!OptionNodeMCU.isSelected()) { - return; - } - if (portJustOpen) { - log("ERROR: Communication with MCU not established."); - return; - } - TerminalAdd("Soft restart by user command\r\n"); - btnSend("node.restart()"); - if (pOpen) { // reconnect - int speed = prefs.getInt(SERIAL_BAUD, 3); - final int old_speed = Speed.getSelectedIndex(); - //if (speed == old_speed) { // reconnect not needed - //return; - //} - try { - nSpeed = Integer.parseInt(Speed.getItemAt(speed).toString()); - //Integer.parseInt((String)Speed.getSelectedItem()); - } catch (Exception e) { - return; - } - log("Try to reconnect with saved baud " + Integer.toString(nSpeed) + "..."); - try { - if (SetSerialPortParams()) { - log("Reconnect: Success. Now we waiting for ESP reboot..."); - // Now, we can ready to reconnect on old_speed - taskSleep = new ActionListener() { - public void actionPerformed(ActionEvent evt) { - if (nSpeed == 9600) { - CheckComm(); - } else { - Speed.setSelectedIndex(old_speed); - } - } - }; - sleep = new Timer(2000, taskSleep); - sleep.setRepeats(false); - sleep.setInitialDelay(2000); - sleep.start(); - } - } catch (Exception e) { - log(e.toString()); - } - } - }//GEN-LAST:event_cmdNodeRestartActionPerformed - - private void FilesUploadActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_FilesUploadActionPerformed - //log(evt.paramString()); - UploadFiles(); - }//GEN-LAST:event_FilesUploadActionPerformed - - private void FileDoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_FileDoActionPerformed - String cmd = "dofile('" + iFile.get(iTab).getName() + "')"; - btnSend(cmd); - }//GEN-LAST:event_FileDoActionPerformed - - private void FileSendESPActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_FileSendESPActionPerformed - if (FileSendESP.isSelected()) { - if (TextEditor1.get(iTab).getText().length() == 0) { - JOptionPane.showMessageDialog(null, "File empty."); - FileSendESP.setSelected(false); - return; - } - SendToESP(TextEditor1.get(iTab).getText()); - } else { - StopSend(); - } - }//GEN-LAST:event_FileSendESPActionPerformed - - private void FileSaveESPActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_FileSaveESPActionPerformed - if (!FileSaveESP.isSelected()) { - StopSend(); - return; - } - if (TextEditor1.get(iTab).getText().length() == 0) { - FileSaveESP.setSelected(false); - JOptionPane.showMessageDialog(null, "File empty."); - return; - } - String fName = iFile.get(iTab).getName(); - if (fName.length() == 0) { - FileSaveESP.setSelected(false); - String msg = " Can't save file to ESP without name."; - log("FileSaveESP: FAIL. " + msg); - JOptionPane.showMessageDialog(null, msg); - return; - } - if (FileAutoSaveDisk.isSelected()) { - if (!SaveFile()) { // first save file - FileSaveESP.setSelected(false); - return; - } - } - if (!pOpen || portJustOpen) { - log("FileSaveESP: Serial port not open. Operation canceled."); - FileSaveESP.setSelected(false); - return; - } - if (OptionMicroPython.isSelected()) { - pySaveFileESP(fName); - } else { - nodeSaveFileESP(fName); - } - }//GEN-LAST:event_FileSaveESPActionPerformed - - private void FileCompile1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_FileCompile1ActionPerformed - // TODO add your handling code here: - }//GEN-LAST:event_FileCompile1ActionPerformed - - private void FileCompileDoLC3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_FileCompileDoLC3ActionPerformed - // TODO add your handling code here: - }//GEN-LAST:event_FileCompileDoLC3ActionPerformed - - private void FileCompileDoLC2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_FileCompileDoLC2ActionPerformed - // TODO add your handling code here: - }//GEN-LAST:event_FileCompileDoLC2ActionPerformed - - private void FileCompileDoLCActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_FileCompileDoLCActionPerformed - final String luaFileName = iFile.get(iTab).getName(); - final int extensionIndex = luaFileName.lastIndexOf("."); - final String baseName = extensionIndex == -1 ? luaFileName : luaFileName.substring(0, extensionIndex); - final String compiledFileName = baseName + ".lc"; - final String cmd = "node.compile('" + luaFileName + "')\r\ndofile(\"" + compiledFileName + "\")"; - btnSend(cmd); - }//GEN-LAST:event_FileCompileDoLCActionPerformed - - private void FileUploadBinActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_FileUploadBinActionPerformed - // TODO add your handling code here: - }//GEN-LAST:event_FileUploadBinActionPerformed - - private void FileSaveCompileDoLCActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_FileSaveCompileDoLCActionPerformed - // TODO add your handling code here: - }//GEN-LAST:event_FileSaveCompileDoLCActionPerformed - - private void FileCompileActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_FileCompileActionPerformed - String cmd = "node.compile('" + iFile.get(iTab).getName() + "')"; - btnSend(cmd); - try { - Thread.sleep(500L); - } catch (InterruptedException e) { - } - LocalEcho = false; - FileListReload.doClick(); - }//GEN-LAST:event_FileCompileActionPerformed - - private void FileDo1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_FileDo1ActionPerformed - // TODO add your handling code here: - }//GEN-LAST:event_FileDo1ActionPerformed - - private void FilesTabbedPaneStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_FilesTabbedPaneStateChanged - FileLabelUpdate(); - // if (iTab > 0) FilesTabbedPane.setTitleAt(iTab, Integer.toString(iTab)); - }//GEN-LAST:event_FilesTabbedPaneStateChanged - - private void FileLayeredPaneFocusGained(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_FileLayeredPaneFocusGained - - }//GEN-LAST:event_FileLayeredPaneFocusGained - - private void TextEditorKeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_TextEditorKeyTyped - if (UseExternalEditor.isSelected()) { - return; - } - if (!isChanged()) { - FileChanged.set(iTab, true); - UpdateEditorButtons(); - } - }//GEN-LAST:event_TextEditorKeyTyped - - private void TextEditorInputMethodTextChanged(java.awt.event.InputMethodEvent evt) {//GEN-FIRST:event_TextEditorInputMethodTextChanged - - }//GEN-LAST:event_TextEditorInputMethodTextChanged - - private void TextEditorCaretPositionChanged(java.awt.event.InputMethodEvent evt) {//GEN-FIRST:event_TextEditorCaretPositionChanged - UpdateEditorButtons(); - }//GEN-LAST:event_TextEditorCaretPositionChanged - - private void TextEditorActiveLineRangeChanged(org.fife.ui.rsyntaxtextarea.ActiveLineRangeEvent evt) {//GEN-FIRST:event_TextEditorActiveLineRangeChanged - UpdateEditorButtons(); - }//GEN-LAST:event_TextEditorActiveLineRangeChanged - - private void TextEditorFocusGained(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_TextEditorFocusGained - - }//GEN-LAST:event_TextEditorFocusGained - - private void TextEditorCaretUpdate(javax.swing.event.CaretEvent evt) {//GEN-FIRST:event_TextEditorCaretUpdate - UpdateEditorButtons(); - }//GEN-LAST:event_TextEditorCaretUpdate - - private void ButtonSendLineActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButtonSendLineActionPerformed - MenuItemEditSendLine.doClick(); - }//GEN-LAST:event_ButtonSendLineActionPerformed - - private void ButtonSendSelectedActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButtonSendSelectedActionPerformed - MenuItemEditSendSelected.doClick(); - }//GEN-LAST:event_ButtonSendSelectedActionPerformed - - private void ButtonPasteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButtonPasteActionPerformed - MenuItemEditPaste.doClick(); - }//GEN-LAST:event_ButtonPasteActionPerformed - - private void ButtonCopyActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButtonCopyActionPerformed - MenuItemEditCopy.doClick(); - }//GEN-LAST:event_ButtonCopyActionPerformed - - private void ButtonCutActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButtonCutActionPerformed - MenuItemEditCut.doClick(); - }//GEN-LAST:event_ButtonCutActionPerformed - - private void ButtonRedoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButtonRedoActionPerformed - MenuItemEditRedo.doClick(); - }//GEN-LAST:event_ButtonRedoActionPerformed - - private void ButtonUndoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButtonUndoActionPerformed - MenuItemEditUndo.doClick(); - }//GEN-LAST:event_ButtonUndoActionPerformed - - private void ButtonFileCloseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButtonFileCloseActionPerformed - MenuItemFileClose.doClick(); - }//GEN-LAST:event_ButtonFileCloseActionPerformed - - private void ButtonFileSaveAllActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButtonFileSaveAllActionPerformed - MenuItemFileSaveAll.doClick(); - }//GEN-LAST:event_ButtonFileSaveAllActionPerformed - - private void ButtonFileSaveActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButtonFileSaveActionPerformed - MenuItemFileSave.doClick(); - }//GEN-LAST:event_ButtonFileSaveActionPerformed - - private void ButtonFileReloadActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButtonFileReloadActionPerformed - MenuItemFileReload.doClick(); - }//GEN-LAST:event_ButtonFileReloadActionPerformed - - private void ButtonFileOpenActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButtonFileOpenActionPerformed - MenuItemFileOpen.doClick(); - }//GEN-LAST:event_ButtonFileOpenActionPerformed - - private void ButtonFileNewActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ButtonFileNewActionPerformed - MenuItemFileNew.doClick(); - }//GEN-LAST:event_ButtonFileNewActionPerformed - - private void OptionNodeMCUStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_OptionNodeMCUStateChanged - if (OptionNodeMCU.isSelected()) { - SetFirmwareType(FIRMWARE_NODEMCU); - } - }//GEN-LAST:event_OptionNodeMCUStateChanged - - private void OptionMicroPythonStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_OptionMicroPythonStateChanged - if (OptionMicroPython.isSelected()) { - SetFirmwareType(FIRMWARE_MPYTHON); - } - }//GEN-LAST:event_OptionMicroPythonStateChanged - - private void MicroPythonSetGPIOHigh(java.awt.event.ActionEvent evt) { - cmdButtonGPIO(Integer.parseInt(evt.getActionCommand()), 1); - } - - private void MicroPythonSetGPIOLow(java.awt.event.ActionEvent evt) { - cmdButtonGPIO(Integer.parseInt(evt.getActionCommand()), 0); - } - - private void MicroPythonGetGPIOLevel(java.awt.event.ActionEvent evt) { - cmdButtonGetGPIO(Integer.parseInt(evt.getActionCommand())); - } - - private void MicroPythonSSIDFocusGained(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_MicroPythonSSIDFocusGained - if (MicroPythonSSID.getText().trim().equals("SSID")) { - MicroPythonSSID.setText(""); - } - }//GEN-LAST:event_MicroPythonSSIDFocusGained - - private void MicroPythonSSIDActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MicroPythonSSIDActionPerformed - // TODO add your handling code here: - }//GEN-LAST:event_MicroPythonSSIDActionPerformed - - private void cmdMicroPythonStaConnectActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdMicroPythonStaConnectActionPerformed - btnSend("import network;nic=network.WLAN(network.STA_IF);nic.active(True);nic.connect('" + MicroPythonSSID.getText() + "','" + MicroPythonPASS.getText() + "')"); - }//GEN-LAST:event_cmdMicroPythonStaConnectActionPerformed - - private void MicroPythonPASSActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MicroPythonPASSActionPerformed - // TODO add your handling code here: - }//GEN-LAST:event_MicroPythonPASSActionPerformed - - private void MicroPythonPASSFocusGained(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_MicroPythonPASSFocusGained - if (MicroPythonPASS.getText().trim().equals("password")) { - MicroPythonPASS.setText(""); - } - }//GEN-LAST:event_MicroPythonPASSFocusGained - - private void cmdMicroPythonSendToHostActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdMicroPythonSendToHostActionPerformed - btnSend("import socket;" - + "addr=socket.getaddrinfo('" + MicroPythonRemoteHost.getText() + "'," + Integer.parseInt(MicroPythonRemotePort.getText()) + ")[0][-1]\r\n" - + "s = socket.socket();s.connect(addr);s.send(b'" + MicroPythonRemoteData.getText() + "');data = s.recv(1000);s.close()"); - }//GEN-LAST:event_cmdMicroPythonSendToHostActionPerformed - - private void cmdMicroPythonScanActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdMicroPythonScanActionPerformed - btnSend("import network;nic = network.WLAN(network.STA_IF);nic.scan()"); - }//GEN-LAST:event_cmdMicroPythonScanActionPerformed - - private void EditorOnlyCheckBoxItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_EditorOnlyCheckBoxItemStateChanged - MenuItemViewEditorOnly.setSelected(EditorOnlyCheckBox.isSelected()); - }//GEN-LAST:event_EditorOnlyCheckBoxItemStateChanged - - private void MenuItemViewEditorOnlyItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_MenuItemViewEditorOnlyItemStateChanged - if (MenuItemViewEditorOnly.isSelected()) { - TerminalOnlyCheckBox.setSelected(false); - MenuItemViewTerminalOnly.setSelected(false); - EditorOnlyCheckBox.setSelected(true); - HorizontSplit.setDividerLocation(HorizontSplit.getWidth()); - } else { - EditorOnlyCheckBox.setSelected(false); - HorizontSplit.setDividerLocation(550); - } - }//GEN-LAST:event_MenuItemViewEditorOnlyItemStateChanged - - private void MenuItemViewEditorOnlyActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemViewEditorOnlyActionPerformed - // TODO add your handling code here: - }//GEN-LAST:event_MenuItemViewEditorOnlyActionPerformed - - private void MenuItemLinksIoTmanagerActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MenuItemLinksIoTmanagerActionPerformed - goLink(iot_manager); - }//GEN-LAST:event_MenuItemLinksIoTmanagerActionPerformed - - private void AlwaysOnTopActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_AlwaysOnTopActionPerformed - // TODO add your handling code here: - }//GEN-LAST:event_AlwaysOnTopActionPerformed - - private void PyListDirActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_PyListDirActionPerformed - PyListFiles(); - }//GEN-LAST:event_PyListDirActionPerformed - - private void PyFileAsButton1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_PyFileAsButton1MouseClicked - // TODO add your handling code here: - }//GEN-LAST:event_PyFileAsButton1MouseClicked - - private void PyFileAsButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_PyFileAsButton1ActionPerformed - String fn = evt.getActionCommand(); - if (fn.endsWith(".py") || fn.endsWith(".pyc")) { - String cmd = "dofile(\"" + fn + "\")"; - btnSend(cmd); - } else if (fn.endsWith(".bin") || fn.endsWith(".dat")) { - //HexDump(fn); - } else { - //ViewFile(fn); - } - }//GEN-LAST:event_PyFileAsButton1ActionPerformed - - private void CommandEchoItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_CommandEchoItemStateChanged - prefs.putBoolean(COMMAND_ECHO, CommandEcho.isSelected()); - }//GEN-LAST:event_CommandEchoItemStateChanged - - private void cmdSysResetActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdSysResetActionPerformed - btnSendEcho("sys reset"); - }//GEN-LAST:event_cmdSysResetActionPerformed - private void cmdSysFactoryResetActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdSysFactoryResetActionPerformed - btnSendEcho("sys factoryRESET"); - }//GEN-LAST:event_cmdSysFactoryResetActionPerformed - - private void cmdSysGetVerActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdSysGetVerActionPerformed - btnSendEcho("sys get ver"); - }//GEN-LAST:event_cmdSysGetVerActionPerformed - - private void cmdSysGetHwEuiActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdSysGetHwEuiActionPerformed - btnSendEcho("sys get hweui"); - }//GEN-LAST:event_cmdSysGetHwEuiActionPerformed - - private void cmdMacTXActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdMacTXActionPerformed - btnSendEcho("mac tx " + TxConfirmed.getSelectedItem() + " " + MacTxPort.getText().trim() + " " + MacTxData.getText().trim()); - }//GEN-LAST:event_cmdMacTXActionPerformed - - private void cmdMacjoinABPActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdMacjoinABPActionPerformed - btnSendEcho("mac join abp"); - }//GEN-LAST:event_cmdMacjoinABPActionPerformed - - private void cmdMacJoinOTAAActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdMacJoinOTAAActionPerformed - btnSendEcho("mac join otaa"); - }//GEN-LAST:event_cmdMacJoinOTAAActionPerformed - - private void cmdMacSaveActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdMacSaveActionPerformed - btnSendEcho("mac save"); - }//GEN-LAST:event_cmdMacSaveActionPerformed - - private void cmdMacSetDevAddrActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdMacSetDevAddrActionPerformed - btnSendEcho("mac set devaddr " + DevAddr.getText().trim()); - }//GEN-LAST:event_cmdMacSetDevAddrActionPerformed - - private void cmdMacSetDevEuiActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdMacSetDevEuiActionPerformed - btnSendEcho("mac set deveui " + DevEUI.getText().trim()); - }//GEN-LAST:event_cmdMacSetDevEuiActionPerformed - - private void cmdMacSetAppEuiActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdMacSetAppEuiActionPerformed - btnSendEcho("mac set appeui " + AppEUI.getText().trim()); - }//GEN-LAST:event_cmdMacSetAppEuiActionPerformed - - private void cmdMacSetNwkSKeyActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdMacSetNwkSKeyActionPerformed - btnSendEcho("mac set nwkskey " + NwkSKey.getText().trim()); - }//GEN-LAST:event_cmdMacSetNwkSKeyActionPerformed - - private void cmdMacSetAppSKeyActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdMacSetAppSKeyActionPerformed - btnSendEcho("mac set appskey " + AppSKey.getText().trim()); - }//GEN-LAST:event_cmdMacSetAppSKeyActionPerformed - - private void cmdMacSetAppKeyActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdMacSetAppKeyActionPerformed - btnSendEcho("mac set appkey " + AppKey.getText().trim()); - }//GEN-LAST:event_cmdMacSetAppKeyActionPerformed - - private void cmdMacSetPwrIdxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdMacSetPwrIdxActionPerformed - btnSendEcho("mac set pwridx " + MacPower.getText().trim()); - }//GEN-LAST:event_cmdMacSetPwrIdxActionPerformed - - private void cmdMacSetDRActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdMacSetDRActionPerformed - btnSendEcho("mac set dr " + MacDR.getText().trim()); - }//GEN-LAST:event_cmdMacSetDRActionPerformed - - private void cmdMacSetAdrOnActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdMacSetAdrOnActionPerformed - btnSendEcho("mac set adr on"); - }//GEN-LAST:event_cmdMacSetAdrOnActionPerformed - - private void cmdMacSetAdrOffActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdMacSetAdrOffActionPerformed - btnSendEcho("mac set adr off"); - }//GEN-LAST:event_cmdMacSetAdrOffActionPerformed - - private void cmdMacGetDevAddrActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdMacGetDevAddrActionPerformed - btnSendEcho("mac get devaddr"); - }//GEN-LAST:event_cmdMacGetDevAddrActionPerformed - - private void cmdMacGetDevEuiActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdMacGetDevEuiActionPerformed - btnSendEcho("mac get deveui"); - }//GEN-LAST:event_cmdMacGetDevEuiActionPerformed - - private void cmdMacGetAppEuiActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdMacGetAppEuiActionPerformed - btnSendEcho("mac get appeui"); - }//GEN-LAST:event_cmdMacGetAppEuiActionPerformed - - private void cmdMacGetDRActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdMacGetDRActionPerformed - btnSendEcho("mac get dr"); - }//GEN-LAST:event_cmdMacGetDRActionPerformed - - private void cmdMacGetAdrActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdMacGetAdrActionPerformed - btnSendEcho("mac get adr"); - }//GEN-LAST:event_cmdMacGetAdrActionPerformed - - private void cmdMacGetStatusActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdMacGetStatusActionPerformed - btnSendEcho("mac get status"); - }//GEN-LAST:event_cmdMacGetStatusActionPerformed - - private void DevAddrActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_DevAddrActionPerformed - cmdMacSetDevAddr.doClick(); - }//GEN-LAST:event_DevAddrActionPerformed - - private void NwkSKeyActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_NwkSKeyActionPerformed - cmdMacSetNwkSKey.doClick(); - }//GEN-LAST:event_NwkSKeyActionPerformed - - private void AppSKeyActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_AppSKeyActionPerformed - cmdMacSetAppSKey.doClick(); - }//GEN-LAST:event_AppSKeyActionPerformed - - private void DevEUIActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_DevEUIActionPerformed - cmdMacSetDevEui.doClick(); - }//GEN-LAST:event_DevEUIActionPerformed - - private void AppEUIActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_AppEUIActionPerformed - cmdMacSetAppEui.doClick(); - }//GEN-LAST:event_AppEUIActionPerformed - - private void AppKeyActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_AppKeyActionPerformed - cmdMacSetAppKey.doClick(); - }//GEN-LAST:event_AppKeyActionPerformed - - private void MacDRActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MacDRActionPerformed - cmdMacSetDR.doClick(); - }//GEN-LAST:event_MacDRActionPerformed - - private void MacPowerActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MacPowerActionPerformed - cmdMacSetPwrIdx.doClick(); - }//GEN-LAST:event_MacPowerActionPerformed - - private void cmdMacGetPwrIdxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdMacGetPwrIdxActionPerformed - btnSendEcho("mac get pwridx"); - }//GEN-LAST:event_cmdMacGetPwrIdxActionPerformed - - private void MacSFItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_MacSFItemStateChanged - - }//GEN-LAST:event_MacSFItemStateChanged - - private void cmdRadiosetRxBwActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdRadiosetRxBwActionPerformed - btnSendEcho("radio set rxbw " + RadioRxBandWidth.getText().trim()); - }//GEN-LAST:event_cmdRadiosetRxBwActionPerformed - - private void cmdRadioSetFreqActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdRadioSetFreqActionPerformed - btnSendEcho("radio set freq " + RadioFreq.getText().trim()); - }//GEN-LAST:event_cmdRadioSetFreqActionPerformed - - private void cmdRadioGetSFActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdRadioGetSFActionPerformed - btnSendEcho("radio get sf"); - }//GEN-LAST:event_cmdRadioGetSFActionPerformed - - private void cmdRadioGetBwActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdRadioGetBwActionPerformed - btnSendEcho("radio get bw"); - }//GEN-LAST:event_cmdRadioGetBwActionPerformed - - private void cmdRadioGetRxBwActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdRadioGetRxBwActionPerformed - btnSendEcho("radio get rxbw"); - }//GEN-LAST:event_cmdRadioGetRxBwActionPerformed - - private void cmdRadioGetFreqActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdRadioGetFreqActionPerformed - btnSendEcho("radio get freq"); - }//GEN-LAST:event_cmdRadioGetFreqActionPerformed - - private void MacSFActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MacSFActionPerformed - if ("comboBoxChanged".equals(evt.getActionCommand())) { - btnSendEcho("radio set sf " + MacSF.getSelectedItem()); - } - }//GEN-LAST:event_MacSFActionPerformed - - private void MacBandWidthItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_MacBandWidthItemStateChanged - - }//GEN-LAST:event_MacBandWidthItemStateChanged - - private void MacBandWidthActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_MacBandWidthActionPerformed - if ("comboBoxChanged".equals(evt.getActionCommand())) { - btnSendEcho("radio set bw " + MacBandWidth.getSelectedItem()); - } - }//GEN-LAST:event_MacBandWidthActionPerformed - - private void TxConfirmedItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_TxConfirmedItemStateChanged - - }//GEN-LAST:event_TxConfirmedItemStateChanged - - private void TxConfirmedActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_TxConfirmedActionPerformed - - }//GEN-LAST:event_TxConfirmedActionPerformed - - private void cmdSetPINGActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdSetPINGActionPerformed - btnSend("AT+PING=\"" + PingIP.getText() + "\""); - }//GEN-LAST:event_cmdSetPINGActionPerformed - - private void CommandKeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_CommandKeyTyped - - }//GEN-LAST:event_CommandKeyTyped - - private void CommandKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_CommandKeyReleased - - }//GEN-LAST:event_CommandKeyReleased - - private void CommandKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_CommandKeyPressed - - }//GEN-LAST:event_CommandKeyPressed - - private void CommandItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_CommandItemStateChanged - - }//GEN-LAST:event_CommandItemStateChanged - - private void CommandActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_CommandActionPerformed - //log("CommandActionPerformed " + evt.getActionCommand()); - if ("comboBoxEdited".equals(evt.getActionCommand())) { // Hit Enter - SendCommand.doClick(); - } - }//GEN-LAST:event_CommandActionPerformed - - private void NodeFileSystemInfo() { - String cmd = "r,u,t=file.fsinfo() print(\"Total : \"..t..\" bytes\\r\\nUsed : \"..u..\" bytes\\r\\nRemain: \"..r..\" bytes\\r\\n\") r=nil u=nil t=nil"; - LocalEcho = false; - send(addCRLF(cmd), true); - } - - private void goLink(URI link) { - try { - Desktop.getDesktop().browse(link); - - } catch (IOException ex) { - Logger.getLogger(ESPlorer.class - .getName()).log(Level.SEVERE, null, ex); - } - } - - private void DoSnippet(int n) { - if (Condensed.isSelected()) { - SendToESP(cmdPrep(Snippets[n])); - } else { - SendToESP(Snippets[n]); - } - } - - private void CommandsSetNodeMCU() { - Command.removeAllItems(); - Command.addItem("=node.heap()"); - Command.addItem("=node.chipid()"); - Command.addItem("file.close()"); - Command.addItem("file.remove(\"\")"); - Command.addItem("dofile(\"\")"); - Command.addItem("wifi.setmode(wifi.STATION)"); - Command.addItem("wifi.setmode(wifi.SOFTAP)"); - Command.addItem("wifi.setmode(wifi.STATIONAP)"); - Command.addItem("=wifi.getmode()"); - Command.addItem("wifi.sta.config(\"myssid\",\"mypassword\")"); - Command.addItem("=wifi.sta.getip()"); - Command.addItem("=wifi.ap.getip()"); - Command.addItem("=wifi.sta.getmac()"); - Command.addItem("=wifi.ap.getmac()"); - Command.addItem("=wifi.sta.status()"); - Command.addItem("=tmr.now()"); - } - - private void CommandsSetMicroPython() { - Command.removeAllItems(); - Command.addItem("import sys; print(sys.version_info)"); - } - - private void CommandsSetAT() { - Command.removeAllItems(); - Command.addItem("AT"); - Command.addItem("AT+GMR"); - Command.addItem("AT+RST"); - } - - /** - * @param args the command line arguments - */ - public static void main(String args[]) { - - /* Set the Nimbus look and feel */ -// - /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. - * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html - */ - LAFselection = new HashMap<>(); - prefs = Preferences.userRoot().node(NODEROOT); - systemLaf = javax.swing.UIManager.getSystemLookAndFeelClassName(); - laf = prefs.get("LAF", "javax.swing.plaf.nimbus.NimbusLookAndFeel"); - try { - javax.swing.UIManager.setLookAndFeel(laf); - } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) { - LOGGER.log(Level.SEVERE, null, ex); - } - for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) { - JRadioButtonMenuItem menuItem = new JRadioButtonMenuItem(); - boolean selected = info.getClassName().equals(laf); - String system = info.getClassName().equals(UIManager.getSystemLookAndFeelClassName()) ? "(System) ": ""; - String crossplatform = info.getClassName().equals(UIManager.getCrossPlatformLookAndFeelClassName()) ? "(Cross-Platform)": ""; - menuItem.setText(info.getName() + system + crossplatform); - menuItem.setSelected(selected); - menuItem.setActionCommand(info.getClassName()); - LAFselection.put(info.getClassName(), menuItem); - - LOGGER.log(java.util.logging.Level.INFO, selected? "Selected":"Installed" + " Look and Feel " + info.getName() + " (" + info.getClassName()+ ")"); - } - - // - try { - /* Create and display the form */ - java.awt.EventQueue.invokeLater(() -> { - new ESPlorer().setVisible(true); - }); - - } catch (Exception ex) { - java.util.logging.Logger.getLogger(ESPlorer.class - .getName()).log(java.util.logging.Level.INFO, null, ex); - } - } - - private static HashMap LAFselection; - - // Variables declaration - do not modify//GEN-BEGIN:variables - private javax.swing.JLayeredPane ABPPane; - private javax.swing.JButton ATE0; - private javax.swing.JButton ATE1; - private javax.swing.JPanel AT_Client; - private javax.swing.JButton AT_GMR; - private javax.swing.JButton AT_Restart; - private javax.swing.JPanel AT_Server; - private javax.swing.JLayeredPane AT_SoftAP; - private javax.swing.JPanel AT_Station; - private javax.swing.JLayeredPane ATvXX; - private javax.swing.JDialog About; - private javax.swing.JLayeredPane ActivationPane; - private javax.swing.JScrollPane ActivationScrollPane; - private javax.swing.JCheckBoxMenuItem AlwaysOnTop; - private javax.swing.JSlider AnswerDelay; - private javax.swing.JLabel AnswerDelayLabel; - private javax.swing.JTextField AppEUI; - private javax.swing.JTextField AppKey; - private javax.swing.JLabel AppName; - private javax.swing.JTextField AppSKey; - private javax.swing.JLabel Author; - private javax.swing.JLabel Author1; - private javax.swing.JCheckBox AutoScroll; - private javax.swing.JCheckBox AutodetectFirmware; - private javax.swing.JLayeredPane BasicATcommandsPane; - private javax.swing.JLabel Busy; - private javax.swing.JButton ButtonCopy; - private javax.swing.JButton ButtonCut; - private javax.swing.JButton ButtonFileClose; - private javax.swing.JButton ButtonFileNew; - private javax.swing.JButton ButtonFileOpen; - private javax.swing.JButton ButtonFileReload; - private javax.swing.JButton ButtonFileSave; - private javax.swing.JButton ButtonFileSaveAll; - private javax.swing.JButton ButtonPaste; - private javax.swing.JButton ButtonRedo; - private javax.swing.JButton ButtonSendLine; - private javax.swing.JButton ButtonSendSelected; - private javax.swing.JButton ButtonSnippet0; - private javax.swing.JButton ButtonSnippet1; - private javax.swing.JButton ButtonSnippet10; - private javax.swing.JButton ButtonSnippet11; - private javax.swing.JButton ButtonSnippet12; - private javax.swing.JButton ButtonSnippet13; - private javax.swing.JButton ButtonSnippet14; - private javax.swing.JButton ButtonSnippet15; - private javax.swing.JButton ButtonSnippet2; - private javax.swing.JButton ButtonSnippet3; - private javax.swing.JButton ButtonSnippet4; - private javax.swing.JButton ButtonSnippet5; - private javax.swing.JButton ButtonSnippet6; - private javax.swing.JButton ButtonSnippet7; - private javax.swing.JButton ButtonSnippet8; - private javax.swing.JButton ButtonSnippet9; - private javax.swing.JButton ButtonUndo; - private javax.swing.JCheckBox CR; - private javax.swing.JComboBox Command; - private javax.swing.JCheckBox CommandEcho; - private javax.swing.JLayeredPane CommandsMicroPython; - private javax.swing.JLayeredPane CommandsNodeMCU; - private javax.swing.JCheckBox Condensed; - private javax.swing.JPopupMenu ContextMenuESPFileLUA; - private javax.swing.JPopupMenu ContextMenuEditor; - private javax.swing.JPopupMenu ContextMenuFileManager; - private javax.swing.JPopupMenu ContextMenuLog; - private javax.swing.JPopupMenu ContextMenuTerminal; - private javax.swing.JTextField CustomPortName; - private javax.swing.JComboBox DHCP; - private javax.swing.JComboBox DHCPmode; - private javax.swing.JSlider Delay; - private javax.swing.JLabel DelayLabel; - private javax.swing.JTextField DevAddr; - private javax.swing.JTextField DevEUI; - private javax.swing.JButton Donate; - private javax.swing.JButton DonateSmall; - private javax.swing.JCheckBox DumbMode; - private javax.swing.JCheckBox EOL; - private javax.swing.JCheckBox EditorOnlyCheckBox; - private javax.swing.JPopupMenu.Separator EditorSeparator; - private javax.swing.JPopupMenu.Separator EditorSeparator1; - private javax.swing.JPopupMenu.Separator EditorSeparator2; - private javax.swing.JComboBox EditorTheme; - private javax.swing.JLabel EditorThemeLabel; - private javax.swing.JButton FileAsButton1; - private javax.swing.JCheckBox FileAutoRun; - private javax.swing.JCheckBox FileAutoSaveDisk; - private javax.swing.JCheckBox FileAutoSaveESP; - private javax.swing.JButton FileCompile; - private javax.swing.JButton FileCompile1; - private javax.swing.JButton FileCompileDoLC; - private javax.swing.JButton FileCompileDoLC2; - private javax.swing.JButton FileCompileDoLC3; - private javax.swing.JButton FileDo; - private javax.swing.JButton FileDo1; - private javax.swing.JButton FileFormat; - private javax.swing.JLayeredPane FileLayeredPane; - private javax.swing.JButton FileListReload; - private javax.swing.JScrollPane FileManagerScrollPane; - private javax.swing.JLayeredPane FileManagersLayer; - private javax.swing.JLabel FilePathLabel; - private javax.swing.JTextField FileRename; - private javax.swing.JLabel FileRenameLabel; - private javax.swing.JLayeredPane FileRenamePanel; - private javax.swing.JButton FileSaveCompileDoLC; - private javax.swing.JToggleButton FileSaveESP; - private javax.swing.JToggleButton FileSendESP; - private javax.swing.JButton FileSystemInfo; - private javax.swing.JButton FileUploadBin; - private javax.swing.JTabbedPane FilesTabbedPane; - private javax.swing.JToolBar FilesToolBar; - private javax.swing.JButton FilesUpload; - private javax.swing.ButtonGroup Firmware; - private javax.swing.JButton GSLP; - private javax.swing.JButton HomePage; - private javax.swing.JSplitPane HorizontSplit; - private javax.swing.JLayeredPane LEDPanel; - private javax.swing.JCheckBox LF; - private javax.swing.JLayeredPane LeftBasePane; - private javax.swing.JLayeredPane LeftExtraButtons; - private javax.swing.JLayeredPane LeftMainButtons; - private javax.swing.JLayeredPane LeftSnippetsPane; - private javax.swing.JTabbedPane LeftTab; - private javax.swing.JSlider LineDelay; - private javax.swing.JLabel LineDelayLabel; - private javax.swing.JLayeredPane LoRaMAC; - private javax.swing.JTextArea Log; - private javax.swing.JTextField LogMaxSize; - private javax.swing.JPopupMenu.Separator LogSeparator; - private javax.swing.JFormattedTextField MAC; - private javax.swing.JFormattedTextField MAC1; - private javax.swing.ButtonGroup MUXGroup; - private javax.swing.JComboBox MacBandWidth; - private javax.swing.JLayeredPane MacCommon; - private javax.swing.JTextField MacDR; - private javax.swing.JScrollPane MacPane; - private javax.swing.JTextField MacPower; - private javax.swing.JComboBox MacSF; - private javax.swing.JTextField MacTxData; - private javax.swing.JTextField MacTxPort; - private javax.swing.JMenuBar MainMenuBar; - private javax.swing.JMenu MenuESP; - private javax.swing.JMenu MenuEdit; - private javax.swing.JMenu MenuFile; - private javax.swing.JMenu MenuHelp; - private javax.swing.JMenuItem MenuItemESPFileDelete; - private javax.swing.JMenuItem MenuItemESPFileDo; - private javax.swing.JMenuItem MenuItemESPFormat; - private javax.swing.JMenuItem MenuItemESPReset; - private javax.swing.JMenuItem MenuItemEditCopy; - private javax.swing.JMenuItem MenuItemEditCut; - private javax.swing.JMenuItem MenuItemEditPaste; - private javax.swing.JMenuItem MenuItemEditRedo; - private javax.swing.JMenuItem MenuItemEditSendLine; - private javax.swing.JMenuItem MenuItemEditSendSelected; - private javax.swing.JMenuItem MenuItemEditUndo; - private javax.swing.JMenuItem MenuItemEditorCopy; - private javax.swing.JMenuItem MenuItemEditorCut; - private javax.swing.JMenuItem MenuItemEditorFontDec; - private javax.swing.JMenuItem MenuItemEditorFontInc; - private javax.swing.JMenuItem MenuItemEditorPaste; - private javax.swing.JMenuItem MenuItemEditorRedo; - private javax.swing.JMenuItem MenuItemEditorSendLine; - private javax.swing.JMenuItem MenuItemEditorSendSelected; - private javax.swing.JMenuItem MenuItemEditorUndo; - private javax.swing.JMenuItem MenuItemFileClose; - private javax.swing.JMenuItem MenuItemFileDo; - private javax.swing.JMenuItem MenuItemFileExit; - private javax.swing.JMenuItem MenuItemFileNew; - private javax.swing.JMenuItem MenuItemFileOpen; - private javax.swing.JMenuItem MenuItemFileReload; - private javax.swing.JMenuItem MenuItemFileRemoveESP; - private javax.swing.JMenuItem MenuItemFileSave; - private javax.swing.JMenuItem MenuItemFileSaveAll; - private javax.swing.JMenuItem MenuItemFileSaveAs; - private javax.swing.JMenuItem MenuItemFileSaveESP; - private javax.swing.JMenuItem MenuItemFileSendESP; - private javax.swing.JMenuItem MenuItemHelpAbout; - private javax.swing.JMenuItem MenuItemLinksBuyDevBoard; - private javax.swing.JMenuItem MenuItemLinksBuyESD12; - private javax.swing.JMenuItem MenuItemLinksBuyESP8266; - private javax.swing.JMenuItem MenuItemLinksBuyOther; - private javax.swing.JMenuItem MenuItemLinksDonate; - private javax.swing.JMenuItem MenuItemLinksESPlorerForumEn; - private javax.swing.JMenuItem MenuItemLinksESPlorerForumRu; - private javax.swing.JMenuItem MenuItemLinksESPlorerHome; - private javax.swing.JMenuItem MenuItemLinksESPlorerLatest; - private javax.swing.JMenuItem MenuItemLinksESPlorerSource; - private javax.swing.JMenuItem MenuItemLinksIoTmanager; - private javax.swing.JMenuItem MenuItemLinksMicroPythonDoc; - private javax.swing.JMenuItem MenuItemLinksNodeMCUdoc; - private javax.swing.JMenuItem MenuItemLogClear; - private javax.swing.JMenuItem MenuItemLogClose; - private javax.swing.JMenuItem MenuItemLogFontDec; - private javax.swing.JMenuItem MenuItemLogFontInc; - private javax.swing.JMenuItem MenuItemTerminalClear; - private javax.swing.JMenuItem MenuItemTerminalCopy; - private javax.swing.JMenuItem MenuItemTerminalFontDec; - private javax.swing.JMenuItem MenuItemTerminalFontInc; - private javax.swing.JMenuItem MenuItemTerminalFormat; - private javax.swing.JMenuItem MenuItemTerminalReset; - private javax.swing.JMenuItem MenuItemViewClearLog; - private javax.swing.JMenuItem MenuItemViewClearTerminal; - private javax.swing.JCheckBoxMenuItem MenuItemViewDonate; - private javax.swing.JMenuItem MenuItemViewEditorFontDec; - private javax.swing.JMenuItem MenuItemViewEditorFontInc; - private javax.swing.JCheckBoxMenuItem MenuItemViewEditorOnly; - private javax.swing.JCheckBoxMenuItem MenuItemViewFileManager; - private javax.swing.JMenuItem MenuItemViewFontDefault; - private javax.swing.JCheckBoxMenuItem MenuItemViewLeftExtra; - private javax.swing.JCheckBoxMenuItem MenuItemViewLog; - private javax.swing.JMenuItem MenuItemViewLogFontDec; - private javax.swing.JMenuItem MenuItemViewLogFontInc; - private javax.swing.JCheckBoxMenuItem MenuItemViewRightExtra; - private javax.swing.JCheckBoxMenuItem MenuItemViewSnippets; - private javax.swing.JMenuItem MenuItemViewTermFontDec; - private javax.swing.JMenuItem MenuItemViewTermFontInc; - private javax.swing.JCheckBoxMenuItem MenuItemViewTerminalOnly; - private javax.swing.JCheckBoxMenuItem MenuItemViewToolbar; - private javax.swing.JMenu MenuLinks; - private javax.swing.JMenu MenuView; - private javax.swing.JLayeredPane MicroPythonCommandsGPIO; - private javax.swing.JTabbedPane MicroPythonCommandsTab; - private javax.swing.JLayeredPane MicroPythonCommandsWiFi; - private javax.swing.JButton MicroPythonGPIO0; - private javax.swing.JButton MicroPythonGPIO0_0; - private javax.swing.JButton MicroPythonGPIO0_1; - private javax.swing.JButton MicroPythonGPIO10; - private javax.swing.JButton MicroPythonGPIO10_0; - private javax.swing.JButton MicroPythonGPIO10_1; - private javax.swing.JButton MicroPythonGPIO12; - private javax.swing.JButton MicroPythonGPIO12_0; - private javax.swing.JButton MicroPythonGPIO12_1; - private javax.swing.JButton MicroPythonGPIO13; - private javax.swing.JButton MicroPythonGPIO13_0; - private javax.swing.JButton MicroPythonGPIO13_1; - private javax.swing.JButton MicroPythonGPIO14; - private javax.swing.JButton MicroPythonGPIO14_0; - private javax.swing.JButton MicroPythonGPIO14_1; - private javax.swing.JButton MicroPythonGPIO15; - private javax.swing.JButton MicroPythonGPIO15_0; - private javax.swing.JButton MicroPythonGPIO15_1; - private javax.swing.JButton MicroPythonGPIO16; - private javax.swing.JButton MicroPythonGPIO16_0; - private javax.swing.JButton MicroPythonGPIO16_1; - private javax.swing.JButton MicroPythonGPIO2; - private javax.swing.JButton MicroPythonGPIO2_0; - private javax.swing.JButton MicroPythonGPIO2_1; - private javax.swing.JButton MicroPythonGPIO4; - private javax.swing.JButton MicroPythonGPIO4_0; - private javax.swing.JButton MicroPythonGPIO4_1; - private javax.swing.JButton MicroPythonGPIO5; - private javax.swing.JButton MicroPythonGPIO5_0; - private javax.swing.JButton MicroPythonGPIO5_1; - private javax.swing.JButton MicroPythonGPIO9; - private javax.swing.JButton MicroPythonGPIO9_0; - private javax.swing.JButton MicroPythonGPIO9_1; - private javax.swing.JTextField MicroPythonPASS; - private javax.swing.JTextField MicroPythonRemoteData; - private javax.swing.JTextField MicroPythonRemoteHost; - private javax.swing.JTextField MicroPythonRemotePort; - private javax.swing.JTextField MicroPythonSSID; - private javax.swing.JButton NodeChipID; - private javax.swing.JLayeredPane NodeFileManagerPane; - private javax.swing.JButton NodeFlashID; - private javax.swing.JButton NodeHeap; - private javax.swing.JButton NodeInfo; - private javax.swing.JPanel NodeMCU; - private javax.swing.JLayeredPane NodeMCUCommands; - private javax.swing.JLayeredPane NodeMCUSettings; - private javax.swing.JLayeredPane NodeMCUSnippets; - private javax.swing.JButton NodeReset; - private javax.swing.JTextField NwkSKey; - private javax.swing.JLayeredPane OTAAPane; - private javax.swing.JToggleButton Open; - private javax.swing.JRadioButton OptionMicroPython; - private javax.swing.JRadioButton OptionNodeMCU; - private javax.swing.JLayeredPane OptionsFileSendMode; - private javax.swing.JLayeredPane OptionsFirmware; - private javax.swing.JLayeredPane OptionsOther; - private javax.swing.JTextField PASS; - private javax.swing.JTextField PASSsoftAP; - private javax.swing.JTextField PingIP; - private javax.swing.JComboBox Port; - private javax.swing.JLabel PortCTS; - private javax.swing.JToggleButton PortDTR; - private javax.swing.JLabel PortOpenLabel; - private javax.swing.JToggleButton PortRTS; - private javax.swing.JProgressBar ProgressBar; - private javax.swing.JButton PyFileAsButton1; - private javax.swing.JLayeredPane PyFileManagerPane; - private javax.swing.JButton PyListDir; - private javax.swing.JLayeredPane RN2483; - private javax.swing.JTabbedPane RN2483jTab; - private javax.swing.JTextField RadioFreq; - private javax.swing.JLayeredPane RadioPane; - private javax.swing.JTextField RadioRxBandWidth; - private javax.swing.JButton ReScan; - private javax.swing.JLayeredPane RightBasePane; - private javax.swing.JLayeredPane RightBigPane; - private javax.swing.JLayeredPane RightBottomPane; - private javax.swing.JLayeredPane RightExtraButtons; - private javax.swing.JSplitPane RightFilesSplitPane; - private javax.swing.JLayeredPane RightSnippetsPane; - private javax.swing.JSplitPane RightSplitPane; - private javax.swing.JTextField SSID; - private javax.swing.JTextField SSIDsoftAP; - private javax.swing.JScrollPane ScrollLog; - private javax.swing.JButton SendCommand; - private javax.swing.JLayeredPane SendUnconfirmed; - private javax.swing.JComboBox ServerMode; - private javax.swing.JTextField ServerPort; - private javax.swing.JTextField ServerTimeout; - private javax.swing.JCheckBoxMenuItem ShowFileManager; - private javax.swing.JButton SnippetCancelEdit; - private javax.swing.JButton SnippetEdit0; - private javax.swing.JButton SnippetEdit1; - private javax.swing.JButton SnippetEdit10; - private javax.swing.JButton SnippetEdit11; - private javax.swing.JButton SnippetEdit12; - private javax.swing.JButton SnippetEdit13; - private javax.swing.JButton SnippetEdit14; - private javax.swing.JButton SnippetEdit15; - private javax.swing.JButton SnippetEdit2; - private javax.swing.JButton SnippetEdit3; - private javax.swing.JButton SnippetEdit4; - private javax.swing.JButton SnippetEdit5; - private javax.swing.JButton SnippetEdit6; - private javax.swing.JButton SnippetEdit7; - private javax.swing.JButton SnippetEdit8; - private javax.swing.JButton SnippetEdit9; - private javax.swing.JTextField SnippetName; - private javax.swing.JButton SnippetRun; - private javax.swing.JButton SnippetSave; - private org.fife.ui.rtextarea.RTextScrollPane SnippetScrollPane; - private org.fife.ui.rsyntaxtextarea.RSyntaxTextArea SnippetText; - private javax.swing.JLayeredPane SnippetTopPane; - private javax.swing.JLabel SnippetsBusy; - private javax.swing.JComboBox Speed; - private javax.swing.JLayeredPane SriptsTab; - private javax.swing.JTextField StationIP; - private javax.swing.JLayeredPane TCPServerBottomPane; - private javax.swing.Box.Filler TCPServerTopFiller; - private javax.swing.JLayeredPane TCP_common; - private javax.swing.JLayeredPane TCPclientBottomPane; - private javax.swing.JTabbedPane TabAT; - public static org.fife.ui.rsyntaxtextarea.RSyntaxTextArea Terminal; - private javax.swing.JLayeredPane TerminalLogPane; - private javax.swing.JTextField TerminalMaxSize; - private javax.swing.JCheckBox TerminalOnlyCheckBox; - private org.fife.ui.rtextarea.RTextScrollPane TerminalPane; - private javax.swing.JPopupMenu.Separator TerminalSeparator1; - private javax.swing.JPopupMenu.Separator TerminalSeparator2; - private javax.swing.JPopupMenu.Separator TerminalSeparator3; - private org.fife.ui.rsyntaxtextarea.RSyntaxTextArea TextEditor; - private org.fife.ui.rtextarea.RTextScrollPane TextScroll; - private javax.swing.JTabbedPane TextTab; - private javax.swing.JComboBox TimerNumber; - private javax.swing.Box.Filler TopWiFiAPFiller; - private javax.swing.Box.Filler TopWiFiStaFiller; - private javax.swing.Box.Filler TopWiFiStaFiller1; - private javax.swing.JCheckBox TurboMode; - private javax.swing.JComboBox TxConfirmed; - private javax.swing.JLayeredPane UDP; - private javax.swing.JButton UPDATE; - private javax.swing.JCheckBox UseCustomPortName; - private javax.swing.JCheckBox UseExternalEditor; - private javax.swing.JLabel Version; - private javax.swing.JLayeredPane WiFiStationPane; - private javax.swing.JLayeredPane WiFi_common; - private javax.swing.JLayeredPane WiFisoftAPPane; - private javax.swing.ButtonGroup buttonGroupLF; - private javax.swing.JComboBox channel; - private javax.swing.JButton cmdAT; - private javax.swing.JButton cmdCIPSEND; - private javax.swing.JButton cmdCIPSENDinteractive; - private javax.swing.JButton cmdGetCIFSR; - private javax.swing.JButton cmdGetCIPAP; - private javax.swing.JButton cmdGetCIPAPMAC; - private javax.swing.JButton cmdGetCIPMODE; - private javax.swing.JButton cmdGetCIPMUX; - private javax.swing.JButton cmdGetCIPSTA; - private javax.swing.JButton cmdGetCIPSTAMAC; - private javax.swing.JButton cmdGetCIPSTART; - private javax.swing.JButton cmdGetCIPSTATUS; - private javax.swing.JButton cmdGetCIPSTO; - private javax.swing.JButton cmdGetCWJAP; - private javax.swing.JButton cmdGetCWLIF; - private javax.swing.JButton cmdGetCWMODE; - private javax.swing.JButton cmdGetCWSAP; - private javax.swing.JButton cmdGetHelpCWMODE; - private javax.swing.JButton cmdListFiles; - private javax.swing.JButton cmdMacGetAdr; - private javax.swing.JButton cmdMacGetAppEui; - private javax.swing.JButton cmdMacGetDR; - private javax.swing.JButton cmdMacGetDevAddr; - private javax.swing.JButton cmdMacGetDevEui; - private javax.swing.JButton cmdMacGetPwrIdx; - private javax.swing.JButton cmdMacGetStatus; - private javax.swing.JButton cmdMacJoinOTAA; - private javax.swing.JButton cmdMacSave; - private javax.swing.JButton cmdMacSetAdrOff; - private javax.swing.JButton cmdMacSetAdrOn; - private javax.swing.JButton cmdMacSetAppEui; - private javax.swing.JButton cmdMacSetAppKey; - private javax.swing.JButton cmdMacSetAppSKey; - private javax.swing.JButton cmdMacSetDR; - private javax.swing.JButton cmdMacSetDevAddr; - private javax.swing.JButton cmdMacSetDevEui; - private javax.swing.JButton cmdMacSetNwkSKey; - private javax.swing.JButton cmdMacSetPwrIdx; - private javax.swing.JButton cmdMacTX; - private javax.swing.JButton cmdMacjoinABP; - private javax.swing.JButton cmdMicroPythonScan; - private javax.swing.JButton cmdMicroPythonSendToHost; - private javax.swing.JButton cmdMicroPythonStaConnect; - private javax.swing.JButton cmdNodeChipID; - private javax.swing.JButton cmdNodeHeap; - private javax.swing.JButton cmdNodeRestart; - private javax.swing.JButton cmdNodeSleep; - private javax.swing.JButton cmdRadioGetBw; - private javax.swing.JButton cmdRadioGetFreq; - private javax.swing.JButton cmdRadioGetRxBw; - private javax.swing.JButton cmdRadioGetSF; - private javax.swing.JButton cmdRadioSetFreq; - private javax.swing.JButton cmdRadiosetRxBw; - private javax.swing.JButton cmdSetCIPAP; - private javax.swing.JButton cmdSetCIPAPMAC; - private javax.swing.JButton cmdSetCIPCLOSE; - private javax.swing.JButton cmdSetCIPMODE0; - private javax.swing.JButton cmdSetCIPMODE1; - private javax.swing.JButton cmdSetCIPMUX0; - private javax.swing.JButton cmdSetCIPMUX1; - private javax.swing.JButton cmdSetCIPSERVER; - private javax.swing.JButton cmdSetCIPSTA; - private javax.swing.JButton cmdSetCIPSTAMAC; - private javax.swing.JButton cmdSetCIPSTART; - private javax.swing.JButton cmdSetCIPSTO; - private javax.swing.JButton cmdSetCWDHCP; - private javax.swing.JButton cmdSetCWJAP; - private javax.swing.JButton cmdSetCWLAP; - private javax.swing.JButton cmdSetCWMODE1; - private javax.swing.JButton cmdSetCWMODE2; - private javax.swing.JButton cmdSetCWMODE3; - private javax.swing.JButton cmdSetCWQAP; - private javax.swing.JButton cmdSetCWSAP; - private javax.swing.JButton cmdSetPING; - private javax.swing.JButton cmdSysFactoryReset; - private javax.swing.JButton cmdSysGetHwEui; - private javax.swing.JButton cmdSysGetVer; - private javax.swing.JButton cmdSysReset; - private javax.swing.JButton cmdTimerStop; - private javax.swing.JPanel common; - private javax.swing.JComboBox conn_id; - private javax.swing.JTextArea data; - private javax.swing.JComboBox encryption; - private javax.swing.JLabel jLabel1; - private javax.swing.JLabel jLabel10; - private javax.swing.JLabel jLabel11; - private javax.swing.JLabel jLabel12; - private javax.swing.JLabel jLabel13; - private javax.swing.JLabel jLabel2; - private javax.swing.JLabel jLabel3; - private javax.swing.JLabel jLabel4; - private javax.swing.JLabel jLabel5; - private javax.swing.JLabel jLabel6; - private javax.swing.JLabel jLabel7; - private javax.swing.JLabel jLabel8; - private javax.swing.JLabel jLabel9; - private javax.swing.JLayeredPane jLayeredPane1; - private javax.swing.JLayeredPane jLayeredPane2; - private javax.swing.JLayeredPane jLayeredPane3; - private javax.swing.JLayeredPane jLayeredPane4; - private javax.swing.JMenuItem jMenuItem4; - private javax.swing.JMenuItem jMenuItem7; - private javax.swing.JScrollPane jScrollData; - private javax.swing.JToolBar.Separator jSeparator1; - private javax.swing.JPopupMenu.Separator jSeparator10; - private javax.swing.JPopupMenu.Separator jSeparator11; - private javax.swing.JPopupMenu.Separator jSeparator12; - private javax.swing.JPopupMenu.Separator jSeparator13; - private javax.swing.JPopupMenu.Separator jSeparator15; - private javax.swing.JPopupMenu.Separator jSeparator16; - private javax.swing.JPopupMenu.Separator jSeparator17; - private javax.swing.JPopupMenu.Separator jSeparator18; - private javax.swing.JPopupMenu.Separator jSeparator19; - private javax.swing.JPopupMenu.Separator jSeparator2; - private javax.swing.JPopupMenu.Separator jSeparator20; - private javax.swing.JPopupMenu.Separator jSeparator3; - private javax.swing.JPopupMenu.Separator jSeparator4; - private javax.swing.JPopupMenu.Separator jSeparator5; - private javax.swing.JToolBar.Separator jSeparator6; - private javax.swing.JPopupMenu.Separator jSeparator7; - private javax.swing.JToolBar.Separator jSeparator8; - private javax.swing.JPopupMenu.Separator jSeparator9; - private javax.swing.JPopupMenu.Separator jSeparatorFileMenu; - private javax.swing.JRadioButton multi; - private javax.swing.JComboBox protocol; - private javax.swing.JTextField remote_address; - private javax.swing.JTextField remote_port; - private javax.swing.JRadioButton single; - private javax.swing.JTextField softAPIP; - private javax.swing.JTextField udp_local_port; - private javax.swing.JTextField udp_mode; - private org.jdesktop.beansbinding.BindingGroup bindingGroup; - // End of variables declaration//GEN-END:variables - - // Variables - private static final boolean DEBUG = false; - /* Files tab start */ - private ArrayList FileLayeredPane1; - private ArrayList TextEditor1; - private ArrayList TextScroll1; - private ArrayList FileLayeredPaneLayout1; - private ArrayList provider; - private ArrayList ac; - private ArrayList iFile; // for files in tab - private ArrayList mFile; // for multifile op - private ArrayList FileChanged; - private ArrayList FileAsButton; - private ArrayList PyFileAsButton; - private ArrayList FilePopupMenu; - private ArrayList FilePopupMenuItem; - private int iTab = 0; // tab index - private int mFileIndex = -1; // multifile index - private String UploadFileName = ""; - /* Files tab end */ - public int nSpeed = 9600; - public static final Logger LOGGER = Logger.getLogger(ESPlorer.class.getName()); - int save; // editor var - String FileName = "script"; // without ext - String DownloadedFileName = ""; - String NewFile = "New"; - int FileCount = 0; - String workDir = ""; - JFileChooser chooser; - static final String[] EXTENSION_LUA = new String[]{"lua", "lc"}; - static final String[] EXTENSION_PY = new String[]{"py", "pyc"}; - static final String[] EXTENSION_ALL = new String[]{"*"}; - static final FileNameExtensionFilter FILTER_LUA = new FileNameExtensionFilter("LUA files (*.lua, *.lc)", EXTENSION_LUA); - static final FileNameExtensionFilter FILTER_PYTHON = new FileNameExtensionFilter("Python files (*.py, *.pyc)", EXTENSION_PY); - static final FileNameExtensionFilter FILTER_ALL = new FileNameExtensionFilter("All files (*.*)", EXTENSION_ALL); - FileInputStream fis = null; - FileOutputStream fos = null; - InputStreamReader isr = null; - OutputStreamWriter osw = null; - BufferedReader br = null; - BufferedWriter bw = null; - public static int j = 0; - public static int pyLevel = 0; - public static boolean sendPending = false; - public static String s[]; - public ActionListener taskPerformer; - public ActionListener watchDog; - public ActionListener checker; - public ActionListener taskSleep; - public Timer timer; - public Timer timeout; - public Timer sleep; - public Timer openTimeout; - public Color color; - public Color themeTextBackground; - public static String rcvBuf = ""; - public static String rx_data = ""; - public static String tx_data = ""; - public static byte[] rx_byte; - public static byte[] tx_byte; - // downloader - public int packets = 0; - public String rcvFile = ""; - public ArrayList rcvPackets; - public ArrayList sendPackets; - public ArrayList sendPacketsCRC; - public ArrayList PacketsData; - public ArrayList PacketsSize; - public ArrayList PacketsCRC; - public ArrayList PacketsNum; - public byte[] PacketsByte; - public final int SendPacketSize = 250; - public static String DownloadCommand; - // downloader end - public static int req = 0; - public static boolean busyIcon = false; - public URI donate_uri; - public URI homepage_uri; - public URI micropython_doc; - public URI api_en_uri; - public URI iot_manager; - public URI changelog_uri; - public URI nodemcu_download_latest_uri; - public URI nodemcu_download_dev_uri; - public URI flasher_uri; - public URI buy_nodeMCU; - public URI buy_esp8266; - public URI buy_esd12; - public URI buy_other; - public URI esp8266com_uri; - public URI esp8266ru_uri; - public URI esplorer_home; - public URI esplorer_latest; - public URI esplorer_source; - private static int LogMax = 10 * 1024; - private static int TerminalMax = 100 * 1024; - private long startTime = System.currentTimeMillis(); - private static final float TERMINAL_FONT_SIZE_DEFAULT = 16f; - private static final float TERMINAL_FONT_SIZE_MAX = 40f; - private static final float TERMINAL_FONT_SIZE_MIN = 5f; - private static final float EDITOR_FONT_SIZE_DEFAULT = 13f; - private static final float EDITOR_FONT_SIZE_MAX = 40f; - private static final float EDITOR_FONT_SIZE_MIN = 8f; - private static final float LOG_FONT_SIZE_DEFAULT = 10f; - private static final float LOG_FONT_SIZE_MAX = 40f; - private static final float LOG_FONT_SIZE_MIN = 5f; - /* Prefs */ - private static final String NODEROOT = "/com/esp8266.ru/ESPlorer/config"; - private static final String SERIAL_PORT = "serial_port"; - private static final String SERIAL_BAUD = "serial_baud"; - private static final String PATH = "path"; - private static final String FIRMWARE = "firmware"; - private static final String FILE_AUTO_SAVE_DISK = "file_auto_save_disk"; - private static final String FILE_AUTO_SAVE_ESP = "file_auto_save_esp"; - private static final String FILE_AUTO_RUN = "file_auto_run"; - private static final String COLOR_THEME = "color_theme"; - private static final String DELAY = "delay"; - private static final String TIMEOUT = "timeout"; - private static final String DUMB_MODE = "dumb_mode"; - private static final String TURBO_MODE = "turbo_mode"; - private static final String LINE_DELAY = "line_delay"; - private static final String TERMINAL_FONT_SIZE = "terminal_font_size"; - private static final String EDITOR_FONT_SIZE = "editor_font_size"; - private static final String LOG_FONT_SIZE = "log_font_size"; - private static final String LOG_MAX_SIZE = "log_max_size"; - private static final String TERMINAL_MAX_SIZE = "terminal_max_size"; - - // v0.2 - private static final String AUTO_SCROLL = "auto_scroll"; - private static final String SHOW_LOG = "show_log"; - private static final String SHOW_TOOLBAR = "show_toolbar"; - private static final String SHOW_EXTRA_LEFT = "show_extra_left"; - private static final String SHOW_EXTRA_RIGHT = "show_extra_right"; - private static final String SHOW_SNIP_RIGHT = "show_snip_right"; - private static final String SHOW_FM_RIGHT = "show_fm_right"; - private static final String USE_CUSTOM_PORT = "use_custom_port"; - private static final String CUSTOM_PORT_NAME = "custom_port_name"; - private static final String LOG_DIV = "log_div"; - private static final String FM_DIV = "fm_div"; - private static final String PORT_RTS = "port_rts"; - private static final String PORT_DTR = "port_dtr"; - private static final String USE_EXT_EDITOR = "use_ext_editor"; - private static final String SHOW_DONATE = "show_donate"; - private static final String SHOW_EOL = "show_eol"; - private static final String WIN_X = "win_x"; - private static final String WIN_Y = "win_y"; - private static final String WIN_H = "win_h"; - private static final String WIN_W = "win_w"; - private static final String CONDENSED = "condensed"; - private static final String AUTODETECT = "autodetect_firmware"; - private static final String COMMAND_ECHO = "command_echo"; - /* Prefs end */ - - /* Snippets */ - private static String[] Snippets = new String[16]; - private ArrayList snippetButtons = new ArrayList<>(); - private static int iSnippets = 0; - - private static final int portMask = SerialPort.MASK_RXCHAR + SerialPort.MASK_CTS; - private static javax.swing.ImageIcon LED_GREY; - private static javax.swing.ImageIcon LED_GREEN; - private static javax.swing.ImageIcon LED_RED; - private static javax.swing.ImageIcon LED_BLUE; - - private static final int FIRMWARE_NODEMCU = 0; - private static final int FIRMWARE_MPYTHON = 1; - private static final int FIRMWARE_AT = 2; - - private static boolean LocalEcho = true; - - public void inc_j() { - ++j; - } - - public void j0() { - j = 0; - } - - public void inc_pyLevel() { - ++pyLevel; - } - - public void dec_pyLevel() { - --pyLevel; - } - - public void set_pyLevel(int newValue) { - pyLevel = newValue; - } - - public void pyLevel0() { - pyLevel = 0; - } - - public void PortFinder() { - int i; - Port.removeAllItems(); - if (UseCustomPortName.isSelected()) { - Port.addItem(CustomPortName.getText().trim()); - Port.setSelectedIndex(Port.getItemCount() - 1); - Port.setEnabled(false); - Speed.setSelectedIndex(prefs.getInt(SERIAL_BAUD, 3)); - log("Using custom port name " + CustomPortName.getText()); - return; - } - log("Scan system..."); - String[] portNames = SerialPortList.getPortNames(); - // System.out.println(portNames[i]); - if (portNames.length < 1) { - log("Could not find any serial port. Please, connect device and ReScan"); - } else { - if (prefs.get(SERIAL_PORT, null) == null) { - prefs.put(SERIAL_PORT, portNames[0]); - } - String lastPort = prefs.get(SERIAL_PORT, null); - int port = 0; - for (i = 0; i < portNames.length; i++) { - Port.addItem(portNames[i]); - if (portNames[i].equals(lastPort)) { - port = i; - log("found last saved serial port " + portNames[i]); - } else { - log("found " + portNames[i]); - } - } - Port.setSelectedIndex(port); - Speed.setSelectedIndex(prefs.getInt(SERIAL_BAUD, 3)); - } - log("Scan done."); - } - - public void log(String l) { - String log = Log.getText(); - Document doc = Log.getDocument(); - LOGGER.info(l); - if (log.length() > LogMax) { - try { - doc.remove(0, 1024); - } catch (BadLocationException e) { - } - } - try { - doc.insertString(doc.getLength(), "\r\n" + l, null); - } catch (BadLocationException e) { - } - Log.setCaretPosition(Log.getText().length()); - } - - public void log(String l, boolean d) { - if (d) { - log(l); - } - } - - public String GetSerialPortName() { - String portName; - if (UseCustomPortName.isSelected()) { - portName = CustomPortName.getText().trim(); - } else { - portName = Port.getSelectedItem().toString(); - } - return portName; - } - - public boolean SetSerialPortParams() { - boolean success = false; - String portName = GetSerialPortName(); - try { - success = serialPort.setParams(nSpeed, - SerialPort.DATABITS_8, - SerialPort.STOPBITS_1, - SerialPort.PARITY_NONE, - PortRTS.isSelected(), - PortDTR.isSelected()); - } catch (SerialPortException e) { - log(e.toString()); - } - if (!success) { - log("ERROR setting port " + portName + " parameters."); - } - UpdateLED(); - return success; - } - - public boolean portOpen() { - String portName = GetSerialPortName(); - nSpeed = Integer.parseInt((String) Speed.getSelectedItem()); - if (pOpen) { - try { - serialPort.closePort(); - } catch (SerialPortException e) { - } - } else { - log("Try to open port " + portName + ", baud " + Integer.toString(nSpeed) + ", 8N1"); - } - serialPort = new SerialPort(portName); - pOpen = false; - boolean success; - try { - success = serialPort.openPort(); - if (!success) { - log("ERROR opening serial port " + portName); - return success; - } - SetSerialPortParams(); - serialPort.addEventListener(new PortReader(), portMask); - } catch (SerialPortException ex) { - log(ex.toString()); - success = false; - } - pOpen = success; - if (pOpen) { - log("Open port " + portName + " - Success."); - TerminalAdd("\r\nPORT OPEN " + Speed.getSelectedItem() + "\r\n"); - CheckComm(); - } - return pOpen; - - } - - public void CheckComm() { - if (!AutodetectFirmware.isSelected()) { - portJustOpen = false; - return; - } - portJustOpen = true; - TerminalAdd("\r\nCommunication with MCU.."); - checker = new ActionListener() { - public void actionPerformed(ActionEvent evt) { - if (portJustOpen) { - btnSend(""); // only CR+LF - TerminalAdd("."); - if (Terminal.getCaretOffsetFromLineStart() >= 10) { - TerminalAdd("\r\n"); - } - } else { - try { - openTimeout.stop(); - } catch (Exception e) { - log(e.toString()); - } - } - } - }; - openTimeout = new Timer(3000, checker); - openTimeout.setRepeats(false); - openTimeout.setInitialDelay(3000); - openTimeout.start(); - } - - public void portClose() { - boolean success = false; - if (portJustOpen) { - try { - openTimeout.stop(); - } catch (Exception e) { - log(e.toString()); - } - } - try { - success = serialPort.closePort(); - } catch (SerialPortException ex) { - log(ex.toString()); - } - if (success) { - TerminalAdd("\r\nPORT CLOSED\r\n"); - log("Close port " + Port.getSelectedItem().toString() + " - Success."); - } else { - log("Close port " + Port.getSelectedItem().toString() + " - unknown error."); - - } - pOpen = false; - if (Open.isSelected()) { - Open.setSelected(false); - } - UpdateLED(); - ClearNodeFileManager(); - } - - public void SendCommand() { - if (SendCommand.isEnabled() == false || pOpen == false || portJustOpen) { - log("Port not open, operation FAILED."); - return; - } - String cmd; - try { - cmd = Command.getSelectedItem().toString(); - } catch (Exception e) { - cmd = ""; - } - - //Autoclean History --ADDED by Mike, DL2ZAP -- - //if (Autoclean.isSelected()) { // ToDo: create Checkbox "Autoclean & uncomment this line - if (true) { // ToDo: After creating Checkbox delete this line - int eintraege = Command.getItemCount(); - //System.out.println("Start cleaning"); - for (int lv1 = 0; lv1 < eintraege; lv1++) { - //System.out.print("Eintrag:" + lv1 +" : "+Command.getItemAt(lv1)); - if (Command.getItemAt(lv1).equals(cmd)) { - // System.out.println(" Doppelt, entfernt!"); - Command.removeItemAt(lv1); - lv1--; // re-read this Entry because List has moved up the Follower - } else { - // System.out.println(" OK."); - } - } - } - - // System.out.println("Adding Command:" + cmd ); - int eintraege = Command.getItemCount(); - - Command.setSelectedIndex(Command.getItemCount() - 1); // Place Index on last Entry - Command.addItem(cmd); // Add to History after last Position - Command.setSelectedIndex(Command.getItemCount() - 1); // Place Index on new last Entry - // End of Autoclean-Procedure - - //Command.addItem(cmd); // Add to History - if (CR.isSelected()) { - cmd += (char) 13; - } - if (LF.isSelected()) { - cmd += (char) 10; - } - send(cmd, true); - // History trim - if (Command.getItemCount() > 20) { - Command.removeItemAt(0); - } - //Command.setSelectedIndex(Command.getItemCount()-1); - } - - public String addCRLF(String s) { - String r = s; - r += (char) 13; - if (OptionNodeMCU.isSelected()) { - r += (char) 10; - } - return r; - } - - public String addCR(String s) { - String r = s; - r += (char) 13; - return r; - } - - public void btnSend(String s) { - send(addCRLF(s), true); - } - - public void btnSendEcho(String s) { - if (Terminal.getCaretOffsetFromLineStart() > 0) { - TerminalAdd("\r\n"); - } - TerminalAdd(s); - TerminalAdd("\r\n"); - btnSend(s); - } - - private void finalInit() { - final Image im = Toolkit.getDefaultToolkit().getImage(getClass().getResource("/resources/ESP8266-64x64.png")); - setIconImage(im); - - setLocationRelativeTo(null); // window centered - - for(JRadioButtonMenuItem menuItem: ESPlorer.LAFselection.values()) - { - menuItem.addActionListener((java.awt.event.ActionEvent evt) -> { - MenuItemViewLookAndFeelActionPerformed(evt); - }); - buttonGroupLF.add(menuItem); - MenuView.add(menuItem); - menuItem.setVisible(true); - log("LAF" + menuItem.getActionCommand()); - } - - LED_GREY = new javax.swing.ImageIcon(getClass().getResource("/resources/led_grey.png")); - LED_GREEN = new javax.swing.ImageIcon(getClass().getResource("/resources/led_green.png")); - LED_RED = new javax.swing.ImageIcon(getClass().getResource("/resources/led_red.png")); - LED_BLUE = new javax.swing.ImageIcon(getClass().getResource("/resources/led_blue.png")); - - SnippetScrollPane.setLineNumbersEnabled(true); - SnippetText.setFadeCurrentLineHighlight(true); - SnippetText.setPaintMarkOccurrencesBorder(true); - SnippetText.setPaintMatchedBracketPair(true); - SnippetText.setAntiAliasingEnabled(true); - SnippetText.setTabsEmulated(true); - snippetButtons.add(ButtonSnippet0); - snippetButtons.add(ButtonSnippet1); - snippetButtons.add(ButtonSnippet2); - snippetButtons.add(ButtonSnippet3); - snippetButtons.add(ButtonSnippet4); - snippetButtons.add(ButtonSnippet5); - snippetButtons.add(ButtonSnippet6); - snippetButtons.add(ButtonSnippet7); - snippetButtons.add(ButtonSnippet8); - snippetButtons.add(ButtonSnippet9); - snippetButtons.add(ButtonSnippet10); - snippetButtons.add(ButtonSnippet11); - snippetButtons.add(ButtonSnippet12); - snippetButtons.add(ButtonSnippet13); - snippetButtons.add(ButtonSnippet14); - snippetButtons.add(ButtonSnippet15); - - FileLayeredPane1 = new ArrayList<>(); - TextScroll1 = new ArrayList<>(); - TextEditor1 = new ArrayList<>(); - FileLayeredPaneLayout1 = new ArrayList<>(); - provider = new ArrayList<>(); - ac = new ArrayList<>(); - iFile = new ArrayList<>(); - FileChanged = new ArrayList<>(); - - FileAsButton = new ArrayList<>(); - PyFileAsButton = new ArrayList<>(); - - FilePopupMenu = new ArrayList<>(); - FilePopupMenuItem = new ArrayList<>(); - - FilesTabbedPane.removeAll(); - - LoadPrefs(); - LoadSnippets(); - - if (OptionNodeMCU.isSelected()) { - Terminal.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_LUA); - } else { - Terminal.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_PYTHON); - } - - AddTab(""); // iTab = 0 - - try { - donate_uri = new URI("https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=4refr0nt%40gmail%2ecom&lc=US&item_name=ESPlorer¤cy_code=USD&bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHosted"); - homepage_uri = new URI("http://esp8266.ru/esplorer/"); - micropython_doc = new URI("http://docs.micropython.org/en/latest/esp8266/"); - api_en_uri = new URI("http://nodemcu.readthedocs.org/"); - iot_manager = new URI("https://play.google.com/store/apps/details?id=ru.esp8266.iotmanager"); - changelog_uri = new URI("https://github.com/nodemcu/nodemcu-firmware/wiki"); - nodemcu_download_latest_uri = new URI("https://github.com/nodemcu/nodemcu-firmware/blob/master/pre_build/latest/nodemcu_latest.bin?raw=true"); - nodemcu_download_dev_uri = new URI("https://github.com/nodemcu/nodemcu-firmware/releases"); - flasher_uri = new URI("https://github.com/nodemcu/nodemcu-flasher"); - // adv links start - // Please, do not modify - buy_nodeMCU = new URI("http://goo.gl/GRiJpq"); - buy_esp8266 = new URI("http://goo.gl/4kdUSO"); - buy_esd12 = new URI("http://goo.gl/GexlwM"); - buy_other = new URI("http://goo.gl/J2GCSx"); - // adv links end - esp8266com_uri = new URI("http://www.esp8266.com/viewtopic.php?f=22&t=882"); - esp8266ru_uri = new URI("http://esp8266.ru/forum/threads/esplorer.34/"); - esplorer_latest = new URI("http://esp8266.ru/esplorer/#download"); - esplorer_source = new URI("https://github.com/4refr0nt/ESPlorer"); - - } catch (Exception e) { - log(e.toString()); - } - FileAsButton1.setVisible(false); - FileRenamePanel.setVisible(false); - PyFileAsButton1.setVisible(false); - } - - private void LoadPrefs() { - // Settings - Firmware - workDir = prefs.get(PATH, ""); - chooser = new JFileChooser(workDir); - chooser.setFileSelectionMode(JFileChooser.FILES_ONLY); - chooser.setMultiSelectionEnabled(false); - chooser.setCurrentDirectory(new File(workDir)); - - String SavedFirmware = prefs.get(FIRMWARE, "NodeMCU"); - log("Load saved settings: Firmware:" + SavedFirmware); - if (SavedFirmware.equals("NodeMCU")) { - SetFirmwareType(FIRMWARE_NODEMCU); - } else if (SavedFirmware.equals("MicroPython")) { - SetFirmwareType(FIRMWARE_MPYTHON); - } else { - SetFirmwareType(FIRMWARE_AT); - } - FileAutoSaveDisk.setSelected(prefs.getBoolean(FILE_AUTO_SAVE_DISK, true)); - FileAutoSaveESP.setSelected(prefs.getBoolean(FILE_AUTO_SAVE_ESP, true)); - FileAutoRun.setSelected(prefs.getBoolean(FILE_AUTO_RUN, true)); - EditorTheme.setSelectedIndex(prefs.getInt(COLOR_THEME, 1)); - Delay.setValue(prefs.getInt(DELAY, 0)); - AnswerDelay.setValue(prefs.getInt(TIMEOUT, 3)); - DumbMode.setSelected(prefs.getBoolean(DUMB_MODE, false)); - TurboMode.setSelected(prefs.getBoolean(TURBO_MODE, false)); - LineDelay.setValue(prefs.getInt(LINE_DELAY, 200)); - // Font size - Terminal.setFont(Terminal.getFont().deriveFont(prefs.getFloat(TERMINAL_FONT_SIZE, TERMINAL_FONT_SIZE_DEFAULT))); - SnippetText.setFont(SnippetText.getFont().deriveFont(prefs.getFloat(EDITOR_FONT_SIZE, EDITOR_FONT_SIZE_DEFAULT))); - Log.setFont(Log.getFont().deriveFont(prefs.getFloat(LOG_FONT_SIZE, LOG_FONT_SIZE_DEFAULT))); - LogMax = prefs.getInt(LOG_MAX_SIZE, LogMax); - LogMaxSize.setText(Integer.toString(LogMax / 1024)); - TerminalMax = prefs.getInt(TERMINAL_MAX_SIZE, TerminalMax); - TerminalMaxSize.setText(Integer.toString(TerminalMax / 1024)); - AutoScroll.setSelected(prefs.getBoolean(AUTO_SCROLL, true)); - MenuItemViewLog.setSelected(prefs.getBoolean(SHOW_LOG, false)); - MenuItemViewToolbar.setSelected(prefs.getBoolean(SHOW_TOOLBAR, true)); - MenuItemViewLeftExtra.setSelected(prefs.getBoolean(SHOW_EXTRA_LEFT, true)); - MenuItemViewRightExtra.setSelected(prefs.getBoolean(SHOW_EXTRA_RIGHT, true)); - MenuItemViewSnippets.setSelected(prefs.getBoolean(SHOW_SNIP_RIGHT, true)); - MenuItemViewFileManager.setSelected(prefs.getBoolean(SHOW_FM_RIGHT, true)); - MenuItemViewDonate.setSelected(prefs.getBoolean(SHOW_DONATE, false)); - DonateSmall.setVisible(!MenuItemViewDonate.isSelected()); - UseCustomPortName.setSelected(prefs.getBoolean(USE_CUSTOM_PORT, false)); - CustomPortName.setText(prefs.get(CUSTOM_PORT_NAME, "/dev/AnySerialDevice")); - PortDTR.setSelected(prefs.getBoolean(PORT_DTR, false)); - PortRTS.setSelected(prefs.getBoolean(PORT_RTS, false)); - UseExternalEditor.setSelected(prefs.getBoolean(USE_EXT_EDITOR, false)); - EOL.setSelected(prefs.getBoolean(SHOW_EOL, false)); - Condensed.setSelected(prefs.getBoolean(CONDENSED, false)); - AutodetectFirmware.setSelected(prefs.getBoolean(AUTODETECT, true)); - CommandEcho.setSelected(prefs.getBoolean(COMMAND_ECHO, true)); - log("Load saved settings: DONE."); - } - - private void AddNodeFileButton(String FileName, int size) { - FileAsButton.add(new javax.swing.JButton()); - int i = FileAsButton.size() - 1; - FileAsButton.get(i).setText(FileName); - //FileAsButton.get(i).setFont(new java.awt.Font("Tahoma", 0, 12)); - FileAsButton.get(i).setAlignmentX(0.5F); - FileAsButton.get(i).setMargin(new java.awt.Insets(2, 2, 2, 2)); - FileAsButton.get(i).setMaximumSize(new java.awt.Dimension(130, 25)); - FileAsButton.get(i).setPreferredSize(new java.awt.Dimension(130, 25)); - FileAsButton.get(i).setHorizontalAlignment(javax.swing.SwingConstants.LEFT); - //FileAsButton.get(i).setHorizontalTextPosition(javax.swing.SwingConstants.LEFT); - FileAsButton.get(i).addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - FileAsButton1ActionPerformed(evt); - } - }); - // PopUp menu - FilePopupMenu.add(new javax.swing.JPopupMenu()); - int x = FilePopupMenu.size() - 1; - int y; - // PopUp menu items - if (FileName.endsWith(".lua")) { - FileAsButton.get(i).setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/lua.png"))); - FileAsButton.get(i).setToolTipText(FileAsButton.get(i).getActionCommand() + ", LeftClick - Run, RightClick - Other actions"); - AddMenuItemRun(x, FileName); - AddMenuItemCompile(x, FileName); - AddMenuItemSeparator(x); - AddMenuItemView(x, FileName); - AddMenuItemDump(x, FileName); - AddMenuItemEdit(x, FileName, size); - AddMenuItemDownload(x, FileName, size); - AddMenuItemRename(x, FileName); - AddMenuItemSeparator(x); - AddMenuItemRemove(x, FileName); - } else if (FileName.endsWith(".lc")) { - FileAsButton.get(i).setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/lc.png"))); - FileAsButton.get(i).setToolTipText(FileAsButton.get(i).getActionCommand() + ", LeftClick - Run, RightClick - Other actions"); - AddMenuItemRun(x, FileName); - AddMenuItemSeparator(x); - AddMenuItemDump(x, FileName); - AddMenuItemDownload(x, FileName, size); - AddMenuItemRename(x, FileName); - AddMenuItemSeparator(x); - AddMenuItemRemove(x, FileName); - } else { - FileAsButton.get(i).setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/file.png"))); - FileAsButton.get(i).setToolTipText(FileAsButton.get(i).getActionCommand() + ", LeftClick - View, RightClick - Other actions"); - AddMenuItemView(x, FileName); - AddMenuItemDump(x, FileName); - AddMenuItemEdit(x, FileName, size); - AddMenuItemDownload(x, FileName, size); - AddMenuItemRename(x, FileName); - AddMenuItemSeparator(x); - AddMenuItemRemove(x, FileName); - } - - FileAsButton.get(i).setComponentPopupMenu(FilePopupMenu.get(x)); - NodeFileManagerPane.add(FileAsButton.get(i)); - } - - private void AddMenuItemSeparator(int x) { - FilePopupMenu.get(x).add(new javax.swing.JPopupMenu.Separator()); - } - - private void AddMenuItemEdit(int x, String FileName, int size) { - int y; - FilePopupMenuItem.add(new javax.swing.JMenuItem()); - y = FilePopupMenuItem.size() - 1; - FilePopupMenuItem.get(y).setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/edit.png"))); - FilePopupMenuItem.get(y).setText("Edit " + FileName); - FilePopupMenuItem.get(y).setToolTipText("Download file from ESP and open in new editor window"); - FilePopupMenuItem.get(y).setActionCommand(FileName + "Size:" + Integer.toString(size)); - FilePopupMenuItem.get(y).addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - DownloadCommand = "EDIT"; - FileDownload(evt.getActionCommand()); - } - }); - FilePopupMenu.get(x).add(FilePopupMenuItem.get(y)); - } - - private void AddMenuItemDownload(int x, String FileName, int size) { - int y; - FilePopupMenuItem.add(new javax.swing.JMenuItem()); - y = FilePopupMenuItem.size() - 1; - FilePopupMenuItem.get(y).setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/download.png"))); - FilePopupMenuItem.get(y).setText("Download " + FileName); - FilePopupMenuItem.get(y).setToolTipText("Download file from ESP and save to disk"); - FilePopupMenuItem.get(y).setActionCommand(FileName + "Size:" + Integer.toString(size)); - FilePopupMenuItem.get(y).addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - DownloadCommand = "DOWNLOAD"; - FileDownload(evt.getActionCommand()); - } - }); - FilePopupMenu.get(x).add(FilePopupMenuItem.get(y)); - } - - private void AddMenuItemRun(int x, String FileName) { - int y; - FilePopupMenuItem.add(new javax.swing.JMenuItem()); - y = FilePopupMenuItem.size() - 1; - FilePopupMenuItem.get(y).setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/play.png"))); - FilePopupMenuItem.get(y).setText("Run " + FileName); - FilePopupMenuItem.get(y).setToolTipText("Execute command dofile(\"" + FileName + "\") for run this file"); - FilePopupMenuItem.get(y).setActionCommand(FileName); - FilePopupMenuItem.get(y).addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - btnSend("dofile(\"" + evt.getActionCommand() + "\")"); - } - }); - FilePopupMenu.get(x).add(FilePopupMenuItem.get(y)); - } - - private void AddMenuItemCompile(int x, String FileName) { - int y; - FilePopupMenuItem.add(new javax.swing.JMenuItem()); - y = FilePopupMenuItem.size() - 1; - FilePopupMenuItem.get(y).setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/wizard.png"))); - FilePopupMenuItem.get(y).setText("Compile " + FileName + " to .lc"); - FilePopupMenuItem.get(y).setToolTipText("Execute command node.compile(\"" + FileName + "\")"); - FilePopupMenuItem.get(y).setActionCommand(FileName); - FilePopupMenuItem.get(y).addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - btnSend("node.compile(\"" + evt.getActionCommand() + "\")"); - try { - Thread.sleep(500L); - } catch (Exception e) { - } - FileListReload.doClick(); - } - }); - FilePopupMenu.get(x).add(FilePopupMenuItem.get(y)); - } - - private void AddMenuItemRename(int x, String FileName) { - int y; - FilePopupMenuItem.add(new javax.swing.JMenuItem()); - y = FilePopupMenuItem.size() - 1; - FilePopupMenuItem.get(y).setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/rename.png"))); - FilePopupMenuItem.get(y).setText("Rename " + FileName); - FilePopupMenuItem.get(y).setToolTipText("Execute command file.rename(\"" + FileName + "\",\"NewName\")"); - FilePopupMenuItem.get(y).setActionCommand(FileName); - FilePopupMenuItem.get(y).addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - FileRename.setText(evt.getActionCommand()); - FileRenameLabel.setText(evt.getActionCommand()); - FileRenamePanel.setEnabled(true); - FileRenamePanel.setVisible(true); - FileRename.grabFocus(); - } - }); - FilePopupMenu.get(x).add(FilePopupMenuItem.get(y)); - } - - private void AddMenuItemRemove(int x, String FileName) { - int y; - FilePopupMenuItem.add(new javax.swing.JMenuItem()); - y = FilePopupMenuItem.size() - 1; - FilePopupMenuItem.get(y).setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/trash.png"))); - FilePopupMenuItem.get(y).setText("Remove " + FileName); - FilePopupMenuItem.get(y).setToolTipText("Execute command file.remove(\"" + FileName + "\") and delete file from NodeMCU filesystem"); - FilePopupMenuItem.get(y).setActionCommand(FileName); - FilePopupMenuItem.get(y).addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - FileRemoveESP(evt.getActionCommand()); - // FileListReload not needed - } - }); - FilePopupMenu.get(x).add(FilePopupMenuItem.get(y)); - } - - private void AddMenuItemView(int x, String FileName) { - int y; - FilePopupMenuItem.add(new javax.swing.JMenuItem()); - y = FilePopupMenuItem.size() - 1; - FilePopupMenuItem.get(y).setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/view.png"))); - FilePopupMenuItem.get(y).setText("View " + FileName); - FilePopupMenuItem.get(y).setToolTipText("View content of file " + FileName + " on Terminal"); - FilePopupMenuItem.get(y).setActionCommand(FileName); - FilePopupMenuItem.get(y).addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - ViewFile(evt.getActionCommand()); - } - }); - FilePopupMenu.get(x).add(FilePopupMenuItem.get(y)); - } - - private void AddMenuItemDump(int x, String FileName) { - int y; - FilePopupMenuItem.add(new javax.swing.JMenuItem()); - y = FilePopupMenuItem.size() - 1; - FilePopupMenuItem.get(y).setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/dump.png"))); - FilePopupMenuItem.get(y).setText("HexDump " + FileName); - FilePopupMenuItem.get(y).setToolTipText("View HexDump " + FileName + "in Terminal"); - FilePopupMenuItem.get(y).setActionCommand(FileName); - FilePopupMenuItem.get(y).addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - HexDump(evt.getActionCommand()); - } - }); - FilePopupMenu.get(x).add(FilePopupMenuItem.get(y)); - } - - private void AddTab(String s) { - int i = FilesTabbedPane.getTabCount(); - - FileLayeredPane1.add(new javax.swing.JLayeredPane()); - TextScroll1.add(new org.fife.ui.rtextarea.RTextScrollPane()); - TextEditor1.add(new org.fife.ui.rsyntaxtextarea.RSyntaxTextArea()); - iFile.add(new File("")); - FileChanged.add(false); - provider.add(createCompletionProvider()); - ac.add(new AutoCompletion(provider.get(i))); - ac.get(i).install(TextEditor1.get(i)); - - FileLayeredPaneLayout1.add(new javax.swing.GroupLayout(FileLayeredPane1.get(i))); - - if (OptionNodeMCU.isSelected()) { - TextEditor1.get(i).setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_LUA); - } else { - TextEditor1.get(i).setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_PYTHON); - } - TextEditor1.get(i).setColumns(20); - TextEditor1.get(i).setRows(5); - TextEditor1.get(i).setDragEnabled(false); - TextEditor1.get(i).setFadeCurrentLineHighlight(true); - TextEditor1.get(i).setPaintMarkOccurrencesBorder(true); - TextEditor1.get(i).setPaintMatchedBracketPair(true); - TextEditor1.get(i).setPopupMenu(ContextMenuEditor); - TextEditor1.get(i).setCodeFoldingEnabled(false); - TextEditor1.get(i).setAntiAliasingEnabled(true); - TextEditor1.get(i).setTabsEmulated(true); - TextEditor1.get(i).setBracketMatchingEnabled(true); - TextEditor1.get(i).setTabSize(4); - TextEditor1.get(i).addCaretListener(new javax.swing.event.CaretListener() { - public void caretUpdate(javax.swing.event.CaretEvent evt) { - TextEditorCaretUpdate(evt); - } - }); - TextEditor1.get(i).addActiveLineRangeListener(new org.fife.ui.rsyntaxtextarea.ActiveLineRangeListener() { - public void activeLineRangeChanged(org.fife.ui.rsyntaxtextarea.ActiveLineRangeEvent evt) { - TextEditorActiveLineRangeChanged(evt); - } - }); - TextEditor1.get(i).addInputMethodListener(new java.awt.event.InputMethodListener() { - public void caretPositionChanged(java.awt.event.InputMethodEvent evt) { - TextEditorCaretPositionChanged(evt); - } - - public void inputMethodTextChanged(java.awt.event.InputMethodEvent evt) { - TextEditorInputMethodTextChanged(evt); - } - }); - TextEditor1.get(i).addKeyListener(new java.awt.event.KeyAdapter() { - public void keyTyped(java.awt.event.KeyEvent evt) { - TextEditorKeyTyped(evt); - } - }); - TextEditor1.get(i).addFocusListener(new java.awt.event.FocusAdapter() { - public void focusGained(java.awt.event.FocusEvent evt) { - int i; - for (i = 0; i < TextEditor1.size(); i++) { - TextEditor1.get(i).setEditable(!UseExternalEditor.isSelected()); - } - } - }); - TextScroll1.get(i).setViewportView(TextEditor1.get(i)); - TextScroll1.get(i).setVerticalScrollBarPolicy(javax.swing.ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED); - TextScroll1.get(i).setIconRowHeaderEnabled(false); - TextScroll1.get(i).setLineNumbersEnabled(true); - TextScroll1.get(i).setFoldIndicatorEnabled(true); - - FileLayeredPane1.get(i).setLayout(FileLayeredPaneLayout1.get(i)); - FileLayeredPaneLayout1.get(i).setHorizontalGroup( - FileLayeredPaneLayout1.get(i).createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(TextScroll1.get(i), javax.swing.GroupLayout.DEFAULT_SIZE, 452, Short.MAX_VALUE) - ); - FileLayeredPaneLayout1.get(i).setVerticalGroup( - FileLayeredPaneLayout1.get(i).createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(TextScroll1.get(i), javax.swing.GroupLayout.DEFAULT_SIZE, 281, Short.MAX_VALUE) - ); - FileLayeredPane1.get(i).setLayer(TextScroll1.get(i), javax.swing.JLayeredPane.DEFAULT_LAYER); - - FilesTabbedPane.addTab(NewFile, FileLayeredPane1.get(i)); - - FilesTabbedPane.setSelectedIndex(i); - iTab = i; - SetTheme(EditorTheme.getSelectedIndex(), false); - FileLabelUpdate(); - if (UseExternalEditor.isSelected()) { - TextEditor1.get(i).setEditable(false); - } - TextEditor1.get(i).setText(s); - } - - private void SetTheme(int t, boolean all) { - String res; - if (t == 1) { - res = "/org/fife/ui/rsyntaxtextarea/themes/dark.xml"; - } else if (t == 2) { - res = "/org/fife/ui/rsyntaxtextarea/themes/eclipse.xml"; - } else if (t == 3) { - res = "/org/fife/ui/rsyntaxtextarea/themes/idea.xml"; - } else if (t == 4) { - res = "/org/fife/ui/rsyntaxtextarea/themes/vs.xml"; - } else if (t == 5) { - res = "/org/fife/ui/rsyntaxtextarea/themes/default-alt.xml"; - } else { - res = "/org/fife/ui/rsyntaxtextarea/themes/default.xml"; - } - try { - Theme theme = Theme.load(getClass().getResourceAsStream(res)); - if (all) { - for (int i = 0; i < FilesTabbedPane.getTabCount(); i++) { - theme.apply(TextEditor1.get(i)); - TextEditor1.get(i).setFont(TextEditor1.get(i).getFont().deriveFont(prefs.getFloat(EDITOR_FONT_SIZE, EDITOR_FONT_SIZE_DEFAULT))); - } - theme.apply(SnippetText); - SnippetText.setFont(SnippetText.getFont().deriveFont(prefs.getFloat(EDITOR_FONT_SIZE, EDITOR_FONT_SIZE_DEFAULT))); - theme.apply(Terminal); - Terminal.setFont(Terminal.getFont().deriveFont(prefs.getFloat(TERMINAL_FONT_SIZE, TERMINAL_FONT_SIZE_DEFAULT))); - themeTextBackground = SnippetText.getBackground(); - //SnippetText.setBackground(SnippetTopPane.getBackground()); - log("Set new color theme: Success."); - } else { - theme.apply(TextEditor1.get(iTab)); - TextEditor1.get(iTab).setFont(TextEditor1.get(iTab).getFont().deriveFont(prefs.getFloat(EDITOR_FONT_SIZE, EDITOR_FONT_SIZE_DEFAULT))); - } - } catch (IOException e) { - log(e.toString()); - log("Set new color theme: FAIL."); - } - } - - private void RemoveTab() { - if (FilesTabbedPane.getTabCount() <= 1) { - iTab = 0; - TextEditor1.get(iTab).setText(""); - TextEditor1.get(iTab).discardAllEdits(); - FilesTabbedPane.setTitleAt(iTab, NewFile); - iFile.set(iTab, new File("")); - FileLabelUpdate(); - FileChanged.set(iTab, false); - UpdateEditorButtons(); - log("FileTab cleared: Success."); - } else { - iFile.remove(iTab); - FileChanged.remove(iTab); - ac.remove(iTab); - provider.remove(iTab); - TextEditor1.remove(iTab); - TextScroll1.remove(iTab); - FileLayeredPaneLayout1.remove(iTab); - FileLayeredPane1.remove(iTab); - FilesTabbedPane.removeTabAt(iTab); - FilesTabbedPane.setSelectedIndex(iTab); - FileLabelUpdate(); - log("FileTab removed: Success."); - } - } - - private boolean isChanged() { - if (UseExternalEditor.isSelected()) { - return false; - } - try { - if (FileChanged.get(iTab)) { - return true; - } - } catch (Exception e) { - return false; - } - if (TextEditor1.get(iTab).canUndo()) { - return true; - } - if (TextEditor1.get(iTab).canRedo()) { - return true; - } - return false; - } - - private int Dialog(String msg, int btn) { - this.setAlwaysOnTop(false); - Toolkit.getDefaultToolkit().beep(); - int returnVal = JOptionPane.showConfirmDialog(null, msg, "Attention", btn, JOptionPane.WARNING_MESSAGE); - this.setAlwaysOnTop(AlwaysOnTop.isSelected()); - return returnVal; - } - - private CompletionProvider createCompletionProvider() { - - DefaultCompletionProvider provider = new DefaultCompletionProvider(); - if (OptionNodeMCU.isSelected()) { - - provider.addCompletion(new BasicCompletion(provider, "function end")); - provider.addCompletion(new BasicCompletion(provider, "function")); - provider.addCompletion(new BasicCompletion(provider, "function return end")); - provider.addCompletion(new BasicCompletion(provider, "end")); - provider.addCompletion(new BasicCompletion(provider, "do")); - provider.addCompletion(new BasicCompletion(provider, "print(\"\")")); - provider.addCompletion(new BasicCompletion(provider, "if")); - provider.addCompletion(new BasicCompletion(provider, "else")); - provider.addCompletion(new BasicCompletion(provider, "elseif")); - provider.addCompletion(new BasicCompletion(provider, "if else end")); - provider.addCompletion(new BasicCompletion(provider, "while")); - provider.addCompletion(new BasicCompletion(provider, "while do end")); - provider.addCompletion(new BasicCompletion(provider, "do end")); - provider.addCompletion(new BasicCompletion(provider, "for")); - provider.addCompletion(new BasicCompletion(provider, "for do end")); - provider.addCompletion(new BasicCompletion(provider, "repeat")); - provider.addCompletion(new BasicCompletion(provider, "until")); - provider.addCompletion(new BasicCompletion(provider, "repeat until")); - provider.addCompletion(new BasicCompletion(provider, "for")); - provider.addCompletion(new BasicCompletion(provider, "for key, value in pairs() do\r\nend")); - provider.addCompletion(new BasicCompletion(provider, "for do end")); - provider.addCompletion(new BasicCompletion(provider, "wifi.setmode(wifi.STATION)")); - provider.addCompletion(new BasicCompletion(provider, "wifi.getmode()")); - provider.addCompletion(new BasicCompletion(provider, "wifi.startsmart()")); - provider.addCompletion(new BasicCompletion(provider, "wifi.stopsmart()")); - provider.addCompletion(new BasicCompletion(provider, "wifi.sta.config(\"SSID\",\"password\")")); - provider.addCompletion(new BasicCompletion(provider, "wifi.sta.connect()")); - provider.addCompletion(new BasicCompletion(provider, "wifi.sta.disconnect()")); - provider.addCompletion(new BasicCompletion(provider, "wifi.sta.autoconnect()")); - provider.addCompletion(new BasicCompletion(provider, "wifi.sta.getip()")); - provider.addCompletion(new BasicCompletion(provider, "wifi.sta.getmac()")); - provider.addCompletion(new BasicCompletion(provider, "wifi.sta.getap()")); - provider.addCompletion(new BasicCompletion(provider, "wifi.sta.status()")); - provider.addCompletion(new BasicCompletion(provider, "wifi.ap.config()")); - provider.addCompletion(new BasicCompletion(provider, "wifi.ap.getip()")); - provider.addCompletion(new BasicCompletion(provider, "wifi.ap.getmac()")); - provider.addCompletion(new BasicCompletion(provider, "gpio.mode(pin,gpio.OUTPUT)")); - provider.addCompletion(new BasicCompletion(provider, "gpio.write(pin,gpio.HIGH)")); - provider.addCompletion(new BasicCompletion(provider, "gpio.write(pin,gpio.LOW)")); - provider.addCompletion(new BasicCompletion(provider, "gpio.read(pin)")); - provider.addCompletion(new BasicCompletion(provider, "gpio.trig(0, \"act\",func)")); - provider.addCompletion(new BasicCompletion(provider, "conn=net.createConnection(net.TCP, 0)")); - provider.addCompletion(new BasicCompletion(provider, "net.createConnection(net.TCP, 0)")); - provider.addCompletion(new BasicCompletion(provider, "on(\"receive\", function(conn, payload) print(payload) end )")); - provider.addCompletion(new BasicCompletion(provider, "connect(80,\"0.0.0.0\")")); - provider.addCompletion(new BasicCompletion(provider, "send(\"GET / HTTP/1.1\\r\\nHost: www.baidu.com\\r\\nConnection: keep-alive\\r\\nAccept: */*\\r\\n\\r\\n\")")); - provider.addCompletion(new BasicCompletion(provider, "srv=net.createServer(net.TCP)")); - provider.addCompletion(new BasicCompletion(provider, "srv:listen(80,function(conn) \nconn:on(\"receive\",function(conn,payload) \nprint(payload) \nconn:send(\"

Hello, NodeMcu.

\")\nend) \nconn:on(\"sent\",function(conn) conn:close() end)\nend)")); - provider.addCompletion(new BasicCompletion(provider, "net.createServer(net.TCP, timeout)")); - provider.addCompletion(new BasicCompletion(provider, "net.server.listen(port,[ip],function(net.socket))")); - provider.addCompletion(new BasicCompletion(provider, "dns(domain, function(net.socket, ip))")); - provider.addCompletion(new BasicCompletion(provider, "pwm.setduty(0,0)")); - provider.addCompletion(new BasicCompletion(provider, "pwm.getduty(0)")); - provider.addCompletion(new BasicCompletion(provider, "pwm.setup(0,0,0)")); - provider.addCompletion(new BasicCompletion(provider, "pwm.start(0)")); - provider.addCompletion(new BasicCompletion(provider, "pwm.close(0)")); - provider.addCompletion(new BasicCompletion(provider, "pwm.setclock(0, 100)")); - provider.addCompletion(new BasicCompletion(provider, "pwm.getclock(0)")); - provider.addCompletion(new BasicCompletion(provider, "pwm.close(0)")); - provider.addCompletion(new BasicCompletion(provider, "file.open(\"\",\"r\")")); - provider.addCompletion(new BasicCompletion(provider, "file.writeline()")); - provider.addCompletion(new BasicCompletion(provider, "file.readline()")); - provider.addCompletion(new BasicCompletion(provider, "file.write()")); - provider.addCompletion(new BasicCompletion(provider, "file.close()")); - provider.addCompletion(new BasicCompletion(provider, "file.remove()")); - provider.addCompletion(new BasicCompletion(provider, "file.flush()")); - provider.addCompletion(new BasicCompletion(provider, "file.seek()")); - provider.addCompletion(new BasicCompletion(provider, "file.list()")); - provider.addCompletion(new BasicCompletion(provider, "node.restart()")); - provider.addCompletion(new BasicCompletion(provider, "node.dsleep()")); - provider.addCompletion(new BasicCompletion(provider, "node.chipid()")); - provider.addCompletion(new BasicCompletion(provider, "node.heap()")); - provider.addCompletion(new BasicCompletion(provider, "node.key(type, function())")); - provider.addCompletion(new BasicCompletion(provider, "node.led()")); - provider.addCompletion(new BasicCompletion(provider, "node.input()")); - provider.addCompletion(new BasicCompletion(provider, "node.output()")); - provider.addCompletion(new BasicCompletion(provider, "tmr.alarm(0,1000,1,function()\nend)")); - provider.addCompletion(new BasicCompletion(provider, "tmr.delay()")); - provider.addCompletion(new BasicCompletion(provider, "tmr.now()")); - provider.addCompletion(new BasicCompletion(provider, "tmr.stop(id)")); - provider.addCompletion(new BasicCompletion(provider, "tmr.wdclr()")); - provider.addCompletion(new BasicCompletion(provider, "dofile(\"\")")); - } else { // MicroPython - provider.addCompletion(new BasicCompletion(provider, "import ")); - provider.addCompletion(new BasicCompletion(provider, "import network")); - provider.addCompletion(new BasicCompletion(provider, "import time")); - provider.addCompletion(new BasicCompletion(provider, "import Timer")); - provider.addCompletion(new BasicCompletion(provider, "from machine import Pin")); - provider.addCompletion(new BasicCompletion(provider, "from machine import Pin, PWM")); - provider.addCompletion(new BasicCompletion(provider, "from machine import ADC")); - provider.addCompletion(new BasicCompletion(provider, "from machine import Pin, SPI")); - provider.addCompletion(new BasicCompletion(provider, "from machine import Pin, I2C")); - provider.addCompletion(new BasicCompletion(provider, "import onewire")); - provider.addCompletion(new BasicCompletion(provider, "from neopixel import NeoPixel")); - provider.addCompletion(new BasicCompletion(provider, "import neopixel")); - provider.addCompletion(new BasicCompletion(provider, "import esp")); - provider.addCompletion(new BasicCompletion(provider, "")); - provider.addCompletion(new BasicCompletion(provider, "")); - provider.addCompletion(new BasicCompletion(provider, "")); - provider.addCompletion(new BasicCompletion(provider, "")); - provider.addCompletion(new BasicCompletion(provider, "json")); - provider.addCompletion(new BasicCompletion(provider, "ubinascii.hexlify(data[, sep])")); - provider.addCompletion(new BasicCompletion(provider, "ubinascii.unhexlify(data)")); - provider.addCompletion(new BasicCompletion(provider, "ubinascii.a2b_base64(data)")); - provider.addCompletion(new BasicCompletion(provider, "ubinascii.b2a_base64(data)")); - provider.addCompletion(new BasicCompletion(provider, "machine.freq(160000000)")); - provider.addCompletion(new BasicCompletion(provider, "esp.osdebug(None)")); - provider.addCompletion(new BasicCompletion(provider, "esp.osdebug(0)")); - provider.addCompletion(new BasicCompletion(provider, "wlan = network.WLAN(network.STA_IF)")); - provider.addCompletion(new BasicCompletion(provider, "wlan.active(True)")); - provider.addCompletion(new BasicCompletion(provider, "wlan.scan()")); - provider.addCompletion(new BasicCompletion(provider, "wlan.isconnected()")); - provider.addCompletion(new BasicCompletion(provider, "wlan.connect('essid', 'password')")); - provider.addCompletion(new BasicCompletion(provider, "wlan.ifconfig()")); - provider.addCompletion(new BasicCompletion(provider, "ap = network.WLAN(network.AP_IF)")); - provider.addCompletion(new BasicCompletion(provider, "ap.active(True)")); - provider.addCompletion(new BasicCompletion(provider, "ap.config(essid='ESP-AP')")); - provider.addCompletion(new BasicCompletion(provider, "time.sleep(1)")); - provider.addCompletion(new BasicCompletion(provider, "time.sleep_ms(500)")); - provider.addCompletion(new BasicCompletion(provider, "time.sleep_us(10)")); - provider.addCompletion(new BasicCompletion(provider, "time.ticks_diff(start, time.ticks_ms())")); - provider.addCompletion(new BasicCompletion(provider, "tim = Timer(-1)")); - provider.addCompletion(new BasicCompletion(provider, "tim.init(period=5000, mode=Timer.ONE_SHOT, callback=lambda t:print(1))")); - provider.addCompletion(new BasicCompletion(provider, "tim.init(period=2000, mode=Timer.PERIODIC, callback=lambda t:print(2))")); - provider.addCompletion(new BasicCompletion(provider, "Pin(0, Pin.OUT)")); - provider.addCompletion(new BasicCompletion(provider, ".high()")); - provider.addCompletion(new BasicCompletion(provider, ".low()")); - provider.addCompletion(new BasicCompletion(provider, ".value(1)")); - provider.addCompletion(new BasicCompletion(provider, "Pin(2, Pin.IN)")); - provider.addCompletion(new BasicCompletion(provider, "Pin(4, Pin.IN, Pin.PULL_UP)")); - provider.addCompletion(new BasicCompletion(provider, "Pin(5, Pin.OUT, value=1)")); - provider.addCompletion(new BasicCompletion(provider, "PWM(Pin(0))")); - provider.addCompletion(new BasicCompletion(provider, ".freq()")); - provider.addCompletion(new BasicCompletion(provider, ".freq(1000)")); - provider.addCompletion(new BasicCompletion(provider, ".duty()")); - provider.addCompletion(new BasicCompletion(provider, ".duty(200)")); - provider.addCompletion(new BasicCompletion(provider, ".deinit()")); - provider.addCompletion(new BasicCompletion(provider, "PWM(Pin(2), freq=500, duty=512)")); - provider.addCompletion(new BasicCompletion(provider, "ADC(0)")); - provider.addCompletion(new BasicCompletion(provider, ".read()")); - provider.addCompletion(new BasicCompletion(provider, "SPI(baudrate=100000, polarity=1, phase=0, sck=Pin(0), mosi=Pin(2), miso=Pin(4))")); - provider.addCompletion(new BasicCompletion(provider, ".init(baudrate=200000)")); - provider.addCompletion(new BasicCompletion(provider, ".readinto(buf)")); - provider.addCompletion(new BasicCompletion(provider, ".write_readinto(b'1234', buf)")); - provider.addCompletion(new BasicCompletion(provider, ".write_readinto(buf, buf)")); - provider.addCompletion(new BasicCompletion(provider, "I2C(scl=Pin(5), sda=Pin(4), freq=100000)")); - provider.addCompletion(new BasicCompletion(provider, "machine.RTC()")); - provider.addCompletion(new BasicCompletion(provider, ".irq(trigger=rtc.ALARM0, wake=machine.DEEPSLEEP)")); - provider.addCompletion(new BasicCompletion(provider, "machine.reset_cause()")); - provider.addCompletion(new BasicCompletion(provider, "machine.DEEPSLEEP_RESET")); - provider.addCompletion(new BasicCompletion(provider, "rtc.alarm(rtc.ALARM0, 10000)")); - provider.addCompletion(new BasicCompletion(provider, ".scan()")); - provider.addCompletion(new BasicCompletion(provider, ".reset()")); - provider.addCompletion(new BasicCompletion(provider, "onewire.DS18B20(ow)")); - provider.addCompletion(new BasicCompletion(provider, ".start_measure()")); - provider.addCompletion(new BasicCompletion(provider, ".get_temp(rom)")); - provider.addCompletion(new BasicCompletion(provider, "NeoPixel(pin, 8)")); - provider.addCompletion(new BasicCompletion(provider, "")); - provider.addCompletion(new BasicCompletion(provider, "")); - provider.addCompletion(new BasicCompletion(provider, "")); - provider.addCompletion(new BasicCompletion(provider, "")); - } - /* - provider.addCompletion(new ShorthandCompletion(provider, "sysout", - "System.out.println(", "System.out.println(")); - provider.addCompletion(new ShorthandCompletion(provider, "syserr", - "System.err.println(", "System.err.println(")); - */ - return provider; - - } - - private void FileLabelUpdate() { - iTab = FilesTabbedPane.getSelectedIndex(); - if (isFileNew()) { - FilePathLabel.setText(""); - } else { - try { - if (UseExternalEditor.isSelected()) { - FilePathLabel.setText("ReadOnly " + iFile.get(FilesTabbedPane.getSelectedIndex()).getPath()); - } else { - FilePathLabel.setText(iFile.get(FilesTabbedPane.getSelectedIndex()).getPath()); - } - } catch (Exception e) { - FilePathLabel.setText(""); - } - } - UpdateEditorButtons(); - } - - private int CloseFile() { - if (UseExternalEditor.isSelected()) { - return JOptionPane.YES_OPTION; - } - if (isChanged()) { - log("File changed. Ask before closing."); - int returnVal = Dialog("Save file \"" + FilesTabbedPane.getTitleAt(iTab) + "\" before closing?", JOptionPane.YES_NO_CANCEL_OPTION); - if (returnVal == JOptionPane.YES_OPTION) { - if (!SaveFile()) { - log("File close: FAIL (file not saved, closing aborted)"); - return JOptionPane.CANCEL_OPTION; - } - } else if (returnVal == JOptionPane.CANCEL_OPTION) { - log("User select: Continue editing."); - return JOptionPane.CANCEL_OPTION; - } else { - log("User select: Close anyway."); - } - } - RemoveTab(); - log("File close: Success."); - return JOptionPane.YES_OPTION; - } - - private void ReloadFile() { - if (isFileNew()) { - return; - } - if (isChanged() && !UseExternalEditor.isSelected()) { - log("File reload: File changed. Ask before reloading."); - int returnVal = Dialog("Discard any changes and reload file from disk?", JOptionPane.YES_NO_OPTION); - if (returnVal != JOptionPane.OK_OPTION) { - log("File reload: FAIL (file not saved, reload cancelled by user choice)"); - return; - } else { - log("File reload: Reload anyway by user choice."); - } - } - if (LoadFile()) { - log("File reload: Success."); - - } - } - - private class PortReader implements SerialPortEventListener { - - public void serialEvent(SerialPortEvent event) { - if (event.isRXCHAR() && event.getEventValue() > 0) { - try { - String data = serialPort.readString(event.getEventValue()); - if (portJustOpen) { - TerminalAdd("Got answer! Communication with MCU established.\r\nAutoDetect firmware...\r\n"); - portJustOpen = false; - try { - openTimeout.stop(); - } catch (Exception e) { - log(e.toString()); - } - UpdateButtons(); - if (data.contains("\r\n>>>")) { - TerminalAdd("\r\nMicroPython firmware detected, try get version...\r\n\r\n"); - btnSend("import sys; print(\"MicroPython ver:\",sys.version_info)"); - LeftTab.setSelectedIndex(0); - SetFirmwareType(FIRMWARE_MPYTHON); - } else if (data.contains("\r\n>")) { - TerminalAdd("\r\nNodeMCU firmware detected.\r\n"); - btnSend("=node.heap()"); - LeftTab.setSelectedIndex(0); - SetFirmwareType(FIRMWARE_NODEMCU); - } else if (data.contains("\r\nERR")) { - TerminalAdd("\r\nAT-based firmware detected.\r\n"); - btnSend("AT+GMR"); - LeftTab.setSelectedIndex(1); - RightExtraButtons.setVisible(false); - RightSnippetsPane.setVisible(false); - NodeFileManagerPane.setVisible(false); - FirmwareType = FIRMWARE_AT; - } else { - TerminalAdd("\r\nCan't autodetect firmware, because proper answer not received (may be unknown firmware). \r\nPlease, reset module or continue.\r\n"); - } - } else if (LocalEcho) { - TerminalAdd(data); - } else if (data.contains("\r")) { - LocalEcho = true; - TerminalAdd(data.substring(data.indexOf("\r"))); - } - } catch (SerialPortException ex) { - log(ex.toString()); - } - } else if (event.isCTS()) { - UpdateLedCTS(); - } else if (event.isERR()) { - log("FileManager: Unknown serial port error received."); - } - } - } - - private class PortExtraReader implements SerialPortEventListener { - - public void serialEvent(SerialPortEvent event) { - if (event.isRXCHAR() && event.getEventValue() > 0) { - String data = ""; - try { - data = serialPort.readString(event.getEventValue()); - } catch (SerialPortException ex) { - log(ex.toString()); - } - data = data.replace(">> ", ""); - data = data.replace(">>", ""); - data = data.replace("\r\n> ", ""); - data = data.replace("\r\n\r\n", "\r\n"); - - rcvBuf = rcvBuf + data; - log("recv:" + data.replace("\r\n", "")); - TerminalAdd(data); - if (rcvBuf.contains(sendBuf.get(j).trim())) { - // first, reset watchdog timer - try { - timeout.stop(); - } catch (Exception e) { - } - /* - if (rcvBuf.contains("stdin:")) { - String msg[] = {"Interpreter error detected!", rcvBuf, "Click OK to continue."}; - JOptionPane.showMessageDialog(null, msg); - } - */ - rcvBuf = ""; - if (j < sendBuf.size() - 1) { - if (timer.isRunning() || sendPending) { - // waiting - } else { - inc_j(); - sendPending = true; - int div = sendBuf.size() - 1; - if (div == 0) { - div = 1; - } - ProgressBar.setValue((j * 100) / div); - timer.start(); - } - } else { // send done - StopSend(); - } - } - if (rcvBuf.contains("powered by Lua 5.")) { - StopSend(); - String msg[] = {"ESP module reboot detected!", "Event: internal NodeMCU exception or power fail.", "Please, try again."}; - JOptionPane.showMessageDialog(null, msg); - } - if (rcvBuf.contains("Type \"help()")) { - StopSend(); - String msg[] = {"ESP module reboot detected!", "Event: internal MicroPython exception or power fail.", "Please, try again."}; - JOptionPane.showMessageDialog(null, msg); - } - } else if (event.isCTS()) { - UpdateLedCTS(); - } else if (event.isERR()) { - log("FileManager: Unknown serial port error received."); - } - } - } - - private class PortTurboReader implements SerialPortEventListener { - - public void serialEvent(SerialPortEvent event) { - if (event.isRXCHAR() && event.getEventValue() > 0) { - String data = ""; - try { - data = serialPort.readString(event.getEventValue()); - } catch (SerialPortException ex) { - log(ex.toString()); - } - rcvBuf = rcvBuf + data; - String l = data.replace("\r", ""); - l = l.replace("\n", ""); - l = l.replace("`", ""); - log("recv:" + l); - TerminalAdd(data); - if (rcvBuf.contains("> ")) { - try { - timeout.stop(); // first, reset watchdog timer - } catch (Exception e) { - } - rcvBuf = ""; - if (j < sendBuf.size() - 1) { - if (timer.isRunning() || sendPending) { - // waiting - } else { - inc_j(); - sendPending = true; - int div = sendBuf.size() - 1; - if (div == 0) { - div = 1; - } - ProgressBar.setValue((j * 100) / div); - timer.start(); - } - } else { // send done - StopSend(); - } - } - } else if (event.isCTS()) { - UpdateLedCTS(); - } else if (event.isERR()) { - log("FileManager: Unknown serial port error received."); - } - } - } - - private void StopSend() { - try { - serialPort.removeEventListener(); - } catch (Exception e) { - } - try { - timer.stop(); - } catch (Exception e) { - } - try { - timeout.stop(); - } catch (Exception e) { - } - try { - serialPort.addEventListener(new PortReader(), portMask); - } catch (SerialPortException e) { - } - SendUnLock(); - long duration = System.currentTimeMillis() - startTime; - log("Operation done. Duration = " + Long.toString(duration) + " ms"); - } - - private boolean SendToESP(String str) { - boolean success = false; - if (!pOpen || portJustOpen) { - log("SendESP: Serial port not open. Canceled."); - return success; - } - sendBuf = new ArrayList(); - s = str.split("\r?\n"); - sendBuf.addAll(Arrays.asList(s)); - success = SendTimerStart(); - log("SendToESP: Starting..."); - return success; - } - - private boolean SendToESP(ArrayList buf) { - boolean success = false; - if (!pOpen || portJustOpen) { - log("SendESP: Serial port not open. Cancel."); - return success; - } - sendBuf = new ArrayList(); - sendBuf.addAll(buf); - if (OptionMicroPython.isSelected()) { - sendBuf.add(""); - sendBuf.add(""); - sendBuf.add(""); - } - success = SendTimerStart(); - log("SendToESP: Starting..."); - return success; - } - - private void WatchDog() { - if (DumbMode.isSelected()) { - return; - } - watchDog = new ActionListener() { - public void actionPerformed(ActionEvent evt) { - StopSend(); - Toolkit.getDefaultToolkit().beep(); - TerminalAdd("Waiting answer from ESP - Timeout reached. Command aborted."); - log("Waiting answer from ESP - Timeout reached. Command aborted."); - } - }; - int delay = AnswerDelay.getValue() * 1000; - if (delay == 0) { - delay = 300; - } - timeout = new Timer(delay, watchDog); - timeout.setRepeats(false); - timeout.setInitialDelay(delay); - timeout.start(); - } - - private boolean nodeSaveFileESP(String ft) { - boolean success = false; - log("FileSaveESP: Try to save file to ESP..."); - sendBuf = new ArrayList(); - if (TurboMode.isSelected()) { - return nodeSaveFileESPTurbo(ft); - } - sendBuf.add("file.remove(\"" + ft + "\");"); - sendBuf.add("file.open(\"" + ft + "\",\"w+\");"); - sendBuf.add("w = file.writeline;\r\n"); - s = TextEditor1.get(iTab).getText().split("\r?\n"); - for (String subs : s) { - sendBuf.add("w([==[" + subs + "]==]);"); - } - sendBuf.add("file.flush();file.close();"); - if (FileAutoRun.isSelected()) { - sendBuf.add("dofile(\"" + ft + "\");"); - } - // data ready - success = SendTimerStart(); - log("FileSaveESP: Starting..."); - return success; - } - - private boolean nodeSaveFileESPTurbo(String ft) { - boolean success = false; - log("FileSaveESP-Turbo: Try to save file to ESP in Turbo Mode..."); - sendBuf.add("local FILE=\"" + ft + "\" file.remove(FILE) file.open(FILE,\"w+\") uart.setup(0," + Integer.toString(nSpeed) + ",8,0,1,0)"); - sendBuf.add("ESP_Receiver=function(rcvBuf) if string.match(rcvBuf,\"^ESP_cmd_close\")==nil then file.write(string.gsub(rcvBuf, \'\\r\', \'\')) uart.write(0, \"> \") else uart.on(\"data\") "); - sendBuf.add("file.flush() file.close() FILE=nil rcvBuf=nil ESP_Receiver=nil uart.setup(0," + Integer.toString(nSpeed) + ",8,0,1,1) str=\"\\r\\n--Done--\\r\\n> \" print(str) str=nil collectgarbage() end end uart.on(\"data\",'\\r',ESP_Receiver,0)"); - int pos1 = 0; - int pos2 = 0; - int size = 254; - int l = TextEditor1.get(iTab).getText().length(); - String fragment; - while (pos1 <= l) { - pos2 = pos1 + size; - if (pos2 > l) { - pos2 = l; - } - fragment = new String(TextEditor1.get(iTab).getText().substring(pos1, pos2)); - sendBuf.add(fragment); - pos1 += size; - } - sendBuf.add("ESP_cmd_close"); - sendBuf.add("\r\n"); - if (FileAutoRun.isSelected()) { - sendBuf.add("dofile(\"" + ft + "\")"); - } - success = SendTurboTimerStart(); - log("FileSaveESP-Turbo: Starting..."); - return success; - } - - public boolean SendTurboTimerStart() { - startTime = System.currentTimeMillis(); - SendLock(); - rcvBuf = ""; - try { - serialPort.removeEventListener(); - } catch (Exception e) { - } - try { - serialPort.addEventListener(new PortTurboReader(), portMask); - } catch (SerialPortException e) { - log("DataTurboSender: Add EventListener Error. Canceled."); - return false; - } - int delay = 0; - j0(); - delay = Delay.getValue(); - if (delay == 0) { - delay = 10; - } - taskPerformer = new ActionListener() { - public void actionPerformed(ActionEvent evt) { - if (j < sendBuf.size()) { - send(addCR(sendBuf.get(j)), false); - sendPending = false; - } - } - }; - timer = new Timer(delay, taskPerformer); - timer.setRepeats(false); - log("DataTurboSender: start \"Smart Mode\""); - timer.setInitialDelay(delay); - WatchDog(); - timer.start(); - return true; - } - - private String addBS(String s) { - String bs = "" + (char) java.awt.event.KeyEvent.VK_BACK_SPACE + s; - log("bs = '" + bs + "'"); - return bs; - } - - public boolean pasteMode() { - return pasteMode; - } - - public boolean pasteMode(boolean newMode) { - pasteMode = newMode; - return pasteMode; - } - - public boolean SendTimerStart() { - startTime = System.currentTimeMillis(); - SendLock(); - rcvBuf = ""; - try { - serialPort.removeEventListener(); - } catch (Exception e) { - } - try { - if (DumbMode.isSelected()) { - serialPort.addEventListener(new PortReader(), portMask); - } else { - serialPort.addEventListener(new PortExtraReader(), portMask); - } - } catch (SerialPortException e) { - log("DataSender: Add EventListener Error. Canceled."); - return false; - } - int delay = 0; - j0(); - if (DumbMode.isSelected()) { // DumbMode - delay = LineDelay.getValue(); - if (OptionNodeMCU.isSelected()) { - taskPerformer = new ActionListener() { - public void actionPerformed(ActionEvent evt) { - if (j < sendBuf.size()) { - send(addCRLF(sendBuf.get(j).trim()), false); - inc_j(); - int div = sendBuf.size() - 1; - if (div == 0) { - div = 1; // for non-zero divide - } - ProgressBar.setValue((j * 100) / div); - if (j > sendBuf.size() - 1) { - timer.stop(); - StopSend(); - } - } - } - }; - } else { // MicroPython - taskPerformer = new ActionListener() { - public void actionPerformed(ActionEvent evt) { - if (j < sendBuf.size()) { - if ((j == 0) && pasteMode()) { - sendStart(); - } - send(addCRLF(sendBuf.get(j)), false); - inc_j(); - if ((j == sendBuf.size()) && pasteMode()) { - sendEnd(); - } - int div = sendBuf.size() - 1; - if (div == 0) { - div = 1; // for non-zero divide - } - ProgressBar.setValue((j * 100) / div); - if (j > sendBuf.size() - 1) { - timer.stop(); - pasteMode(true); - StopSend(); - } - } - } - }; - } - timer = new Timer(delay, taskPerformer); - timer.setRepeats(true); - timer.setInitialDelay(delay); - timer.start(); - log("DataSender: start \"Dumb Mode\""); - } else { // SmartMode - delay = Delay.getValue(); - if (delay == 0) { - delay = 10; - } - taskPerformer = new ActionListener() { - public void actionPerformed(ActionEvent evt) { - if (j < sendBuf.size()) { - log(Integer.toString(j)); - send(addCRLF(sendBuf.get(j).trim()), false); - sendPending = false; - } - } - }; - timer = new Timer(delay, taskPerformer); - timer.setRepeats(false); - timer.setInitialDelay(delay); - timer.start(); - log("DataSender: start \"Smart Mode\""); - WatchDog(); - } - return true; - } - - public void send(String s, boolean simple) { - if (!pOpen) { - log("DataSender: Serial port not open, operation FAILED."); - return; - } - if (busyIcon) { - Busy.setIcon(LED_BLUE); - SnippetsBusy.setIcon(LED_BLUE); - } else { - Busy.setIcon(LED_RED); - SnippetsBusy.setIcon(LED_RED); - } - busyIcon = !busyIcon; - try { - log("sending:" + s.replace("\r\n", "")); - serialPort.writeString(s); - } catch (SerialPortException ex) { - log("send FAIL:" + s.replace("\r\n", "")); - } - if (!DumbMode.isSelected() && !simple) { - try { - timeout.restart(); - } catch (Exception e) { - } - } - if (simple) { - Busy.setIcon(LED_GREY); - SnippetsBusy.setIcon(LED_GREY); - } - } - - public void sendBin(byte data) { - if (!pOpen) { - log("DataSender: Serial port not open, operation FAILED."); - return; - } - try { - serialPort.writeByte(data); - } catch (SerialPortException ex) { - log("send FAIL:" + (char) data); - } - } - - public void sendStart() { - byte data = 0x05; - sendBin(data); - } - - public void sendEnd() { - byte data = 0x04; - sendBin(data); - } - - public void Busy() { - Busy.setText("BUSY"); - Busy.setBackground(new java.awt.Color(153, 0, 0)); // RED - SnippetsBusy.setText("BUSY"); - SnippetsBusy.setBackground(new java.awt.Color(153, 0, 0)); // RED - ProgressBar.setValue(0); - ProgressBar.setVisible(true); - FileSendESP.setEnabled(false); - MenuItemFileSendESP.setEnabled(false); - MenuItemFileRemoveESP.setEnabled(false); - NodeReset.setEnabled(false); - FileDo.setEnabled(false); - MenuItemFileDo.setEnabled(false); - MenuItemEditSendSelected.setEnabled(false); - MenuItemEditorSendSelected.setEnabled(false); - ButtonSendSelected.setEnabled(false); - MenuItemEditSendLine.setEnabled(false); - MenuItemEditorSendLine.setEnabled(false); - ButtonSendLine.setEnabled(false); - SnippetRun.setEnabled(false); - ButtonSnippet0.setEnabled(false); - ButtonSnippet1.setEnabled(false); - ButtonSnippet2.setEnabled(false); - ButtonSnippet3.setEnabled(false); - ButtonSnippet4.setEnabled(false); - ButtonSnippet5.setEnabled(false); - ButtonSnippet6.setEnabled(false); - ButtonSnippet7.setEnabled(false); - ButtonSnippet8.setEnabled(false); - ButtonSnippet9.setEnabled(false); - ButtonSnippet10.setEnabled(false); - ButtonSnippet11.setEnabled(false); - ButtonSnippet12.setEnabled(false); - ButtonSnippet13.setEnabled(false); - ButtonSnippet14.setEnabled(false); - ButtonSnippet15.setEnabled(false); - } - - public void SendLock() { - Busy(); - FileSaveESP.setText("Cancel"); - FileSaveESP.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/abort.png"))); - FileSaveESP.setSelected(true); - } - - public void Idle() { - Busy.setText("IDLE"); - Busy.setBackground(new java.awt.Color(0, 153, 0)); // GREEN - Busy.setIcon(LED_GREY); - SnippetsBusy.setText("IDLE"); - SnippetsBusy.setBackground(new java.awt.Color(0, 153, 0)); // GREEN - SnippetsBusy.setIcon(LED_GREY); - ProgressBar.setVisible(false); - FileSendESP.setSelected(true); - UpdateButtons(); - UpdateEditorButtons(); - } - - public void UpdateLED() { - pOpen = Open.isSelected(); - if (!pOpen) { - PortDTR.setIcon(LED_GREY); - PortRTS.setIcon(LED_GREY); - PortCTS.setIcon(LED_GREY); - Open.setText("Open"); - Open.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/connect1.png"))); - PortOpenLabel.setIcon(LED_GREY); - return; - } - Open.setText("Close"); - Open.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/disconnect1.png"))); - PortOpenLabel.setIcon(LED_GREEN); - UpdateLedCTS(); - if (PortDTR.isSelected()) { - PortDTR.setIcon(LED_GREEN); - } else { - PortDTR.setIcon(LED_GREY); - } - if (PortRTS.isSelected()) { - PortRTS.setIcon(LED_GREEN); - } else { - PortRTS.setIcon(LED_GREY); - } - if (portJustOpen) { - PortOpenLabel.setIcon(LED_RED); - } - } - - public void SendUnLock() { - Idle(); - FileSaveESP.setText("Save to ESP"); - FileSaveESP.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/move.png"))); - FileSaveESP.setSelected(false); - FileSendESP.setSelected(false); - - DisablingNotImplemented(); - - } - - public void SetSnippetEditButtonsTooltip() { - // should be called after loading, setting or editing any of the Snippet-Names - // eg after SnippetSaveActionPerformed() and LoadSnippets () - // Mike, DL2ZAP 2015-01-04 - SnippetEdit0.setToolTipText(ButtonSnippet0.getText()); - SnippetEdit1.setToolTipText(ButtonSnippet1.getText()); - SnippetEdit2.setToolTipText(ButtonSnippet2.getText()); - SnippetEdit3.setToolTipText(ButtonSnippet3.getText()); - SnippetEdit4.setToolTipText(ButtonSnippet4.getText()); - SnippetEdit5.setToolTipText(ButtonSnippet5.getText()); - SnippetEdit6.setToolTipText(ButtonSnippet6.getText()); - SnippetEdit7.setToolTipText(ButtonSnippet7.getText()); - SnippetEdit8.setToolTipText(ButtonSnippet8.getText()); - SnippetEdit9.setToolTipText(ButtonSnippet9.getText()); - SnippetEdit10.setToolTipText(ButtonSnippet10.getText()); - SnippetEdit11.setToolTipText(ButtonSnippet11.getText()); - SnippetEdit13.setToolTipText(ButtonSnippet13.getText()); - SnippetEdit13.setToolTipText(ButtonSnippet13.getText()); - SnippetEdit14.setToolTipText(ButtonSnippet14.getText()); - SnippetEdit15.setToolTipText(ButtonSnippet15.getText()); - } - - boolean SaveDownloadedFile() { - boolean success = false; - log("Saving downloaded file..."); - chooser.rescanCurrentDirectory(); - File f = new File(DownloadedFileName); - javax.swing.filechooser.FileFilter flt = chooser.getFileFilter(); - chooser.resetChoosableFileFilters(); - chooser.setSelectedFile(f); - chooser.setDialogTitle("Save downloaded from ESP file \"" + DownloadedFileName + "\" As..."); - int returnVal = chooser.showSaveDialog(null); - if (returnVal != JFileChooser.APPROVE_OPTION) { - log("Saving abort by user."); - return success; - } - f = chooser.getSelectedFile(); - chooser.setFileFilter(flt); - DownloadedFileName = f.getName(); - SavePath(); - if (f.exists()) { - log("File " + DownloadedFileName + " already exist, waiting user choice"); - int shouldWrite = Dialog("File " + DownloadedFileName + " already exist. Overwrite?", JOptionPane.YES_NO_OPTION); - if (shouldWrite != JOptionPane.YES_OPTION) { - log("Saving canceled by user, because file " + DownloadedFileName + " already exist"); - return success; - } else { - log("File " + DownloadedFileName + " will be overwriten by user choice"); - } - } else { // we saving file, when open - log("We saving new file " + DownloadedFileName); - } - try { - log("Try to saving file " + DownloadedFileName + " ..."); - fos = new FileOutputStream(f); - fos.write(PacketsByte); - fos.flush(); - log("Save file " + DownloadedFileName + ": Success, size:" + Long.toString(f.length())); - success = true; - } catch (Exception e) { - log("Save file " + DownloadedFileName + ": FAIL."); - log(e.toString()); - JOptionPane.showMessageDialog(null, "Error, file " + DownloadedFileName + " not saved!"); - } - try { - if (fos != null) { - fos.close(); - } - } catch (IOException e) { - log(e.toString()); - } - return success; - } - - private void UploadFiles() { - if (!pOpen) { - log("Uploader: Serial port not open, operation FAILED."); - return; - } - if (portJustOpen) { - log("Uploader: Communication with MCU not yet established."); - return; - } - chooser.rescanCurrentDirectory(); - javax.swing.filechooser.FileFilter flt = chooser.getFileFilter(); - chooser.resetChoosableFileFilters(); - chooser.setDialogTitle("Select file to upload to ESP"); - chooser.setMultiSelectionEnabled(true); - int returnVal = chooser.showOpenDialog(LeftBasePane); - mFile = new ArrayList(); - log("Uploader: chooser selected file:" + chooser.getSelectedFiles().length); - if (mFile.addAll(Arrays.asList(chooser.getSelectedFiles()))) { -// if ( mFile.add(chooser.getSelectedFile()) ) { - mFileIndex = 0; - } else { - mFileIndex = -1; - log("Uploader: no file selected"); - return; - } - chooser.setFileFilter(flt); -// chooser.setMultiSelectionEnabled(false); - if (!(returnVal == JFileChooser.APPROVE_OPTION)) { - log("Uploader: canceled by user"); - return; - } - SavePath(); - UploadFilesStart(); - } - - private void UploadFilesStart() { - UploadFileName = mFile.get(mFileIndex).getName(); - sendBuf = new ArrayList(); - PacketsData = new ArrayList(); - PacketsCRC = new ArrayList(); - PacketsSize = new ArrayList(); - PacketsNum = new ArrayList(); - sendPacketsCRC = new ArrayList(); - rcvBuf = ""; - PacketsByte = new byte[0]; - rx_byte = new byte[0]; - tx_byte = new byte[0]; - - if (!LoadBinaryFile(mFile.get(mFileIndex))) { - log("Uploader: loaded fail!"); - return; - } - int lastPacketSize = SplitDataToPackets(); - if (lastPacketSize < 0) { - log("Uploader: SplitDataToPackets fail!"); - return; - } - log("sendPackets=" + Integer.toString(sendPackets.size())); - String cmd = "_up=function(n,l,ll)\n" - + " local cs = 0\n" - + " local i = 0\n" - + " print(\">\"..\" \")\n" - + " uart.on(\"data\", l, function(b) \n" - + " i = i + 1\n" - + " file.open(\"" + UploadFileName + "\",'a+')\n" - + " file.write(b)\n" - + " file.close()\n" - + " cs=0\n" - + " for j=1, l do\n" - + " cs = cs + (b:byte(j)*20)%19\n" - + " end\n" - + " uart.write(0,\"~~~CRC-\"..\"START~~~\"..cs..\"~~~CRC-\"..\"END~~~\")\n" - + " if i == n then\n" - + " uart.on(\"data\")\n" - + " end\n" - + " if i == n-1 and ll>0 then\n" - + " _up(1,ll,ll)\n" - + " end\n" - + " end,0)\n" - + "end\n" - + "file.remove(\"" + UploadFileName + "\")\n"; - sendBuf = cmdPrep(cmd); - int startPackets; - if (packets == 1) { // small file - startPackets = lastPacketSize; - } else { - startPackets = SendPacketSize; - } - sendBuf.add("_up(" + Integer.toString(packets) + "," + Integer.toString(startPackets) + "," + Integer.toString(lastPacketSize) + ")"); - log("Uploader: Starting..."); - startTime = System.currentTimeMillis(); - SendLock(); - rx_data = ""; - rcvBuf = ""; - try { - serialPort.removeEventListener(); - } catch (Exception e) { - log(e.toString()); - } - try { - serialPort.addEventListener(new PortFilesUploader(), portMask); - log("Uploader: Add EventListener: Success."); - } catch (SerialPortException e) { - log("Uploader: Add EventListener Error. Canceled."); - SendUnLock(); - return; - } - int delay = 10; - j0(); - taskPerformer = new ActionListener() { - public void actionPerformed(ActionEvent evt) { - //log("send j="+Integer.toString(j)); - if (j < sendBuf.size()) { - send(addCR(sendBuf.get(j)), false); - sendPending = false; - } else if ((j - sendBuf.size()) < sendPackets.size()) { - sendBytes(sendPackets.get(j - sendBuf.size())); - sendPending = false; - } else { - log("Sorry, bug found: j overflow"); - } - } - }; - timer = new Timer(delay, taskPerformer); - timer.setRepeats(false); - log("Uploader: Start"); - TerminalAdd("Uploading to ESP file " + UploadFileName + "..."); - timer.setInitialDelay(delay); - WatchDog(); - timer.start(); - } - - private boolean LoadBinaryFile(File f) { - boolean success = false; - try { - log("BinaryFileLoader: Try to load file " + f.getName() + " ..."); - fis = new FileInputStream(f); - DataInputStream dis = new DataInputStream(fis); - tx_byte = new byte[dis.available()]; - int size = dis.read(tx_byte); - dis.close(); - fis.close(); - if (size == f.length()) { - log("BinaryFileLoader: Load file " + f.getName() + ": Success, size:" + Long.toString(f.length())); - success = true; - } else { - log("BinaryFileLoader: Load file " + f.getName() + ": Fail, file size:" + Long.toString(f.length()) + ", read:" + Integer.toString(size)); - } - } catch (IOException e) { - log("BinaryFileLoader: Load file " + f.getName() + ": FAIL."); - log(e.toString()); - JOptionPane.showMessageDialog(null, "BinaryFileLoader: Error, file " + f.getName() + " can't be read!"); - } - return success; - } - - private int SplitDataToPackets() { - sendPackets = new ArrayList(); - packets = tx_byte.length / SendPacketSize; - log("1. packets = " + Integer.toString(packets)); - if ((tx_byte.length % SendPacketSize) > 0) { - packets++; - } - log("2. packets = " + Integer.toString(packets)); - if (tx_byte.length < SendPacketSize) { - packets = 1; - } - int remain = tx_byte.length; - int lastPacketSize = -1; - byte[] b; - int pos = 0; - for (int i = 0; i < packets; i++) { - log("3. packet = " + Integer.toString(i)); - if (remain > SendPacketSize) { - b = new byte[SendPacketSize]; // default value is 200 - } else { - b = new byte[remain]; - lastPacketSize = remain; - } - System.arraycopy(tx_byte, pos, b, 0, b.length); - sendPackets.add(b); - log("BinaryFileLoader: Prepare next packet for send, len=" + Integer.toString(b.length)); - remain -= b.length; - pos += b.length; - } - log("BinaryFileLoader: Total packets prepared=" + Integer.toString(sendPackets.size())); - return lastPacketSize; - } - - public void sendBytes(byte[] b) { - if (!pOpen) { - log("BytesSender: Serial port not open, operation FAILED."); - return; - } - if (busyIcon) { - Busy.setIcon(LED_BLUE); - SnippetsBusy.setIcon(LED_BLUE); - } else { - Busy.setIcon(LED_RED); - SnippetsBusy.setIcon(LED_RED); - } - busyIcon = !busyIcon; - try { - //log("BytesSender sending:" + b.toString().replace("\r\n", "")); - serialPort.writeBytes(b); - } catch (SerialPortException ex) { - log("BytesSender send FAIL:" + b.toString().replace("\r\n", "")); - - } - } - - private class PortFilesUploader implements SerialPortEventListener { - - public void serialEvent(SerialPortEvent event) { - String data, crc_parsed; - boolean gotProperAnswer = false; - if (event.isRXCHAR() && event.getEventValue() > 0) { - try { - data = serialPort.readString(event.getEventValue()); - rcvBuf = rcvBuf + data; - rx_data = rx_data + data; - //log("rcv:"+data); - } catch (Exception e) { - data = ""; - log(e.toString()); - } - if (rcvBuf.contains("> ") && j < sendBuf.size()) { - //log("got intepreter answer, j="+Integer.toString(j)); - rcvBuf = ""; - gotProperAnswer = true; - } - if (rx_data.contains("~~~CRC-END~~~")) { - gotProperAnswer = true; - //log("Uploader: receiving packet checksum " + Integer.toString( j-sendBuf.size() +1) + "/" - // + Integer.toString( sendPackets.size() ) ); - // parsing answer - int start = rx_data.indexOf("~~~CRC-START~~~"); - //log("Before CRC parsing:"+rx_data); - crc_parsed = rx_data.substring(start + 15, rx_data.indexOf("~~~CRC-END~~~")); - rx_data = rx_data.substring(rx_data.indexOf("~~~CRC-END~~~") + 13); - //log("After CRC parsing:"+crc_parsed); - int crc_received = Integer.parseInt(crc_parsed); - int crc_expected = CRC(sendPackets.get(j - sendBuf.size())); - if (crc_expected == crc_received) { - log("Uploader: receiving checksum " + Integer.toString(j - sendBuf.size() + 1) + "/" - + Integer.toString(sendPackets.size()) - + " check: Success"); - sendPacketsCRC.add(true); - } else { - log("Uploader: receiving checksum " + Integer.toString(j - sendBuf.size() + 1) + "/" - + Integer.toString(sendPackets.size()) - + " check: Fail. Expected: " + Integer.toString(crc_expected) - + ", but received: " + Integer.toString(crc_received)); - sendPacketsCRC.add(false); - } - } - if (gotProperAnswer) { - try { - timeout.restart(); - } catch (Exception e) { - log(e.toString()); - } - ProgressBar.setValue(j * 100 / (sendBuf.size() + sendPackets.size() - 1)); - if (j < (sendBuf.size() + sendPackets.size())) { - if (timer.isRunning() || sendPending) { - // - } else { - inc_j(); - sendPending = true; - timer.start(); - } - } else { - try { - timer.stop(); - } catch (Exception e) { - } - } - } - if (j >= (sendBuf.size() + sendPackets.size())) { - LocalEcho = false; - send(addCR("_up=nil"), false); - try { - timer.stop(); - } catch (Exception e) { - } - try { - timeout.stop(); - } catch (Exception e) { - log(e.toString()); - } - //log("Uploader: send all data, finishing..."); - boolean success = true; - for (int i = 0; i < sendPacketsCRC.size(); i++) { - if (!sendPacketsCRC.get(i)) { - success = false; - } - } - if (success && (sendPacketsCRC.size() == sendPackets.size())) { - TerminalAdd("Success\r\n"); - log("Uploader: Success"); - } else { - TerminalAdd("Fail\r\n"); - log("Uploader: Fail"); - } - try { - serialPort.removeEventListener(); - } catch (Exception e) { - log(e.toString()); - } - try { - serialPort.addEventListener(new PortReader(), portMask); - } catch (Exception e) { - log(e.toString()); - } - StopSend(); - if (mFileIndex != -1 && mFileIndex++ < mFile.size()) { - UploadFilesStart(); - } - } - } else if (event.isCTS()) { - UpdateLedCTS(); - } else if (event.isERR()) { - log("FileManager: Unknown serial port error received."); - } - } - } - - private void ViewFile(String fn) { - String cmd = "_view=function()\n" - + "local _line\n" - + "if file.open(\"" + fn + "\",\"r\") then \n" - + " print(\"--FileView start\")\n" - + " repeat _line = file.readline() \n" - + " if (_line~=nil) then \n" - + " print(string.sub(_line,1,-2)) \n" - + " end \n" - + " until _line==nil\n" - + " file.close() \n" - + " print(\"--FileView done.\") \n" - + "else\n" - + " print(\"\\r--FileView error: can't open file\")\n" - + "end\n" - + "end\n" - + "_view()\n" - + "_view=nil\n"; - LocalEcho = false; - SendToESP(cmdPrep(cmd)); - } - - private void SetFirmwareType(int ftype) { - FirmwareType = ftype; - switch (ftype) { - case FIRMWARE_MPYTHON: - prefs.put(FIRMWARE, "MicroPython"); - PrefsFlush(); - chooser.setFileFilter(FILTER_PYTHON); - CommandsSetMicroPython(); - OptionMicroPython.setSelected(true); - CommandsMicroPython.setVisible(true); - CommandsNodeMCU.setVisible(false); - NodeFileManagerPane.setVisible(false); - PyFileManagerPane.setVisible(true); - DisablingNotImplemented(); - break; - case FIRMWARE_NODEMCU: - prefs.put(FIRMWARE, "NodeMCU"); - PrefsFlush(); - chooser.setFileFilter(FILTER_LUA); - CommandsSetNodeMCU(); - OptionNodeMCU.setSelected(true); - CommandsMicroPython.setVisible(false); - CommandsNodeMCU.setVisible(true); - NodeFileManagerPane.setVisible(true); - PyFileManagerPane.setVisible(false); - break; - default: - // AT-based - prefs.put(FIRMWARE, "AT"); - PrefsFlush(); - chooser.setFileFilter(FILTER_ALL); - CommandsSetAT(); - break; - } - LoadSnippets(); // reloading needed - } - - private void DisablingNotImplemented() { - if (OptionMicroPython.isSelected()) { - /* temporay disabling not emplemented functions */ - LineDelay.setValue(0); // micro python very fast :) - DumbMode.setSelected(true); - - MenuItemViewLeftExtra.setSelected(false); - //MenuItemViewFileManager.setSelected(false); - MenuItemViewRightExtra.setSelected(false); - MenuItemViewDonate.setSelected(false); - MenuItemFileDo.setEnabled(false); - FileDo.setEnabled(false); - MenuItemFileRemoveESP.setEnabled(false); - MenuESP.setEnabled(false); - FilesUpload.setEnabled(false); - //MenuItemFileSaveESP.setEnabled(false); - //FileSaveESP.setEnabled(false); - - FileAutoSaveESP.setSelected(false); - Condensed.setSelected(false); - Condensed.setEnabled(false); - - /* enabled items */ - MenuItemViewSnippets.setEnabled(true); - - } - } // DisablingNotImplemented - - private void cmdButtonGPIO(int gpio, int value) { - if (!OptionMicroPython.isSelected()) { - return; - } - if (!pOpen) { - log("Port not open, operation FAILED."); - return; - } - if (portJustOpen) { - log("ERROR: Communication with MCU not established."); - return; - } - log("Send command GPIO" + Integer.toString(gpio) + " : " + Integer.toString(value)); - String cmd = "from machine import Pin; p = Pin(" + Integer.toString(gpio) + ", Pin.OUT, value=" + Integer.toString(value) + ")"; - btnSend(cmd); - } // cmdButtonGPIO - - private void cmdButtonGetGPIO(int gpio) { - if (!OptionMicroPython.isSelected()) { - return; - } - if (!pOpen) { - log("Port not open, operation FAILED."); - return; - } - if (portJustOpen) { - log("ERROR: Communication with MCU not established."); - return; - } - log("Send command GET GPIO" + Integer.toString(gpio)); - String cmd = "from machine import Pin; p = Pin(" + Integer.toString(gpio) + ", Pin.IN); p.value()"; - btnSend(cmd); - } - - private boolean pySaveFileESP(String ft) { - boolean success = false; - log("pyFileSaveESP: Starting..."); - String[] content = TextEditor1.get(iTab).getText().split("\r?\n"); - if (PYFILER.Put(ft, content)) { - pasteMode(false); - success = SendTimerStart(); - } - return success; - } // pySaveFileESP - - private void AddPyFileButton(String FileName) { - PyFileAsButton.add(new javax.swing.JButton()); - int i = PyFileAsButton.size() - 1; - PyFileAsButton.get(i).setText(FileName); - PyFileAsButton.get(i).setAlignmentX(0.5F); - PyFileAsButton.get(i).setMargin(new java.awt.Insets(2, 2, 2, 2)); - PyFileAsButton.get(i).setMaximumSize(new java.awt.Dimension(130, 25)); - PyFileAsButton.get(i).setPreferredSize(new java.awt.Dimension(130, 25)); - PyFileAsButton.get(i).setHorizontalAlignment(javax.swing.SwingConstants.LEFT); - PyFileAsButton.get(i).addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(java.awt.event.ActionEvent evt) { - PyFileAsButton1ActionPerformed(evt); - } - }); - // PopUp menu - FilePopupMenu.add(new javax.swing.JPopupMenu()); - int x = FilePopupMenu.size() - 1; - int y; - // PopUp menu items - /* - if (FileName.endsWith(".py")) { - FileAsButton.get(i).setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/lua.png"))); - FileAsButton.get(i).setToolTipText(FileAsButton.get(i).getActionCommand() + ", LeftClick - Run, RightClick - Other actions"); - AddMenuItemRun(x, FileName); - AddMenuItemCompile(x, FileName); - AddMenuItemSeparator(x); - AddMenuItemView(x, FileName); - AddMenuItemDump(x, FileName); - AddMenuItemEdit(x, FileName, size); - AddMenuItemDownload(x, FileName, size); - AddMenuItemRename(x, FileName); - AddMenuItemSeparator(x); - AddMenuItemRemove(x, FileName); - } else if (FileName.endsWith(".lc")) { - FileAsButton.get(i).setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/lc.png"))); - FileAsButton.get(i).setToolTipText(FileAsButton.get(i).getActionCommand() + ", LeftClick - Run, RightClick - Other actions"); - AddMenuItemRun(x, FileName); - AddMenuItemSeparator(x); - AddMenuItemDump(x, FileName); - AddMenuItemDownload(x, FileName, size); - AddMenuItemRename(x, FileName); - AddMenuItemSeparator(x); - AddMenuItemRemove(x, FileName); - } else { - FileAsButton.get(i).setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/file.png"))); - FileAsButton.get(i).setToolTipText(FileAsButton.get(i).getActionCommand() + ", LeftClick - View, RightClick - Other actions"); - AddMenuItemView(x, FileName); - AddMenuItemDump(x, FileName); - AddMenuItemEdit(x, FileName, size); - AddMenuItemDownload(x, FileName, size); - AddMenuItemRename(x, FileName); - AddMenuItemSeparator(x); - AddMenuItemRemove(x, FileName); - } - - FileAsButton.get(i).setComponentPopupMenu(FilePopupMenu.get(x)); - */ - PyFileManagerPane.add(PyFileAsButton.get(i)); - - } // AddPyFileButton - - private void ClearPyFileManager() { - if (!MenuItemViewFileManager.isSelected()) { - return; - } - PyFileManagerPane.removeAll(); - PyFileManagerPane.add(PyListDir); - PyFileManagerPane.repaint(); - PyFileAsButton = new ArrayList(); - } // ClearPyFileManager - - private void PyListFiles() { - if (portJustOpen) { - log("ERROR: Communication with MCU not yet established."); - return; - } - try { - serialPort.removeEventListener(); - } catch (Exception e) { - log(e.toString()); - return; - } - try { - serialPort.addEventListener(new PortPyFilesReader(), portMask); - log("pyFileManager: Add EventListener: Success."); - } catch (SerialPortException e) { - log("pyFileManager: Add EventListener Error. Canceled."); - return; - } - ClearPyFileManager(); - rx_data = ""; - rcvBuf = ""; - log("pyFileManager: Starting..."); - String cmd = "import os;os.listdir('" + PYFILER.pwd() + "')"; - btnSend(cmd); - WatchDogPyListDir(); - } // PyListFiles - - private void WatchDogPyListDir() { - watchDog = (ActionEvent evt) -> { - //StopSend(); - Toolkit.getDefaultToolkit().beep(); - TerminalAdd("Waiting answer from ESP - Timeout reached. Command aborted."); - log("Waiting answer from ESP - Timeout reached. Command aborted."); - try { - serialPort.removeEventListener(); - serialPort.addEventListener(new PortReader(), portMask); - } catch (SerialPortException e) { - log(e.toString()); - } - SendUnLock(); - }; - int delay = AnswerDelay.getValue() * 1000; - if (delay == 0) { - delay = 300; - } - - timeout = new Timer(delay, watchDog); - timeout.setRepeats(false); - timeout.setInitialDelay(delay); - timeout.start(); - } // WatchDogPyListDir - - private class PortPyFilesReader implements SerialPortEventListener { - - @Override - public void serialEvent(SerialPortEvent event) { - String data; - if (event.isRXCHAR() && event.getEventValue() > 0) { - try { - data = serialPort.readString(event.getEventValue()); - rcvBuf = rcvBuf + data; - rx_data = rx_data + data; - TerminalAdd(data); - } catch (SerialPortException e) { - log(e.toString()); - } - if (rx_data.contains("']\r\n>>>")) { - try { - timeout.stop(); - } catch (Exception e) { - log(e.toString()); - } - log("FileManager: File list found! Do parsing..."); - try { - int start = rx_data.indexOf("["); - rx_data = rx_data.substring(start + 1, rx_data.indexOf("]")); - rx_data = rx_data.replace("'", ""); - s = rx_data.split(", "); - Arrays.sort(s); - TerminalAdd("\r\n----------------------------"); - for (String subs : s) { - TerminalAdd("\r\n" + subs); - if (subs.trim().length() > 0) { - AddPyFileButton(subs); - log("FileManager found file " + subs); - } - } - if (PyFileAsButton.isEmpty()) { - TerminalAdd("No files found."); - } - TerminalAdd("\r\n----------------------------\r\n> "); - PyFileManagerPane.invalidate(); - PyFileManagerPane.doLayout(); - PyFileManagerPane.repaint(); - PyFileManagerPane.requestFocusInWindow(); - log("pyFileManager: File list parsing done, found " + PyFileAsButton.size() + " file(s)."); - } catch (Exception e) { - log(e.toString()); - } - try { - serialPort.removeEventListener(); - serialPort.addEventListener(new ESPlorer.PortReader(), portMask); - } catch (SerialPortException e) { - log(e.toString()); - } - // SendUnLock(); - } - } else if (event.isCTS()) { - UpdateLedCTS(); - } else if (event.isERR()) { - log("FileManager: Unknown serial port error received."); - } - } // serialEvent - } // PortPyFilesReader - -} // ESPlorer diff --git a/ESPlorer/src/main/java/ESPlorer/pyFiler.java b/ESPlorer/src/main/java/ESPlorer/pyFiler.java deleted file mode 100755 index 216043b..0000000 --- a/ESPlorer/src/main/java/ESPlorer/pyFiler.java +++ /dev/null @@ -1,89 +0,0 @@ -/** - * - * @author 4refr0nt - */ -package ESPlorer; - -import static ESPlorer.ESPlorer.sendBuf; -import java.util.ArrayList; - -public class pyFiler { - - private static String dir = ""; - - public static final int OK = 0; - public static final int ERROR_COMMUNICATION = 1; - - public pyFiler() { - - } - - public String ListDir() { - return ""; - } - - public boolean Put(String ft, String[] s) { - - boolean success = true; - sendBuf = new ArrayList(); - - sendBuf.add("f=open('" + escape(ft) + "','w')"); - for (String subs : s) { - sendBuf.add("f.write('" + escape(subs) + "\\n')"); - } - sendBuf.add("f.close()"); - - return success; - } - - public boolean Get() { - return false; - } - - public boolean Rename() { - return false; - } - - public int Length() { - return 0; - } - - public String cd() { - return dir; - } - - public String pwd() { - return dir; - } - - public String GetParent() { - return ""; - } - - public boolean isExist() { - return false; - } - - public String escape(String str) { - char ch; - StringBuilder buf = new StringBuilder(str.length() * 2); - int intValue; - - for (int i = 0, l = str.length(); i < l; ++i) { - - ch = str.charAt(i); - if (ch == '"') { - //intValue = ch; - buf.append("\\"); - //buf.append(ch); - } else if (ch == '\'') { - intValue = ch; - buf.append("\\"); - //buf.append(intValue); -// } else { - } - buf.append(ch); - } - return buf.toString(); - } // escape -} // pyFiler diff --git a/ESPlorer/src/main/resources/resources/AlwaysOnTop.png b/ESPlorer/src/main/resources/resources/AlwaysOnTop.png deleted file mode 100755 index 1b023d112c1efa1ab67ae9697db6cf1c87c259c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 828 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GXl47#jk7LR|m<|IZL};@rpoa;yHQ z?f!rD^Z(fw|C_G*&mi6T_us!?zyGKk+r9t%{qwhOen1FUlY9~WwJ5Ma4rmJoI$l*QH6@cA6$SO5P{+MrxL zq5RFObt?}(=XYXEuX4F0$-X(geMO12bEuWJxmZQ9$kY^@!l)%4`HxKZENDD1tI6mR zOYAJ2iHbY^Na^}kEO2tnoGl(FadFA6^PJ&53#00i!v$_tBt^;RJ?pc%?Q+(H=d;C$ zN&jrWycJ*eK#IjdQ418MswJ)wCCNppi6yDJDL{h3$iTot*U&)M$T-B%(8|=p%GgZX tz{1MFV5M;6J(z~v{FKbJN~{_ztxOFd8ur|;$OLL&@O1TaS?83{1OT&}Jl_BS diff --git a/ESPlorer/src/main/resources/resources/ESP8266-64x64.png b/ESPlorer/src/main/resources/resources/ESP8266-64x64.png deleted file mode 100755 index 1cc97aee1c39e2b958cf7c34d608553005903aa4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3111 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 BioXB= diff --git a/ESPlorer/src/main/resources/resources/ESP8266-96x96.png b/ESPlorer/src/main/resources/resources/ESP8266-96x96.png deleted file mode 100755 index e9c073d5a25912f2861484a85d0b68fab0fd58b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4886 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 IM6N<$f_*qAzyJUM diff --git a/ESPlorer/src/main/resources/resources/IoTmanager.png b/ESPlorer/src/main/resources/resources/IoTmanager.png deleted file mode 100755 index cdac4a6fa237eab3c25302779ff3603ade24c3a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2272 zcmV<62p{)}P)pF7<5HgbW?9;ba!ELWdLwtX>N2bZe?^J zG%heMIczh2P5=N1UP(kjR7gv$mU~o__Zi1^b8Xjc-PY4{c6QeNv+j?cbv>u++G@qy z99nG=Z*|^U*Qs??3lzfM+5JHdy!W{%cAOS+SBM|~5ToWLKi_iuYTO{vy zzl7A*b?w@oe$RQ%n?LeApZEDam-n~o|0ypo@5f0=Nk3z=*-xdWrv8$msGpPHj{{ik z`O6O@67*RvPY}%I3)5ox;_@&mz2O=+y)l$6s!ret{ug%v9V-;Aa?^Ji##r zpZ|yNlsTWz|235=>I+v?KDeaR;GDb$0g76fCg%`Q)P!t(9~w<#bl0ezZXL4G;J%=b<%Nj4n>Tb3m@8EsZ^NbxRLD^T}Ok3}$Clt@fr^BH0oa7WN}g z_^*n~=ld{A)Ju%ob|k6W5M9v(QG)^JWLgyIZqdd=iRj-N`i1>H4CXhYF!)v+2KFUm z=v@lND^eKsx99 z@32RJ=4}xe*cpqVT?rW8lY-H=*{~d>V0lLfQ-}f<^0M~n8Ryu9{p?quHk<8v`}`+M z+}bv9>N=4^vW%&0MnUHQK9Hy}tf-^E3^RF$Kg@1;cQQuyvj~g}>k$FQkBKqyuMA9_ zl%j`KOfQVjI_vA}H+fJi>gnmdG&Va=Csj2gLDh;_@(eF)L>|fTN}djPEz|UTQ7fkS zm9SorU~qpT%sZl2vfE3tJHUbUFdt*@irg?8flZ#u#?)y!#sc$@!%8!YDA5aUm@8d_ zp;v63okwJ;&J7AB&2qJ{9#VY|{AC(AYP&IVf`avu6n1tw<_elHU)+Y}N+%o5P;z%l|YL34QaBAN58t`+u_O4Xn_ssKJSh3LH9og=<$#o+|ijZ7gLSd^DE$+!PyT46m`@M zl*x+g1_mb)OxD+7K`9RNOL34_f`3p&Xd9j+t4)P&(~!smc|T+1 zK}>idY=%*co)zJ4>kwwImSWmZ34N$^QNZPHaRDD^vr-i{+Z>%<*+lPU6<`lBUuHhu zN>(DNyak~JdURW+tfQl&zw&V0BIERAf4`;jw7-6a`v z+fg@($Y?Y^X6zft3XUjnre)M4I4I8z``nm`<*)|HaJQx()(@m~LA*#qCSr}-nakz* zrHLz++d78nz|0DIV`MhGB4k(>CdF$Znc%5!!Y73sui0Abs+r4Y)M~xTrm8<l%V`|J8RE9`CE;*5&kOiD4vAEULR~k#mOx&< znt_*s((&TuG`ugaL_oF{f|@RRaAd^SY&Hv|*^SQd=wgUcwb;9xg?)S2IIxdHpp+Zh zTGi@YXza&CSOMgT!rsr1(=FHVCnu)%c61Cuu56-x;&SlkKrvqM*sIqvq3N}fBhJIT zr|PrI*OU+lYO&jw37t+qMMqOvGDnCS&(5296w} za8upoUWEgpIdoPsuQ(+o<)Il~l&uJhD#q2&e4IU(<$eiSwjS>s6XJERNMaH2+8BvVo1+Od&Yh_= zLxYdWEnqCS4!JR0i;ydP(G&iEi`4Ro=t$ns(Zf6lcs0;y`%qTig<4H7{Ljg-aZ?mt zdp#VltPRDh>%y>heK@=}M8SJo97LiUSekWUs;!S!hI5C=?e34Bu-_~$SFktmBIR&3 zgR2Sl>|tRm$-o6$N3wFkUi#}b{NW>#IBI#W@GvUD0qqoyik3naoGF(YF%0 zb^V0R=A93^%$fG}O{BfO<4CPyu%2Y&s@+bXB;;Jz;I?hnX)}*}tdz;?Gq}Q+U4EVr z-%k`J+!Pzjm0rBax_|0a^5V&pNsDpunGY5g?qPCrvcb^Wem+|w@p`zjeh9g`m(0=A uWXW$Pjj+je-6!A0$2=?UJ6`u!t@;lKGdj>(u?`ae0000l$;<{S`2QcMDdX?y2SAFyB*-rqD1rnSuH2ci z5Gci%jc?PRtcNU*HHF&#*QUBnP`Z0%tnr_9sEF@)oK zas@jp&wII3dzlm4$`7@@cbM^TVdrKU4r7}l%Vdq3W3K%V=RWI6>pth{VA@}{K5A<; z|A~s_adB}hm;U+b=;{jQ^f59s8{e42z{VCf!Eza+4;RlthhitmFLH(k3}<&9`0{Qp zlkf?dz2ypL7>d~#&SZJ;8(7%70$re5;u=wsT$GwvlB$~mBp8eg3@mgF4Rno+LktbA zOf9U8&9n_HtPBiR3P;|9X~@k_$xN%ns=?CA)BvJk&;5!_paup{S3j3^P6Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!~g&e!~vBn4jTXf0xL;GK~y+Tos-XN z({LEZ^JlE>Hf@_Z>85D)FuizH6p{T4p1gYTuW$!N6b}OhMHB>2B2Jm5b!lb`b=EeL zvBcV6RLr{W2V0|$&-+a>dhlf6llRy2K54$B+OW6)cRc-H$gZ}*q@SHZ|LhF5NDwpF z3VSk>el#0JcC~fhx|37r2opM^j_yR1hkXTW>B%gtWmmHkDKuH^e=1>UudBRCVT;06 z7@JYf#iqbquoE<}cxzDboejDEZ13RrFYn(B27vEl=jAJ#1=#1-d zr%%G2nuVj!!qrcx+`D~8X?izrDNQX-gEii47Q(RA#)0F)J~FN9AD8FRh`2J3-H(Pc zXk5Gsn-7v*trAP2&cm>{u=(tT5;&Kx!CQO;zt>X?Lws)&gV%4U=g%hLc%s~@tv zR>gMFgme8ys7=EZ1A_)-77?9$5AgHpbCh_vWg3por2l2^!eK4DT45{+lZDCmDIY%# zzu(7xyMt94tg}E(jkaSA;p2gL%{s w^7mpOf5{~#!rKv+XdDpaK`$bh4T}r-3#Ex{wHdWsCIA2c07*qoM6N<$f<00wXaE2J diff --git a/ESPlorer/src/main/resources/resources/backup.png b/ESPlorer/src/main/resources/resources/backup.png deleted file mode 100755 index 76fd09eb8927114d6ee51cc194a493d8c1de4ae4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 856 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GXl47#jk7LR|m<|F2{2bmH>e8A~@b z^v+tjd4F1dW&4x`#&(`zap~D5b*Z^!ljf~V&MuBi%in(R^tJ=1${Kq19lsP3lbT&p zlU-aBos_+D%Yo?RY#npw>-V2mwNAKr>tS9+b4qr}pa1`FKYI1z{nv$Sw!i=S=fuTZ zUO~};kxA1QuhTMhn7wS{w1unl%NvujN-Gs?e0?VvA^&ski%Kv5m^kRJ;2!QWVRhh zu&lr_9Y}){21CrTwTFS66`n4RArhD8p13L27{K86@P5gv;y#y-fWQ+GGcP4P`y1cc z9d^3t*aqWb66(^pUbgp)IN5ix6pl4UdGg(YZ2-%WanmT8khFjUiqE1`|l-~SZz@QIwvucTJ zL`iZ{YGO&MZVHfKFfuT(&^0vBH8Kt{G_*3curfB&Hn6ZVFjy%Zc@L%`H$NpatrDvS aODj_Yh=x7)D>8u^7(8A5T-G@yGywp6-$$hY diff --git a/ESPlorer/src/main/resources/resources/backup_delete.png b/ESPlorer/src/main/resources/resources/backup_delete.png deleted file mode 100755 index 1c8f3d13a8b287cfd4cfca12a85526a4bcf95767..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 889 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GXl47#jk7LR|m<|38_5;glxB%FX*{ zEZy+`%>RboSvuxU?Nb)~*JPM9Z{`0Sk^jvK|9yD=8#A1^d^at>(%8=P*!dfWj-ARb zsfkO=o3?n}-eVW{9lsQpmfzGrCpINFBqp_G;@s5SvWvGKR<%yhwQvrLOZN(jzWwM` z3Q$kylz~NPtio|d~2`mZn3kJH4 zs(>Nm&5DCS!x@vj-CgQE_7^?{aySb-B8!2v2N=7Z%(epwmK8Xr18Hy?VTd`l_ArpM z&(p;*MB=jRnWub*90XV%+-zo!^2#hM2ZHwR^-}AW9GHHle{PCc-wx#@W7i{%+M9ly zeAMJ*5VCc~s)Y%Rn*OQ@rmR}?L~fmoSS|gv{qVnx?V{e>0`;>t#hg+X`Z-A_`>2)F z&Zy(zey^)`y?K45i1*F2(`m&QF1I&a=f1O0_uTp0&$h%FvPoF>ESq_zg8!JMans2+ zFT@UsoqhIIZDUgUqTV2<4Vxo17j z0DYob;u=wsT$GwvlB$~mBp8eg3@mgF4Rno+LktbAOf9U8&9n_HtPBiR3P;|9X~@k_ f$xN%ns=?CA)BvJk&;5!_paup{S3j3^P6*W6bXZZjB zKi6VjhByX+3;_lohP@}RFr+ZFOqjzE#Zc8gRma@v=EGMT_nld{`(*3HxmM2pdgdK81|jI%8&|j573$TLCuGk ze}O7YOM?7@f$B*H3^iLXfI^8e$=lt<-Y(go6v*K$@Q5r1(jH*!b~4)zBv@A9m=2`D z;m8nkZ0%tnr`glRF+}2WY;UAklYsz>x`6W`y}TWbiJW`d7blx+ISbmf?fj7#y{mw|WuYyXRA zCoXp5O8eSkTYh)$N?wD{hh3!;+Ljnk=vUd3t@HZ#WXV7OpB`o3zPBg;@_Q9NUcpV~ zKw3pf~D7#Joq zFic?(TFT*f)m}75l);lB;k*GuECc&|j{hL1kOrjIuqgm_7?cG01p~E{0vM8(UZ?=- zWlZvRcd@riHYf#hI14-?i-EKU7`vU!wgU;46*#5?X>brS#2j0D7|6-=ba4!kxSV{! zotdYFMWTQ!Lv!PXf&xXBCz6g1;#voeDxN!`dscV#$-}1^#2zH3q@<>bCr?jqTO}Y6 zcrEy$_@nC+8o4sGwF-(>d9Um=a^A|oC@(#`Z$XQ}q^&hRK0d1^{g7!3X1Khaq2;T} zngTlwU!bL`C9V-A$wjG&C8@e8K!U-@z`#P+&_LJ7IKObs9!_S~h($ diff --git a/ESPlorer/src/main/resources/resources/connect3.png b/ESPlorer/src/main/resources/resources/connect3.png deleted file mode 100755 index cfe571c8614d183a692242fe471827fe4f66fbe5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 443 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbK}LV!<*>*QF5czcHb%eDRk!A*w$ z_Zj|QVfg=_A=HfF{|AQu_ZTwW84?{BqAVExe`omrgyH{dhW~dMa=jS--)8u4y%(9i{(VIhyU?=P7LFZkT?RfBW4P6U85woIQ6?=F+aCU*fe( zHeQZ;%W{izi}D{?xuvOs_m}Oo?EqS$TH+c}l3bLUSdyxn0wfrW3=AxE4GnaSj6)0! ztxPSfjLozSEUXL+RtiVngK5akPsvQH#Hzv4%G3a&VbA@FOrQn^Pgg&ebxsLQ0FBj~ AVgLXD diff --git a/ESPlorer/src/main/resources/resources/copy.png b/ESPlorer/src/main/resources/resources/copy.png deleted file mode 100755 index 887a81820993f9401ff0addd9b1624b95118f69e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 452 zcmV;#0XzPQP)BBB?9II$zLf7i+jButE+3AUtIjT{&jr?unFt|`@sIsIKCW>Mm`>o zJxx=ePNzPb&3rze`*1k)e!uSrN5^--hP#8iFGaK2JSYH@$z%!e_WtgNt&`ut24uB0 u58CbaEr6NThW^;?zWu$wzj61E;_ee(lA5Vzwmt9w0000gGfBvx`i%TR#? z04p;yn;0LL2rCN{8%#_&W2TO&s?27h3}9hqViV-yWMg4w7GPjtV316lqE_f{xl>w* zmsl4tu?g{TFfcMQvI)mdkZFu`*v`Vl^k?1iYl+0VfSZqtoq>sw(XKY!e!Z5gh(hPO z!;!BR=DmO``v3nwP8`y;sq^xqkN^8NpZ|X6<=6k_Ws7pq)nIi2pItl?0|NsCD=P~V z7ds1snv^g{>*^zmPISgjL05}nfUs-2lyTO))uxWY7j-k|FXiK4bNc-KH^b^9SB`Di zeuBx40lAI)<-F2Ua2g~|SLD<^C-NA2abPvz*N^XCB-QkcoSN4k zHSq|`xUlcQt;44ty?OQI{+CM&v+Zx4+_#vOgM*8mgHs5r0kq@h=;|S2REJxOUg-I*nafZ*}1XmI1NAtyhh$^ss>>f`9#GOzP^9=>c-jS g#-Gn_d4sG50N}du09yuu%K!iX07*qoM6N<$f}_?&-v9sr diff --git a/ESPlorer/src/main/resources/resources/disconnect1.png b/ESPlorer/src/main/resources/resources/disconnect1.png deleted file mode 100755 index 504cca3f78bee6d1f2b023ff308836c42cb1e5ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 830 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GXl47#jk7LR^!wivL@){|ACI|L3zZ z>^*tqq#{Fo&&;a!sW%_KIw8x@GGWetONNd6&ghss{kLa0V?Hub>hyGw`~*V>^OR9A_K#!?MDl$J0>wO96Wo&(8m3|HbX*2;b}#NmWgw-OKK7` zi_Tk0s@QlP)fH&$o7K=WvvuO!{}v1f&RnnUoZ3Elfw`m4WmSgT27Em;mh>?&sF}O2 z+kNt+I)ko-b8cCKscXRY!xv7F)Q>vv6IDQE&P8N<3&u?(OSynxq+(CQUFNPsd1D6q1fbhgOI#yLl8aIkOHy@HfCPh)fq{jtp@FWEafqRzm8pf5v6;4k sg_VK9O5wFVdQ&MBb@04OjZoB#j- diff --git a/ESPlorer/src/main/resources/resources/disconnect3.png b/ESPlorer/src/main/resources/resources/disconnect3.png deleted file mode 100755 index 1c413d182e7e308942f1263ddfbc3711cfdd066c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 585 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbMffdHQn*U7OAlNlIJX)^o=f;0dB z0~y8)|C<&5=ZO4YuJzxCC*B??#Sm)7@c$;m-VM|K-)H!Lh2j5ehW~G;<$5vv|1>Sr zo#FozhX4Qm{lCWWX&=M??+j5E3~@FLi4F|^?}3a3T17ixz3KO7py`SwL4Ls?FW>_V z^ABE71S)1s@^*Kzw@WrC1#&nGJR*yMvQ&rUPkkm@&j0TYDJDsq=Jk z43W4T+sDn{Y{1dd?{vHLvgP->)BpcZJ?tg+b&~gCcgu!d8|uOt_OLv7&eZUIMtb9K zBlc_hE3Cp9>SXf|KR$Bjs{Hl$&+l&AamP8p^!GGo_K60!91l;~>~YRyZLZhyErt{C z2bP)bH?3ql7M0|6(RfW*SEq*SulN-%SM8ZUio}#>Y$yV{M76{R0bdoLm|L^mi zO)~?@8vrZ(Z@ik>N7XM@bse6XCV&)>07g^Rah(*j{vR)2qD0Kdx$tVCs%_} z^k>Pz@@haKoO2M7E=W*hBu>Jjfsli^50ahHpj>jXa zs=|K1e+KZDBRzx=?0i03(=^t$t;HBkRZUgRdvAxs!Myjj-EKbt+$HVsA_`R|2{S{C z5hStO?Y`FQ^*y?egb_hh{gwH0xtOY2UDvkRY+mxrDcFDK+qC(|cmwc0?ZOWV9i=fY SaO%wf0000!^=T_?$aJpj+vQWcPB&#!A(Aay9r+wG zN?&Y*XtAjwP3*HFUD%Gxl}Enb^+l@fk-AFpdEevyjC=hB&tG1_>>&TuyLSRt@Xi6i zR}bOTd+JFoRQtlJ<;skxKOojoi=O79~2B(Og$RX~TubPr`OSgDs%ySn@JCemD&_Z_h3u;FU#k#jmix zGCMzWNU<6h#0&R@GuUwq<}OjD6x$Iu_`A|PsD)2kV0|zaxiy2*PHUc zW(4zfxmZpj%Tl@w!;dnU(eR!OPY{cUEZDT&+*<;xyf+$tBFc13oxy?)95`~_*jkR^DNyC35Ceq@$#qoAkK9hfE{izcGc+MC6Kl7Ndq57?+HMMU_Ra5pIfMx(C2vV zyi-%s^2rju z_Why!p`*TfN9{K9472yDYM}AR>#>238|ooliq2{0hO0FrEg25&;I>Pl&ARooL*-%T zw&c1L_%3+cBO{gDidk9nmY>h!E#AZcyp7tr=l2DHoyp;i3Cj@YYyJk$;v1GB@|X;H zQoPEsw=^w4SnSaN>}QEV^k9FI3tp7U@;2Z4XkjJHG(dcPg?Qri=pTw0Vl;IIe!Ww{ z?P_RC!8eZ{%8Qu)!1ndjl}Id&XmZR*ptDvRGTEL?t z*_*!6TM^DmFJ$k&PdJKHS6D_?)f)LHXDB?2pQ{=#0m7>BQyMYbHUxA!=#f$u(u{Px zP}@!d!gKZp5VlA=2EyFhX1VEa42^rmAuDPkW2>#d^C7h_>Yv9o64e3BdBk!bY!;c1 z8o+`L2+{OPg$(O{ik6mRN$^R$O76V=%H$T2mxt<{4!r3OaT}mb3-b-v zI|r{C39=^NVC%a>eUGo4wjCm&4xe!`+BCLPIIXv0vZwX)C|S{)hk|#WVfMoN2i^@F zd0L$`ure@bA>l2yS@C{YIydh9NXBAS!w7CGvGUFhUNP|~|NFR!$AvMf)sI8O-*wNt zDP8elwCrr$hi8=)st;qOrs3qR9{pc@d{KKp?&Hgbr>c+UTOIQZ&!^kROP06J6->Um zvsgVj-nq&&Y0m<>9w#oHM*j04Mm_bmKglxnZaBu<%IVt>%bX3P6>92(&6PJ81_J&C DPfQA9 diff --git a/ESPlorer/src/main/resources/resources/donate.gif b/ESPlorer/src/main/resources/resources/donate.gif deleted file mode 100755 index 4700ced8c066bb1c4f057c4d4c6432d3c8c45c42..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3592 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 diff --git a/ESPlorer/src/main/resources/resources/download.png b/ESPlorer/src/main/resources/resources/download.png deleted file mode 100755 index ec7c7b7791c742515002f92b3191c6a1d04553ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 620 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbMffdHQnSB5l(|Ns9p6f-bP|Ic7N z^Y^b`3`r*{?%FWKoVW)Rk3YdMlcD=vh~bL=?Qa7ZX8vz~6;N>3uHcS+;6cqPhbCY6 z_@AMfL2a7o%KwEspG#P*P`UBrKU*6!L*&sfKd0XObBH0~Bx@@ZODhvY%4vo<|93xK z;j@@)%HGNL^Z6JOj!*iXaQ(}FhNP369jyI7WAbj>*eN|&kAxC5#V|4Tt=WW zlae66V4xOK0fTqAQYuhCW0JSKi@ja4K`D^KS>O=~3=jqnFm^kcZ3hx8D{xE)(%@iZ zh&i_QFp$&d>Eak7ak=)~O`$^u9IOFMo>#Bz-TLlY?fsws>xF}FNyewNwO2FwG|V(V zoh`Ca%;Wm<=wGdje_JQdkMG#Cov-AOS(Jra9X8lH7W)aw!XDFxSCo-q> z<-d+&3BpV=FNom`#Ax&DJ)wYI^R{EPzG?_X9NFg~nP7jl5XbmgaHucN=% zO}@%>wtkdL0J==I#5JNMxhOTUBvm&BNH7=~7+B~U8t57shZq`KnOayGn`s+ZSQ!|s n6pp+H(~z5=l9^VCRfDCKsR2a8p8FM-*2&cYOH& z?Z>ZgA3yqp#s=*E|Md08Gcy@d@+!W5`*HC5|GWSGfBO3K*Vj)4HSOZd|5vn3`2O?v z^KbuqZvF4+Il(aT|DwnLGm7i#Iwoy<`#<*B|DdRpKSvlejP0|d3=%U-zJ34c6&$;` zSfU_O^~ksXFW-Op`~Uys2mcd~|Npd~p{{FsNkdQjlm)Y9@69c5x-f^~^1uH-e*XIL z`Sa2f_YWO9`t`@JrvBND{j*yq&z;bJIw7;<-KTFLpAJ5-QX}yb&{h5=L4LtN7g7;0 z*oJM`3^bZC$=ltf-eZ5^Qy_=4z$3C4NPB>>+sSM@kYHJXV>*xqrx1piV`~osIg34A z977~7$DVT)I^@8>deL5Zk$}RE-9Yf{-| z?bIq1pM5pra2HSI{#DZ~^!CcCrOh&Jv4J9*mhsQdHnVJR*4*jJ~^`DRC67tpz?C9V-A$wjG&C8@e8K!U-@z`#P+&_LJ7IKObs9!_S~%ZZYM@z4NmCZkQ=FI;~KmN<+U;qDliA?^*|7ZSBW?%p+1=>k< z&|=1u4K!4xB*-rqXaym_5TV1%3sldTzopr0BIlGO8@`> diff --git a/ESPlorer/src/main/resources/resources/file manager (delete).png b/ESPlorer/src/main/resources/resources/file manager (delete).png deleted file mode 100755 index 587b183060fdf102630f8f99d68d2db15f3c1a7b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 918 zcmc&ydq~r95Wf{TGtH?JDpYDBD6#r&X4uqh;+*D#<)qY{k8;k{#I1&pj0!Wc0!`*z zl2G;%&5R-;r(u?w#j==UQ%l{n6f;P(hv~e&8vWOwK?irAyW>9hfIBCO5jxmyv;zQ# zi15%@f{bOgT}`Yv+ffWaJ1vTe6Ch%_1YY=n2B16{aJ&%>BnMsPfC?s_*@RK{)@Pte z0rUm*0bB%Z1{|VehmExpumx}sO2mLa0ZpJu25UDY@&M-n+i7S}q2&Ua3vs*whjVf2 zuB8Di4?vd=mOA+Iwi5MlQwjJ^j$_s1O@ISnt_PepU@zT5oR2T9T~H89I@7VQ76${d zpM{TUDZzloYdD;MQ-)hAs7ND~oj7EJ3xG2%@&2Tq>L>$zeHDiUXmUj)gJ{^JO4|*% zw1i6_34}>wC62=KssB~Z8|OG=fqm-O7%^Gq-wW)CRt%5{w1bht&{N@Us`n&VqYO_t zMlgIu!=4}6wVcdR@?`{99tD!R?mQ(ye?%xhZhdc%K_-48Vw^Q=S~%^O!ff4dL^>&$ zT9*6ts^f?$s%>LGdZu-<49BU`Z&$=R=a{Awv-_K;s7&_&`%jAgbqhH{v8Wn)Lu%-) z%reno!Pvw-leb5fmN}_aTP)nFYKfQ8Rl*O@evj^XRXZrm)62K(n-X0z8*4_t(jHoq zri-8`HE&ULol(5Gk3W)pd+$Z*hGMDHTus~H7&BvEF!g&zK|YOMo@M)|BCPKj^?CXL6yJS`e>3bX1zAma@}{0WL-P zvpE!->l?@6@cjIFzB{&1{yd7Rb4eKfL&(ZbmuKYvm9UfNNBt(Wj^xP+0U`u3p^YJ_ Gg}(sg43WA3 diff --git a/ESPlorer/src/main/resources/resources/file manager.png b/ESPlorer/src/main/resources/resources/file manager.png deleted file mode 100755 index c32a9aa9e7436388027de59ad80da0921302e9e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 884 zcmd5)Ye_T;8th}FMuGDI;5gXGs;Sdx0kmIF;sDx; z(sluksL-gwS3zf`a862eGVr4bM;mdp3CHfZ4CIy(UpC;J5ob-pIVK#JjB zKWTbJ{Mf`mbF@*xEaU}Vw)G|KOAe6*tsNI#8}1D!BCEBb+L+qeC8gho;`jBI%{txW zf$4*HgQYxgiMi`jwRwJG72A?RU6|A4mDDo}l#L7G{k4n3TjXV*-MS~X`?m#0F3>(R zl~>AIJWKa(Oz*ncG<|eT-}J?=A;14?z)*Hc=Xr2c)YSQaRV;~Sribc7G{-70MHd{; z%D=_Es4=Z~HWbo1G{--CFt_euvqM7u9uTmo{V+)h6eZzx(uE+uZ5R$8TOC@wpW(Y57$lF==Iuy)6^x ze*E(7@{M~f6X$hKT?jP2p=(-Y%Y^>^6McQhCrv#49?D z+ug<9F4>?I$l)yTh%5%u9$@TtGTRO$SXSVe4y3{1$q;jF?O`CN+tbA{MB=jViBO?K z4gwAb+pPsv9Gy7cy?gWb{Lu}jt{3O`MxI%H?a3pFM$5%z7G`}{bhp*87cWZN_|STW zY3l2;ir#tJora>>mGjTZ<#$flvg;kED$_01t7;P@9zC6MJYbRY{sq5ERCe)f%5n%- zS~xS%SEy62cTd)Z$px9Bq1@qzp7-kuy04tCVJ2_%Sw!j9g*#n9XQ`IBMwBEMr6!i7 z>ZSk*1|tIl3tdA4T_fWVLqjW53oBzYZ37D{1A~>qk@sL4a`RI%(<-rQu(UEYfN0or SzakT;fx*+&&t;ucLK6ULt2K-O diff --git a/ESPlorer/src/main/resources/resources/file_remove.png b/ESPlorer/src/main/resources/resources/file_remove.png deleted file mode 100755 index afa9c7ec42171a06213fda32cc31008e34e5df18..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 866 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GXl47#jk7LR|m<|9?u8VKM{5w;#X$ zpZVW1VeYTre}4S@{pauBfB*h{`Sw%W%<1FTAOC%L{u?v=*JOD4?#tUx-=4nt^#1er z*B`$AZ&sKxfA#+yk)pb;U%&r;|M|PW|3pG&G0=eIobvGajK;oMULo;ijlFeU(>{Ou z`R>#ApTB+=RJW()SH1c8t!3iek6*t1{r5kks5T%nF}I>+(!|sM{{R2+>rY?b@&Et+ zC1e!Oowu)L;=COPk7t)QRJTvAY?<)%^~cLM?sZI=-#K;RtM^~E&7DGG(i*y^efaug z#hQ&T-hS?wvJmJmpic)su>Whg8t6*Tk|4iepqr@z7~=ES4kTDs;Fu1i!D)jb=GfZ9K+bwk7sn8Z%ev>Y!x;l5+8$Q#R|}fu zxU6MP7hg%(LJyJ8|LZ5Ff18!P_xI_)4-=qx+1XU5{A<)K>yTN9V`et(lM)|!@>@};gn z`2UQRQJdI*JP=JY66In7I$gEIHKHWBC^fMpRW}7lFc=vaSm+uW=o%S^7#docT38vI uX&YEr85pb-j=Trckei>9nO2EagQbWVo=(_W$diIcW?xHdy^X!SMe)!{I)L|EC%L-*7!Uiy_vA;s4u7{~r|n zzXh~KdR_*@*_jNlcQ8EJ$ngKs)XDJ-|F1DzoXapRfnk3a!;Dmh>x&uwU$=g_jp6bF zhX2nP{@;uL{|2Z=`~UNGANDf*JqfgtDX zz+e#i<~YzW#w2fdmwJ!=g-?MT&H|6fVj%4S#%?FG?LdNM1&--J8k{B=Vvemn4CHiq zx;TbNT+TgzRfx%ur}d%8Yo}CJvGVfr`v1$7UT!F1`|s@YyV*ON;TkqRr9r$ z;aPw-i+D-sh;pUR_lJGN&93G|E=Z`7EWJaVg{! z(=_7^2Rmo~=3UO_BFghcczzXI-tUwvgkb=b{50`yZ-;LTm3)9@c7(>;}e1ETb^uWc)f$+?rR@ zf1LUM|NQ^Qc9UZn{-0*JvC#zRMWC+-C*VHkz8dH<-;yA|U{G983ou;H5^Mk(%$Vfu z?o#iuzwjxL!&%@FSq!8-z}W3%wjD^YtiUlHNQ2V{L(H+Yhk=|0o-U3d5|?w&U*|hy zz~c}&TP(v<~$R0?G&mINRPa2 z_r%2awrAc99;T4U_+{bO`?MNvaL-K3xxJU!-8nwr)cm1UPt&F~93`sv@-_szxrJ1$ z2<1w)@=;o(yun?(*yGNGjXH8|D<=nkEq)`=5ts1(F;8=Q>B~2@h5Ee}_xkGVf3xgh zQ)kN98u^7(8A5T-G@yGywogn@#ip diff --git a/ESPlorer/src/main/resources/resources/folder_open_document.png b/ESPlorer/src/main/resources/resources/folder_open_document.png deleted file mode 100755 index 619da21894b2eea5d2e071390ce5e322c91a23cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 654 zcmV;90&)F`P)~7raorlHV%>x^M_=`Ei`T5S7k@%x`**GBJ1)Zm>%RUrgYYqw+zS(fQm0*wVafEq)iR>S*%ihwFcWFth4 z;ZK&aeFT>iiV;+m*_j!Jj^994Nv+*RqN-$BruuFHoCoKz!8v^4;2h3-dIk=nK)GDT zh@b_DRi)Kxp*J4|-Y!7qByDd$FYNF>AR=hTMYF1+&?W#%w*;5+>uW!MB{oH3#ChK)P(@X-#$b&hu@-9#U#r!U zbT)YIm~!QmTnv%3yUKgV4vZZidHP~1+QeQ5zhSsBH#Y(N(_Co%FNX>{>-sremH+?%07*qoM6N<$f<50VMgRZ+ diff --git a/ESPlorer/src/main/resources/resources/get.png b/ESPlorer/src/main/resources/resources/get.png deleted file mode 100755 index 5cba7b551575cb6e5ed71dc2502c17977b3332d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 447 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbK}LV!<*D?{2D2CWH4-u$0==0C%t z{|rs97|QN2n9gQse$Ajag+X^RL;7Wg#up5ww;9qdGo+noNIt{R@PZ-n1jDlb3~?tI z7XAkUpkcUxQ}PNSpqzL~kY6xJDJEce=I|^IsDv@e+ucQ;l~-Udki%Kv5m^kRJ;2!Q zWVRhhu&lr_9Y}+H!Vq(8?O`A%&eO#)MB;L9zo*av1r8SWi#t;8|M?%>JjwadNj<%i zg8>TW3;Y)dX0V)zKX8LvRP>U*+eMos>vwuA&(+p7MxJrgJZfUzIO7F7oDx7oo*HkhXUKaS>xK~I9Xp?G*YeY$MQEFmIs%{F9U@$T;u+TL$&^0m+ zF*LL?wXiZa(>AcMGB8*v9C;6>AvZrIGp!P<21_eb1Biw__bW1i8W=oX{an^LB{Ts5 DYQUIZ diff --git a/ESPlorer/src/main/resources/resources/information.png b/ESPlorer/src/main/resources/resources/information.png deleted file mode 100755 index b6741bfde01a9cbe9d5c3b127fcf0d017c9ca6ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 867 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GXl47#jk7LR=Zr7#NBf{{R2a;KopL z*KXzi!peJgo$rFD{z@pmYHqzP##!UI;|5dj zs5tCYP@g6;>#lb*MUy;C<*cl20EJ>fML#?PYFOX8I!!-UFtpd7d{1YI14-?i$NBFvD?XP zJCI;mfnz$51}6=Mm}6@X134Q#T^vIsF6*9e7iu!#VSCVajgd>Kt7*sgd)4pv{g=ME z8gK>+Q%POS)O|=a_;|arNk9~7`IzX zPEQL91%;z(iEBhja#3nxNvduNkYF$}FtE@yG|)9N4ly*eGPSTWHq$n+ure@MDI9qZ krXe>!B{QuOs|HIeQv-;GJ@+dzff^V*UHx3vIVCg!054K2h5!Hn diff --git a/ESPlorer/src/main/resources/resources/lc.png b/ESPlorer/src/main/resources/resources/lc.png deleted file mode 100755 index 99485198fcbb6acd9bc4e58d8a251d19f624441c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1478 zcmbW0=T{SE6vkg16=M0~3D?mutAbW(F5cVDkdj$wX2z!U2 zlp)9#h#-3pS%M@$09k<~j5N^ypucnOea`*zocrGMyb%a>MIpiKf&c&^WhHqePeo3P z|2(ft-2WQI69KG}z6$_fik=o9NF!ebfbS1m7z}|xV_Y#VXbe_d83q%_;xN{>4psno zPM614sylWs+3Br_5FF(=3{)A!L~$5$vYC{Q)(R3i)) ze~x9f(eIvH@EWOjEObKkO_daa2W~i#Lc}FyxzM8P9ap9C{uH?xzCwuYgzOVgV7w_M zd#CGINaD`KuADEh9$@-P(|}Bu-$iLR*AhNEWeC!y33b0T*-E(~{X+bc8&;6(mbkx# zMU!q*^74Kqaxb--H%~f2aOHOTK8z!o3VP4XT%1Utp7%WixxcjN^ODgS^Ylfk=QUxB znK!a}_HNx&U;y9YGJ_TE05b9lsJ zABM)I9~~c`oSY*XS;ZZxcP-Uxdzxf`&v7=f8IHG z0FmF=W~ytOU_FA-7%yETE6>2FFk(8-bYx;Sj7W|mW%1mDBS=2@*x1<4n3xVCv5Uny zB4;!NMUebM;|VdTk%<`x?86f-_xOZc-`Z(lVuR8*i%iVo?aX`Xe?Xy77z`#aFR!4W z@a)+$MMXs=B_-uER8&+{RaN0|xSE=py1KfCh6VzG(A3mKB9SN*N=r*iTU%R4M@Lsz zS5Hq*{|o~I14BbYBO{~d&z~C`8=IJzn3|fJnVFfJn_E~|SXx?ISy@?ITie*!pwVbs zTU$FjJ9~S32L}g7M@J_oC(IdGEY{iC8HdBUxVX5wy1Kc!xx2f2czAevdU|@`{RzmoHzw zdiAQZva+hGs=B(mrlzL0w)XYw*L8Ju_4V~{-n?mOXlQI~Y-(z1ZfndwWMmM`vdzl}dg0?p;?`S9f>!`}gmAdU|?$d;9wO`uqC_1_lNP2Zx4+hKGko zMn*dAeCMG5)C#R;Srl+SreE2XkGc!9oJ2y8sKR>^)u<-HY$Hm3PrKP1$ zpFS-wFVko=I-S0L}j$zX1YLWhOkM8fAGoEzfCq z+k{TL^c96Rp#<}LsyHR3&wK8x8N1y1&M4jQWL7wm1tcUS!2Xs%)38@|5+U;rZi z+Jp8#qW3->6rBCWBKkM~C&y&}dBKdKhiW4a|I89gF=>IKgdcy7gNNLXF0Wur_fp}6 z+V2hd+o1eZ9W-^ALivY6N$w@k%KCgTbBDjX=h%KK)b53hMF|P}AUl0iJa)$p8QV diff --git a/ESPlorer/src/main/resources/resources/led_black.png b/ESPlorer/src/main/resources/resources/led_black.png deleted file mode 100755 index dc9869256d3062d7e646aa19581a97362e621cf9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 697 zcmV;q0!ICbP)H->?&_*tl!DMlC`~HTovt(vW=xDTlV(0L(@hers9p5H zfy?2Z-{RhL;6I~qv#_(Xvjn^Z)`3T(as&7Re5}{&zwQLKwzjrQrP5o+aUM=jPh*-U z06`GY>2$cbxNy@neYLy0`+nS`jSrifo7+;#`rO={IWseZ5Q03<$@3f`1eRqXr8L7Z ze7?NA+-f$PKPEt}R$J0E?Zf>1ys4BT%d%Tj*L8GVr`zp5SzTTIdT?;iE&{}HykS|^ zY^72mNs@cBQmJ5B)@&Td8vsRsG)>o)QbbYoPaujSlv1Q=x(-kp0c*#{$N0XFX_`z; zO`()RN(sPVFu?bHy4@~85R8Gf36LZSS(ef1bZE6&_x`(-62mY^l7tBmMbV+-I4fZo za(Q`qFJRj?j^og7w-2ua`<~~m*tU(PX%qcs2q92P;dvfW6zxxdAPDwc*R3rqEIhDn zn>dac4u^j=Ynq0x>j1c}dmaSA-eeA3*FAR}XBb7%Gs7^bR;vgh5JI5qI^}Yia=A<# z$DEv;aCLR{y3uHS2D0%aW@l$-Kb2BF-}l#s!=a&R8d6G%#UlNFAJ6kRJv}||^?Glb z&E`8Gx^0=Ni;Iho4a0a*DwUoV3WXJbJkJl)H2oHa;isdcqwhff&TSmMO9haC7}XMB f0Q?5h>zDrkG2tn8MVC&L00000NkvXXu0mjf>9{oF diff --git a/ESPlorer/src/main/resources/resources/led_blue.png b/ESPlorer/src/main/resources/resources/led_blue.png deleted file mode 100755 index 5a385b89d51afa3d10f640fa0037a64aba580392..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 693 zcmV;m0!safP)sZp+#CPf_6cRqW*#)=tEls738WGZLEkOXc2-5gDYJ*Hj{G|=FXja=k>n# z)@GQnbXs)aY#unjbDjqd{AX!@3Ug1EM}dpL6mX&~uK;g>SMygU)(!<+e)M%#2yw4i zEDrSb^WwHKq)m|sZ?k-o0z7F<2ab6Nj{$k zKuSpzMKl@>qA0?$ER<5?9YB&Kq-jbJ1o*z+HG|&XUJ8W*Ns`b3$W~mkENjelUBWQz z3b1V(%d(KIxbzzkhfBWikJ+}3rfDdp4jdLjV45br?<3=IsRIc8t;K4OF>`Ea=t$ci zS(fb^)^!~r1WGBYmCAPLZ!H4k0IH==+r{IPsZ>AD8-_ulP#~Afby^645P~?4DVNIx z{`Wg8FK@j8vRr#XR#|Kr{;Z$xrjrKzRsI{ADaP19&Lo78GGw#w!0daZo-+l!kI z0eR3fnZxIIBZn3Udz*EJ00000NkvXXu0mjf711RZ diff --git a/ESPlorer/src/main/resources/resources/led_green.png b/ESPlorer/src/main/resources/resources/led_green.png deleted file mode 100755 index 841db77fd8ec3c62ca9511e124db275b1ffb3d1d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 684 zcmV;d0#p5oP)FTd_?@ll+soOQ~~H zci0Q><$>q-zC7^2e~$8}F#U0Q444CEfct&mExfpRdoYFa8CX{4lvtEEeC5j*c=sJbdlD?RJ~Jy*)h7d$#d- zV{rhOct0_w3w?dOF+O|!lTB*fR zJP)7(q-i=+E|-a-=%0WniYS-Mq-i<>AOK_{8>gqI93CEGnkL0!5z{m=3=sxV@uOC^7%Z9qR{Dda2$t&9|tGik@xcK_1POBx~@!S zVYcu;!uIy|9Pk2I1Rf3LpTJk(4aMA*Q=|mJO2PSH#e7Swc3Z-*;ytgCT<+};^Km%qa%_ed9}8- zwle~3Y;4R`tJUwVR;zJa@pVWL1l^)2o~*C09|{1a)ROP}4bSt?THkp+&%^iqhEi$? zKme3wxmd5)$@BbPK%VE+>vhVqTm+~B6h+ZWl7uLVkW%8hE>cQt+Xg^ujZ%s-|2yE+t{{^)|wF@%d)mHX5Mj}dxPUR4#pU=ENhPdX`1eL zI-U8csVM-AF*ggwvx$XXVaN`)jz zI6Xb>MN#w#paRftw|g@)Go@1Mnd`c^u8R-?%d)U6YxIuenB(JPdcEG8y}i9JfT;`{ zm>>v(>FMeI<>h57&+~^u2!4AK$1!JTXPlgz^ujQFySuyl9#A(e(}RVDg~!ci^SPAr zsSsj*=t)~C^(_p;&j$wwKY+ol+c@;a1suR0Y8uFZ6ezBL{spkI7dh&NqGSL7002ov JPDHLkV1iW!Gynhq diff --git a/ESPlorer/src/main/resources/resources/led_orange.png b/ESPlorer/src/main/resources/resources/led_orange.png deleted file mode 100755 index 43e05e35b2bdb6aba2b5eb012e360dcefaddf977..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 657 zcmV;C0&e|@P)i0000TbVXQnLvL+uWo~o;Lvm$dbY)~9 zcWHEJAXI2&AV*0}Q14_VZU6uR2T4RhR5;6}lQC!$Q5eU6@7=w-TxtxdLV^%b5QP$m zLMKPDE=JHzx>s=!oE#M$odiLtt`#f@I=B?Y(W#(?&_N^>3?`=6+9b_gE_e6hkThUT zV1e_h(pMbZ(OL2qs0|D_<7BKAx;>f9-m_7lA za)XWCI{obp`deS>M8RF-CeQx@1dmw|$?0cCeioTNHukx?`GffTDt&MJx_xT^5dhvJ zW-zP|_Q`Wuc{n%m&$?A7`1pqYP8yNUXZ?VA012RD zN@gkpy*7lM$?CN+QyFwj3BUx1BZ}d#IzfE{X*-zC6o#EdC~HueutywtM1BVy_(6Rk=H^uwry@{&4NlKi2l(yW+H)*CSI5F2+;CbX}ddx zbVebt&{~hbT}li~(sXxd`K*jWthg+@HNO#dLzD$dfim|=fwCa%hPXAqQE^!YFaTba zXnR_*c4?ccldf;WIR_WEOKjkUSsG-FQ}breq- zLStJRfu^&oaW`YCRo$p;a{tm2Pk>~pN0Aj*z@XY+c&Z=00000NkvXXu0mjf2wNDg diff --git a/ESPlorer/src/main/resources/resources/led_red.png b/ESPlorer/src/main/resources/resources/led_red.png deleted file mode 100755 index 1bfd835b402ed0069b0d6d428e33acfe87f2cb2d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 672 zcmV;R0$=@!P)$0000TbVXQnLvL+uWo~o;Lvm$dbY)~9 zcWHEJAXI2&AV*0}Q14_VZU6uR7D+@wR5;6}lRaw`Q51%sduQ%UvcsnV$CuuAs`3Y8{Xz35INU#t@3S8%BPYhq_V!3OH_1J3-hT0M z@dyyiUK&TK_x9vu^|a#Ska%saf!0?GuRd)^fH00{MWs@ejssCNP||S_l}a^?<5>U` zAWQU&St^0=gOr2Yo@JP&5?P{WfCnZ(n#5DOUMKc_WTAjrEMhng!m@gkNfJ`ur|WrS zL4b4|(j=ZbN}!Vjw5Ho?k?rgZ3?MBF%d&bkhkzi8*3T+6p&W;<5CZ{bp@2||Ad1$H z0PQeY@mzP}Ou38zvNS#Ucf-K2ZCb8NJ4{vpBtWebFYUT+QwIS`sh$kuPxXBr1njzQ zv(|~101SZTecin2WT_eY*N1JJAwIDKUf~>~wIqw)oKw9^LvLy#+Gka5yjb z({I;o-AdaBQ(2NYh7j0FA@Ur*(_y#K;Ag$wta;Jn8@28;AU0000TbVXQnLvL+uWo~o;Lvm$dbY)~9 zcWHEJAXI2&AV*0}Q14_VZU6uR5=lfsR5;6}lRsA?ehis_7pm z9eVIv-n-|y<6d6)&sF=gFdPn7f#<*$@T4k#0X_lmd%fP*dj)4_XMG{W8`pIoFD@?P zI1T_&6fqu;xw*Odmgo7)_4W04e?4U|81y~QE5k4>wbpYJhGFS>UO5;H`ad}X;Pmu# z71-}|I!Gxg%W`g{lyo{Bfc=X3AxM&B+jZR~DJ5F#2P37#b={>TNw#MKt@T#B-KHpt ze+r7CpxthxwcY{{0C}Ewl~PP56D-T3*=%B27D5QBebO{VDMgy5Se8Ye=iQkg%Q66z zQrzC&KG=8DG_fpe#)t~^4Z~P#wOYh+{Gh9bX1c#2}yl`Fj(Za$4d7h)S{tY$^10e)=cXy0Nqw63D4gu-_ zCnqP@8yg!%mSvk#N~DwsA!ad66Vo&a!w}#1xxBo5wYRtT5zzJO0)2dZ>~*`{>2x~n zrfJ$TO%um)Fbsq7c+C0vIlk{-k4B@{ySuw@fpp$5**iNsy_J=fXSQuW6+*04ZS>sbVc=9<{tUbZCXZiY;XvBbB;%Q>j`hOa zn5q<#N~yF`Dy=Goq$U+e8DI_;|RWB z7s77<;8soSauM5H$1ZQ;3w0q~5)FXk0CJD&?hi`E#g-WeUkG0y@W=BPP_am9!XIyo zbYktb{y2efCz|k6u}C!lW|^6dl}x<1FNCgzk*?d+tP6oZ=q0<7!7MY=0AzC{!)?W@ z(Jl@fhK6)CYBjab?D1&m0!*{S>T)rk&5;Dq0cPgNpNlIgE0v4w5s6{c5V}O@E<$(l z3W-;^>}*+loi|ziRhzi^n3q6JuMeob`pEq0V`^u2%T3sp9r6hqBjliK4qKZx=_Q-g z7dOA0Rd;VZ9|NjgOt_(UG#2IF? zW?eGPxn!1h#+V_AVgCQ(fQvQ^Gguhn8MHTuGtFjVaA9CbVPJ@1V3^Cs;Kq=D-JHRT z!T+KS<7{S)jgo~oEE$p+7*ZLsE|}_Xk@ycXmqF~tR6`&oUlQaO3>3iw7|u$Tf!xTL z7$R}G^}IV@ zg8`4r#f^-YtMhmMH#GEB;^^FdI{pUV8SZ_|3G5SO9Ttjyk$p7fjFdy*m5Ztu3q_7c zzMr@1K*MFl(!AAdhxbM8aW;PI9O-guPI+ndnp8>V-v-kjm0Eqi|6I=O>T8h|_Zz3^ z11(f7ag8WRE=o--N!3jO5)4KL1{S)82D(PZA%=!lrWRJlX4(c8Rt5$ug(L65H00)| fWTsVO)nI95Y5>u&=YB;dPy>UftDnm{r-UW|SZ$!X diff --git a/ESPlorer/src/main/resources/resources/level up.png b/ESPlorer/src/main/resources/resources/level up.png deleted file mode 100755 index d066501d620710e8bd5c642cd67057ebd1f9c4a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 606 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbMffdHQnSBA7R_x}H9nE9V`&VL52 ziHb}9>#q3E(0rXC{scqJiL)R6H=X$JzTv<0qW|ru{&$}G&!9V{14vrTab5qPL9LHL zZ_3qA|Id8*&k%QlA@(Fg+F6E_vkXb6r56HCo5T=tlp*1?^3wnEi~lpI_Aw-!lwI_{ z_w@gcv;P^iCoyPEt~vByX3>9!)YA-!C+m;>XV9Faw(P&clK*{||DXHt9|(ZX#1H)6 zU#JGEFf9r43kGQ*6)@Cny#NX&#w2fd7kj&8gHj-ev%n*=7)X17vD?XPJCI;mfnz$5 z28Sa<%(1nHft-3z7sn8Z%duy#3pF|LI9zmbWR(s*+O~H=$CUs7&B`|4oZ0$&(#cAX z1rHf2UdamjFz`65p0N;~sBu(KwN;>fjsRn0c+A|ZPygR=$=83dSp9p!x9`WMADMgm z^lZky7EgXL*@$|Rn&X?c?8`neKlq~lX7BieWeZl9v3xxJsIO!#>)}`OAG2>Q$^tq? zwZt`|B)KRxu_RSD1xPR$85mgT8XD*t8HX4eTA5l{8JlSvSXdbttQ3yC2h)(7pOTqY ciB*H8m8k(l!=C#UnLrH;p00i_>zopr0GqG@k^lez diff --git a/ESPlorer/src/main/resources/resources/list.png b/ESPlorer/src/main/resources/resources/list.png deleted file mode 100755 index f7421ba5c156a9f710fbb531d01acc3e5214f147..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 637 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbMffdHQn*Z=?j%dPrtmG%F>{rH`nTh1WcUEML|;OVOj@h7v2>-V3$yyy7E(^u~%WtB2a{_hnW zS5(*W;OTRQgp=n!0$uta=xQ{OBRshQC}dR<)hovI56+APo*ohL~e(4+A+fJzX3_Brd0(cNc1M5MaHa=FaIH z;HjjrfJHR$!$0xj8H>^s>p$+Q)8Dn~;cxL9IswyX?0Y-AWr?#v>gE-DL?#-f3oqzO zEQyX^DIlVGKH5B6Rab#!4!>$knxwxMbKtp6_fAHiRIYH=+$|oiHf4w0!h4zJx$Y|p z-`;jG{nqBiaZ7HUfcLqB6FCgm9WMIqD4FntrO`V0*xBv&M_eQw{T}^g1Ugc+#5JNM zxhOTUBvm&BNH7=~7+B~U8t57shZq`KnOayGn`s+ZSQ!|s6pp+H(~z5=l9^VCRfDCK XsR2a8p8FMU^bVmT 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 Z0FZ1Jx~h`w2mhUsth9nuiG+dA{{TYg#dZJy diff --git a/ESPlorer/src/main/resources/resources/micropython.png b/ESPlorer/src/main/resources/resources/micropython.png deleted file mode 100755 index f41eb67abd09047f93d2b15d3cb97fa58f1ecac5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1213 zcmV;u1Va0XP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02p*dSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E;(#7eog=Y1TINLK~y+Tjgx;&Q&$wnA5d1LK#?|rK%pYM z2`C#w1_Wg30EaHi7NE?GY{6yOvdwJ)gc%LnA0vSLXfc!@iW$UAal+)c5e2FpWMfWP z>iCs8HBto257+d^>$~^e`*xor%jPiI$@}Ntb3XT+cfRLP{C^DbydAR`0_?yOV-pse zb7gf2V9R6AlePg*3`5?D@T}=xXJ_YS{k1#y7Z`-_y7OQ5G@gTy85_O2XqunBeS7Zi z9i9W^dfojG+n7g)o7Ioh9C*F(V6LI#+_>Jr+u4oqjd&6USo?(!b8h7X463~^CHZL% zWI0&yf9uCQw%Qgtk0pS1FQ!*yZ;`irn#MrpY5bG-LjRrCo)cN-tFq-AJ`1BUwTIOl z{JZ&>0Dmzg6NP!mBM$MHBPW1~Z~!8}!bwBVfF{1XOsw1MJ$&|z9kPgY078iEL|YO} z-eY){;xQ2hlY^7zIS2%lwX%*stWL*AhtgYAzGvxZ%Ww1dhDPjb4>4zFSvw-Nup}A- zo}&mUD1&&87_iw)GtGI~t*XSaZ<!~iVI2ZX0P^wF zdUnV|j+>vm*+fUSNxVjO$WOmRcb$%@Rmn9WewX7yFG^g;0)3A>tF$beN%0)!$Zr#t z@L1ph88}wo{dIXnz+lwY7TV`ZM~HEV{%V)Y1z(S$U82bh#rgfApT!2u83qv~tU!}O zD8vCfX(_}Gr?oFDw@c_E#R)9L#@@4h@yMxdeK%qLSt@xkAt5bepIZH<)9IiPa86H8^$ZM@*Jvtg>OLtb4iAs? z6uC*g-Tmbr;lZ0_B1-;@i_Ftgu`M_*ad&cRYUaLIi;52G>UCDDh2j8QTzYVG^2X>- zW8d}k)@mEI+LI;4g>+Q3NbKn@63KnNBf_>Pr)2C&&&;j8p|*(vi^H}%i?`|lq^7(-EAXY+)) zZ$Ez5Hgo#&{nzKOKbj}Z$u4V1$|?ApWc1?&XB+YTgHR^XTpq`_%|A?DcH!$8g) zPZ!4!iOasHuksx>5OBHJDZHE4EFdi{E$`p|)mdFres8*^%)9TY0gv?dpjC%O7BLzf zWD68o*zEJ6;d$ly(BB4^Cmblf`z~dNzsZ{dy-!)TixzeUHkK<+Tl%1P@%!JRNru5( z?{-|{JfGxsfvMy1k#m~MLO8@;Ye~*tq`!B{QuOs|HIeQv-;GJ@+dzff^V*UHx3vIVCg!0E-qjegFUf diff --git a/ESPlorer/src/main/resources/resources/nodemcu.png b/ESPlorer/src/main/resources/resources/nodemcu.png deleted file mode 100755 index 6f9e1e958710d410bb87aac8a4efb7f033bcbcbc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 783 zcmV+q1MvKbP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!~g&e!~vBn4jTXf0;EYqK~y+Tos~;S zRZ$d%4@C|d^aOj+sP~{jv&um)duOGkMo{)J3p7iJCPC0dOEY?q6o~{ugNQ6si@*q? zhm;YC1=7>B(jF8PM3Geh8x*o!n2avo8ymWC@AE>yo zTj6@MscBx{q{qy_;H~Z>O?ag^BM|n6<>(P5XpYOph2lKN1!9_Lws?P|gs1G#7%7+` z&XL1TsA_=LH}Ikh&fkI5eX`9K6KtekrpA8^CYTD>9tQb|Lfd=!tZI3TEwv?ikT?w-uwW zN-SzQnhrmHx(LDE4_<En%kG8AAtN*Fk*Ay+x!ZS)X8RPkWL_~WRKnwIE1*-0%vbJXYIcI1JvAuls%AE z0!`1LQdJR;;Tz;{=VAx*?YmobXl#Yr`%r#a4ywH}rQnGU&uTWKOz-W==Pl~ zv2-M@aVs&%t$-oxgFFse2fNR}q{1K|y%h3Jz+kOMp?{YA2Cj9p2y}ji%yL*-9E{nA z;I6)+C)g%EZ?4{A$|N3H5_|p*sv9Bam|IMMuS%o;`F5A57P-|3Ox9htgDbCrX}jEF z0*o(^pp}+iQj3Gu_w=o^{wM4P4zJ@E?HdyuA++y(M1$A;M%OQ(83~G1Z+|XN|Y3-EJP5o2q_h86f6=1 zNx;7%Nn@k<0|qQa0wGFnmjrhc*X6G3cW36j7T?_{**(p`aOUNC-#N!50dVQ)hAqIa zEUwvOmpj8t+yh`2kF5U~I179_G_s1%Pn}_I`WFBOKb+vonUl=V%>rBnt{=PHx$(Y0 z1>D^K#fh~etJm<)?QfApspkNY#O`hD7~H-WNe6FTx^NI!BrrBIx|W$|kMQ)G&JX86 z0>rc)BgE9x2aJqQ3@v4$0#NSZIT6OT;w2-A@5@&dIqps4tKa9a$$cC@|D#^kqrd&x z`D@3$iwE9R0A3QF6P{{H{RR-Fa!!9X&Q#Yiz$H>~s<@5s9?gtLi=9ut{OO}cAlG=w zAjhn65JTYQYw>(agdkFOX6G||HZ5mz^9lxAVf4Prlh6qC@Z6)M9-a%H3jooeT|p}v zt!T7cffqCLY+eb6cMX%1HZ}yQMyZFg01CV!hkA3uz;({BskE5KI9i&`0gf00000NkvXXu0mjfbq_8S diff --git a/ESPlorer/src/main/resources/resources/paypal.png b/ESPlorer/src/main/resources/resources/paypal.png deleted file mode 100755 index a5b76abc783544f10c13b21e8c5f69b86db925be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 470 zcmV;{0V)28P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!~g&e!~vBn4jTXf0c%M_K~y+TWB5-Y zpuPcb-hKY>n6Tu(ef%Ogc1~LIKfiVB|Ess2K~*6Dh5>ty-TBX;-wwoWnAo7}|Gmd= zpei8%!+@^22N4={8vZkA*CVh_HjTj zHvRwo=Py(>76U}=`{1^NH7R5wFwg*|o^$_qKK=?-jb^})A3uTq?1UJgS&c9NM9ZfA zXGvc1pJCnu+y*>({tj*clX2sJR-2~(EcUJcS%RkjXK6YL*32;f@&A{fze9DP8F1+I zJ)mY_3}`n4HJtp_#(TW*N?gu`z>yV}p+&vD@GXWie-j1%ARe0J8e7nruO(D4IS z0}j3UQl}ux+bgZl(d8l`;PB|x7dO67zdx6#(Cxa6I){g} zCU+551MmPA7(+;c!;A6%zt;>546jHr0BbZ3Ed$_T@aHd6_n)7?-!m{UFmMQdzxn$E edp9w16axUCZG6l_PLNLk00003&iqeGI$2tJqrd-GdHLP`{;v@cd)wRJ&YJZOf?sJK^DbYu4Hza=HNR<8VCP;jle`Srqu|MK##u3GiKuI_1P z=ZDnP)78}v($mkTrk-Ew83c`%_c%C@JZ9XXpE- zrk9bC`{LpbFIxuk4$!}Y8MHt5tO2^uyCldj801{)0EW|&AJzbkWlZvRcd7T-U-%Tr z;VkfoEC$jZVC;4>+YTgHR^XTpq`|3!A?DcH!$8g!PZ!4!iOag@+xeOd1R5Ul2?z?f zPFwWoUiEw1%Kz+}%73W)R>faZb64s}_$YdurA>t|a7vcfm0*z>N=l;Ysaemaiyoio z!SnTU!}%{I$t(^_V)olSF{)p3ce9pY!_=QoH=VJ+rr5S@-hR#rKWmL$ci8n?IVpZ% z$oRH3_Q2%w%(X!+d!Kgs_g>n=Ens--8W-Dr);e|LG{J`4>xV9UkDAWID&VwriO1rk zV^3!&bZq>;%|Rfp{?J$H>bq0^o&>sIwZt`|B)KRxu_RSD1xPR$85mgT8XD*t8HX4e zTA5l{8JlSvSXdbttQ3yC2h)(7pOTqYiB*H8m8k(l!=C#UnLrH;p00i_>zopr0GHrt Ac>n+a diff --git a/ESPlorer/src/main/resources/resources/redo1.png b/ESPlorer/src/main/resources/resources/redo1.png deleted file mode 100755 index 4d07d9f84415d926956919f74c86e69868507d61..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 395 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFP2=EDUWk@^2F!Miy@ysb_|Ns5} z|K9)q45??H{{P>9;XgydDTdIaY}scS5>NdHii1Ig^^1u>246{#UocP*0T^5l+&KZ1 zVNCLNcj1@V#c&hI;VkfoEC$jZVC;4>+YTgHR^XTpq`?kih&i_QFp!h%>Eal|aXonl zH_P_M8H`7E9OF*CQ_^6dS1|KKlZ1HR4hic9i8rE6O->4In-|Vnpf{oLpwo+40v;b( zo$qDu3OKfOcfhe&4P}NyJ67wQV%X?()4+t`%#I}*8XVgmy;D_Hy}O%%<(6;g#!2q? zf!3*(xJHyD7o{ear0S*s2?iqr0}EY416?EI5JN*NQwu9&Gi?J4D+7a-!jbo28glbf fGSe!tYOu62HGpW?bH5@JsDZ)L)z4*}Q$iB}o#Bk* diff --git a/ESPlorer/src/main/resources/resources/refresh.png b/ESPlorer/src/main/resources/resources/refresh.png deleted file mode 100755 index 9c5718f3d7d7345a27b9dd8626a3bf5879a24ed5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 465 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbK}LV!<*D?=iK=rZB|{}~wE8G?^$ zgc#Z z>1rJCG-B)G)gFGcw0B)wa`Sw?`EU8UT&~2QS5oEx?N=>vjVMVjN=+T^vI!PA{G0?;(;Xacq8mT3Ok3*;sS$ zyC3{LMI_tUg(of971<^jF`;^0o~)L0zN72JNvuLHB_}R;9N8=&*qE{Oujt~~&aI{5 z>FHs2%gXQE{F(ObbwGfmw$u5KPiyOJY~FLPS!^vFR{4KP=+=9Dk=8qY9a^ds57F=15+lhl#^u#4l5(1xST6)u;O zjZ41EJ=A3o@Uu0HTshl}gYURwXtH@yW`bMVg+<2xXPzi(s?Z2;o zEyroO3KN4KGsDXF%h#OoZD(n}G4GTk&+4i(9e(Uns@voK&0MEq5b^xZHIt~&$c>9H zc|Q=k@a4x6gOe*)by;40#i2SwBFyA;$Ud3)Y_^7_2M_RsHXTp$yzKF+A#af|gN4?4 zr|I^}i(3-cy2LrhpS-=}*8GQ)*?GdqRcD=;>eLth4RcSI%slDQrse1|DQ7|Q z4V&H9YJM!dxiCw@_xNFheS3{w{P`g;HNCz(pytaj)qBx5AK!@TU(|JX#m9*W8>RDC zuzH_cP#E_wE?dW^@zmxGm%GgqFAMr<&HuOh$f0MS(=AqRiT)6p|Gf6<18%PaGkC2R zAM!cVxJvP=pZ>i|_jtcP+v{|2-nKN3a}0%E)t!qMOf0ZDuk))>a&_{8n}%;6f3Wxe z7XOP;MOALvZ`J9Nz%-~@;u=wsl30>zm0Xkxq!^403=MP*jC2hRLJSP8jLfWz%ykXS ztPBiF?b&@$H00)|WTsUDH5gdx0ufMyp{bRTg_W_9u7N2~L&(+bAPo$ju6{1-oD!M< DJk?;w diff --git a/ESPlorer/src/main/resources/resources/rename.png b/ESPlorer/src/main/resources/resources/rename.png deleted file mode 100755 index ef55b25ffdced9b949274fd04f8c8227463939ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 903 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GXl47#jk7LR|m<|KHd*>+k>n6)h7O zOcqX#XIOgui{X?E;o`6V|KoMGJo?Wt_rHd*{qO((zo{_r zE6|J|o=yn^GaJ0@3kOuqN&|M#DNJcHv7zxaRNO7z0p z{{^*OFW!E6_2D~n_SJ^&=`Y`Z`G4mBStIW6fBxV9{Qvlwi~oOKxN+xxT0zZGVTRoD zrf)z0eEj-7zp7Q;*zU(Kptt@5!-t-rB}KXfXkTjc?PRtcNU*HHF&#*QQwu}Pv9*VRoI{>2jv*44bzZgT^5}$3-lilR^v<6}VQUFz4<^Cj}qX{unIy z+*OpXOMTIa+0J+NeRepar<7ITIeA9>5vlsG*=g|`me#1SEnOb(bnv|5{hmFGYRjEZ zxPIu-x|_UlMd8y=JD1+L@Ug?Pe-g7_MxY_j;d5Um=zAKSOS8XlrG65(+R6}q-OcCi zg$_?Rzj*F?Bfo1NZ(g$&tGimA-5YsfzGcjk>`mLg{$W?WCRY`r)7J#_jcSQ&L`iZ{ zYGO&MZVHfKFfuT(&^0vBH8Kt{G_*3curfB&Hn6ZVFjy%Zc@L%`H$NpatrDvSODj_Y Wh=x7)D>8u^7(8A5T-G@yGywpOu&K)c diff --git a/ESPlorer/src/main/resources/resources/reset.png b/ESPlorer/src/main/resources/resources/reset.png deleted file mode 100755 index cb7131de782b8827d8fb184d11fa095c0b4ce860..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1426 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstPBjy3;{kN zu0ZjdoQyZPS#HXSUQw34sU-P?pYgc><0Em7M-rTGMH%1AF~5;z`7FiwO^)%s68i&X z(Ki|bj}2tMXz>43VEm`T_+O3bzXr>HUCv*6g8xm0{#!}@vzK{nuk+tY{+Yk+e@DgN zzIy+IjV_cIUaBg*Tvz%mFaCX6!2cA_|CyejvqS$E2mdb#{a+LFtT5?uWAU55+W*aI z{~NRax8?qyQ2KvT#s4YQm%E$aPiy`?tMSk5w*N~z|E`|@d+Xw#TbBLbz3%_+^?#4; z|9@`B|5FG5pE>gX{PF)+PXE7o@y~;c{~z4^|Ln&9mrwtFeErIsj|=o#plrnVZT z0@XbAba4#P2-fYtUUtYpz-79SlMnlCAtn|Hjt(IXS)cc^-~QXXZS;9}c#h@wOtvM5 zSKO8Cw|+bEmDeAioa)UR-=6#)9a1lQE`4gK>L;fyRgWq}_D&P1Yn(uhY#+$ zH#=-2ljS-6eyRKKE8iAAv|;DGc0ezAw`_83&IXnvF9eLIdE(CEB5@GG$rUCqgk|PUuNU{bwCd@c)I$z JtaD0e0ssg5CI0{b diff --git a/ESPlorer/src/main/resources/resources/run_line.png b/ESPlorer/src/main/resources/resources/run_line.png deleted file mode 100755 index d75efa250153c5d7ab0214e98d9d58bd001bdbcd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1305 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NSs56Z83KGlT!G>YE({EA3=EzO3_c7@zD&%1%nU%ikqit`3=FXh3~>w$Nem3B zj7+Iaf|>jR=>h^70)m->W{y6|*`+BtrP(EQ*`@V)<&9j6c?H+X3atYoIgxd;QD=4k z{AKv}kD+zqoX)8Wx~47cp1!z$=0cE-qhK@y21f||VGF1S<`agJAiv=MBO5RTe`i+( z#tLVFM`SSr1K(i~W;~w1A_XWYQQ{g=5}cn_Ql40p%21G)nOCBhms+A=qGzCIn%ZiV z3RF|%>Ealo5uE&^pH1SQ_F|?St&pjqKNeg%<<%u1dWR{2i$&t!=YpbwP1+nzKOGqJ zDl1u8Em{BlKa{{AGGXepY11YK3N&$k@MvPxj$t(xR#u)a!hMBffuzC#?&r*`M~)sn pdPC&_L$|kUAfuS5(g_C_7KVK(&0C*Hus;PQCQnyCmvv4FO#r*ea=rin diff --git a/ESPlorer/src/main/resources/resources/save.png b/ESPlorer/src/main/resources/resources/save.png deleted file mode 100755 index bc18cc5f55102671dd8b48dc786197890404eeb9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 565 zcmV-50?Pe~P)eJN6$ar zpIdr%AOH&po^EX70!b|2d5yckjCQQkhgtNKlN|~nUOqoFG1l$e3&0@(?jmI;<;tC0 z#1^!p;V$~a=1=0)+h26rE&7ApiNJVv0ksGqn1P@j1BS7koc=(#gbQ5a>-TMth@e;` zBp5W)uU(m?9Ro2yD&qIR$?mv=5OOEwg5*R1FM!02hi@=5f{ms_c9FA>76L%8H$lp+ zhCtwQ+zSUMr@+8av%&`19jTGv4rZj3VMI_0s2O292^Cq@pBjWoNKQ)jS3)knb2UO3 z1`<-$D{AgukPG1ql12ogctyT`ahm^mt84Gcxst?SMj5#)xV^r(YxDA%HA=}0o12JL ztFWeEe)`g$1YVqy1UOM@Bs3nZe|fxX^XbD2lu}5g`Vw7y9%essYGxcWSULM(PlCz) zPALNTVRK6_Zb>>0nn&tE-8ph3|0j+%Q)#t{g?E1d+th1}q=84f00000NkvXXu0mjf D9(?>D diff --git a/ESPlorer/src/main/resources/resources/save_all.png b/ESPlorer/src/main/resources/resources/save_all.png deleted file mode 100755 index 4f4c27b685666f1201652d4b39fc094334ff1433..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1385 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NSs56Z83KGlT!G@I8Cy*=wwq<`GRxX+k-gh82Z;7q=I*u5+v`}g$FX?7OUZtx zk^_D=gXP9UoYJMcJToa zeZT$e`|amH?!EYN|K-nzZ+<>~`|HJrU#~v?e*5Y7yDvcW=fl@OAHV(i{Qd9eAAi67 z{QK<}5dHh{>mSh9qhK@yfFZEx#e`G9e8Nx?wX-Zi=5smg86vd#CHjKBh4=gUB{R90P9 zU_q$wI!gry@5p6LUYpG8=P;htP-VI#_w4nergSGu@c^yazR5iI1UHH>hH5IRa@IH} zon>`dy(DJJ0pk@l{qioJky=j_ue~qSTTp-DWa}M0#=k*R_!%D?_(VTx%>w#{!PC{x JWt~$(69Ca$FY^EZ diff --git a/ESPlorer/src/main/resources/resources/script (edit).png b/ESPlorer/src/main/resources/resources/script (edit).png deleted file mode 100755 index 6ac0fab9fb62d9f06021ece2b066bd5a65e0cca9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 903 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GXl47#jk7LR|m<|F3Rr_x0Dm+OBDn z;~5xC78*`@wDkIyz?jrOfB#jrO}_Z+Kf~Pr7j8T_cK${}R_QkthPv+Q=dL|CABUTfITU*q$x(LPI z>&Ur3fB*ja^Dn!!@&C^YZ$5sDOwRfC^}AjsNwIw^5*`}-+!eQRDb*Vr>Sq|o?{m}C(Zu-=U-N7{r8{0KYaNSlad>kQTX-y zum5L&VelUqECT}kn09pnEsiJ&@(TvJg9d=1V)h{ppdE}!-tI2-9{UTQ0y&%o9+AaB z+5?Q;PG;MI1j`B>(}6TNsW8MGTYDJDIqK=+7$R}m_rmocCPx8>i@UA3Ht*WqkP_gt zAmLnOh=8kz@!$XTN#~_b{l2z*^{!=Xf|}FiFF!8Kj2HMQ`Dwa5bN9}TJ5=LD-X-pw zR1$j5?wV*+#6Q(dM_tu8n$A2^e4EWKd#?K0t>@NUD=+RjBs$+bQ6ewcW5TRJi)CgS zV!G0uD^E&%tFW$!TCno-mzLch55)ZM*g8M*;iSvaXWq}7d$Z%0_Od6>)^WW59hfH` zY^(XwZuNzZJD+__=RcP|ayi0u!=uVy;_=tjWG~$Na^(=vL#idN5hck*sfi`2x+y?{ z!N|bCLf6nh*T^`;(9p`%!phi8+rYxgz+k0t%-29Zxv`VZREUiopAR6}EugC;y OVDNPHb6Mw<&;$U&!=khR diff --git a/ESPlorer/src/main/resources/resources/script.png b/ESPlorer/src/main/resources/resources/script.png deleted file mode 100755 index 331dc61def998073154643649b1e0b232e3de4c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 874 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GXl47#jk7LR|m<|F3Rr_w@Cr+OBC| zfBg%LNj-M{#`oWUtJ)^-Id0f^Q*|7WA zroAWfDw?xP8;k0?GK%YhW788di+3G4ckbGQf~xjE|NsB`{ikKZ?2li6RJKn1@$>gD zpmG2I2Sla*{`2qquRmVFu`wyRKY#uC@$2`uAHT9n>pLgSe)aB4Tt?yHGuKKQdY-)g zl$u|el2;L#ob&e6_q2lQxXhBzKYqV>_vPjLFCV}C{Py!tVs>dlM&Y;L|Bsx#mR3;p z=F_*PzL_bxD$Y9U!K4D{QARJpl5;JA5>t@3r`7BW0{OQ9fyB92hE83=~ujml+DfrCFw0UXOfq4lGmJ(d7$Ir92$(V_= z7TxuZ^=GWxft>n}@p~9-E9KsPtSAcMGB8*v9C;6>AvZrIGp!P<21_eb1Biw_ T_bW1i8W=oX{an^LB{Ts5Jf?{L diff --git a/ESPlorer/src/main/resources/resources/script_send.png b/ESPlorer/src/main/resources/resources/script_send.png deleted file mode 100755 index 755e9baa855e37f7b6cd1abb161668075ea02e9b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 881 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GXl47#jk7LR|m<|IZN1pl)pU_1C}J zu4#cWsj8bK8Qd7E+9v<``wuAj^!2CjzyDsi@!;6`8*e^-+jH!K@M5lntkSyf=|y#2 zoA#b)nK1j@wFd=N?O%TU*|7UqaBTY9kKh0N|L=EDJ-f8=!!UJPv5+PV*{d66EX^a{r*$gI`QYP zKat5fsri)|#dSY^{w{CskIO81@$Sp#@4tTi`5T>_+c|0Wk+au;4t?_aQ%p+k$FDyQ zA3xL7H#4oE8sxP>53D>>yMd1MDhcun20EBJfFVkIzckQP#w2fdmwJ!=g-?MT&H|6f zVj%4S#%?FG?LdNM1&--J8k{&7Vvemn4CL(fba4!kxNLjwW!NDDfwqVFBDa^7#4qI5 z>geEJ&>*ex$nJZ+^RnUt-{a>QPi8qYC)K{tyGxgCbF2BEbk2lOc`x%9*%fSgrx!2# z^sj2gL!PYt8y-CCV>x}N^lr_+7MBIhr^Ar;g?6MO|K zj+|8CV7joh-CnRQE{J^l^<1&*-+roRhZo5SM4t;7a+;;LuP5-O@ZG2Z= z&-~RFx#hoF?2J#R4(bIIKeO*`l)86q8Lu$VBdR5?5hck*sfi`2x+y?{!N|bCLf6nh z*T^`;(9p`%!phi8+rYxgz+k0t%-29Zxv`VZREUiopAR6}EugC;yVDNPHb6Mw< G&;$SIP)#Ah#ULYT6y%(0u7oG1f2LbOI?t zB4byWoR|z7GfS&@{#idtpWD|HloooV?El$i8>%Ehp;wtA@>GV(JO-IDs4`Gr;X_%# zAG$j@cZ2;QusJXEQ?TVw6;nczsx2EpGP8zQ8dzMlv$0nmM$ugD$Ic?PSXoC9D)2Dq zl%!{DFh&Y!U#5zTAVY#oiijVQtzqCx0z=W{+&==-EDiW%B-0jBhD!u4Nv335%06Yd zSu(gX7BmAl`=>SG{a*shG^&5md|#jEGIu-p;SefC0N86TnUp4y-@vLjK@Z3DpN2`6KD2Z z#JBl(*iu^QH7tIc9c+JCLZm-0==3<6Ch_Bc*fiwsD55$c)%|jeaT_fO}qrK@C zhQAIV!_69n+INIR9FI(VMIx)~C#&bEF3-2vjj^x`=@8oh(^k}a4_zo$8nas5pjszV1b_$iVxIlmx> z>yB*;2K*;tD;&{99gA89T8dLu7a@NU;@U4v%nf5l`5t_jeFdMl43X&(J~Tbv9l1Jw zU#f5GDH6AeP(|33LokPc*Q2WW!6fA30hrPf^i{>M^^)_E?#K6p(%*?UYyAgrNech~ N002ovPDHLkV1hNsi1Ppd diff --git a/ESPlorer/src/main/resources/resources/search again.png b/ESPlorer/src/main/resources/resources/search again.png deleted file mode 100755 index 86bc9d658f98e94973ac57d1662e55dae67940e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 911 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GXl47#jk7LR^dMyZ`_H|NGak|Nj|; z*2!@#=4FUu5XcbNdf+sJ4?}4~cXnz0fn#S+U%c)cmcWq0aN^uGH~+}LfBux#cQHgU zl-9OAeD>=2*~`byUOsi<+JcpvZ{K^AmS0g&-5L~?5}#i1{^RFaOE)mMG8{R5QPaeM zA(`RXi&qS83{huwpFDpRmzvi#eX+KgQ$}I+;9`_8KJRh?Nb)~{{O$eXC^Q}fT2Vmu)12d7id##NswPK&|aDWhKK9tP5@fOnB?v5 zQtz?9@F|ePS>O>_45U54*zIJt9Z0aOz%d<2gVPH`%(1nHft(YbE{-7*mu>s62QfJc zxbCjL&ih11L#;?4-~fw+<02MSj$8l#%bqzCHE&nw_TPJA6WAESRyeZ-N-j_3d)ybm z`-bUsQA@^j5e*LG_Ehh}_nP1KSzq6M{#)Sn&j&ty>)PSACu(WGW=p4VfqI*`?)>+U zOT6o>@^>tJ*SlB8(1q#nk{DLGy&F${Zu?U{@kDRhC5~V5-B~7{ZE6}E%#Uy1&)n(K zw(f$D1vg7wR^TZ)jhvmdKI;Vst02FqOrT_o{ diff --git a/ESPlorer/src/main/resources/resources/send_selected.png b/ESPlorer/src/main/resources/resources/send_selected.png deleted file mode 100755 index 9809432a5f7c72d05dbe671f9cd9413cd746d105..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 647 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbMffdHQn*Om!$fB*XR`P z$qb$h1ywB!t_<%#eu+A(o0eDc@$*-P7>38sUq5>GiXoU`|H(_mHSIrs{W*H>I)e)X zLox$HD#PD@|4yB|{NeNWuit;YdjDnLfg?cI0(}4kMjJZWfs|cIkY6xRkbJvy3U z&?LqrZ+91ayJUk>AcwQSBeEDsdw{Xq$!t52U|E4lSA`|G~nm`1mpNRA*fe4wtQQ zj!%pF_}LS7Jh9A8n00OjPg?rZtXUUDK8e|fmz@q(Zsyo!`mg=i!o8_KTP^qfw3vL_ zYyIEX%mtF-#w-WZZUCLCTH+c}l3bLUSdyxn0wfrW3=AxE4GnaSj6)0!txPSfjLozS sEUXL+RtiVngK5akPsvQH#Hzv4%G3a&VbA@FOrQn^Pgg&ebxsLQ0H0PkkpKVy diff --git a/ESPlorer/src/main/resources/resources/server1_start.png b/ESPlorer/src/main/resources/resources/server1_start.png deleted file mode 100755 index b1207e0f2e6a6ec86757e25bb63b7dad083af155..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 641 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbMffdHQn*Z=?jGsH4%+;jZylh+$| zAG`PT_1UZU&Rx5A`tqH|zS;F%(^NM}GPp79IeOv3jRywSZug(P1?tc-cM@LAwe8@U z>bA*GUVZ%d{ZCcPgoiKQl{fW1ee*Fct-$Y~`u*o`Uw!;`;oQ@+=N{#~a28$1vE%T$ z!W)*Ud6hH&r{z_)G*6gw<@S@@vc|&dw&d*6qT0?&Hy<57b3Nmw70+6R=KeXEC3Odn z+)THNX6RUpa6e0h% z3+t!;323{qcKV%&w!ifvMmhI&SzU~DuKTj4bT*w`xVAxT(F3ciA`=onG*y~<_C1bh zdB5@WUBBdyhYTd&+4j!AUdeRIXmb9Wd5%&`_Ffb)F+Qr_?>~QYuC&U#H|%QW;yg`q zAxuC=s+PD$lq46WCYGe?rT_^BBLf2qT|)z1BjXT5Ln~7YD`PWl0}CqygO$RO_h1@w h^HVa@DzR#?v@$h-XxMYVA`_^A!PC{xWt~$(69CiEF}nZ& diff --git a/ESPlorer/src/main/resources/resources/set.png b/ESPlorer/src/main/resources/resources/set.png deleted file mode 100755 index 30bf57776e55275595f5473efebc44bf699cdb34..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 444 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbK}LV!<*D?{2D2CWH4-u$0==0C%t z{|rs97|QN2n9gQse$Ajag+X^RL;7Wg#up5ww;9qdGo+noNIt{R@PZ-n1jDlb3~?tI z7XAkUpkcUxQ}PNSpqzL~kY6xJDJEce=I|^IsDv@e+ucQ;l~-Udki%Kv5m^kRJ;2!Q zWVRhhu&lr_9Y}+H!Vq(8?O`A%+SA1`MB?()eoLVP3Oq-yNpMW~{pi1cuc4>2)|Its zDQr*JN;vTq8=7i&7IyQgu^+1cQ-*frYN2fv%Bph@qjC zsfCrXnYMw2m4U%Z;mCV14Y~O#nQ4_+HCS4i8bCDcxnGe9)WG2B>gTe~DWM4fgOrs# diff --git a/ESPlorer/src/main/resources/resources/settings1.png b/ESPlorer/src/main/resources/resources/settings1.png deleted file mode 100755 index 9904ab6bbf6d337bfaefef22a8735c302fb3f9c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 687 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbMffdHQn*Z=?jYna$yy!kLVF7w^T zZ_N|tELpKWI3d#~EU~!y^U?FyD>rOgy>WYSZF@y? z-^H7cA3T3Md-0kTYc}jVdgjvYrv=sR6XvY^`}fa+WIj2m+*siFy z^YYajI}e?_b@x#~Y`Uv|o*V4^F{$SAsf!J-EYh5h^fXU}wccgz0gyIa|g+e)u&Nxsgg>pR)hVeO{Y z_Yo1-3Nj*-{sexw#c{mxr;Lny4iA&_lh-B^JWVBYxmho5czZQ(=bg1Vw-+dX%&o6K zbB|&F&By!pA2nb-p~V-n=Tw8+{m+w%*`FWzTyrDN_wSO)1zewZE%o-5i7h$z^)!d? zSH3p(7@NZ%b}nese38swz0O8_#!3jrpoi|iFeR4_2O~>rFE??QT1Z6v_ zm-U|kdP%j!HKHWBC^fMpRW}7lFc=vaSm+uW=o%S^7#docT38vIX&YEr85pb-j=Trc ikei>9nO2EagQb($~eEVbV8nEl=g{17#N3TBZKXrBA$*Vh# zoVRrLJ9PFY&;+1)Sb@Qm8CF0EiIO0{V4yN=fZ?pL-YcLQ#w2fd7kO4*fxSQuXMsm# zF_88EW4Dvpb|AsB0>^Y94fYB{%(1nHft(ai7sn8Z%c1?zLJbNWu8l_C)%)-K_X`$T z`up&l!v(U69tvu`r_Nnm!eWsUru2RxSIWNG66VA9UNBE8l@8fc$tiEBhja#3nxNvduN zkYF$}FtE@yG|)9N4ly*eGPSTWHq$n+ure@MDI9qZrXe>!B{QuOs|HIeQv-;GJ@+dz Qff^V*UHx3vIVCg!0Ah5oVgLXD diff --git a/ESPlorer/src/main/resources/resources/terminal_clear.png b/ESPlorer/src/main/resources/resources/terminal_clear.png deleted file mode 100755 index d68105936af93668c70a9e8eaae7ac449d2b3f9b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 916 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GXl47#jk7LR|m<|IaY<|0zv|$v}xI z|37~Jv-suz|7ZSBo;u6G+U>s&&;J~e|IG^jjT!!HGH9AQFwFSx8FSMXSN}6i`~TwU)6)9xyvpX9j>!xY{~N6T|MHq(K|1^y4LKCz196YAA=6~kN|Aoi@PrLk|A@W4$+YTgHR^XTpq`_&0A?DcH!$8hOPZ!4!iOae@*P{+Oh_s}C*Kt$q6q<5x zsrCXUuc=AzS*O(gSAUrEV1B;dv;7howNux;`yDdbKFaxc_;uc=mw(iBZ`Sa+UTs~q zomFh=ubiT9zvq3l30)H&@g%GM^Rt&HCki-SEz&u4^U?7#?y0()PfXvl{H>VyQk(AI zOQk;hF~8JrIC|IMvX_e3`5>mCO*`K3?OPn^aeC6S3xB^Qt50RRxh?gkndAO_GDgoA z2sle^Y&g$hbmD{m8;hhv^6MV&_){p%H=`k@{X`+>!~e{OnL848F;;}gyb(;5oeA`u zYKdz^NpewYVo9oQ3XothGBB{vH8jvQG7d2`v@*4@GB(pTu&^>PSScKN52hhEKP5A* d5~~JFD^mlAhCTNyGJzTxJYD@<);T3K0RUW%pm6{I diff --git a/ESPlorer/src/main/resources/resources/transmit.png b/ESPlorer/src/main/resources/resources/transmit.png deleted file mode 100755 index 7b1142fc70adfd598ce6eac581421d7e6295f370..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 814 zcmV+}1JV46P)^~)@W#UgN8qC(979%Vy9NAeJn`# zSw2!>g&{fNR2$Okoji4(4lt5P$>r&q16P0#(CAS`X1XUkTWj$WH+~m^i1nA!c54U2@ zzUeSE3@r(@mOzU7Ss)3zO6X49?eVdR`>f= zD(&<}w=25V_BpD%QfK~{4*0vpV)<6BAI*U7!YSn(9anIo^h$1Lw4>$RCWGxdm8_qj z8-Z>jbWcRL3)o3FSHo3#4@0T!b!F!4__T7a7X3qJoMEqHkXET~kf2YcP!3qAt)$FI)g zfX4xE%Ve@IB_$;X{~G{!1n^hDt+6w}2Edy|MMdmC0|1`~><4@={vu#`et!O#R4P65 s*8sp^b=iB(8ZE$Cxw*NSsD#+rPu4uZkAluh`2YX_07*qoM6N<$g1stv`v3p{ diff --git a/ESPlorer/src/main/resources/resources/trash.png b/ESPlorer/src/main/resources/resources/trash.png deleted file mode 100755 index 14d51f194e8d1efddb1c018031a33d7c94207242..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 874 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 diff --git a/ESPlorer/src/main/resources/resources/wifi.png b/ESPlorer/src/main/resources/resources/wifi.png deleted file mode 100755 index bf5777714943de9370f2daff36c4093baf531b4d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2047 zcmd^<`8(8&8pgj8S+Yb5jU`JCvSf)fvJb}EU@{0}FUz2r@s@pGri4baWD*8%*=OuT zOl3I{$xeniZwMicVV0x6<2=`OKcAoO=ZELI?i&YluoB>t_e`%nojG;yI-r za#|C`sg2>%jph1x46k0K82H`=qXY?~IC+Z)+y;p}hG{&;_%o)d+!hac%^vYXAM;w| z^4aF|+dt=r6$m;JEM4I5B&?=q-Y@a{-@i*;%KGv$tx6JgNlTYXxqT1d;9M z;6&lu_2S5Caj#loFOrZ?ji7g{pl_#OP`8+Gt*|#q*r!G04q42%MeI(KuwVDZAoBUJ zE^+^6=}@vnXy-+AubfS?s#A`k2TluFBIile@+D}87OSDi|3VYx&^;R19&Jq7wb)uC z3|TPntxzyUD0EOb@a?%^ifGu72Dph4$)n0?{j#Z(idi$t z8RIHBvnu#SwbDiHtk0SS|IsS_q?Kn=;6sF)W_Hf~Tq$uBw)->k(E}$|tp} zz9+q*KEnw{Zb$w$hOcGx{g)e(7|;Fx^4gHwC?Ei?tr_uwAu~~JNK{jF;yrG z^&ysi-?sJ$6Wo7zWBBO$7~5cyWjw>S%Oeg1anI~PJn8Yr zz4lISLOpH{dD0Y-UVjf)i^(Hn@$HetU8dQimf4?evd3)mCLIgj!E;A%KkfI(8-hI> zN0iK4R?I;w<{@QNlfQpJYc|a4cdZ+D%*lr)J-;1#7>HL?_u3Vw<}Ek!x@*Tj&TYH! zj(wM&L!T^4K*6YgQUBfCzR<(Gh_|Du{#!`i=N>#3Ob zH4Dm)^}B78fnD=imfhsB{X7fazm4cSa-%Rjhkn5qS*{aww?&rkz_I@@Gw$O-GNG^m&!m#_WMi8jE80BtBw~Zj*j*j4CvTR>SS;Enj-PdXviHkj@EDJN`XFJ9nADWcp4( zmkvc+24(#ELS%(`()z=QjySKTXrg>Pl_jjcM|Vm7pgC+=dXd|=|NbgQ?dL%hOEc9+ z@AwGHnQs%|4Zo})-ilIOE|6OSA(u{}uTHo<9JRG3AUvd3XCOL#hakH7h}we|SrClQ z+}!gC#rGXvjQUe&#jSv8(jDf6dJvqycWw z^OhZEPRX6I3J;gTd0a-uc6<+V^l})T6j9q7kJC&v-`@(g$j*LY6kk6pOg#^ZskEi+ zj zq*PIG6}0eL2`lEkFGLvX{Y!ng!cFx1dgCFje1GZLqQ1d2PESxo@@kLO#{&{+Wg#l; zAjHHhWh4j8?mTo_DapPesG#G@aCoAM)=*HVp?re4c?B*k)nir}0k+jxDu(@0s1c3c zTA51^54sLIxnwkzIS@YBFrZt*YbbSHW^;HMtv|VGg5YqGVIFrCBs8eP(vXVmsewi$ XLQkWAx)B&T2_9f=;Q*;O^G^OB^I~PN diff --git a/ESPlorer/src/main/resources/resources/wizard.png b/ESPlorer/src/main/resources/resources/wizard.png deleted file mode 100755 index 6469a98352c6550e5fe171ff9911ba918de47508..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 464 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbK}LV!<*>;Fpc|Nj|grZGfWF_@bd z@7?>qu<&|r-icYWo*UbH{$FUCmUdv`tmV7+ANqe?EHbI|^~bOO7nttb_rJ9C=7I&U zOil9(3eNq%F8=?_e;@#wiUz)%oe47Y%)7?Zr+UF2DL1@;0t zoCO|{#X#BvjNMLV+kphj3LMjcG}to?F~`;(26A#dT^vIsE{FC<@--N6xJ0fh-Tv;| zKXK9IBNO=#?Kx25^;7%PHy)>?yN+UMVmAcTl*HK8W~J?VxO<@u54(27ipmw$F49x3 z#CKl(d0KGwqBV+l^Q;{1Y-G<(coV$+VEZl8(o#1A{S|LjSg!nJI@lqs*ZE3W2xzZr ziEBhja#3nxNvduNkYF$}FtE@yG|)9N4ly*eGPSTWHrF<=ure^J9N`m}?L1qyN7>-}#>;dXy zO!9VjvA0V$CaPTq299w%B$m#KPaSV~T9C|*S z?~s82%Z0+52~I*mF9oVT|9yXamuE`dn#xJ;W;s0%b_lQBmK$oxrSR$Q%!~>irGwuz z8iOO<1b)uuP_>gPf8WRdi|_wka{K@P+jFPh{$FJGr_WudD|8ITsf7SE<@%#UueEEOzlm8oD0$ubU z=thEIrTV@LKt(1cL4Ls?JtP7K?{KA5pnk?AZ+91ayJUk>AcwQSBeEDsdw{Xq$!t52 zU|E4yl&o zC)^J)Wyq%``L{$}ugp8i*uB2}`l>tAbPoJDJN@bH0k zQ~S%bvieosL3}2wvi?=B&|&WN;ym|#_rsaROf!9yB#cDAB^teSk6rjy?e4OB!VkUK zZpAup*?m*s(f-%+pPtC9sR=692Rco)#5JNMxhOTUBvm&BNH7=~7+B~U8t57shZq`K znOayGn`;|bSQ!}brvzoeH00)|WTsVO)nI95Y6#IFwW9bgPy>UftDnm{r-UW|LpmhT diff --git a/documentation/build/.doctrees/dependencies.doctree b/documentation/build/.doctrees/dependencies.doctree new file mode 100644 index 0000000000000000000000000000000000000000..f2c6e1749e6956331c0e6e6222e05fc00dbd8a2d GIT binary patch literal 5626 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 delta 5590 zcmcIoYiv|S6y9#TeNkF51PbM`(iWBm%UhsSUM($cX}h!qBZ6eNdrR-Q-EFpasi@7u zj{?PuZ8}3@0*w}oF(HuX^ckW(J`{7iY$zI}3)_)869E zn{GnOAakh&(Z$MrAy2OyWJ41c9b{3!K}JUCSaJFMu$nCg+Wldlh=kooV;zu2Ns)Ek5Zk6w8mZKIS6h@Yz{I z{seK5kq02u+{!@EsmO|7+QRyoY1l*PCwb{MTiEL%kL)ye>DHCGP*ojbJPUitZ9XK$ z0`!>c8T+^$#Js17z+0RWk5iZuPu);d%B@iIcWDlFwn|F4n<4sI6MBSeOa6f2VQ*N? z^#=ooh2}ki4DK9qj~9X_ZYbKrRTR!70#40Pg6)PWV|@7;-mu>o({$;Q;}a6OuZlkQ8W_k^w!i(`#i5EBRdV4=)6h2XtF)Htt*-)WNHE z6d5QoQDoD5&lW+LjBcCVAY5oz6wzLQf#~Ncpb5}0$sOKa7!kVc5wl4Hh(uJlh&xFS z*_W*2rDPoyuSRjF=i2_LE_V zxn>Bi2IO9GJx-Q;#eJYY@%3vup+e!Vjj6W+G(sMS<9Mt@UALgvhGGYbYO!rbcey5q&(?=J&Jx_SZjGOY&6QK2Jq*dvZoE>tg3;x6DTNSyx zMdqH^Cu#ZnjunG25QjIr;+g%@3QA&TZ(4znjTrwcvvhT3VUGSk54Cw~#E;rvR@But z@Y|IWh`VnE#%OeG1CLvQNEwo`e428D8P%wV3T{%&Ba=b!zhn5ft~O%C{5N356eC1E z?Q2?4#2+FW(#6HS0iPhC##4Pm2K}Px`2zmP!mrlRi{AX^qPhGVUY5jz#Sq;7v>M&t z+*)`M#;cjFN4va1f9y%&p`Cu-Tx&1Rp!x2dX`{5wy=3kvU&IFQOzpDbQDnFs@rQ&_ zdd9t~bc+KhdLIUmt?;EkaquW=B301TM5-P1XZPAjji}U$vKTaJBD>&wfYd<=q%{Z; z_NtD6r%U1wDI~hC_Jk%D6{@INaJdc1Vw8(;VgP_Y&wxN01TpY?9ailGA7z#`!UBCv z&FX@SpWnPdMwdtF6h<{V=&e14ZVovh5C;U{fWR9F>nhp1k80yNDCrj1dT)9No_n~u zxF%3l-{Q0bw!dY8z28Akx2&+AaL|uio||F z+`6ZtpDV|U&YBa9P+nuv8ec$L1^O=V+C{Ao2%{BkMK1Itya)z;!PpzwM5oc=woQw^ v1M+#$awiNCUIW;lw8jzod)x9t-bk*)B12v^%jfTqxkJfEj;m#RZ`l6@`35{C diff --git a/documentation/build/.doctrees/hardware/index.doctree b/documentation/build/.doctrees/hardware/index.doctree index b41d834f82103d303d02932fce9186b3a76d0850..72aac5e76b7b539b87fc64d3cd5ced71ad2ab8b1 100644 GIT binary patch literal 13982 zcmeHO-ESR76;I+iw$~r|YD`rp&8F#xQ{sDVCruNhB9b&|N*YsQm!yJf@7~?HclUbl z?sj+9AC)S>LnQ(uA?PA1RjPz4o-2fekdS!d1@$ig1V{*pN5m_<@H?}g_ruqYORGM_ zvaj#XoH=vm%sFSyIdk^A!#{oR;y(E!4u!sDyPFl=G+obRVJt>X&xqR0sICh|=RC0M5yvWNRYSHJ(h5clM-M|Z;`^|xx07$9X5<$Sb=_DCSc709 zF~apGb;Z^pYsQ+ePFO?MN%769<+WLrIW2w7ZdX?%zp5K{!=B^1<7{c)@Iua9Q*T!@ zQgz}}HKDa?rF^K`uE{nlL5Oudacd~5gBxR5sNM{8-zu~2`>U26s=nT2Dt6Am+E}P^ zi>VnZH6)g*4KI+*M25}6igMH2P`RhpBWz>2N7Y?ZwaT5;&;WZZ)nyxM!w%YVt1y`6 z$q*)+HZ8t51Qk-UfGw&fTeNIFL4shN!tPtAA!cXr_cZ>V#ot-%to3DU&N^wG1K)?U zody5L6E!I0_;A)BCa+2!>gp0v7$;5E2A+y*M))ummWg09LL)Tm*m1{t!eT2_B6#g8wNsQ$;)L9LHb7=o3lW7 z%CbL_E-_>I5Efj_0E07Qy-`Lpc-QaJtYGf6n0p|e6*E5Qz@BB^%lCD>v=iC#M$)}0 zCX`Eb_Oir<2jAXe>-I3Xd#P+!3OJ5oQud_*9Jbpqb7cW|wo*}LSXx<9H|CU zhFTwCo}cetjL0N?n1D;N4tJQOf4$X|rQ0s-44q6y;Dw=T zcx~Ty|kNG$zwTNi;1L(_)Qtj&Q|baX$4n5i=8P56Q2$K0ZcpIS1dB-9qAF7 zf>z1IPxivZg$I_pVpg$-!Go9IN1pTL_w*Hn$mRcaFUudx)uq5DN{s`^9nBOhqwo>Z zw*rkM>fd`IYJa7`BJj{nL}9fvBVD%1nR9p)!=w?EXVYZro@jN)GuBFH)V)vk@7wp3 zO0+9yRJ)*H{+R$w$3epD_1YVG| z`v}r(x2Z0v^OeQ(=U+IFFbZBTf<+mdPCwk%FOX>cKen}Sh7dNiCZM!~qC_#a*>;vf zU#D!ys1E^R!8*PU!EeC&G(}N}@AmBH)6wH;n zjMF8XQp9-GRXB8*B62v1WW#nKuaqo-r$fG8t>#6XToXiMaJveJNf2G~M_{ZI8ggSzj|F}*)~)Bd#_#Be$Qh+CGMcX~-zQPD^`UKdHvCkaR65J%QWFi^YOy%~*t5;TTLU56f-CkZ^UAd( zeGD^S!H@D1<8)huQvr8MzRI_JhGzA3H;jB5j4Y3tfZ&Wk;)i>N=bTf+4Vz;?da&?d zOMY!4sYFP3H^=pr*Dftyyr^8GiE&(|&)4rMH<->TFj!LW+Baip(>`a^jt`SikkqtPfv(Opp+p(Vp% zoj@!S-`nyq2AT^O7cX77gyR`$OoBK+zi|HiWg34M3}&7Evq`UvTj?-o=2;bIaES_d zqKg+RFJwWII?Eaj+S7HWE}XwqxvZ|$ZC(w}(gZi@CJA>BNTKTLI%K3_Q;tu0l_B>g zd6Fv3Lt%R;Y@dU$<(6Ka9)Ezf8x;Aq9tS{chCWW<<9_QTK8qNybqbF?aouc(MWvf< z7fM#j5{cix(vUuFzzjxO0~cCmBUHVPNJ{lt(6-@4Ba%Ev#se{57{SM$yWZax!<~gv zw{4yzvrEJCls7Cf%qsct74?b}daC1jYeh)O123v0(6l^{OfwLsSNfF0BJX>RF&~%A zq_VJzVT3#7L~rw0qV*T>BDwUR7S#t_U~w=$_)u{BZ!~rPSoQRdyvq*klLL8NP$&iG zpItNV?DP_i(&_!`r`xQ85bM4kl-1*PmxpQVWl9wy7*cEu6 zb?(kLx`vT|misnve_MZ~^%ibalHbAYaxsfIDo^{l?a~a1FHnxa2d5b*j31C@IG%VD zgzt*)J4iOm`kXY=uuX5y)z&lc`>>v;=wC^#1~P#vV_K*45i;3uqnvCIFD(zeZtEMA z>jm{)ars0UTOogAIdk%J(+{gOD9%X!G#DUh_06j#P9+fu3V)(R99ABc_~RZq3UY` zx79somqnbA1#8n{y8omF@3w`&N?KhkEoDuyZQGHZZ(DzWVrsctzsX|z| zr7kQyzc@dy*7e9#UPGaQE@L%By9pZt-3=Q^yDO{dH`z`5*4~=KOclqVGO3P+zObmU z>V!=i`ont7xq5^kE9e?hZr^TX&k!{9h0Rr|V+p0!zN4fXcFvJC^@S&m>;z9+dZBwY zJY#Kdk8%Zpv+23)bgE4E9*O~kJe5PoYj*NHY3OA+gt)Zf8M`}M`;N-?yfh?h>I?tb zi$QL|q|yBG4(6q}%qQnVm!!NK(4oaJd7vPXu!ROM%!$ZeJD?R45m4&0*`ziEkYcilsaG84QmO-CglAhT_>jPU@M;Iydt`(ny=aXqLp7sYjeip5yO8*`UXiiz(hIy*I) z-_R`F3OXzRpNUk1$KntyR40~Ui6s^%yL!4%wEh8=5K{@>f`)ALiO!C$!QwEjA*8!l zu*i`Y`;*xvJ~(dT{{8^ob`ZzlMZ#g!Ohz>#mkxU`1b7BIE3E?v*At9tD1;Yg>GC=f7#58@w zBq(#Bun{{<*i3BsI9?0MA0eVgNUI<@ZWDs&*hoRew+}xnrhMjWUafY&9RA^G&1@q^gp1%NoP6Z94 z3q7?I=%2~ZQ`VV8b`74B&3Hr30kyAMyzOAJF|OC4MJBi6TchG6WU{U0>X|Pol*5r*FGy_{Be>g}gh59SBk5FUs zeYW*GD1GaO(@5Xnaa)^VVym(V8M43}EVQ#HDn#c2IDHr3mYdDb!BjGhk RBovbjYHEAvoX5S{{{UVl{nG#d delta 199 zcmbQ2drytEfpu!I@J7~94#vRAjhu>;Yd8!hdvV@iRG!?)q0BR-bxPxu+9?_ttUX|X z$y~fnlLdrxC)Wu(vt``Nkj}U>`J%d(2tSZ@GeahWIYTx>CqvF#v@|Jka)ojvqv+-| zy*wsvSw;qi9=_C~qWq%C3k`%fe=@kn?3D36<4eZuj2Ri%GA?Jl&v;YX!PPrd*GD{ejJ3SJHQiU`t%zUVVJf>0?pA?sWUOXu-nNCW!GnJ(v{QdxXhm}N_@xyX9e`nik-nk(5XXESV;&3#y0VjVN1xfXO}$}Bx3LhO3? zhz=OUTSCyCcu04w0+Z8E3#SoSo-wltfeyN0E2iT&O0#J*Tj{!CP6#e(v5^mmSs+@c ze2{Ahv3r{4VP^H83k1nB4C4P8N#gRq`7lq~j{ylbQyN*C+{|e*v{MB;$zEZL>^z%h ztL8zUshIYucuY2V+<)M#)!*h3U)Oen{#})6DnkV?X_*G(<1W zu(J!dr}F{K(ZN>9FeM2aHQlctGM;&rxjh_SfDO{j(~No*8!sjy^|W$hnToWP(eoa{ z)GZB$yd+gyJfxw=rK3%0qB5>ky6a`ilgi68nqpGZl(^&dAX-vtmuxdCy+ID2;Bx3z zM?8(4r1Ct^ng0b;}7F-G_YxKEqyxZ+;Vhui@`?{9T4Wu0UL*GcPTdIF(l zc^Yf7$1YQy`!5J;4g46E5=S@i0+z8CIc)@@04FeP z{NrM6vSCUQ(6Ck+*|1oW(k)K67bc8gUVY(`+N%yh+3x!(bo<58_ua*^pB{4G^tlmj zW=oGN%&~8~@FrDwTeJT7MeKhBqACQ-)G-o(cWy~|R|wBSLPo*0K{%3zZQ72M5Ng|| z(E!!h+a{SuL-=-+m+Q>hgzJ~fv^|60Vk5sf`WY;B%pgrgztiUBtAd*)$yq* z|DE1@yLYg+tKLTo9)7Ag)r@Exe7KklZJ8NR`%kDObyQq(%@NL5y$Ge7;pPAt^3uh- z7uR4lq0+2(?arf{m)9KiHsShhmA;Q4zh1^Ts_x#ks$Klf{hK#8s?}U>5y8U;RBPyv zz0HwP_Q+Lt@mv11T&xOf-kW>1xRvb7VSMHIvIj079jLxlU|$wW-YbK5uhf=)bjwP< z#nXd`@87&psi)+9Dky;uPuiq6!F$bC9%11j$Jh0aD9m@U@q^wGKPjiKq&4MT(h!CsB2wQ%Z|RV-TB|K^S>RvUU?(+ z>i6|k=!1LvRi{JMoicgYVs^;Fvp4hD#fPdp`!5}lyI-j}aM6pycmL&wDl&Cuwfp;0 zip*HSZw;^Ha|_G!v_DEc8LgH7Nj-V#TO~epm?B)d${{W=|L?xl=0RHl{&7$RV1HzP zVt;t19I=LNM%XPm{BR$J<;3$@PL~^UECC}vAH!+@Q?_P{`!TZ| zf)y!vAM^u=V1^|vy1$!5jl|52Cq4}VLC%9ao~Uy3w(qG zK&&Qlf{$(~1`vk9 zHw%o2=5xlZ&>aq2X`=J2CYmubAsysHh+75{D$zZHBBdn8NJj%irFK)r$7Y$!B-cKb zxG;gLFr8dS>)&5TGhCSSjoSq4S3HoJn2SYU76YA zZ-R4#fxg zQbp!RzzE!H!a4gNgy4p4k$#-81tdcpc^B^~%_m%R#YPo8M-JhLg2!AJ@11(xEGIPa zVHAp31PTcui*{syhTFHnVZP3^PO>ZgK8CYiva6YrJ(Ujog*j^}odTfr0gmGK4S*F_ zewwVm_Qv;M&*d}JwQP%YrvzQ>z92lIzP-onC`RM~ECY5PdQFH7& z1Wn6$gO!~Lv3fI4(8btSDfiS=<$-7L9u;sI!3XNZaN4GdEFVnJ@fghygpo2D?Gw^w z0iTHnG(-sRLIp;thLE!Xs5X5X6E1w(%%tFvQd1J|YCqZiqF!31;w#Qecx@ h#)iAiusg;smx0Jb>qbL+f(xO|e^simWjP=8{tb>8lP~}P literal 0 HcmV?d00001 diff --git a/documentation/build/.doctrees/index.doctree b/documentation/build/.doctrees/index.doctree index 7471097c000cfd4785b711dd3262e4c75b0b1281..b1d9df94d26fd9b4393b9ca3d1a20edc3c979c2c 100644 GIT binary patch literal 13458 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 delta 1336 zcmbu9Ur19?9LK$LSMQzsC@0focM92gwGO5X2JsMI@7suQ3>f8_?#Iy!d zBdy=9AcR`hQzY4-GJ^1-m)>F!K|UDtY6(jAX6M}FT^ou7z1(x}`F+p#`#Fd6yLSe^ zo?@@EcZ2RF_M#rf^iG)5Pcl6Vr7XjaAqR@Xl*4On#BWhlhYFDg2}tx?)4`$!9g~1b z?jtjYC3P^&UuJJ%SpwGh*RIELRErjphG_UwI2s=64-Y7QMy90Q|q71zz819pt|@@u<+HVptPucrl5D`Uw}o&XX9cybm-%#WDWT@)TR z%~ge|qzEG>(X0>{!j{3pCve~Lz`U;Vp_eLD2HH!%GZ`(^q=h<3D4e%;a3xGZ0dhz@ z9IvRaz=t6fk%_)Px6Evw7gC%?PtL zmea~GZfeZkBtw8`O0skI9Xh5+qdH*)&$+ zQ`py~&C$xGsLR7WF7vrNn`X3~we0R}lKTELahtQ5TcKI+^Rj9&@w;5&jkABfoh9Ad9W0+`mgDyb^Q!0mm`bf-UgyBJ+Wmp<&Dx^P21=V-%9DnHaK9Yw Piw(*{N`N$dJk;<9aL9;2 diff --git a/documentation/build/.doctrees/patches.doctree b/documentation/build/.doctrees/patches.doctree new file mode 100644 index 0000000000000000000000000000000000000000..ed100bdd7ce91efbe966a4d6d2869674bc989748 GIT binary patch literal 7549 zcmeHMZEqb%6?WqI<@(xAoRA2qao7fxCSc!NDn6h{k!W7phNMoE7upY$)!g0LI}^{& zEW5LQ5sCnzNR2e#x_spW65?pgI%Y<5E$GOUS$ar>*!Aua z9WaQugrGa|knUIoCa0ekP9v~9V`dWq9dyA~Ovi7OX47W2(sjd}5M0t?BOeg6K(tQz zAlDFL_cYDJ%<4ZE2$E$O#Q!sr#N~hUVV<-f0}^beG_o|gnbTxwrwVqGy}}mRc{a^f z&G-9E#k5bwW3tKP{sU*N{x*;Jy0#ni@2X5w8IrhPt4geu`lYV@q}+cm&9I>hx2N*~ ztkA&@$uK1e8@1T4A2ObKm6bi5S%7`f%+ri|6&o)mA@#I!W0{KdHcZv?9>T&c4TiiV zRa-oyp~t18O=+Ssu2s70Wy+Jv%QKo{Qqz>UQ}rNPQfilMGb+774p-oE=vGHOjh&?O z7|)si1yx&@`Zmt9U!La%yI{SBeGRU{UWH439e=Ok?{)lLh8wVNv30h})^JuQYB#`{ zb<2opUH()(V7hm1-l)%~w$IpDtH?EQ{NCXev3_{9BzFqUL6Ke~_X1Ac8!93^6^;1_ zPExBYwJI+nYqh%vaT|x%t~S$rt)+AA?m(zu)Bka<^k_OLGX-3~JIIBg+7}!FQ759- ztcVRe<8w{pk!f@92G7VqP>)D>Fh`&YPtY*)l=Ntts&vg0e3M$wwz262N=l?Fc(Y0o zQt1}FT`KL7AfQZFl_weVr{Zv zN)gboRvFo_Sd!8$PPZ2(j9^}U;gZ^`4nf)O`zdt$#nJcO#j>9sa^Lj15p8Bmk1Ncv zZ@Ta%Rd`#o{^&*Qe+Z%~1k2Ph5`cGZNqAQX&q6{*owY$Yl7?;Cj+78;+osU~McCUW znMXtTc9WOu%-V$O7t6FggWqB!zd8CDEYRK zS?}7NM>j98IqGe~_1h|aA3=V-jBym(y=zsw_?`PVZ*Ekpx!fXxhYzUM&>?%9Bctq* ztM1~r{AsyZ71q2r_iAw~*_Xrk%JF3nTs}HbeXGE}ER?)g2Jc>}E&b@0m3)h*2NB=D zd81NK$@^4L0w12VNpFJpnkTtf^CBWL+AMw~H>KL%?=TKFrjqaSArtu1dj#8~u)nSR z_uswsuyzKWr}AzT?OoN9U%T_x_1jSKNtL-?dg@q=jhS|Dn7#DWv9SM=Jhjc*vq-;x zIH*RM&Q2_@WC^h?+&t>KyX&CiiInZ?o|$<;#NWQ z_x7t!hpIbe^03A1kcDS&=CO+pRd@DZIwE(!Qgh&<7l-fu%MVp#>db2Q_k|Rhv4YlOZ1kQy*@ z!wu|1M)4!tSXS_14cm;cTXL}BJ`Br==d+wHH{@6XMtnYo)!?LT%@+4#W;w`Hi>Uey ze!5tXlsKxH&#I27Fe?r28>I^PpbQH$`vW3!0H_UKb8^FUhE(Ff0Vx*v2nq04P2vO} z-BJu79=VCnh3Yd;1-_QF3Ve&Z+F78|GtevDEzIdiDUBwPj!fP@W|k}*D)ZRi!G$I+ zFtVHh?oIqa#TLuX!19%H1g(o3@$HSouhCyftQJ&o@P=8mU}y>mif&O++&*p=7!l3q zj9H;O9JbO#=UGiOV`f4+$cGTO3?x*ddjv&FNsN(>28c@SrizcuGM7oNeJXKb0##u; zxsKMqyN+hKFz3f7eFt6n2)Izt6n3_%2D&gORj$Xm%s4KES)G`fVDb3Uv8gGuT=H#o zs8^pKpO{!|PT4(VwhOPWcfjfE`y(tK;u3iruLI^xN&_Gten=De2gGnV$A*~&>K0*} zum}%*Tt*|lQ?OaHOmeOKcE}v(aH^#+j}yOfJQ&suI7}Mwo@IE_jljAxv&Y{KB^k{_ z<>T%Ps#A0a;5PL~S2`~Vw7TP-XVF@8(BbAnObwIE+vxv=P00kU)5Avmo%#VN( zxJQI@_CE;04ch|zIAIG&hB)#ro>7`lxaf+FDtL|@!Vv|Jxh~#2^}1P3XyU^t6tM^t z5<(X3$N&wuZ-c{pm1&)1SNeSnXT4-sGbMW}9rg=z)>1kJKd47J*!P)^1%!1p86b*6&5GOeW)(ge`%QQ@ z8}Q4nn~<8L7+J>ID?_ixbO1Q2Tn{X)2^cC*mnq;mhlEF zI}>8{W}cvnv5!&ig{jH|&)_{O;4*>_)QRD=O%+)_n4se^njZ)wWi;BCqs;<76Ax&J z5Z;9fj8Y9DX9G}e`ZOk7_`vhfOxgFNkIYK-CIe>`QJL1BnZ=TWW1nI5G?iQSMas;V z=>_o&*W@zf2o~*Yv|AME3a?QsP!g`D@wx^#3hn#T6C}W~(ejN7!{8P*AG0>3@Vtfb zIXhVXf9dgY1U>tlea1e`O~+2?-2|HBjl)fCu+KJf_NsmI_#Bn#Q+72sOQQ$sI4%Vo zZedk|lybzzZB19IJ~~p;VMB0$c%Ve%BaZYd6N3$PXN+T~mg*Lr9^;P`oNAl%&rb5H zW~R&nvPz(G`;JwZF5p4|V`C4fEOXbZ@sDAMr^S6l2%g;#Yj_IG;1i|5Cb^6acbj2% bj9o4Rk%!iehV}#(LYx1pRAI|Ej literal 0 HcmV?d00001 diff --git a/documentation/build/.doctrees/server/index.doctree b/documentation/build/.doctrees/server/index.doctree new file mode 100644 index 0000000000000000000000000000000000000000..3f889e88052a9abda7ab94579978d54f798e64b2 GIT binary patch literal 8790 zcmeHNS#KQ25tc0T*cA^^iUb3)?6wlel&qcIoIFcyAWNZV1Fr1y~-5zl+ zPxtUJV8D4WU?C0U!4o7l@&j@p@N0nlgaG*q0sIH@8ssTo_nf=5C?$x1Jct6R?dt04 z>guZMI`*@%U){WTO#jGP9x*rAH!Q~qLWlBHPCB8T_%smdm+7USr=OnAw1g&PLtayG`s*~I;Ho;Bo{aD_)}Q*wNh#=A65 z6$TKV-=h0!=Mw&Ts(ApBGjcq#u&YSfoNSmSo9u)f&$-)>&wFk_(~YEO$)+Vl?Di6Y zQ>jy&a2>8Vp0GWOa{%#qEU^6S)1;F`)u3nDJ2CAmoJ39tYoMl5Hp|YlDfS{e!7j)< zZ5H~pO}z)!j_bEKwS3xpZr^PQ%kvJ*J0TY|a4f%Fuxcr}v@>4YT%Wt`1`gdfVvbY2 zbn`^ggA5utrZtGIh}8uZZZS#}WtVai(~lE3ro9p7db_H7VJeFy#1kIC~$yPRZssPAS*AtknzVA$F zijy6lC~t**1lk`w`O%btY-Z@1wF$6flpMUVVePsDOF%P2vb|l|N}DCU?QNp;G){tC zC3}ipGh@}@tgez%bwV`}4#UBVQ)iv6m7JVDyn7*ynPIjn>iU}fI>Eo zML9BY1jEqGL-Hs%o*kK~Hqb18_TR8v*GzV6l(8q%%gI6+AcTgT&h5?Yd7-^iv$~JI z8asCE2gGQP9HZI%5j)jwwQGdj zCk2IfX#nq}ag?uyUskA`%y-(|O9j#mH?TbSlaf%*8PLnU9*q(P&E{RT{gFSLIH*Rr z;o^}Zw?fMyKizD8n@aMxzmWEkYnP1WWwLXx=Jzu=4f{4`(eP1wWa=o?G#v~tIn?lo#XXmFuNDVJH{HdyZx0Mb8*dB8^QD~ zH!xP{a(8*PB!{h6DjDV^wLa=wG_EeJ^!mLFePMNJn8iKXix6BGv~zW3X|bfavfR~p zDX}?k_pF7!v%Iv3vpT)rqD^VPYhZ$qh2@OJCa#XmZ|bP&63OG97Iz(3Gr}y`K0ycs z!-jEEG7t0TWI)Axfh%0gyBmiQ{6MTg8I4V>)X+;!rBNWQ%?zZiM1;OFITgm`#BpC1 zC%Gm5Wb5{=e1{-}#p)fDGl;k%_De-<^IcHF&oHq;X4QwOy$++gvr(~~F_ZH*|K8^N z88tVsW2%C4%PW|PX-*WeWxhV9yKoE2g@HMJVturnTJs*ccJ0~|dYV`BN9LK6e&(dL zKG**|bJEY8^fM>@|KOyngiYn5U!(l-$jnhT_I+=i<4Hy}XEKVZ&ahAl>4&Po^H5HD zRxn5q7^+eUVv7(38#%+=0rT)HOe-F!f{Myyf0JjR&03^irF(a_!ZMxHo5WX0@c0an z?o(8hC=x_G=JotfKSin{@$zE`R|(MLQNj5)^#tjEktF`PPVmt;QPcvysU?ZU;cG|8 zlEiZ22!`jrTV#;f^pGek;yOY6>wnDdljVP%npS*Oq~0HG9nZ48A&wrI>mlNbh066% zoXlfB6+yOIG}yg{h$~OOn$4eal?D0kK8;Bh;3q15LQHfqK=O65xe=0GgnVIz6Ceje zPT0JKoRJ1=^pr`pQzb+x(FBNESH~Yu9o;tLLGd77!*xwBBwbskJj`~dF$?bDoaIbNo$Ct zkCYQNI|G=Q%||#~f+~*9V5F%339LFGD&#E!wP*5uO7b1{v420x$FkqC-?KkFWPhwY zDErf}%Uq}#N98i*k7MH;$=$cfL6|^`;fqlMK`Mb_8nOZv z?OOosA-|-^E4dxJ5sJMblqz$mirnSPLF8+%tS#&EW$2UdtHK))VUo4-U{wL$e%f4B z4oN=!y&(91)IA<*Q{#|r7z}DfDLHpYQboCKdPss5>)Mz8t4{f7*Z)t&h<5$wkGh0X z?c|YYqo;Z@7yU-1h1CLiN>|ug(3e*BZl_jJ$Ijk2Jy$TZ zXlY@`d_msh+K^K*jlx)%9^Iv0dh}Bs2 zFqHcNq#)Ml zMJi`epB<($rm3Xz!pO`Bi3c|jOvssxZpA~f`o-aik;PDDoPk473?f4R3t{eb5&J^o z4#v-+$tlmEp%%uD>1f}KZP0;(9LBRSLrKJSOa#(>cRyw0az>SW%nBr*bD>nzPU1(1 zW^=`ZU^T#n&c!I=DuS~b0_g@^U4I3NI8B_;MBEOnQ-~2lPR;sCttGZFcU|rZt)jE0 z<8l?E;2^5niG>q|L9i=w3Wwn^0UaS>ZaPOZ`>0y$&gePy37f!TRTPCAR@59^`AKwx z%OO;BPFWQ+Cm28xJyga;di&ICawejY387HfB1+)cWJ*DLD8HM^IOGc|a^eV`0Om$? zAXpd}VLWK3@~pzt3;@#<)W`J*T*oBftyeoskmpR?w@1h;NJajK1$kAtQ7XGbW5cDQ zulIo2x0&!gY}OD~4_4#|mfoC{7hrF`S(;~g05i*&9?Dbv0Abv|Stdj&n$GI+kW<`8 zuxfssz^*w2bw-b~p{e7;Otcpeyn!EFd}eQuvKAp$?<5g2Fx6Anjq=SsPe8CPls1GtvG>BB+|; zU&y(U}xn0=mqKw$I_E~q~*s6S`%Cy@<>Ar2xO z0j*b!v!UlV684IMs0D0FW3$afPS>wk?=fw=s!R$dv2O-ZmR#Uvhp9s{Jba4)D&hA+ zuhbfi`n?fgiQO2Y*eG_@i%t*G*CCpE1HDx5e6ax5hi^P^)k{)efH+;cn<4PY609%wBkrUT-bm_!s0=H`GpWYP4h&#hw(&CU) zk|V896lgCD!~u(5WO~($zD6G+KyCu$X$th?%+BmeNnN8zVL=PboH;z?`OZK8)cM== zwKLV9-?BLuYBr*2s&vY1>DN-76d6;l{GxpK&*dM>Yrbdbk=2DsSn1DzBjG}(hN<## z=?8(`328_3^jaooOF$C|BdLZQSmcNlIT4CTTiEe#WtwaJlE3o2UCY)!|Ai08MKyAJ{0-O#N_M4i z%uuEB|MM;_=9TpyA;kY9M!qxAA%8vd11_dq;^$&&rXdmd-Yk>5Hm4!Kt>uP6 zr^E0lshSpaipMVWvl^Kz_|Ahl*4-tnM|G;?9q%4;rVvcRk}T{(#*7#ysbeW|nov?8 z$cQN<0#=b<2vy8R{rfD_haoVlb=AisAtkX+=kq)B!tc0Dn1~ zFYF)z$&(k4!p3U{OGrL!kuys4UR8k>jjD-m(BiHZ{`y|<@~!n zc6$lu^#Kp=Sf?CbVM40RdwLgSZsC8H!Djg|ohz?4A{^-*Yc^HBa z|7=FH9PyT*!wID?6gI3I7ieP$RVkuT5#gEw_hAdf#`3YA2S%{iKVBS+P<{ShRiERR zr)+CV{}K-ofLO-u#j4y78fOBAi+u5isX&t>wPJ)jm)qSa0)-djQKGZxCb~DXqg>QD z+6W)}{kO=S$_?;5in2p>1PP2Pf@*Mp)E^k`SKiToLJuh!KB0y<6b`l|2(-pIUg{ZI zi&pjUpU=x6AxpG15$R%mUf}4M=4k4_RU?<{-sJ`Q3v>B3^kj9?piRSdg0|Fr^&w#1 zG&i|mNzm4*KDb=S`;Jei#I7u*7&Ok$X$YDLfnN{0z2XN+VZtmCx0Az0L#ZbSzh;>W z-7|)y?RM%xT~?u~Fa7FosYL(1=(4uU`RqM&z3&kd&O^tkxLa>JVTR{m7okP2Aw>H--k)g zLgeL|!X&FGahMX~X70g`^9A!kXwPpLmTTi;$qtz;@16C1PG$Sr@!M=BfR&@Junkkk zcTzSkrr2(PUmR>pe;nYfhE+}9_2?9Q{ z>KHehHW6^A=oQamF!mP=OSDPjl;v;^Y$McU&54+meAN$V;dHzp z`LhBZwV4)K9=BcxR4amj!x=?o5V%!Q0IjmY_6t&O8M>z!oh`V|v01Jyi=T@8wOEHT>k@+dRO*HW9egn!__?}) zl>NRyP+I_Xp?a@hV+?I{4(-*1WByNI_&V5tas?q)9~5~QYjC>ia%G+bp22%`BGd#v z&}4=4Ay3$1e2PzGD0JA2)}a_KOb$x;Og3gI;`caQ&M@Y%$wgFGdJwaW3K`?d2%}QC zHu=nN&o6!8ta4K4v}b;!mQabeSiQp3VYrC#YjtixFvB&4N(F+&#dTG!9BCVegsVAR zEWwS^aP5LI?feO9eKi9zq)pnF)eus+)d9U5i1qU|{tf?{f5pEnd@oSlagJk$>w$0f z_*Z)ce=|IPjiU4=|Ge;<%ciVkZ6*Q^5e@_SH6=uB!&e`AnNss1CSdw(tYzyR73*uK zh%I;Tgv4I6YqjY73Hivp#)VXW@wBY@movVPe3IxQWQ#Hsco~Lw=zxOK{b)}A0w_E! y?;|#Fzl12m-Is+o)El;G wifi-tally-hub@0.1.0 build + > next build + + Browserslist: caniuse-lite is outdated. Please run: + npx browserslist@latest --update-db + info - Creating an optimized production build + info - Compiled successfully + info - Collecting page data + [== ] info - Generating static pages (0/1)info - Finalizing page optimizati + info - Finalizing page optimization + + Page Size First Load JS + ┌ λ / 4.55 kB 94.4 kB + ├ /_app 0 B 59.2 kB + ├ â—‹ /404 3.01 kB 62.2 kB + ├ λ /config 1.48 kB 91.3 kB + â”” λ /tally/[tallyName] 1.48 kB 91.3 kB + + First Load JS shared by all 59.2 kB + ├ chunks/07ed33f3.bca366.js 68 B + ├ chunks/commons.94f2cd.js 11 kB + ├ chunks/framework.9ec1f7.js 39.9 kB + ├ chunks/main.7e5158.js 7.2 kB + ├ chunks/pages/_app.627bfb.js 284 B + ├ chunks/webpack.e06743.js 751 B + â”” css/ba2fd543a36dbb3ceef1.css 25.9 kB + + λ (Server) server-side renders at runtime (uses getInitialProps or getServerSideProps) + â—‹ (Static) automatically rendered as static HTML (uses no initial props) + â— (SSG) automatically generated as static HTML + JSON (uses getStaticProps) + (ISR) incremental static regeneration (uses revalidate in getStaticProps) + + [ ===] info - Generating static pages (0/1)% + + +To run the server, navigate to ``wifi-tally/hub`` and execute ``run_server.sh`` + +.. code-block:: console + + $ ./run_server.sh + + > wifi-tally-hub@0.1.0 start + > node server.js --env=production + + Using mixer configuration "null" + No video mixer connected. + Listening for Tallies on 0.0.0.0:7411 + Web Server available on http://localhost:3000 + (node:117081) ExperimentalWarning: The Fetch API is an experimental feature. This feature could change at any time + +Depending on the OS of the stream PC you might need to create a new shell script to execute the **npm run start** command to run the server. \ No newline at end of file diff --git a/documentation/build/_sources/troubleshooting.rst.txt b/documentation/build/_sources/troubleshooting.rst.txt new file mode 100644 index 0000000..d2a124f --- /dev/null +++ b/documentation/build/_sources/troubleshooting.rst.txt @@ -0,0 +1,35 @@ +=============== +Troubleshooting +=============== + +If you have issues with the ``esp8266`` not connecting on /dev/ttyUSB, but the device does show up in lsusb: + +.. code:: console + + $ lsusb + [..] + Bus 001 Device 019: ID 1a86:7523 QinHeng Electronics CH340 serial converter + [..] + +Then this might be related to a udev rule in Linux. +Removing this rule will stop udev from hijacking the USB device. + +.. code:: console + + sudo rm /usr/lib/udev/rules.d/*-brltty-*.rules + sudo udevadm control --reload-rules + sudo systemctl mask brltty.path + +ESPlorer +======== +``ESPlorer`` is a tool that allows you to flash firmware to the ESP8266 using a GUI. This is example code on how to build and run it: + +.. code-block:: consoleabap + + git clone https://github.com/4refr0nt/ESPlorer.git + + # Build it + ./mvnw clean package + + # Run it + java -jar target/ESPlorer.jar diff --git a/documentation/build/dependencies.html b/documentation/build/dependencies.html new file mode 100644 index 0000000..930cc3b --- /dev/null +++ b/documentation/build/dependencies.html @@ -0,0 +1,121 @@ + + + + + + + Dependencies — Oostendam Tallies documentation + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/documentation/build/genindex.html b/documentation/build/genindex.html index 6761fe1..55d47f3 100644 --- a/documentation/build/genindex.html +++ b/documentation/build/genindex.html @@ -41,6 +41,7 @@ diff --git a/documentation/build/hardware/index.html b/documentation/build/hardware/index.html index 4a0a8c6..6bce563 100644 --- a/documentation/build/hardware/index.html +++ b/documentation/build/hardware/index.html @@ -21,6 +21,7 @@ + @@ -46,8 +47,10 @@
  • Build a Tally
  • Build the firmware
  • Flash the firmware
  • +
  • Flash the Application
  • +
  • Server
  • @@ -85,10 +88,76 @@ How to build the tallies and how to build and flash new firmware to the tallies.

    Build the firmwareïƒ

    -

    In order to build the firmware a Toolchain for cross compilation is required.

    +

    In order to build the firmware a Toolchain for cross compilation is required. +This toolchain is provided in the repository in nodemcu-firmware/. +To build the code for the tallies, navigate to wifi-tally/tally/ and run make.

    +
    $ make
    +# if it compiles it is syntactically valid
    +../../nodemcu-firmware/luac.cross -o /dev/null src/init.lua
    +"busted"
    +â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—â—
    +91 successes / 0 failures / 0 errors / 0 pending : 0.23373 seconds
    +
    +
    +

    The resulting files are in the out/ folder.

    Flash the firmwareïƒ

    +

    To flash the firmware, first put the device in flash mode. +You can do this by pressing and hodling the FLASH button and presing the RST button. +After that you can release the FLASH button. +Next, navigate to ../wifi-tally/firmware and run install_firmware.sh.

    +
    $ ./install_firmware.sh
    +esptool.py v4.4
    +Serial port /dev/ttyUSB0
    +Connecting....
    +Detecting chip type... Unsupported detection protocol, switching and trying again...
    +Connecting....
    +Detecting chip type... ESP8266
    +Chip is ESP8266EX
    +Features: WiFi
    +Crystal is 26MHz
    +MAC: 50:02:91:fd:ca:0a
    +Uploading stub...
    +Running stub...
    +Stub running...
    +Configuring flash size...
    +Flash will be erased from 0x00000000 to 0x00070fff...
    +Flash params set to 0x0020
    +Compressed 462848 bytes to 301339...
    +Wrote 462848 bytes (301339 compressed) at 0x00000000 in 26.7 seconds (effective 138.9 kbit/s)...
    +Hash of data verified.
    +
    +Leaving...
    +
    +
    +
    +

    Note

    +

    If you receive an error about permissions, run sudo -E ./install_firmware.sh to mitigate permissions for the USB device. Also look in the troubleshooting section if you keep having issues.

    +
    +
    +
    +

    Flash the Applicationïƒ

    +

    Navigate to wifi-tally/tally and run install_application.sh.

    +
    +

    Note

    +

    Make sure to edit the out/tally-settings.ini for the correct wifi SSID and password.

    +
    +
    $ ./install_application.sh
    +opening port /dev/ttyUSB0 with 115200 baud
    +Preparing esp for transfer.
    +Transferring out/my-app.lc as out/my-app.lc
    +Transferring out/my-led.lc as out/my-led.lc
    +Transferring out/my-log-buffer.lc as out/my-log-buffer.lc
    +Transferring out/my-log.lc as out/my-log.lc
    +Transferring out/my-settings.lc as out/my-settings.lc
    +Transferring out/my-tally.lc as out/my-tally.lc
    +Transferring out/my-wifi.lc as out/my-wifi.lc
    +Transferring out/tally-settings.ini as out/tally-settings.ini
    +All done!
    +
    +
    +

    The tally is ready!

    @@ -97,6 +166,7 @@ How to build the tallies and how to build and flash new firmware to the tallies.
    + + +
    + +
    +
    +
    + +
    +
    +
    +
    + +
    +

    Dependenciesïƒ

    +

    Install the following Dependencies:

    +
    +
      +
    • luarocks : sudo apt install luarocks

    • +
    • busted : sudo luarocks install busted

    • +
    • python3 : sudo apt install python3

    • +
    • esptool : pip3 install esptool

    • +
    • nodemcu-uploader : pip3 install nodemcu-uploader

    • +
    +
    +

    Install on the Server PC:

    +
    +
    +
    +
    + + +
    +
    + +
    +
    +
    +