Add files via upload
This commit is contained in:
113821
Esplorer/ESPlorer.Log
Normal file
113821
Esplorer/ESPlorer.Log
Normal file
File diff suppressed because it is too large
Load Diff
410
Esplorer/ESPlorer.Log.1
Normal file
410
Esplorer/ESPlorer.Log.1
Normal file
@@ -0,0 +1,410 @@
|
||||
<?xml version="1.0" encoding="windows-1250" standalone="no"?>
|
||||
<!DOCTYPE log SYSTEM "logger.dtd">
|
||||
<log>
|
||||
<record>
|
||||
<date>2017-06-23T09:03:22</date>
|
||||
<millis>1498201402063</millis>
|
||||
<sequence>5</sequence>
|
||||
<logger>ESPlorer.ESPlorer</logger>
|
||||
<level>INFO</level>
|
||||
<class>ESPlorer.ESPlorer</class>
|
||||
<method>log</method>
|
||||
<thread>14</thread>
|
||||
<message>Load saved settings: Firmware:MicroPython</message>
|
||||
</record>
|
||||
<record>
|
||||
<date>2017-06-23T09:03:22</date>
|
||||
<millis>1498201402206</millis>
|
||||
<sequence>6</sequence>
|
||||
<logger>ESPlorer.ESPlorer</logger>
|
||||
<level>INFO</level>
|
||||
<class>ESPlorer.ESPlorer</class>
|
||||
<method>log</method>
|
||||
<thread>14</thread>
|
||||
<message>Snippets: loading...</message>
|
||||
</record>
|
||||
<record>
|
||||
<date>2017-06-23T09:03:22</date>
|
||||
<millis>1498201402217</millis>
|
||||
<sequence>7</sequence>
|
||||
<logger>ESPlorer.ESPlorer</logger>
|
||||
<level>INFO</level>
|
||||
<class>ESPlorer.ESPlorer</class>
|
||||
<method>log</method>
|
||||
<thread>14</thread>
|
||||
<message>Snippets load: Success.</message>
|
||||
</record>
|
||||
<record>
|
||||
<date>2017-06-23T09:03:22</date>
|
||||
<millis>1498201402224</millis>
|
||||
<sequence>8</sequence>
|
||||
<logger>ESPlorer.ESPlorer</logger>
|
||||
<level>INFO</level>
|
||||
<class>ESPlorer.ESPlorer</class>
|
||||
<method>log</method>
|
||||
<thread>14</thread>
|
||||
<message>Snippets: loading...</message>
|
||||
</record>
|
||||
<record>
|
||||
<date>2017-06-23T09:03:22</date>
|
||||
<millis>1498201402230</millis>
|
||||
<sequence>9</sequence>
|
||||
<logger>ESPlorer.ESPlorer</logger>
|
||||
<level>INFO</level>
|
||||
<class>ESPlorer.ESPlorer</class>
|
||||
<method>log</method>
|
||||
<thread>14</thread>
|
||||
<message>Snippets load: Success.</message>
|
||||
</record>
|
||||
<record>
|
||||
<date>2017-06-23T09:03:22</date>
|
||||
<millis>1498201402232</millis>
|
||||
<sequence>10</sequence>
|
||||
<logger>ESPlorer.ESPlorer</logger>
|
||||
<level>INFO</level>
|
||||
<class>ESPlorer.ESPlorer</class>
|
||||
<method>log</method>
|
||||
<thread>14</thread>
|
||||
<message>Snippets: loading...</message>
|
||||
</record>
|
||||
<record>
|
||||
<date>2017-06-23T09:03:22</date>
|
||||
<millis>1498201402238</millis>
|
||||
<sequence>11</sequence>
|
||||
<logger>ESPlorer.ESPlorer</logger>
|
||||
<level>INFO</level>
|
||||
<class>ESPlorer.ESPlorer</class>
|
||||
<method>log</method>
|
||||
<thread>14</thread>
|
||||
<message>Snippets load: Success.</message>
|
||||
</record>
|
||||
<record>
|
||||
<date>2017-06-23T09:03:22</date>
|
||||
<millis>1498201402289</millis>
|
||||
<sequence>12</sequence>
|
||||
<logger>ESPlorer.ESPlorer</logger>
|
||||
<level>INFO</level>
|
||||
<class>ESPlorer.ESPlorer</class>
|
||||
<method>log</method>
|
||||
<thread>14</thread>
|
||||
<message>Set new color theme: Success.</message>
|
||||
</record>
|
||||
<record>
|
||||
<date>2017-06-23T09:03:22</date>
|
||||
<millis>1498201402296</millis>
|
||||
<sequence>13</sequence>
|
||||
<logger>ESPlorer.ESPlorer</logger>
|
||||
<level>INFO</level>
|
||||
<class>ESPlorer.ESPlorer</class>
|
||||
<method>log</method>
|
||||
<thread>14</thread>
|
||||
<message>Load saved settings: DONE.</message>
|
||||
</record>
|
||||
<record>
|
||||
<date>2017-06-23T09:03:22</date>
|
||||
<millis>1498201402299</millis>
|
||||
<sequence>14</sequence>
|
||||
<logger>ESPlorer.ESPlorer</logger>
|
||||
<level>INFO</level>
|
||||
<class>ESPlorer.ESPlorer</class>
|
||||
<method>log</method>
|
||||
<thread>14</thread>
|
||||
<message>Snippets: loading...</message>
|
||||
</record>
|
||||
<record>
|
||||
<date>2017-06-23T09:03:22</date>
|
||||
<millis>1498201402304</millis>
|
||||
<sequence>15</sequence>
|
||||
<logger>ESPlorer.ESPlorer</logger>
|
||||
<level>INFO</level>
|
||||
<class>ESPlorer.ESPlorer</class>
|
||||
<method>log</method>
|
||||
<thread>14</thread>
|
||||
<message>Snippets load: Success.</message>
|
||||
</record>
|
||||
<record>
|
||||
<date>2017-06-23T09:03:22</date>
|
||||
<millis>1498201402747</millis>
|
||||
<sequence>16</sequence>
|
||||
<logger>ESPlorer.ESPlorer</logger>
|
||||
<level>INFO</level>
|
||||
<class>ESPlorer.ESPlorer</class>
|
||||
<method>log</method>
|
||||
<thread>14</thread>
|
||||
<message>Scan system...</message>
|
||||
</record>
|
||||
<record>
|
||||
<date>2017-06-23T09:03:22</date>
|
||||
<millis>1498201402754</millis>
|
||||
<sequence>17</sequence>
|
||||
<logger>ESPlorer.ESPlorer</logger>
|
||||
<level>INFO</level>
|
||||
<class>ESPlorer.ESPlorer</class>
|
||||
<method>log</method>
|
||||
<thread>14</thread>
|
||||
<message>found COM1</message>
|
||||
</record>
|
||||
<record>
|
||||
<date>2017-06-23T09:03:22</date>
|
||||
<millis>1498201402756</millis>
|
||||
<sequence>18</sequence>
|
||||
<logger>ESPlorer.ESPlorer</logger>
|
||||
<level>INFO</level>
|
||||
<class>ESPlorer.ESPlorer</class>
|
||||
<method>log</method>
|
||||
<thread>14</thread>
|
||||
<message>found last saved serial port COM3</message>
|
||||
</record>
|
||||
<record>
|
||||
<date>2017-06-23T09:03:22</date>
|
||||
<millis>1498201402763</millis>
|
||||
<sequence>19</sequence>
|
||||
<logger>ESPlorer.ESPlorer</logger>
|
||||
<level>INFO</level>
|
||||
<class>ESPlorer.ESPlorer</class>
|
||||
<method>log</method>
|
||||
<thread>14</thread>
|
||||
<message>Scan done.</message>
|
||||
</record>
|
||||
<record>
|
||||
<date>2017-06-23T09:03:40</date>
|
||||
<millis>1498201420919</millis>
|
||||
<sequence>20</sequence>
|
||||
<logger>ESPlorer.ESPlorer</logger>
|
||||
<level>INFO</level>
|
||||
<class>ESPlorer.ESPlorer</class>
|
||||
<method>log</method>
|
||||
<thread>14</thread>
|
||||
<message>Serial port COM3 save as default.</message>
|
||||
</record>
|
||||
<record>
|
||||
<date>2017-06-23T09:03:40</date>
|
||||
<millis>1498201420922</millis>
|
||||
<sequence>21</sequence>
|
||||
<logger>ESPlorer.ESPlorer</logger>
|
||||
<level>INFO</level>
|
||||
<class>ESPlorer.ESPlorer</class>
|
||||
<method>log</method>
|
||||
<thread>14</thread>
|
||||
<message>Baud rate 115200 save as default.</message>
|
||||
</record>
|
||||
<record>
|
||||
<date>2017-06-23T09:03:40</date>
|
||||
<millis>1498201420923</millis>
|
||||
<sequence>22</sequence>
|
||||
<logger>ESPlorer.ESPlorer</logger>
|
||||
<level>INFO</level>
|
||||
<class>ESPlorer.ESPlorer</class>
|
||||
<method>log</method>
|
||||
<thread>14</thread>
|
||||
<message>Try to open port COM3, baud 115200, 8N1</message>
|
||||
</record>
|
||||
<record>
|
||||
<date>2017-06-23T09:03:40</date>
|
||||
<millis>1498201420975</millis>
|
||||
<sequence>23</sequence>
|
||||
<logger>ESPlorer.ESPlorer</logger>
|
||||
<level>INFO</level>
|
||||
<class>ESPlorer.ESPlorer</class>
|
||||
<method>log</method>
|
||||
<thread>14</thread>
|
||||
<message>Open port COM3 - Success.</message>
|
||||
</record>
|
||||
<record>
|
||||
<date>2017-06-23T09:03:45</date>
|
||||
<millis>1498201425402</millis>
|
||||
<sequence>24</sequence>
|
||||
<logger>ESPlorer.ESPlorer</logger>
|
||||
<level>INFO</level>
|
||||
<class>ESPlorer.ESPlorer</class>
|
||||
<method>log</method>
|
||||
<thread>14</thread>
|
||||
<message>RTS set to OFF</message>
|
||||
</record>
|
||||
<record>
|
||||
<date>2017-06-23T09:03:46</date>
|
||||
<millis>1498201426402</millis>
|
||||
<sequence>25</sequence>
|
||||
<logger>ESPlorer.ESPlorer</logger>
|
||||
<level>INFO</level>
|
||||
<class>ESPlorer.ESPlorer</class>
|
||||
<method>log</method>
|
||||
<thread>14</thread>
|
||||
<message>RTS set to ON</message>
|
||||
</record>
|
||||
<record>
|
||||
<date>2017-06-23T09:03:47</date>
|
||||
<millis>1498201427841</millis>
|
||||
<sequence>26</sequence>
|
||||
<logger>ESPlorer.ESPlorer</logger>
|
||||
<level>INFO</level>
|
||||
<class>ESPlorer.ESPlorer</class>
|
||||
<method>log</method>
|
||||
<thread>14</thread>
|
||||
<message>DTR set to OFF</message>
|
||||
</record>
|
||||
<record>
|
||||
<date>2017-06-23T09:03:48</date>
|
||||
<millis>1498201428458</millis>
|
||||
<sequence>27</sequence>
|
||||
<logger>ESPlorer.ESPlorer</logger>
|
||||
<level>INFO</level>
|
||||
<class>ESPlorer.ESPlorer</class>
|
||||
<method>log</method>
|
||||
<thread>14</thread>
|
||||
<message>DTR set to ON</message>
|
||||
</record>
|
||||
<record>
|
||||
<date>2017-06-23T09:04:56</date>
|
||||
<millis>1498201496689</millis>
|
||||
<sequence>28</sequence>
|
||||
<logger>ESPlorer.ESPlorer</logger>
|
||||
<level>INFO</level>
|
||||
<class>ESPlorer.ESPlorer</class>
|
||||
<method>log</method>
|
||||
<thread>14</thread>
|
||||
<message>pyFileManager: Add EventListener: Success.</message>
|
||||
</record>
|
||||
<record>
|
||||
<date>2017-06-23T09:04:56</date>
|
||||
<millis>1498201496721</millis>
|
||||
<sequence>29</sequence>
|
||||
<logger>ESPlorer.ESPlorer</logger>
|
||||
<level>INFO</level>
|
||||
<class>ESPlorer.ESPlorer</class>
|
||||
<method>log</method>
|
||||
<thread>14</thread>
|
||||
<message>pyFileManager: Starting...</message>
|
||||
</record>
|
||||
<record>
|
||||
<date>2017-06-23T09:04:56</date>
|
||||
<millis>1498201496734</millis>
|
||||
<sequence>30</sequence>
|
||||
<logger>ESPlorer.ESPlorer</logger>
|
||||
<level>INFO</level>
|
||||
<class>ESPlorer.ESPlorer</class>
|
||||
<method>log</method>
|
||||
<thread>14</thread>
|
||||
<message>sending:import os;os.listdir('')
|
||||
</message>
|
||||
</record>
|
||||
<record>
|
||||
<date>2017-06-23T09:04:56</date>
|
||||
<millis>1498201496765</millis>
|
||||
<sequence>31</sequence>
|
||||
<logger>ESPlorer.ESPlorer</logger>
|
||||
<level>INFO</level>
|
||||
<class>ESPlorer.ESPlorer</class>
|
||||
<method>log</method>
|
||||
<thread>30</thread>
|
||||
<message>FileManager: File list found! Do parsing...</message>
|
||||
</record>
|
||||
<record>
|
||||
<date>2017-06-23T09:04:56</date>
|
||||
<millis>1498201496781</millis>
|
||||
<sequence>32</sequence>
|
||||
<logger>ESPlorer.ESPlorer</logger>
|
||||
<level>INFO</level>
|
||||
<class>ESPlorer.ESPlorer</class>
|
||||
<method>log</method>
|
||||
<thread>30</thread>
|
||||
<message>FileManager found file DS18B20.py</message>
|
||||
</record>
|
||||
<record>
|
||||
<date>2017-06-23T09:04:56</date>
|
||||
<millis>1498201496785</millis>
|
||||
<sequence>33</sequence>
|
||||
<logger>ESPlorer.ESPlorer</logger>
|
||||
<level>INFO</level>
|
||||
<class>ESPlorer.ESPlorer</class>
|
||||
<method>log</method>
|
||||
<thread>30</thread>
|
||||
<message>FileManager found file boot.py</message>
|
||||
</record>
|
||||
<record>
|
||||
<date>2017-06-23T09:04:56</date>
|
||||
<millis>1498201496809</millis>
|
||||
<sequence>34</sequence>
|
||||
<logger>ESPlorer.ESPlorer</logger>
|
||||
<level>INFO</level>
|
||||
<class>ESPlorer.ESPlorer</class>
|
||||
<method>log</method>
|
||||
<thread>30</thread>
|
||||
<message>FileManager found file display.py</message>
|
||||
</record>
|
||||
<record>
|
||||
<date>2017-06-23T09:04:56</date>
|
||||
<millis>1498201496812</millis>
|
||||
<sequence>35</sequence>
|
||||
<logger>ESPlorer.ESPlorer</logger>
|
||||
<level>INFO</level>
|
||||
<class>ESPlorer.ESPlorer</class>
|
||||
<method>log</method>
|
||||
<thread>30</thread>
|
||||
<message>FileManager found file ne555.py</message>
|
||||
</record>
|
||||
<record>
|
||||
<date>2017-06-23T09:04:56</date>
|
||||
<millis>1498201496832</millis>
|
||||
<sequence>36</sequence>
|
||||
<logger>ESPlorer.ESPlorer</logger>
|
||||
<level>INFO</level>
|
||||
<class>ESPlorer.ESPlorer</class>
|
||||
<method>log</method>
|
||||
<thread>30</thread>
|
||||
<message>FileManager found file net.py</message>
|
||||
</record>
|
||||
<record>
|
||||
<date>2017-06-23T09:04:56</date>
|
||||
<millis>1498201496835</millis>
|
||||
<sequence>37</sequence>
|
||||
<logger>ESPlorer.ESPlorer</logger>
|
||||
<level>INFO</level>
|
||||
<class>ESPlorer.ESPlorer</class>
|
||||
<method>log</method>
|
||||
<thread>30</thread>
|
||||
<message>FileManager found file web_sensors.py</message>
|
||||
</record>
|
||||
<record>
|
||||
<date>2017-06-23T09:04:56</date>
|
||||
<millis>1498201496841</millis>
|
||||
<sequence>38</sequence>
|
||||
<logger>ESPlorer.ESPlorer</logger>
|
||||
<level>INFO</level>
|
||||
<class>ESPlorer.ESPlorer</class>
|
||||
<method>log</method>
|
||||
<thread>30</thread>
|
||||
<message>pyFileManager: File list parsing done, found 6 file(s).</message>
|
||||
</record>
|
||||
<record>
|
||||
<date>2017-06-23T09:05:42</date>
|
||||
<millis>1498201542421</millis>
|
||||
<sequence>39</sequence>
|
||||
<logger>ESPlorer.ESPlorer</logger>
|
||||
<level>INFO</level>
|
||||
<class>ESPlorer.ESPlorer</class>
|
||||
<method>log</method>
|
||||
<thread>14</thread>
|
||||
<message>sending:import net<CR><LF></message>
|
||||
</record>
|
||||
<record>
|
||||
<date>2017-06-23T09:07:00</date>
|
||||
<millis>1498201620649</millis>
|
||||
<sequence>40</sequence>
|
||||
<logger>ESPlorer.ESPlorer</logger>
|
||||
<level>INFO</level>
|
||||
<class>ESPlorer.ESPlorer</class>
|
||||
<method>log</method>
|
||||
<thread>14</thread>
|
||||
<message>sending:net.do_connec("delavnica","delavnica")<CR><LF></message>
|
||||
</record>
|
||||
<record>
|
||||
<date>2017-06-23T09:07:12</date>
|
||||
<millis>1498201632281</millis>
|
||||
<sequence>41</sequence>
|
||||
<logger>ESPlorer.ESPlorer</logger>
|
||||
<level>INFO</level>
|
||||
<class>ESPlorer.ESPlorer</class>
|
||||
<method>log</method>
|
||||
<thread>14</thread>
|
||||
<message>sending:net.do_connect("delavnica","delavnica")<CR><LF></message>
|
||||
1
Esplorer/ESPlorer.bat
Normal file
1
Esplorer/ESPlorer.bat
Normal file
@@ -0,0 +1 @@
|
||||
java -jar "ESPlorer.jar"
|
||||
BIN
Esplorer/ESPlorer.jar
Normal file
BIN
Esplorer/ESPlorer.jar
Normal file
Binary file not shown.
2
Esplorer/ESPlorer.sh
Normal file
2
Esplorer/ESPlorer.sh
Normal file
@@ -0,0 +1,2 @@
|
||||
#!/bin/bash
|
||||
java -jar "/home/borut/bin/ESPlorer.jar"
|
||||
BIN
Esplorer/Lolin32/CP210xVCPInstaller_x64.exe
Normal file
BIN
Esplorer/Lolin32/CP210xVCPInstaller_x64.exe
Normal file
Binary file not shown.
BIN
Esplorer/Lolin32/CP210xVCPInstaller_x86.exe
Normal file
BIN
Esplorer/Lolin32/CP210xVCPInstaller_x86.exe
Normal file
Binary file not shown.
34
Esplorer/Lolin32/SLAB_License_Agreement_VCP_Windows.txt
Normal file
34
Esplorer/Lolin32/SLAB_License_Agreement_VCP_Windows.txt
Normal file
@@ -0,0 +1,34 @@
|
||||
LICENSE AGREEMENT
|
||||
SILICON LABS VCP DRIVER
|
||||
IMPORTANT: READ CAREFULLY BEFORE AGREEING TO TERMS
|
||||
|
||||
THIS PRODUCT CONTAINS THE SILICON LABS VCP DRIVER AND INSTALLER PROGRAMS AND OTHER THIRD PARTY SOFTWARE.TOGETHER THESE PRODUCTS ARE REFERRED TO AS THE "LICENSED SOFTWARE". USE OF THE LICENSED SOFTWARE IS SUBJECT TO THE TERMS OF THIS LICENSE AGREEMENT. DOWNLOADING THE LICENSED SOFTWARE AND INDICATING YOUR CONSENT TO THE TERMS OF THIS LICENSE CONSTITUTES A BINDING AGREMENT BETWEEN SILICON LABORATORIES, INC. ("SILICON LABS") AND YOU OR YOUR EMPLOYER (IF APPLICABLE). IF YOU ARE ACCEPTING THE TERMS OF THIS AGREEMENT ON BEHALF YOUR EMPLOYER, THE TERMS "YOU" AND "YOUR" REFER TO YOUR EMPLOYER. WRITTEN APPROVAL IS NOT A PREREQUISITE TO THE VALIDITY OR ENFORCEABILITY OF THIS AGREEMENT. IF THESE TERMS ARE CONSIDERED AN OFFER BY SILICON LABS, ACCEPTANCE IS EXPRESSLY LIMITED TO THESE TERMS.
|
||||
IF YOU DO NOT AGREE WITH ALL OF THE TERMS OF THIS LICENSE AGREEMENT, YOU MUST NOT USE THE LICENSED SOFTWARE AND YOU MUST DELETE ALL OF COPIES OF THE LICENSED SOFTWARE FROM YOUR COMPUTER.
|
||||
1. LICENSE: The Licensed Software is and will remain the property of Silicon Labs or a third party from whom Silicon Labs has the authorization to distribute to you subject to the terms of this Agreement. This Licensed Software is protected by state, federal, and international copyright laws. Subject at all times to your compliance with the terms of this License Agreement, Silicon Labs grants to you a nonexclusive license to use the Licensed Software as described in this License Agreement. Silicon Labs may revoke this license at any time if you fail to comply with the terms of this License Agreement. Certain parts of the Licensed Software, including DPInst.exe, are licensed from Microsoft Corporation. For information concerning licensing DPInst.exe and the redistributable pieces of WDF used in the driver, refer to the license.rtf file in the 7600.16385.1 version of the Windows Driver Kit, available through Microsoft.
|
||||
2. CONTENTS OF THE LICENSED SOFTWARE: The Licensed Software consists of the following items:
|
||||
a. Driver binaries
|
||||
b. INF file that describes the driver installation
|
||||
c. DPInst.exe that provides the GUI interface to install the drivers
|
||||
d. XML file that describes the DPInst.exe and GUI items
|
||||
3. INSTALLATION AND USE RIGHTS:
|
||||
a. You may download and install the Licensed Software on one or more computers and make any number of copies.
|
||||
b. You may internally evaluate the Licensed Software. If you elect to use the Licensed Software for any other purpose, including modification and distribution, then the following additional terms apply to you.
|
||||
c. You may modify only the INF and XML files. You may modify these files with information concerning your company or your company's products.
|
||||
d. You may not modify the driver binary files or the DPInst.exe files.
|
||||
e. You may redistribute to your customers the Licensed Software only with the modified INF and XML files. Your redistribution may be in any form, including physical media and Internet downloads.
|
||||
4. RESTRICTIONS:
|
||||
a. You may not use the Licensed Software with any integrated circuit products other than those designed and manufactured by Silicon Labs.
|
||||
b. Except as provided above, you may not redistribute, sublicense, assign, rent or lease any portion of the Licensed Software to any third party.
|
||||
c. You may not reverse engineer, decompile, disassemble, modify, translate, or make any attempt to discover the source code of the Licensed Software. You may not work around any technical limitation in the Licensed Software.
|
||||
d. Except as provided above, you may not modify or create derivative works from the Licensed Software.
|
||||
e. You may not modify or distribute the Licensed Software so that any part of it becomes subject to an excluded license. An excluded license is one that requires, as a condition of use, modification or distribution, that the software be disclosed or distributed in source code form, or that others have the right to modify it.
|
||||
f. You may not obscure or remove any product identification, copyright or other notices that appear on the Licensed Software, including any notices from third parties.
|
||||
g. You may not redistribute any modified or unmodified version of the Licensed Software to any third party as a standalone product. You may not redistribute any modified or unmodified version of the Licensed Software to any third party who has not accepted the terms of an end-user license agreement that contains terms at least as protective of Silicon Labs' rights as those contained in this License Agreement.
|
||||
5. WARRANTY: Silicon Labs does not warrant that the Licensed Software will meet your requirements or that operation of the Licensed Software will be uninterrupted or error-free. You agree that the Licensed Software is provided "AS IS" and that Silicon Labs makes no other warranties regarding the Licensed Software. SILICON LABS DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT, RELATED TO THE LICENSED SOFTWARE, ITS USE OR ANY INABILITY TO USE IT, THE RESULTS OF ITS USE AND THIS AGREEMENT. YOU MAY HAVE OTHER RIGHTS, WHICH VARY FROM STATE TO STATE.
|
||||
6. DISCLAIMER OF DAMAGES: IN NO EVENT WILL SILICON LABS BE LIABLE TO YOU FOR ANY SPECIAL, CONSEQUENTIAL, INDIRECT, OR SIMILAR DAMAGES, INCLUDING ANY LOST PROFITS OR LOST DATA ARISING OUT OF THE USE OR INABILITY TO USE THE LICENSED SOFTWARE EVEN IF SILICON LABS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE LIMITATION OR EXCLUSION OF LIABILITY FOR INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THE ABOVE LIMITATION OR EXCLUSION MAY NOT APPLY TO YOU. IN NO CASE SHALL SILICON LABS' CUMULATIVE LIABILITY TO YOU FOR ALL PURPOSES EXCEED FIFTY UNITED STATES DOLLARS ($50). The disclaimers and limitations set forth above will apply regardless of whether you accept the Licensed Software.
|
||||
7. TERM AND TERMINATION: The term of this Agreement and the License granted herein shall begin upon use of the Licensed Software and continue in perpetuity unless you breach any of the obligations set out under this Agreement. Upon any breach of this Agreement by you, the license granted hereunder shall terminate immediately and you shall cease all use of the Licensed Software and return or destroy all copies of the Licensed Software to Silicon Labs immediately. Termination of this License upon your breach is only one remedy available to Silicon Labs. In addition to termination of this Agreement upon your breach, Silicon Labs shall be entitled to seek any and all other available remedies, at law or at equity, arising from your breach. Termination of this Agreement shall not affect your customers' ability to continue using copies of the modified or unmodified Licensed Software they obtained from you.
|
||||
8. EXPORT: You shall comply with all applicable federal, provincial, state and local laws, regulations and ordinances including but not limited to applicable U.S. Export Administration Laws and Regulations. You shall not export or re-export, or allow the export or re-export of the Licensed Software to any country specified in the then-current Supplement No. 1 to Part 740, or, in violation of the embargo provisions in Part 746, of the U.S. Export Administration Regulations (or any successor regulations or supplement), except in compliance with and with all licenses and approvals required under applicable export laws and regulations, including without limitation, those of the U.S. Department of Commerce.
|
||||
9. GENERAL: This Agreement will be governed by the laws of the State of Texas and any applicable federal laws or regulations. The waiver by either Party of any default or breach of this Agreement shall not constitute a waiver of any other or subsequent default or breach. This Agreement constitutes the complete and exclusive statement of the mutual understanding between you and Silicon Labs with respect to this subject matter herein. This Agreement may only be modified by a written addendum, which has been signed by both you and Silicon Labs.
|
||||
|
||||
BY CLICKING "I ACCEPT THE TERMS OF THIS AGREEMENT" YOU AGREE TO ACCEPT AND COMPLY WITH THE TERMS OF THIS LICENSE AGREEMENT WITH SILICON LABORATORIES INC.
|
||||
|
||||
172
Esplorer/Lolin32/dpinst.xml
Normal file
172
Esplorer/Lolin32/dpinst.xml
Normal file
@@ -0,0 +1,172 @@
|
||||
<?xml version="1.0" ?>
|
||||
<dpinst>
|
||||
<enableNotListedLanguages/>
|
||||
<language code="0x0401">
|
||||
<dpinstTitle>CP210x USB to UART Bridge Driver Installer</dpinstTitle>
|
||||
<welcomeTitle>Welcome to the CP210x USB to UART Bridge Driver Installer</welcomeTitle>
|
||||
<welcomeIntro>This wizard will help you install the drivers for your CP210x USB to UART Bridge device.</welcomeIntro>
|
||||
<eula type="txt" path="SLAB_License_Agreement_VCP_Windows.txt"/>
|
||||
<finishTitle>Completing the Installation of the CP210x USB to UART Bridge Driver</finishTitle>
|
||||
</language>
|
||||
<language code="0x0804">
|
||||
<dpinstTitle>CP210x USB to UART Bridge Driver Installer</dpinstTitle>
|
||||
<welcomeTitle>Welcome to the CP210x USB to UART Bridge Driver Installer</welcomeTitle>
|
||||
<welcomeIntro>This wizard will help you install the drivers for your CP210x USB to UART Bridge device.</welcomeIntro>
|
||||
<eula type="txt" path="SLAB_License_Agreement_VCP_Windows.txt"/>
|
||||
<finishTitle>Completing the Installation of the CP210x USB to UART Bridge Driver</finishTitle>
|
||||
</language>
|
||||
<language code="0x0404">
|
||||
<dpinstTitle>CP210x USB to UART Bridge Driver Installer</dpinstTitle>
|
||||
<welcomeTitle>Welcome to the CP210x USB to UART Bridge Driver Installer</welcomeTitle>
|
||||
<welcomeIntro>This wizard will help you install the drivers for your CP210x USB to UART Bridge device.</welcomeIntro>
|
||||
<eula type="txt" path="SLAB_License_Agreement_VCP_Windows.txt"/>
|
||||
<finishTitle>Completing the Installation of the CP210x USB to UART Bridge Driver</finishTitle>
|
||||
</language>
|
||||
<language code="0x0405">
|
||||
<dpinstTitle>CP210x USB to UART Bridge Driver Installer</dpinstTitle>
|
||||
<welcomeTitle>Welcome to the CP210x USB to UART Bridge Driver Installer</welcomeTitle>
|
||||
<welcomeIntro>This wizard will help you install the drivers for your CP210x USB to UART Bridge device.</welcomeIntro>
|
||||
<eula type="txt" path="SLAB_License_Agreement_VCP_Windows.txt"/>
|
||||
<finishTitle>Completing the Installation of the CP210x USB to UART Bridge Driver</finishTitle>
|
||||
</language>
|
||||
<language code="0x0406">
|
||||
<dpinstTitle>CP210x USB to UART Bridge Driver Installer</dpinstTitle>
|
||||
<welcomeTitle>Welcome to the CP210x USB to UART Bridge Driver Installer</welcomeTitle>
|
||||
<welcomeIntro>This wizard will help you install the drivers for your CP210x USB to UART Bridge device.</welcomeIntro>
|
||||
<eula type="txt" path="SLAB_License_Agreement_VCP_Windows.txt"/>
|
||||
<finishTitle>Completing the Installation of the CP210x USB to UART Bridge Driver</finishTitle>
|
||||
</language>
|
||||
<language code="0x0407">
|
||||
<dpinstTitle>CP210x USB to UART Bridge Driver Installer</dpinstTitle>
|
||||
<welcomeTitle>Welcome to the CP210x USB to UART Bridge Driver Installer</welcomeTitle>
|
||||
<welcomeIntro>This wizard will help you install the drivers for your CP210x USB to UART Bridge device.</welcomeIntro>
|
||||
<eula type="txt" path="SLAB_License_Agreement_VCP_Windows.txt"/>
|
||||
<finishTitle>Completing the Installation of the CP210x USB to UART Bridge Driver</finishTitle>
|
||||
</language>
|
||||
<language code="0x0408">
|
||||
<dpinstTitle>CP210x USB to UART Bridge Driver Installer</dpinstTitle>
|
||||
<welcomeTitle>Welcome to the CP210x USB to UART Bridge Driver Installer</welcomeTitle>
|
||||
<welcomeIntro>This wizard will help you install the drivers for your CP210x USB to UART Bridge device.</welcomeIntro>
|
||||
<eula type="txt" path="SLAB_License_Agreement_VCP_Windows.txt"/>
|
||||
<finishTitle>Completing the Installation of the CP210x USB to UART Bridge Driver</finishTitle>
|
||||
</language>
|
||||
<language code="0x0409">
|
||||
<dpinstTitle>CP210x USB to UART Bridge Driver Installer</dpinstTitle>
|
||||
<welcomeTitle>Welcome to the CP210x USB to UART Bridge Driver Installer</welcomeTitle>
|
||||
<welcomeIntro>This wizard will help you install the drivers for your CP210x USB to UART Bridge device.</welcomeIntro>
|
||||
<eula type="txt" path="SLAB_License_Agreement_VCP_Windows.txt"/>
|
||||
<finishTitle>Completing the Installation of the CP210x USB to UART Bridge Driver</finishTitle>
|
||||
</language>
|
||||
<language code="0x0C0A">
|
||||
<dpinstTitle>CP210x USB to UART Bridge Driver Installer</dpinstTitle>
|
||||
<welcomeTitle>Welcome to the CP210x USB to UART Bridge Driver Installer</welcomeTitle>
|
||||
<welcomeIntro>This wizard will help you install the drivers for your CP210x USB to UART Bridge device.</welcomeIntro>
|
||||
<eula type="txt" path="SLAB_License_Agreement_VCP_Windows.txt"/>
|
||||
<finishTitle>Completing the Installation of the CP210x USB to UART Bridge Driver</finishTitle>
|
||||
</language>
|
||||
<language code="0x040B">
|
||||
<dpinstTitle>CP210x USB to UART Bridge Driver Installer</dpinstTitle>
|
||||
<welcomeTitle>Welcome to the CP210x USB to UART Bridge Driver Installer</welcomeTitle>
|
||||
<welcomeIntro>This wizard will help you install the drivers for your CP210x USB to UART Bridge device.</welcomeIntro>
|
||||
<eula type="txt" path="SLAB_License_Agreement_VCP_Windows.txt"/>
|
||||
<finishTitle>Completing the Installation of the CP210x USB to UART Bridge Driver</finishTitle>
|
||||
</language>
|
||||
<language code="0x040C">
|
||||
<dpinstTitle>CP210x USB to UART Bridge Driver Installer</dpinstTitle>
|
||||
<welcomeTitle>Welcome to the CP210x USB to UART Bridge Driver Installer</welcomeTitle>
|
||||
<welcomeIntro>This wizard will help you install the drivers for your CP210x USB to UART Bridge device.</welcomeIntro>
|
||||
<eula type="txt" path="SLAB_License_Agreement_VCP_Windows.txt"/>
|
||||
<finishTitle>Completing the Installation of the CP210x USB to UART Bridge Driver</finishTitle>
|
||||
</language>
|
||||
<language code="0x040D">
|
||||
<dpinstTitle>CP210x USB to UART Bridge Driver Installer</dpinstTitle>
|
||||
<welcomeTitle>Welcome to the CP210x USB to UART Bridge Driver Installer</welcomeTitle>
|
||||
<welcomeIntro>This wizard will help you install the drivers for your CP210x USB to UART Bridge device.</welcomeIntro>
|
||||
<eula type="txt" path="SLAB_License_Agreement_VCP_Windows.txt"/>
|
||||
<finishTitle>Completing the Installation of the CP210x USB to UART Bridge Driver</finishTitle>
|
||||
</language>
|
||||
<language code="0x040E">
|
||||
<dpinstTitle>CP210x USB to UART Bridge Driver Installer</dpinstTitle>
|
||||
<welcomeTitle>Welcome to the CP210x USB to UART Bridge Driver Installer</welcomeTitle>
|
||||
<welcomeIntro>This wizard will help you install the drivers for your CP210x USB to UART Bridge device.</welcomeIntro>
|
||||
<eula type="txt" path="SLAB_License_Agreement_VCP_Windows.txt"/>
|
||||
<finishTitle>Completing the Installation of the CP210x USB to UART Bridge Driver</finishTitle>
|
||||
</language>
|
||||
<language code="0x0410">
|
||||
<dpinstTitle>CP210x USB to UART Bridge Driver Installer</dpinstTitle>
|
||||
<welcomeTitle>Welcome to the CP210x USB to UART Bridge Driver Installer</welcomeTitle>
|
||||
<welcomeIntro>This wizard will help you install the drivers for your CP210x USB to UART Bridge device.</welcomeIntro>
|
||||
<eula type="txt" path="SLAB_License_Agreement_VCP_Windows.txt"/>
|
||||
<finishTitle>Completing the Installation of the CP210x USB to UART Bridge Driver</finishTitle>
|
||||
</language>
|
||||
<language code="0x0411">
|
||||
<dpinstTitle>CP210x USB to UART Bridge Driver Installer</dpinstTitle>
|
||||
<welcomeTitle>Welcome to the CP210x USB to UART Bridge Driver Installer</welcomeTitle>
|
||||
<welcomeIntro>This wizard will help you install the drivers for your CP210x USB to UART Bridge device.</welcomeIntro>
|
||||
<eula type="txt" path="SLAB_License_Agreement_VCP_Windows.txt"/>
|
||||
<finishTitle>Completing the Installation of the CP210x USB to UART Bridge Driver</finishTitle>
|
||||
</language>
|
||||
<language code="0x0412">
|
||||
<dpinstTitle>CP210x USB to UART Bridge Driver Installer</dpinstTitle>
|
||||
<welcomeTitle>Welcome to the CP210x USB to UART Bridge Driver Installer</welcomeTitle>
|
||||
<welcomeIntro>This wizard will help you install the drivers for your CP210x USB to UART Bridge device.</welcomeIntro>
|
||||
<eula type="txt" path="SLAB_License_Agreement_VCP_Windows.txt"/>
|
||||
<finishTitle>Completing the Installation of the CP210x USB to UART Bridge Driver</finishTitle>
|
||||
</language>
|
||||
<language code="0x0414">
|
||||
<dpinstTitle>CP210x USB to UART Bridge Driver Installer</dpinstTitle>
|
||||
<welcomeTitle>Welcome to the CP210x USB to UART Bridge Driver Installer</welcomeTitle>
|
||||
<welcomeIntro>This wizard will help you install the drivers for your CP210x USB to UART Bridge device.</welcomeIntro>
|
||||
<eula type="txt" path="SLAB_License_Agreement_VCP_Windows.txt"/>
|
||||
<finishTitle>Completing the Installation of the CP210x USB to UART Bridge Driver</finishTitle>
|
||||
</language>
|
||||
<language code="0x0413">
|
||||
<dpinstTitle>CP210x USB to UART Bridge Driver Installer</dpinstTitle>
|
||||
<welcomeTitle>Welcome to the CP210x USB to UART Bridge Driver Installer</welcomeTitle>
|
||||
<welcomeIntro>This wizard will help you install the drivers for your CP210x USB to UART Bridge device.</welcomeIntro>
|
||||
<eula type="txt" path="SLAB_License_Agreement_VCP_Windows.txt"/>
|
||||
<finishTitle>Completing the Installation of the CP210x USB to UART Bridge Driver</finishTitle>
|
||||
</language>
|
||||
<language code="0x0415">
|
||||
<dpinstTitle>CP210x USB to UART Bridge Driver Installer</dpinstTitle>
|
||||
<welcomeTitle>Welcome to the CP210x USB to UART Bridge Driver Installer</welcomeTitle>
|
||||
<welcomeIntro>This wizard will help you install the drivers for your CP210x USB to UART Bridge device.</welcomeIntro>
|
||||
<eula type="txt" path="SLAB_License_Agreement_VCP_Windows.txt"/>
|
||||
<finishTitle>Completing the Installation of the CP210x USB to UART Bridge Driver</finishTitle>
|
||||
</language>
|
||||
<language code="0x0416">
|
||||
<dpinstTitle>CP210x USB to UART Bridge Driver Installer</dpinstTitle>
|
||||
<welcomeTitle>Welcome to the CP210x USB to UART Bridge Driver Installer</welcomeTitle>
|
||||
<welcomeIntro>This wizard will help you install the drivers for your CP210x USB to UART Bridge device.</welcomeIntro>
|
||||
<eula type="txt" path="SLAB_License_Agreement_VCP_Windows.txt"/>
|
||||
<finishTitle>Completing the Installation of the CP210x USB to UART Bridge Driver</finishTitle>
|
||||
</language>
|
||||
<language code="0x0816">
|
||||
<dpinstTitle>CP210x USB to UART Bridge Driver Installer</dpinstTitle>
|
||||
<welcomeTitle>Welcome to the CP210x USB to UART Bridge Driver Installer</welcomeTitle>
|
||||
<welcomeIntro>This wizard will help you install the drivers for your CP210x USB to UART Bridge device.</welcomeIntro>
|
||||
<eula type="txt" path="SLAB_License_Agreement_VCP_Windows.txt"/>
|
||||
<finishTitle>Completing the Installation of the CP210x USB to UART Bridge Driver</finishTitle>
|
||||
</language>
|
||||
<language code="0x0419">
|
||||
<dpinstTitle>CP210x USB to UART Bridge Driver Installer</dpinstTitle>
|
||||
<welcomeTitle>Welcome to the CP210x USB to UART Bridge Driver Installer</welcomeTitle>
|
||||
<welcomeIntro>This wizard will help you install the drivers for your CP210x USB to UART Bridge device.</welcomeIntro>
|
||||
<eula type="txt" path="SLAB_License_Agreement_VCP_Windows.txt"/>
|
||||
<finishTitle>Completing the Installation of the CP210x USB to UART Bridge Driver</finishTitle>
|
||||
</language>
|
||||
<language code="0x041D">
|
||||
<dpinstTitle>CP210x USB to UART Bridge Driver Installer</dpinstTitle>
|
||||
<welcomeTitle>Welcome to the CP210x USB to UART Bridge Driver Installer</welcomeTitle>
|
||||
<welcomeIntro>This wizard will help you install the drivers for your CP210x USB to UART Bridge device.</welcomeIntro>
|
||||
<eula type="txt" path="SLAB_License_Agreement_VCP_Windows.txt"/>
|
||||
<finishTitle>Completing the Installation of the CP210x USB to UART Bridge Driver</finishTitle>
|
||||
</language>
|
||||
<language code="0x041F">
|
||||
<dpinstTitle>CP210x USB to UART Bridge Driver Installer</dpinstTitle>
|
||||
<welcomeTitle>Welcome to the CP210x USB to UART Bridge Driver Installer</welcomeTitle>
|
||||
<welcomeIntro>This wizard will help you install the drivers for your CP210x USB to UART Bridge device.</welcomeIntro>
|
||||
<eula type="txt" path="SLAB_License_Agreement_VCP_Windows.txt"/>
|
||||
<finishTitle>Completing the Installation of the CP210x USB to UART Bridge Driver</finishTitle>
|
||||
</language>
|
||||
</dpinst>
|
||||
BIN
Esplorer/Lolin32/slabvcp.cat
Normal file
BIN
Esplorer/Lolin32/slabvcp.cat
Normal file
Binary file not shown.
285
Esplorer/Lolin32/slabvcp.inf
Normal file
285
Esplorer/Lolin32/slabvcp.inf
Normal file
@@ -0,0 +1,285 @@
|
||||
;/*++
|
||||
;
|
||||
;Module Name:
|
||||
;
|
||||
; SLABVCP.INF
|
||||
;
|
||||
; Copyright 2013-2016, Silicon Laboratories Inc.
|
||||
;
|
||||
;Abstract:
|
||||
; Installation INF for Silicon Labs CP210x device
|
||||
;
|
||||
;--*/
|
||||
|
||||
[Version]
|
||||
Signature="$WINDOWS NT$"
|
||||
Class=Ports
|
||||
ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
|
||||
Provider=%Provider%
|
||||
DriverVer=09/19/2016,6.7.4.261
|
||||
CatalogFile=slabvcp.cat
|
||||
PnpLockDown=1 ; "a driver package should set PnpLockDown to 1" -- MSDN
|
||||
|
||||
; ================= Device section =====================
|
||||
|
||||
[Manufacturer]
|
||||
%ManufacturerName%=SiLabsModelsSection, NTx86.6.1, NTamd64.6.1, NTarm.10, NTarm64.10
|
||||
|
||||
;Models section for installation of x86 driver on Windows 7 and above
|
||||
[SiLabsModelsSection.NTx86.6.1]
|
||||
%USB\VID_10C4&PID_EA60.DeviceDesc% =SiLabsDDInstallSection.NTx86, USB\VID_10C4&PID_EA60 ; USB\VID_v(4)&PID_d(4)
|
||||
%USB\VID_10C4&PID_EA63.DeviceDesc% =SiLabsDDInstallSection.NTx86, USB\VID_10C4&PID_EA63
|
||||
%USB\VID_10C4&PID_EA70&Mi_00.DeviceDesc%=SiLabsDDInstallSection.NTx86, USB\VID_10C4&PID_EA70&Mi_00 ; USB\VID_v(4)&PID_d(4)&MI_z(2)
|
||||
%USB\VID_10C4&PID_EA70&Mi_01.DeviceDesc%=SiLabsDDInstallSection.NTx86, USB\VID_10C4&PID_EA70&Mi_01
|
||||
%USB\VID_10C4&PID_EA71&Mi_00.DeviceDesc%=SiLabsDDInstallSection.NTx86, USB\VID_10C4&PID_EA71&Mi_00
|
||||
%USB\VID_10C4&PID_EA71&Mi_01.DeviceDesc%=SiLabsDDInstallSection.NTx86, USB\VID_10C4&PID_EA71&Mi_01
|
||||
%USB\VID_10C4&PID_EA71&Mi_02.DeviceDesc%=SiLabsDDInstallSection.NTx86, USB\VID_10C4&PID_EA71&Mi_02
|
||||
%USB\VID_10C4&PID_EA71&Mi_03.DeviceDesc%=SiLabsDDInstallSection.NTx86, USB\VID_10C4&PID_EA71&Mi_03
|
||||
%USB\VID_10C4&PID_EA7A&Mi_00.DeviceDesc%=SiLabsDDInstallSection.NTx86, USB\VID_10C4&PID_EA7A&Mi_00
|
||||
%USB\VID_10C4&PID_EA7A&Mi_01.DeviceDesc%=SiLabsDDInstallSection.NTx86, USB\VID_10C4&PID_EA7A&Mi_01
|
||||
%USB\VID_10C4&PID_EA7B&Mi_00.DeviceDesc%=SiLabsDDInstallSection.NTx86, USB\VID_10C4&PID_EA7B&Mi_00
|
||||
%USB\VID_10C4&PID_EA7B&Mi_01.DeviceDesc%=SiLabsDDInstallSection.NTx86, USB\VID_10C4&PID_EA7B&Mi_01
|
||||
%USB\VID_10C4&PID_EA7B&Mi_02.DeviceDesc%=SiLabsDDInstallSection.NTx86, USB\VID_10C4&PID_EA7B&Mi_02
|
||||
%USB\VID_10C4&PID_EA7B&Mi_03.DeviceDesc%=SiLabsDDInstallSection.NTx86, USB\VID_10C4&PID_EA7B&Mi_03
|
||||
|
||||
;Models section for installation of x64 driver on Windows 7 and above
|
||||
[SiLabsModelsSection.NTamd64.6.1]
|
||||
%USB\VID_10C4&PID_EA60.DeviceDesc% =SiLabsDDInstallSection.NTamd64, USB\VID_10C4&PID_EA60 ; USB\VID_v(4)&PID_d(4)
|
||||
%USB\VID_10C4&PID_EA63.DeviceDesc% =SiLabsDDInstallSection.NTamd64, USB\VID_10C4&PID_EA63
|
||||
%USB\VID_10C4&PID_EA70&Mi_00.DeviceDesc%=SiLabsDDInstallSection.NTamd64, USB\VID_10C4&PID_EA70&Mi_00 ; USB\VID_v(4)&PID_d(4)&MI_z(2)
|
||||
%USB\VID_10C4&PID_EA70&Mi_01.DeviceDesc%=SiLabsDDInstallSection.NTamd64, USB\VID_10C4&PID_EA70&Mi_01
|
||||
%USB\VID_10C4&PID_EA71&Mi_00.DeviceDesc%=SiLabsDDInstallSection.NTamd64, USB\VID_10C4&PID_EA71&Mi_00
|
||||
%USB\VID_10C4&PID_EA71&Mi_01.DeviceDesc%=SiLabsDDInstallSection.NTamd64, USB\VID_10C4&PID_EA71&Mi_01
|
||||
%USB\VID_10C4&PID_EA71&Mi_02.DeviceDesc%=SiLabsDDInstallSection.NTamd64, USB\VID_10C4&PID_EA71&Mi_02
|
||||
%USB\VID_10C4&PID_EA71&Mi_03.DeviceDesc%=SiLabsDDInstallSection.NTamd64, USB\VID_10C4&PID_EA71&Mi_03
|
||||
%USB\VID_10C4&PID_EA7A&Mi_00.DeviceDesc%=SiLabsDDInstallSection.NTamd64, USB\VID_10C4&PID_EA7A&Mi_00
|
||||
%USB\VID_10C4&PID_EA7A&Mi_01.DeviceDesc%=SiLabsDDInstallSection.NTamd64, USB\VID_10C4&PID_EA7A&Mi_01
|
||||
%USB\VID_10C4&PID_EA7B&Mi_00.DeviceDesc%=SiLabsDDInstallSection.NTamd64, USB\VID_10C4&PID_EA7B&Mi_00
|
||||
%USB\VID_10C4&PID_EA7B&Mi_01.DeviceDesc%=SiLabsDDInstallSection.NTamd64, USB\VID_10C4&PID_EA7B&Mi_01
|
||||
%USB\VID_10C4&PID_EA7B&Mi_02.DeviceDesc%=SiLabsDDInstallSection.NTamd64, USB\VID_10C4&PID_EA7B&Mi_02
|
||||
%USB\VID_10C4&PID_EA7B&Mi_03.DeviceDesc%=SiLabsDDInstallSection.NTamd64, USB\VID_10C4&PID_EA7B&Mi_03
|
||||
|
||||
;Models section for installation of arm driver on Windows 10 and above
|
||||
[SiLabsModelsSection.NTarm.10]
|
||||
%USB\VID_10C4&PID_EA60.DeviceDesc% =SiLabsDDInstallSection.NTarm, USB\VID_10C4&PID_EA60 ; USB\VID_v(4)&PID_d(4)
|
||||
%USB\VID_10C4&PID_EA63.DeviceDesc% =SiLabsDDInstallSection.NTarm, USB\VID_10C4&PID_EA63
|
||||
%USB\VID_10C4&PID_EA70&Mi_00.DeviceDesc%=SiLabsDDInstallSection.NTarm, USB\VID_10C4&PID_EA70&Mi_00 ; USB\VID_v(4)&PID_d(4)&MI_z(2)
|
||||
%USB\VID_10C4&PID_EA70&Mi_01.DeviceDesc%=SiLabsDDInstallSection.NTarm, USB\VID_10C4&PID_EA70&Mi_01
|
||||
%USB\VID_10C4&PID_EA71&Mi_00.DeviceDesc%=SiLabsDDInstallSection.NTarm, USB\VID_10C4&PID_EA71&Mi_00
|
||||
%USB\VID_10C4&PID_EA71&Mi_01.DeviceDesc%=SiLabsDDInstallSection.NTarm, USB\VID_10C4&PID_EA71&Mi_01
|
||||
%USB\VID_10C4&PID_EA71&Mi_02.DeviceDesc%=SiLabsDDInstallSection.NTarm, USB\VID_10C4&PID_EA71&Mi_02
|
||||
%USB\VID_10C4&PID_EA71&Mi_03.DeviceDesc%=SiLabsDDInstallSection.NTarm, USB\VID_10C4&PID_EA71&Mi_03
|
||||
%USB\VID_10C4&PID_EA7A&Mi_00.DeviceDesc%=SiLabsDDInstallSection.NTarm, USB\VID_10C4&PID_EA7A&Mi_00
|
||||
%USB\VID_10C4&PID_EA7A&Mi_01.DeviceDesc%=SiLabsDDInstallSection.NTarm, USB\VID_10C4&PID_EA7A&Mi_01
|
||||
%USB\VID_10C4&PID_EA7B&Mi_00.DeviceDesc%=SiLabsDDInstallSection.NTarm, USB\VID_10C4&PID_EA7B&Mi_00
|
||||
%USB\VID_10C4&PID_EA7B&Mi_01.DeviceDesc%=SiLabsDDInstallSection.NTarm, USB\VID_10C4&PID_EA7B&Mi_01
|
||||
%USB\VID_10C4&PID_EA7B&Mi_02.DeviceDesc%=SiLabsDDInstallSection.NTarm, USB\VID_10C4&PID_EA7B&Mi_02
|
||||
%USB\VID_10C4&PID_EA7B&Mi_03.DeviceDesc%=SiLabsDDInstallSection.NTarm, USB\VID_10C4&PID_EA7B&Mi_03
|
||||
|
||||
;Models section for installation of arm64 driver on Windows 10 and above
|
||||
[SiLabsModelsSection.NTarm64.10]
|
||||
%USB\VID_10C4&PID_EA60.DeviceDesc% =SiLabsDDInstallSection.NTarm64, USB\VID_10C4&PID_EA60 ; USB\VID_v(4)&PID_d(4)
|
||||
%USB\VID_10C4&PID_EA63.DeviceDesc% =SiLabsDDInstallSection.NTarm64, USB\VID_10C4&PID_EA63
|
||||
%USB\VID_10C4&PID_EA70&Mi_00.DeviceDesc%=SiLabsDDInstallSection.NTarm64, USB\VID_10C4&PID_EA70&Mi_00 ; USB\VID_v(4)&PID_d(4)&MI_z(2)
|
||||
%USB\VID_10C4&PID_EA70&Mi_01.DeviceDesc%=SiLabsDDInstallSection.NTarm64, USB\VID_10C4&PID_EA70&Mi_01
|
||||
%USB\VID_10C4&PID_EA71&Mi_00.DeviceDesc%=SiLabsDDInstallSection.NTarm64, USB\VID_10C4&PID_EA71&Mi_00
|
||||
%USB\VID_10C4&PID_EA71&Mi_01.DeviceDesc%=SiLabsDDInstallSection.NTarm64, USB\VID_10C4&PID_EA71&Mi_01
|
||||
%USB\VID_10C4&PID_EA71&Mi_02.DeviceDesc%=SiLabsDDInstallSection.NTarm64, USB\VID_10C4&PID_EA71&Mi_02
|
||||
%USB\VID_10C4&PID_EA71&Mi_03.DeviceDesc%=SiLabsDDInstallSection.NTarm64, USB\VID_10C4&PID_EA71&Mi_03
|
||||
%USB\VID_10C4&PID_EA7A&Mi_00.DeviceDesc%=SiLabsDDInstallSection.NTarm64, USB\VID_10C4&PID_EA7A&Mi_00
|
||||
%USB\VID_10C4&PID_EA7A&Mi_01.DeviceDesc%=SiLabsDDInstallSection.NTarm64, USB\VID_10C4&PID_EA7A&Mi_01
|
||||
%USB\VID_10C4&PID_EA7B&Mi_00.DeviceDesc%=SiLabsDDInstallSection.NTarm64, USB\VID_10C4&PID_EA7B&Mi_00
|
||||
%USB\VID_10C4&PID_EA7B&Mi_01.DeviceDesc%=SiLabsDDInstallSection.NTarm64, USB\VID_10C4&PID_EA7B&Mi_01
|
||||
%USB\VID_10C4&PID_EA7B&Mi_02.DeviceDesc%=SiLabsDDInstallSection.NTarm64, USB\VID_10C4&PID_EA7B&Mi_02
|
||||
%USB\VID_10C4&PID_EA7B&Mi_03.DeviceDesc%=SiLabsDDInstallSection.NTarm64, USB\VID_10C4&PID_EA7B&Mi_03
|
||||
|
||||
;DDInstall sections (one per x86, amd64, arm, arm64)
|
||||
; Note: If/as we are building a Universal driver package, we can not use a DefaultInstall section.
|
||||
[SiLabsDDInstallSection.NTx86]
|
||||
AddReg=silabser.AddReg
|
||||
CopyFiles=silabser.Files.Ext
|
||||
FeatureScore=0x40 ; a single-byte hexadecimal number between 0x00 and 0xFF, A lower featurescore value specifies a better feature score rank, where 0x00 is the best feature score rank.
|
||||
|
||||
[SiLabsDDInstallSection.NTamd64]
|
||||
AddReg=silabser.AddReg
|
||||
CopyFiles=silabser.Files.Ext
|
||||
FeatureScore=0x40 ; a single-byte hexadecimal number between 0x00 and 0xFF, A lower featurescore value specifies a better feature score rank, where 0x00 is the best feature score rank.
|
||||
|
||||
[SiLabsDDInstallSection.NTarm]
|
||||
AddReg=silabser.AddReg
|
||||
CopyFiles=silabser.Files.Ext
|
||||
FeatureScore=0x40 ; a single-byte hexadecimal number between 0x00 and 0xFF, A lower featurescore value specifies a better feature score rank, where 0x00 is the best feature score rank.
|
||||
|
||||
[SiLabsDDInstallSection.NTarm64]
|
||||
AddReg=silabser.AddReg
|
||||
CopyFiles=silabser.Files.Ext
|
||||
FeatureScore=0x40 ; a single-byte hexadecimal number between 0x00 and 0xFF, A lower featurescore value specifies a better feature score rank, where 0x00 is the best feature score rank.
|
||||
|
||||
|
||||
;DDInstall.Services sections (one per x86, amd64, arm, arm64)
|
||||
; Note: If/as we are building a Universal driver package, we can not use a DefaultInstall.Services section.
|
||||
[SiLabsDDInstallSection.NTx86.Services]
|
||||
AddService = silabser,0x00000002,silabser.AddService
|
||||
|
||||
[SiLabsDDInstallSection.NTamd64.Services]
|
||||
AddService = silabser,0x00000002,silabser.AddService
|
||||
|
||||
[SiLabsDDInstallSection.NTarm.Services]
|
||||
AddService = silabser,0x00000002,silabser.AddService
|
||||
|
||||
[SiLabsDDInstallSection.NTarm64.Services]
|
||||
AddService = silabser,0x00000002,silabser.AddService
|
||||
|
||||
[silabser.AddService]
|
||||
DisplayName = %silabser.SvcDesc%
|
||||
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
|
||||
StartType = 3 ; SERVICE_DEMAND_START
|
||||
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
|
||||
ServiceBinary = %12%\silabser.sys
|
||||
|
||||
; common registry entries
|
||||
[silabser.AddReg]
|
||||
HKR,,NTMPDriver,,silabser.sys
|
||||
HKR,,RateLimitPurgeMS, 0x10001, 0x64, 0x00, 0x00, 0x00
|
||||
HKR,,OverrideDefaultPortSettings, 0x10001, 01,00,00,00
|
||||
HKR,,InitialBaudRate, 0x10001, 00,C2,01,00 ;115200 initial baud rate
|
||||
HKR,,InitialLineControl,, "8N1" ;8-bits, No parity, 1 stop bit
|
||||
HKR,,PortSubClass,1,01
|
||||
HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
|
||||
|
||||
;DDInstall.HW sections (one per x86, amd64, arm, arm64)
|
||||
[SiLabsDDInstallSection.NTx86.HW]
|
||||
AddReg=SiLabsDDInstallSection.HW.AddReg
|
||||
|
||||
[SiLabsDDInstallSection.NTamd64.HW]
|
||||
AddReg=SiLabsDDInstallSection.HW.AddReg
|
||||
|
||||
[SiLabsDDInstallSection.NTarm.HW]
|
||||
AddReg=SiLabsDDInstallSection.HW.AddReg
|
||||
|
||||
[SiLabsDDInstallSection.NTarm64.HW]
|
||||
AddReg=SiLabsDDInstallSection.HW.AddReg
|
||||
|
||||
[SiLabsDDInstallSection.HW.AddReg]
|
||||
HKR,,"SelectiveSuspendTimeout",0x00010001,10000
|
||||
HKR,,"DisableHwAccessInModemStatusIoctls",0x00010001,1
|
||||
; Attention! The EnablePowerManagewment value is no longer supported.
|
||||
; To disable Selective Suspend, uncomment the following line:
|
||||
; HKR,,"DisableS0Idle",0x00010001,1
|
||||
|
||||
[silabser.Files.Ext]
|
||||
silabser.sys
|
||||
|
||||
[SourceDisksNames.x86]
|
||||
1=%Disk_Description%,"slabvcp.cat"
|
||||
[SourceDisksNames.amd64]
|
||||
1=%Disk_Description%,"slabvcp.cat"
|
||||
[SourceDisksNames.arm]
|
||||
1=%Disk_Description%,"slabvcp.cat"
|
||||
[SourceDisksNames.arm64]
|
||||
1=%Disk_Description%,"slabvcp.cat"
|
||||
|
||||
[SourceDisksFiles.x86]
|
||||
silabser.sys = 1,x86
|
||||
WdfCoinstaller01009.dll=1,x86
|
||||
|
||||
[SourceDisksFiles.amd64]
|
||||
silabser.sys = 1,x64
|
||||
WdfCoinstaller01009.dll=1,x64
|
||||
|
||||
[SourceDisksFiles.arm]
|
||||
silabser.sys = 1,arm
|
||||
WdfCoinstaller01011.dll=1,arm
|
||||
|
||||
[SourceDisksFiles.arm64]
|
||||
silabser.sys = 1,arm64
|
||||
WdfCoinstaller01015.dll=1,arm64
|
||||
|
||||
[DestinationDirs]
|
||||
Silabser.Files.Ext = 12 ; windows\system32\drivers
|
||||
|
||||
;-------------- WDF Coinstaller installation
|
||||
[DestinationDirs]
|
||||
CoInstaller_CopyFiles.KMDF.1.09 = 11 ; windows\system32
|
||||
CoInstaller_CopyFiles.KMDF.1.11 = 11 ; windows\system32
|
||||
CoInstaller_CopyFiles.KMDF.1.15 = 11 ; windows\system32
|
||||
|
||||
;DDInstall.CoInstallers sections (one per x86, amd64, arm, arm64)
|
||||
; "You can use any INF section in a universal INF file except for [CoInstallers]" -- MSDN
|
||||
[SiLabsDDInstallSection.NTx86.CoInstallers]
|
||||
AddReg=CoInstaller_AddReg.KMDF.1.09
|
||||
CopyFiles=CoInstaller_CopyFiles.KMDF.1.09
|
||||
|
||||
[SiLabsDDInstallSection.NTamd64.CoInstallers]
|
||||
AddReg=CoInstaller_AddReg.KMDF.1.09
|
||||
CopyFiles=CoInstaller_CopyFiles.KMDF.1.09
|
||||
|
||||
[SiLabsDDInstallSection.NTarm.CoInstallers]
|
||||
AddReg=CoInstaller_AddReg.KMDF.1.11
|
||||
CopyFiles=CoInstaller_CopyFiles.KMDF.1.11
|
||||
|
||||
[SiLabsDDInstallSection.NTarm64.CoInstallers]
|
||||
AddReg=CoInstaller_AddReg.KMDF.1.15
|
||||
CopyFiles=CoInstaller_CopyFiles.KMDF.1.15
|
||||
|
||||
[CoInstaller_CopyFiles.KMDF.1.09]
|
||||
WdfCoinstaller01009.dll
|
||||
[CoInstaller_CopyFiles.KMDF.1.11]
|
||||
WdfCoinstaller01011.dll
|
||||
[CoInstaller_CopyFiles.KMDF.1.15]
|
||||
WdfCoinstaller01015.dll
|
||||
|
||||
[SourceDisksFiles]
|
||||
WdfCoinstaller01009.dll=1
|
||||
WdfCoinstaller01011.dll=1
|
||||
WdfCoinstaller01015.dll=1
|
||||
|
||||
[CoInstaller_AddReg.KMDF.1.09]
|
||||
HKR,,CoInstallers32,0x00010000, "WdfCoinstaller01009.dll,WdfCoInstaller"
|
||||
[CoInstaller_AddReg.KMDF.1.11]
|
||||
HKR,,CoInstallers32,0x00010000, "WdfCoinstaller01011.dll,WdfCoInstaller"
|
||||
[CoInstaller_AddReg.KMDF.1.15]
|
||||
HKR,,CoInstallers32,0x00010000, "WdfCoinstaller01015.dll,WdfCoInstaller"
|
||||
|
||||
|
||||
;DDInstall.Wdf sections (one per x86, amd64, arm, arm64)
|
||||
[SiLabsDDInstallSection.NTx86.Wdf]
|
||||
KmdfService = silabser, SiLabs_wdfsect.1.09
|
||||
|
||||
[SiLabsDDInstallSection.NTamd64.Wdf]
|
||||
KmdfService = silabser, SiLabs_wdfsect.1.09
|
||||
|
||||
[SiLabsDDInstallSection.NTarm.Wdf]
|
||||
KmdfService = silabser, SiLabs_wdfsect.1.11
|
||||
|
||||
[SiLabsDDInstallSection.NTarm64.Wdf]
|
||||
KmdfService = silabser, SiLabs_wdfsect.1.15
|
||||
|
||||
[SiLabs_wdfsect.1.09]
|
||||
KmdfLibraryVersion = 1.09
|
||||
[SiLabs_wdfsect.1.11]
|
||||
KmdfLibraryVersion = 1.11
|
||||
[SiLabs_wdfsect.1.15]
|
||||
KmdfLibraryVersion = 1.15
|
||||
|
||||
;---------------------------------------------------------------;
|
||||
|
||||
[Strings]
|
||||
Provider="Silicon Laboratories Inc."
|
||||
ManufacturerName="Silicon Labs"
|
||||
Disk_Description= "Silicon Labs CP210x USB to UART Bridge Installation Disk"
|
||||
USB\VID_10C4&PID_EA60.DeviceDesc= "Silicon Labs CP210x USB to UART Bridge"
|
||||
USB\VID_10C4&PID_EA63.DeviceDesc= "Silicon Labs CP210x USB to UART Bridge"
|
||||
USB\VID_10C4&PID_EA70&Mi_00.DeviceDesc="Silicon Labs Dual CP2105 USB to UART Bridge: Enhanced COM Port"
|
||||
USB\VID_10C4&PID_EA70&Mi_01.DeviceDesc="Silicon Labs Dual CP2105 USB to UART Bridge: Standard COM Port"
|
||||
USB\VID_10C4&PID_EA71&Mi_00.DeviceDesc="Silicon Labs Quad CP2108 USB to UART Bridge: Interface 0"
|
||||
USB\VID_10C4&PID_EA71&Mi_01.DeviceDesc="Silicon Labs Quad CP2108 USB to UART Bridge: Interface 1"
|
||||
USB\VID_10C4&PID_EA71&Mi_02.DeviceDesc="Silicon Labs Quad CP2108 USB to UART Bridge: Interface 2"
|
||||
USB\VID_10C4&PID_EA71&Mi_03.DeviceDesc="Silicon Labs Quad CP2108 USB to UART Bridge: Interface 3"
|
||||
USB\VID_10C4&PID_EA7A&Mi_00.DeviceDesc="Silicon Labs Dual CP2105 USB to UART Bridge: Enhanced COM Port"
|
||||
USB\VID_10C4&PID_EA7A&Mi_01.DeviceDesc="Silicon Labs Dual CP2105 USB to UART Bridge: Standard COM Port"
|
||||
USB\VID_10C4&PID_EA7B&Mi_00.DeviceDesc="Silicon Labs Quad CP2108 USB to UART Bridge: Interface 0"
|
||||
USB\VID_10C4&PID_EA7B&Mi_01.DeviceDesc="Silicon Labs Quad CP2108 USB to UART Bridge: Interface 1"
|
||||
USB\VID_10C4&PID_EA7B&Mi_02.DeviceDesc="Silicon Labs Quad CP2108 USB to UART Bridge: Interface 2"
|
||||
USB\VID_10C4&PID_EA7B&Mi_03.DeviceDesc="Silicon Labs Quad CP2108 USB to UART Bridge: Interface 3"
|
||||
silabser.SvcDesc="Silicon Labs CP210x USB to UART Bridge Driver"
|
||||
BIN
Esplorer/Lolin32/x64/WdfCoInstaller01009.dll
Normal file
BIN
Esplorer/Lolin32/x64/WdfCoInstaller01009.dll
Normal file
Binary file not shown.
BIN
Esplorer/Lolin32/x64/silabser.sys
Normal file
BIN
Esplorer/Lolin32/x64/silabser.sys
Normal file
Binary file not shown.
BIN
Esplorer/Lolin32/x86/WdfCoInstaller01009.dll
Normal file
BIN
Esplorer/Lolin32/x86/WdfCoInstaller01009.dll
Normal file
Binary file not shown.
BIN
Esplorer/Lolin32/x86/silabser.sys
Normal file
BIN
Esplorer/Lolin32/x86/silabser.sys
Normal file
Binary file not shown.
100
Esplorer/_lua/test100.lua
Normal file
100
Esplorer/_lua/test100.lua
Normal file
@@ -0,0 +1,100 @@
|
||||
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")
|
||||
200
Esplorer/_lua/test200.lua
Normal file
200
Esplorer/_lua/test200.lua
Normal file
@@ -0,0 +1,200 @@
|
||||
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")
|
||||
print("This is line number 101")
|
||||
print("This is line number 102")
|
||||
print("This is line number 103")
|
||||
print("This is line number 104")
|
||||
print("This is line number 105")
|
||||
print("This is line number 106")
|
||||
print("This is line number 107")
|
||||
print("This is line number 108")
|
||||
print("This is line number 109")
|
||||
print("This is line number 110")
|
||||
print("This is line number 111")
|
||||
print("This is line number 112")
|
||||
print("This is line number 113")
|
||||
print("This is line number 114")
|
||||
print("This is line number 115")
|
||||
print("This is line number 116")
|
||||
print("This is line number 117")
|
||||
print("This is line number 118")
|
||||
print("This is line number 119")
|
||||
print("This is line number 120")
|
||||
print("This is line number 121")
|
||||
print("This is line number 122")
|
||||
print("This is line number 123")
|
||||
print("This is line number 124")
|
||||
print("This is line number 125")
|
||||
print("This is line number 126")
|
||||
print("This is line number 127")
|
||||
print("This is line number 128")
|
||||
print("This is line number 129")
|
||||
print("This is line number 130")
|
||||
print("This is line number 131")
|
||||
print("This is line number 132")
|
||||
print("This is line number 133")
|
||||
print("This is line number 134")
|
||||
print("This is line number 135")
|
||||
print("This is line number 136")
|
||||
print("This is line number 137")
|
||||
print("This is line number 138")
|
||||
print("This is line number 139")
|
||||
print("This is line number 140")
|
||||
print("This is line number 141")
|
||||
print("This is line number 142")
|
||||
print("This is line number 143")
|
||||
print("This is line number 144")
|
||||
print("This is line number 145")
|
||||
print("This is line number 146")
|
||||
print("This is line number 147")
|
||||
print("This is line number 148")
|
||||
print("This is line number 149")
|
||||
print("This is line number 150")
|
||||
print("This is line number 151")
|
||||
print("This is line number 152")
|
||||
print("This is line number 153")
|
||||
print("This is line number 154")
|
||||
print("This is line number 155")
|
||||
print("This is line number 156")
|
||||
print("This is line number 157")
|
||||
print("This is line number 158")
|
||||
print("This is line number 159")
|
||||
print("This is line number 160")
|
||||
print("This is line number 161")
|
||||
print("This is line number 162")
|
||||
print("This is line number 163")
|
||||
print("This is line number 164")
|
||||
print("This is line number 165")
|
||||
print("This is line number 166")
|
||||
print("This is line number 167")
|
||||
print("This is line number 168")
|
||||
print("This is line number 169")
|
||||
print("This is line number 170")
|
||||
print("This is line number 171")
|
||||
print("This is line number 172")
|
||||
print("This is line number 173")
|
||||
print("This is line number 174")
|
||||
print("This is line number 175")
|
||||
print("This is line number 176")
|
||||
print("This is line number 177")
|
||||
print("This is line number 178")
|
||||
print("This is line number 179")
|
||||
print("This is line number 180")
|
||||
print("This is line number 181")
|
||||
print("This is line number 182")
|
||||
print("This is line number 183")
|
||||
print("This is line number 184")
|
||||
print("This is line number 185")
|
||||
print("This is line number 186")
|
||||
print("This is line number 187")
|
||||
print("This is line number 188")
|
||||
print("This is line number 189")
|
||||
print("This is line number 190")
|
||||
print("This is line number 191")
|
||||
print("This is line number 192")
|
||||
print("This is line number 193")
|
||||
print("This is line number 194")
|
||||
print("This is line number 195")
|
||||
print("This is line number 196")
|
||||
print("This is line number 197")
|
||||
print("This is line number 198")
|
||||
print("This is line number 199")
|
||||
print("This is line number 200")
|
||||
300
Esplorer/_lua/test300.lua
Normal file
300
Esplorer/_lua/test300.lua
Normal file
@@ -0,0 +1,300 @@
|
||||
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")
|
||||
print("This is line number 101")
|
||||
print("This is line number 102")
|
||||
print("This is line number 103")
|
||||
print("This is line number 104")
|
||||
print("This is line number 105")
|
||||
print("This is line number 106")
|
||||
print("This is line number 107")
|
||||
print("This is line number 108")
|
||||
print("This is line number 109")
|
||||
print("This is line number 110")
|
||||
print("This is line number 111")
|
||||
print("This is line number 112")
|
||||
print("This is line number 113")
|
||||
print("This is line number 114")
|
||||
print("This is line number 115")
|
||||
print("This is line number 116")
|
||||
print("This is line number 117")
|
||||
print("This is line number 118")
|
||||
print("This is line number 119")
|
||||
print("This is line number 120")
|
||||
print("This is line number 121")
|
||||
print("This is line number 122")
|
||||
print("This is line number 123")
|
||||
print("This is line number 124")
|
||||
print("This is line number 125")
|
||||
print("This is line number 126")
|
||||
print("This is line number 127")
|
||||
print("This is line number 128")
|
||||
print("This is line number 129")
|
||||
print("This is line number 130")
|
||||
print("This is line number 131")
|
||||
print("This is line number 132")
|
||||
print("This is line number 133")
|
||||
print("This is line number 134")
|
||||
print("This is line number 135")
|
||||
print("This is line number 136")
|
||||
print("This is line number 137")
|
||||
print("This is line number 138")
|
||||
print("This is line number 139")
|
||||
print("This is line number 140")
|
||||
print("This is line number 141")
|
||||
print("This is line number 142")
|
||||
print("This is line number 143")
|
||||
print("This is line number 144")
|
||||
print("This is line number 145")
|
||||
print("This is line number 146")
|
||||
print("This is line number 147")
|
||||
print("This is line number 148")
|
||||
print("This is line number 149")
|
||||
print("This is line number 150")
|
||||
print("This is line number 151")
|
||||
print("This is line number 152")
|
||||
print("This is line number 153")
|
||||
print("This is line number 154")
|
||||
print("This is line number 155")
|
||||
print("This is line number 156")
|
||||
print("This is line number 157")
|
||||
print("This is line number 158")
|
||||
print("This is line number 159")
|
||||
print("This is line number 160")
|
||||
print("This is line number 161")
|
||||
print("This is line number 162")
|
||||
print("This is line number 163")
|
||||
print("This is line number 164")
|
||||
print("This is line number 165")
|
||||
print("This is line number 166")
|
||||
print("This is line number 167")
|
||||
print("This is line number 168")
|
||||
print("This is line number 169")
|
||||
print("This is line number 170")
|
||||
print("This is line number 171")
|
||||
print("This is line number 172")
|
||||
print("This is line number 173")
|
||||
print("This is line number 174")
|
||||
print("This is line number 175")
|
||||
print("This is line number 176")
|
||||
print("This is line number 177")
|
||||
print("This is line number 178")
|
||||
print("This is line number 179")
|
||||
print("This is line number 180")
|
||||
print("This is line number 181")
|
||||
print("This is line number 182")
|
||||
print("This is line number 183")
|
||||
print("This is line number 184")
|
||||
print("This is line number 185")
|
||||
print("This is line number 186")
|
||||
print("This is line number 187")
|
||||
print("This is line number 188")
|
||||
print("This is line number 189")
|
||||
print("This is line number 190")
|
||||
print("This is line number 191")
|
||||
print("This is line number 192")
|
||||
print("This is line number 193")
|
||||
print("This is line number 194")
|
||||
print("This is line number 195")
|
||||
print("This is line number 196")
|
||||
print("This is line number 197")
|
||||
print("This is line number 198")
|
||||
print("This is line number 199")
|
||||
print("This is line number 200")
|
||||
print("This is line number 201")
|
||||
print("This is line number 202")
|
||||
print("This is line number 203")
|
||||
print("This is line number 204")
|
||||
print("This is line number 205")
|
||||
print("This is line number 206")
|
||||
print("This is line number 207")
|
||||
print("This is line number 208")
|
||||
print("This is line number 209")
|
||||
print("This is line number 210")
|
||||
print("This is line number 211")
|
||||
print("This is line number 212")
|
||||
print("This is line number 213")
|
||||
print("This is line number 214")
|
||||
print("This is line number 215")
|
||||
print("This is line number 216")
|
||||
print("This is line number 217")
|
||||
print("This is line number 218")
|
||||
print("This is line number 219")
|
||||
print("This is line number 220")
|
||||
print("This is line number 221")
|
||||
print("This is line number 222")
|
||||
print("This is line number 223")
|
||||
print("This is line number 224")
|
||||
print("This is line number 225")
|
||||
print("This is line number 226")
|
||||
print("This is line number 227")
|
||||
print("This is line number 228")
|
||||
print("This is line number 229")
|
||||
print("This is line number 230")
|
||||
print("This is line number 231")
|
||||
print("This is line number 232")
|
||||
print("This is line number 233")
|
||||
print("This is line number 234")
|
||||
print("This is line number 235")
|
||||
print("This is line number 236")
|
||||
print("This is line number 237")
|
||||
print("This is line number 238")
|
||||
print("This is line number 239")
|
||||
print("This is line number 240")
|
||||
print("This is line number 241")
|
||||
print("This is line number 242")
|
||||
print("This is line number 243")
|
||||
print("This is line number 244")
|
||||
print("This is line number 245")
|
||||
print("This is line number 246")
|
||||
print("This is line number 247")
|
||||
print("This is line number 248")
|
||||
print("This is line number 249")
|
||||
print("This is line number 250")
|
||||
print("This is line number 251")
|
||||
print("This is line number 252")
|
||||
print("This is line number 253")
|
||||
print("This is line number 254")
|
||||
print("This is line number 255")
|
||||
print("This is line number 256")
|
||||
print("This is line number 257")
|
||||
print("This is line number 258")
|
||||
print("This is line number 259")
|
||||
print("This is line number 260")
|
||||
print("This is line number 261")
|
||||
print("This is line number 262")
|
||||
print("This is line number 263")
|
||||
print("This is line number 264")
|
||||
print("This is line number 265")
|
||||
print("This is line number 266")
|
||||
print("This is line number 267")
|
||||
print("This is line number 268")
|
||||
print("This is line number 269")
|
||||
print("This is line number 270")
|
||||
print("This is line number 271")
|
||||
print("This is line number 272")
|
||||
print("This is line number 273")
|
||||
print("This is line number 274")
|
||||
print("This is line number 275")
|
||||
print("This is line number 276")
|
||||
print("This is line number 277")
|
||||
print("This is line number 278")
|
||||
print("This is line number 279")
|
||||
print("This is line number 280")
|
||||
print("This is line number 281")
|
||||
print("This is line number 282")
|
||||
print("This is line number 283")
|
||||
print("This is line number 284")
|
||||
print("This is line number 285")
|
||||
print("This is line number 286")
|
||||
print("This is line number 287")
|
||||
print("This is line number 288")
|
||||
print("This is line number 289")
|
||||
print("This is line number 290")
|
||||
print("This is line number 291")
|
||||
print("This is line number 292")
|
||||
print("This is line number 293")
|
||||
print("This is line number 294")
|
||||
print("This is line number 295")
|
||||
print("This is line number 296")
|
||||
print("This is line number 297")
|
||||
print("This is line number 298")
|
||||
print("This is line number 299")
|
||||
print("This is line number 300")
|
||||
24
Esplorer/_lua/time.lua
Normal file
24
Esplorer/_lua/time.lua
Normal file
@@ -0,0 +1,24 @@
|
||||
print('time.lua ver 1.0')
|
||||
function getHTTPreq()
|
||||
print('send GET to http server...')
|
||||
conn=net.createConnection(net.TCP, 0)
|
||||
conn:on("receive", function(conn, payload)
|
||||
print("got answer")
|
||||
print(string.sub(payload,string.find(payload,"Date: ")+6,string.find(payload,"Date: ")+35))
|
||||
conn:close()
|
||||
end)
|
||||
conn:connect(80,"64.233.161.94")
|
||||
conn:send("HEAD / HTTP/1.1\r\n"..
|
||||
"Accept: */*\r\n"..
|
||||
"User-Agent: Mozilla/4.0 (compatible; esp8266 NodeMcu Lua;)\r\n"..
|
||||
"\r\n")
|
||||
end
|
||||
tmr.alarm(0, 1000, 1, function()
|
||||
if wifi.sta.getip()==nil then
|
||||
print("connecting to AP...")
|
||||
else
|
||||
print('ip: ',wifi.sta.getip())
|
||||
getHTTPreq()
|
||||
tmr.stop(0)
|
||||
end
|
||||
end)
|
||||
12
Esplorer/_micropython/gpio.py
Normal file
12
Esplorer/_micropython/gpio.py
Normal file
@@ -0,0 +1,12 @@
|
||||
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.")
|
||||
12
Esplorer/_micropython/gpio2.py
Normal file
12
Esplorer/_micropython/gpio2.py
Normal file
@@ -0,0 +1,12 @@
|
||||
import pyb
|
||||
import time
|
||||
pin = pyb.Pin(2, pyb.Pin.OUT)
|
||||
for i in range(4):
|
||||
print('LED ON2')
|
||||
pin.value(0)
|
||||
time.sleep(1)
|
||||
print('LED OFF2')
|
||||
pin.value(1)
|
||||
time.sleep(1)
|
||||
print('2iteration done.')
|
||||
print("All 2 done.")
|
||||
BIN
Esplorer/driver/CH341SER/CH341PT.DLL
Normal file
BIN
Esplorer/driver/CH341SER/CH341PT.DLL
Normal file
Binary file not shown.
BIN
Esplorer/driver/CH341SER/CH341S64.SYS
Normal file
BIN
Esplorer/driver/CH341SER/CH341S64.SYS
Normal file
Binary file not shown.
BIN
Esplorer/driver/CH341SER/CH341S98.SYS
Normal file
BIN
Esplorer/driver/CH341SER/CH341S98.SYS
Normal file
Binary file not shown.
186
Esplorer/driver/CH341SER/CH341SER.INF
Normal file
186
Esplorer/driver/CH341SER/CH341SER.INF
Normal file
@@ -0,0 +1,186 @@
|
||||
; CH341SER.INF
|
||||
; Driver for CH341 (USB=>SERIAL chip) V3.3
|
||||
; WDM&VXD for Windows 98/Me/2000/XP/Server2003/Vista/64bit Vista/Server2008/Win7/64bit Win7
|
||||
; Copyright (C) W.ch 2001-2011
|
||||
;
|
||||
|
||||
[Version]
|
||||
Signature = "$Chicago$"
|
||||
Class = Ports
|
||||
ClassGuid = {4D36E978-E325-11CE-BFC1-08002BE10318}
|
||||
Provider = %WinChipHead%
|
||||
DriverVer = 11/04/2011, 3.3.2011.11
|
||||
CatalogFile.NT = CH341SER.CAT
|
||||
|
||||
[ControlFlags]
|
||||
ExcludeFromSelect = USB\VID_1A86&PID_7523
|
||||
ExcludeFromSelect = USB\VID_1A86&PID_5523
|
||||
ExcludeFromSelect = USB\VID_4348&PID_5523
|
||||
ExcludeFromSelect = USB\VID_4348&PID_5523&REV_0250
|
||||
ExcludeFromSelect = USBSERPORT\SER5523
|
||||
ExcludeFromSelect = CH341PORT\SER5523
|
||||
|
||||
[Manufacturer]
|
||||
%WinChipHead% = WinChipHead,NT,NTamd64
|
||||
|
||||
[WinChipHead]
|
||||
%CH340SER.DeviceDesc% = CH341SER_Install, USB\VID_1A86&PID_7523
|
||||
%CH341ASER.DeviceDesc% = CH341SER_Install, USB\VID_1A86&PID_5523
|
||||
%CH341SER.DeviceDesc% = CH341SER_Install, USB\VID_4348&PID_5523
|
||||
%CH340SER.DeviceDesc% = CH341SER_Install, USB\VID_4348&PID_5523&REV_0250
|
||||
%CH341S98.DeviceDesc% = CH341S98_Install, USBSERPORT\SER5523
|
||||
%CH341S98.DeviceDesc% = CH341S98_Install, CH341PORT\SER5523
|
||||
|
||||
[WinChipHead.NT]
|
||||
%CH340SER.DeviceDesc% = CH341SER_Install.NT, USB\VID_1A86&PID_7523
|
||||
%CH341ASER.DeviceDesc% = CH341SER_Install.NT, USB\VID_1A86&PID_5523
|
||||
%CH341SER.DeviceDesc% = CH341SER_Install.NT, USB\VID_4348&PID_5523
|
||||
%CH340SER.DeviceDesc% = CH341SER_Install.NT, USB\VID_4348&PID_5523&REV_0250
|
||||
|
||||
[WinChipHead.NTamd64]
|
||||
%CH340SER.DeviceDesc% = CH341SER_Inst.NTamd64, USB\VID_1A86&PID_7523
|
||||
%CH341ASER.DeviceDesc% = CH341SER_Inst.NTamd64, USB\VID_1A86&PID_5523
|
||||
%CH341SER.DeviceDesc% = CH341SER_Inst.NTamd64, USB\VID_4348&PID_5523
|
||||
%CH340SER.DeviceDesc% = CH341SER_Inst.NTamd64, USB\VID_4348&PID_5523&REV_0250
|
||||
|
||||
[CH341SER_Install]
|
||||
DelFiles = CH341S98.DelFiles.SYS
|
||||
CopyFiles = CH341SER.CopyFiles.SYS, CH341SER.CopyFiles.DLL
|
||||
AddReg = CH341SER.9X.AddReg, CH341SER.AddReg
|
||||
|
||||
[CH341SER_Install.NT]
|
||||
CopyFiles = CH341SER.NT.CopyFiles.SYS, CH341SER.CopyFiles.DLL
|
||||
AddReg = CH341SER.NT.AddReg, CH341SER.AddReg
|
||||
|
||||
[CH341SER_Install.NT.HW]
|
||||
AddReg = CH341SER.NT.HW.AddReg
|
||||
|
||||
[CH341SER_Inst.NTamd64]
|
||||
CopyFiles = CH341SER.NT.CopyFiles.SYSA64, CH341SER.CopyFiles.DLLA64
|
||||
AddReg = CH341SER.NT.AddReg, CH341SER.AddReg
|
||||
|
||||
[CH341SER_Inst.NTamd64.HW]
|
||||
AddReg = CH341SER.NT.HW.AddReg
|
||||
|
||||
[CH341S98_Install]
|
||||
DelFiles = CH341S98.DelFiles.SYS
|
||||
CopyFiles = CH341S98.CopyFiles.VXD, CH341SER.CopyFiles.SYS
|
||||
AddReg = CH341S98.9X.AddReg, CH341S98.AddReg
|
||||
|
||||
;[CH341S98_Install.NT]
|
||||
|
||||
[CH341S98.DelFiles.SYS]
|
||||
CH341S98.SYS, , , 1
|
||||
|
||||
[CH341SER.CopyFiles.SYS]
|
||||
CH341S98.SYS, , , 2
|
||||
|
||||
[CH341SER.NT.CopyFiles.SYS]
|
||||
CH341SER.SYS, , , 2
|
||||
|
||||
[CH341SER.NT.CopyFiles.SYSA64]
|
||||
CH341S64.SYS, , , 2
|
||||
|
||||
[CH341S98.CopyFiles.VXD]
|
||||
CH341SER.VXD, , , 2
|
||||
|
||||
[CH341SER.CopyFiles.DLL]
|
||||
CH341PT.DLL, , , 2
|
||||
;安装DLL是可选的,DLL可以用于识别CH341端口和监视CH341端口的插拔事件
|
||||
|
||||
[CH341SER.CopyFiles.DLLA64]
|
||||
CH341PT.DLL, , , 2
|
||||
;安装DLL是可选的,DLL可以用于识别CH341端口和监视CH341端口的插拔事件
|
||||
|
||||
[CH341SER.9X.AddReg]
|
||||
HKR, , DevLoader, , *NTKERN
|
||||
HKR, , NTMPDriver, , CH341S98.SYS
|
||||
|
||||
[CH341SER.NT.AddReg]
|
||||
HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
|
||||
|
||||
[CH341SER.NT.HW.AddReg]
|
||||
HKR,,"UpperFilters",0x00010000,"serenum"
|
||||
;上面这行用于枚举接在串口的即插即用设备,启动时将产生DTR和RTS信号,如果需要枚举,请将上面这行的分号去掉
|
||||
|
||||
[CH341S98.9X.AddReg]
|
||||
HKR, , DevLoader, , *vcomm
|
||||
HKR, , PortDriver, , CH341SER.VXD
|
||||
HKR, , Contention, , *vcd
|
||||
HKR, , ConfigDialog, , serialui.dll
|
||||
HKR, , DCB, 3, 1C,00,00,00, 80,25,00,00, 11,00,00,00, 00,00,0A,00, 0A,00,08,00, 00,11,13,00, 00,00,00,00
|
||||
HKR, , PortSubClass, 1, 01
|
||||
HKR, , EnumPropPages, , "serialui.dll,EnumPropPages"
|
||||
HKR, , Enumerator, , serenum.vxd
|
||||
;上面这行用于枚举接在串口的即插即用设备,启动时将产生DTR和RTS信号,如果需要枚举,请将上面这行的分号去掉
|
||||
|
||||
[CH341SER.AddReg]
|
||||
HKLM, SOFTWARE\WinChipHead\IC\CH341SER, WDM, 0x00010001, 0x00000032
|
||||
HKLM, SOFTWARE\WinChipHead\IC\CH341PORT, DLL, 0x00010001, 0x00000010
|
||||
HKLM, SOFTWARE\WinChipHead\IC\CH341SER, Function, , "USB=>Serial"
|
||||
;HKLM, SYSTEM\CurrentControlSet\Services\CH341SER, UserRemoval, 0x00010001, 0x00000001
|
||||
;上面这行用于在系统托盘中显示“安全删除USB转SERIAL硬件设备”,便于用户手工删除硬件
|
||||
|
||||
[CH341S98.AddReg]
|
||||
HKLM, SOFTWARE\WinChipHead\IC\CH341SER, VXD, 0x00010001, 0x00000023
|
||||
|
||||
[CH341SER_Install.NT.Services]
|
||||
AddService = CH341SER, 2, CH341SER.Service
|
||||
AddService = Serenum, , Serenum_Service_Inst
|
||||
|
||||
[CH341SER_Inst.NTamd64.Services]
|
||||
AddService = CH341SER_A64, 2, CH341SER.ServiceA64
|
||||
AddService = Serenum, , Serenum_Service_Inst
|
||||
|
||||
[CH341SER.Service]
|
||||
DisplayName = "CH341SER"
|
||||
ServiceType = 1
|
||||
StartType = 3
|
||||
ErrorControl = 1
|
||||
ServiceBinary = %10%\System32\Drivers\CH341SER.SYS
|
||||
|
||||
[CH341SER.ServiceA64]
|
||||
DisplayName = "CH341SER_A64"
|
||||
ServiceType = 1
|
||||
StartType = 3
|
||||
ErrorControl = 1
|
||||
ServiceBinary = %10%\System32\Drivers\CH341S64.SYS
|
||||
|
||||
[Serenum_Service_Inst]
|
||||
DisplayName = "SerEnum"
|
||||
ServiceType = 1
|
||||
StartType = 3
|
||||
ErrorControl = 1
|
||||
ServiceBinary = %12%\serenum.sys
|
||||
LoadOrderGroup = PNP Filter
|
||||
|
||||
[DestinationDirs]
|
||||
DefaultDestDir = 10, System32\Drivers
|
||||
CH341S98.DelFiles.SYS = 11
|
||||
CH341SER.CopyFiles.SYS = 10, System32\Drivers
|
||||
CH341SER.NT.CopyFiles.SYS = 10, System32\Drivers
|
||||
CH341S98.CopyFiles.VXD = 11
|
||||
CH341SER.CopyFiles.DLL = 11
|
||||
CH341SER.CopyFiles.DLLA64 = 10, Syswow64
|
||||
CH341SER.NT.CopyFiles.SYSA64 = 10, System32\Drivers
|
||||
|
||||
[SourceDisksFiles]
|
||||
CH341SER.SYS = 1
|
||||
CH341S98.SYS = 1
|
||||
CH341SER.VXD = 1
|
||||
CH341PT.DLL = 1
|
||||
CH341S64.SYS = 1
|
||||
|
||||
[SourceDisksNames]
|
||||
1 = %DISK_NAME%, , ,
|
||||
|
||||
[SourceDisksNames.amd64]
|
||||
1 = %DISK_NAME%, , ,
|
||||
|
||||
[Strings]
|
||||
WinChipHead = "wch.cn"
|
||||
CH341SER.DeviceDesc = "USB-SERIAL CH341"
|
||||
CH341S98.DeviceDesc = "USB-SERIAL CH341"
|
||||
CH340SER.DeviceDesc = "USB-SERIAL CH340"
|
||||
CH341ASER.DeviceDesc = "USB-SERIAL CH341A"
|
||||
DISK_NAME = "CH341 Serial Installation Disk"
|
||||
BIN
Esplorer/driver/CH341SER/CH341SER.SYS
Normal file
BIN
Esplorer/driver/CH341SER/CH341SER.SYS
Normal file
Binary file not shown.
BIN
Esplorer/driver/CH341SER/CH341SER.VXD
Normal file
BIN
Esplorer/driver/CH341SER/CH341SER.VXD
Normal file
Binary file not shown.
BIN
Esplorer/driver/CH341SER/DRVSETUP64/DRVSETUP64.exe
Normal file
BIN
Esplorer/driver/CH341SER/DRVSETUP64/DRVSETUP64.exe
Normal file
Binary file not shown.
BIN
Esplorer/driver/CH341SER/SETUP.EXE
Normal file
BIN
Esplorer/driver/CH341SER/SETUP.EXE
Normal file
Binary file not shown.
BIN
Esplorer/driver/CH341SER/ch341SER.CAT
Normal file
BIN
Esplorer/driver/CH341SER/ch341SER.CAT
Normal file
Binary file not shown.
55
Esplorer/driver/INSTALL/DLL_LIB/CH341PT.BAS
Normal file
55
Esplorer/driver/INSTALL/DLL_LIB/CH341PT.BAS
Normal file
@@ -0,0 +1,55 @@
|
||||
Attribute VB_Name = "CH341PTDLL"
|
||||
' 2005.07.28
|
||||
'****************************************
|
||||
'** Copyright (C) W.ch 1999-2005 **
|
||||
'** Web: http:'www.winchiphead.com **
|
||||
'****************************************
|
||||
'** DLL for USB interface chip CH341 **
|
||||
'** C, VC5.0 **
|
||||
'****************************************
|
||||
'
|
||||
' USB总线接口芯片CH341端口应用层接口库 V1.0
|
||||
' 南京沁恒电子有限公司 作者: W.ch 2005.07
|
||||
' CH341-Port-DLL V1.0
|
||||
' 运行环境: Windows 98/ME, Windows 2000/XP
|
||||
' support USB chip: CH341, CH341A
|
||||
' USB => Serial, Parallel
|
||||
'
|
||||
|
||||
|
||||
|
||||
Public Const MAX_DEVICE_PATH_SIZE = 128 ' 设备名称的最大字符数
|
||||
Public Const MAX_DEVICE_ID_SIZE = 64 ' 设备ID的最大字符数
|
||||
|
||||
Declare Function CH341PtGetVersion Lib "CH341PT.DLL" () As Long ' 获得DLL版本号,返回版本号
|
||||
|
||||
Declare Function CH341PtHandleIsCH341 Lib "CH341PT.DLL" (ByVal iPortHandle As Long) As Boolean ' 指定已经打开的端口句柄
|
||||
' CH341PtHandleIsCH341 检查已经打开的端口是否为CH341端口
|
||||
' iPortHandle ' 指定已经打开的端口句柄
|
||||
|
||||
Declare Function CH341PtNameIsCH341 Lib "CH341PT.DLL" (ByVal iPortName As String) As Boolean
|
||||
' CH341PtNameIsCH341 检查指定名称的端口是否为CH341端口
|
||||
' iPortName 指定端口名称,例如"COM3","COM15"等,该端口必须未被占用(指未被其它程序打开)
|
||||
|
||||
' 端口设备事件通知回调程序
|
||||
' sub mPCH341PT_NOTIFY_ROUTINE (byval iDevIndexAndEvent as long) ' 端口设备序号和事件及当前状态(参考下行说明)
|
||||
' iDevIndexAndEvent: 正数说明是设备插入事件/已经插入, 负数说明是设备拔出事件/已经拔出, 其绝对值是设备序号(1到255)
|
||||
|
||||
Declare Function CH341PtSetDevNotify Lib "CH341PT.DLL" (ByVal iDeviceID As String, ByVal iNotifyRoutine As Long) As Boolean ' 指定端口设备事件回调程序,为NULL则取消事件通知,否则在检测到事件时调用该程序
|
||||
' CH341PtSetDevNotify 设定端口设备事件通知程序
|
||||
' iDeviceID, 可选参数,指向以\0终止的字符串,指定被监控的设备的ID或者不含序号的主名称,对于串口该参数必须为NULL或者"COM"
|
||||
' iNotifyRoutine 指定端口设备事件回调程序,为NULL则取消事件通知,否则在检测到事件时调用该程序
|
||||
|
||||
'/* 即插即用设备的应用程序编程参考
|
||||
'1. 主程序启动,默认是禁止数据传输的,只有在确定有CH341端口可用并且打开端口后才进行数据传输
|
||||
'2. 调用CH341PtSetDevNotify设置插拔监视,如果将来发生CH341端口的插拔事件DLL将会自动调用iNotifyRoutine所指定的子程序或者函数
|
||||
'3. 从端口1到端口255(正常到20即可)逐个调用CH341PtNameIsCH341确定是否为CH341端口,如果返回是则记忆其端口号并打开后开始传输,如果返回否则休息
|
||||
'4. 如果iNotifyRoutine收到事件通知,那么可以在保存事件参数后通知主程序处理,也可以在该子程序中处理,
|
||||
' 分析事件参数,如果是正数则说明有一个端口插入,需要打开时应该首先用CH341PtNameIsCH341判断是否为CH341端口,是则记忆其端口号并打开后开始传输,
|
||||
' 如果是负数则说明有一个端口拔出,判断其端口号(用0减去该负数得端口号)是否与记忆的已打开的端口号相同,是则应该及时关闭
|
||||
'5. 当前已经打开的端口号应该保存为全局变量, 如果端口未打开或者被关闭,那么应用程序应该停止数据传输
|
||||
'6. 如果事先未用CH341PtNameIsCH341确定是否为CH341端口,那么在端口已经打开后,也可以调用CH341PtHandleIsCH341判断是否为CH341端口
|
||||
'*/
|
||||
|
||||
|
||||
|
||||
67
Esplorer/driver/INSTALL/DLL_LIB/CH341PT.H
Normal file
67
Esplorer/driver/INSTALL/DLL_LIB/CH341PT.H
Normal file
@@ -0,0 +1,67 @@
|
||||
// 2005.07.28
|
||||
//****************************************
|
||||
//** Copyright (C) W.ch 1999-2005 **
|
||||
//** Web: http://www.winchiphead.com **
|
||||
//****************************************
|
||||
//** DLL for USB interface chip CH341 **
|
||||
//** C, VC5.0 **
|
||||
//****************************************
|
||||
//
|
||||
// USB总线接口芯片CH341端口应用层接口库 V1.0
|
||||
// 南京沁恒电子有限公司 作者: W.ch 2005.07
|
||||
// CH341-Port-DLL V1.0
|
||||
// 运行环境: Windows 98/ME, Windows 2000/XP
|
||||
// support USB chip: CH341, CH341A
|
||||
// USB => Serial, Parallel
|
||||
//
|
||||
|
||||
#ifndef _CH341_PORT_H
|
||||
#define _CH341_PORT_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
#define MAX_DEVICE_PATH_SIZE 128 // 设备名称的最大字符数
|
||||
#define MAX_DEVICE_ID_SIZE 64 // 设备ID的最大字符数
|
||||
|
||||
|
||||
ULONG WINAPI CH341PtGetVersion( ); // 获得DLL版本号,返回版本号
|
||||
|
||||
|
||||
BOOL WINAPI CH341PtHandleIsCH341( // 检查已经打开的端口是否为CH341端口
|
||||
HANDLE iPortHandle ); // 指定已经打开的端口句柄
|
||||
|
||||
|
||||
BOOL WINAPI CH341PtNameIsCH341( // 检查指定名称的端口是否为CH341端口
|
||||
PUCHAR iPortName ); // 指定端口名称,例如"COM3","COM15"等,该端口必须未被占用(指未被其它程序打开)
|
||||
|
||||
|
||||
typedef VOID ( CALLBACK * mPCH341PT_NOTIFY_ROUTINE ) ( // 端口设备事件通知回调程序
|
||||
LONG iDevIndexAndEvent ); // 端口设备序号和事件及当前状态(参考下行说明)
|
||||
// iDevIndexAndEvent: 正数说明是设备插入事件/已经插入, 负数说明是设备拔出事件/已经拔出, 其绝对值是设备序号(1到255)
|
||||
|
||||
|
||||
BOOL WINAPI CH341PtSetDevNotify( // 设定端口设备事件通知程序
|
||||
PCHAR iDeviceID, // 可选参数,指向以\0终止的字符串,指定被监控的设备的ID或者不含序号的主名称,对于串口该参数必须为NULL或者"COM"
|
||||
mPCH341PT_NOTIFY_ROUTINE iNotifyRoutine ); // 指定端口设备事件回调程序,为NULL则取消事件通知,否则在检测到事件时调用该程序
|
||||
|
||||
|
||||
/* 即插即用设备的应用程序编程参考
|
||||
1. 主程序启动,默认是禁止数据传输的,只有在确定有CH341端口可用并且打开端口后才进行数据传输
|
||||
2. 调用CH341PtSetDevNotify设置插拔监视,如果将来发生CH341端口的插拔事件DLL将会自动调用iNotifyRoutine所指定的子程序或者函数
|
||||
3. 从端口1到端口255(正常到20即可)逐个调用CH341PtNameIsCH341确定是否为CH341端口,如果返回是则记忆其端口号并打开后开始传输,如果返回否则休息
|
||||
4. 如果iNotifyRoutine收到事件通知,那么可以在保存事件参数后通知主程序处理,也可以在该子程序中处理,
|
||||
分析事件参数,如果是正数则说明有一个端口插入,需要打开时应该首先用CH341PtNameIsCH341判断是否为CH341端口,是则记忆其端口号并打开后开始传输,
|
||||
如果是负数则说明有一个端口拔出,判断其端口号(用0减去该负数得端口号)是否与记忆的已打开的端口号相同,是则应该及时关闭
|
||||
5. 当前已经打开的端口号应该保存为全局变量, 如果端口未打开或者被关闭,那么应用程序应该停止数据传输
|
||||
6. 如果事先未用CH341PtNameIsCH341确定是否为CH341端口,那么在端口已经打开后,也可以调用CH341PtHandleIsCH341判断是否为CH341端口
|
||||
*/
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // _CH341_PORT_H
|
||||
BIN
Esplorer/driver/INSTALL/DLL_LIB/CH341PT.LIB
Normal file
BIN
Esplorer/driver/INSTALL/DLL_LIB/CH341PT.LIB
Normal file
Binary file not shown.
59
Esplorer/driver/INSTALL/DLL_LIB/CH341PT.PAS
Normal file
59
Esplorer/driver/INSTALL/DLL_LIB/CH341PT.PAS
Normal file
@@ -0,0 +1,59 @@
|
||||
unit CH341PTDLL;
|
||||
|
||||
interface
|
||||
// 2005.07.28
|
||||
//****************************************
|
||||
//** Copyright (C) W.ch 1999-2005 **
|
||||
//** Web: http://www.winchiphead.com **
|
||||
//****************************************
|
||||
//** DLL for USB interface chip CH341 **
|
||||
//** C, VC5.0 **
|
||||
//****************************************
|
||||
//
|
||||
// USB总线接口芯片CH341端口应用层接口库 V1.0
|
||||
// 南京沁恒电子有限公司 作者: W.ch 2005.07
|
||||
// CH341-Port-DLL V1.0
|
||||
// 运行环境: Windows 98/ME, Windows 2000/XP
|
||||
// support USB chip: CH341, CH341A
|
||||
// USB => Serial, Parallel
|
||||
//
|
||||
|
||||
const MAX_DEVICE_PATH_SIZE = 128 ; // 设备名称的最大字符数
|
||||
MAX_DEVICE_ID_SIZE= 64 ; // 设备ID的最大字符数
|
||||
|
||||
|
||||
Function CH341PtGetVersion( ):cardinal;stdcall; external 'CH341PT.DLL'; // 获得DLL版本号,返回版本号
|
||||
|
||||
|
||||
Function CH341PtHandleIsCH341( // 检查已经打开的端口是否为CH341端口
|
||||
iPortHandle:cardinal ):boolean;stdcall; external 'CH341PT.DLL'; // 指定已经打开的端口句柄
|
||||
|
||||
|
||||
Function CH341PtNameIsCH341( // 检查指定名称的端口是否为CH341端口
|
||||
iPortName:PCHAR ):boolean;stdcall; external 'CH341PT.DLL'; // 指定端口名称,例如"COM3","COM15"等,该端口必须未被占用(指未被其它程序打开)
|
||||
|
||||
|
||||
type mPCH341PT_NOTIFY_ROUTINE=Procedure ( // 端口设备事件通知回调程序
|
||||
iDevIndexAndEvent:integer );stdcall; // 端口设备序号和事件及当前状态(参考下行说明)
|
||||
// iDevIndexAndEvent: 正数说明是设备插入事件/已经插入, 负数说明是设备拔出事件/已经拔出, 其绝对值是设备序号(1到255)
|
||||
|
||||
|
||||
Function CH341PtSetDevNotify( // 设定端口设备事件通知程序
|
||||
iDeviceID:PCHAR; // 可选参数,指向以\0终止的字符串,指定被监控的设备的ID或者不含序号的主名称,对于串口该参数必须为NULL或者"COM"
|
||||
iNotifyRoutine:mPCH341PT_NOTIFY_ROUTINE):boolean;stdcall; external 'CH341PT.DLL'; // 指定端口设备事件回调程序,为NULL则取消事件通知,否则在检测到事件时调用该程序
|
||||
|
||||
|
||||
{/* 即插即用设备的应用程序编程参考
|
||||
1. 主程序启动,默认是禁止数据传输的,只有在确定有CH341端口可用并且打开端口后才进行数据传输
|
||||
2. 调用CH341PtSetDevNotify设置插拔监视,如果将来发生CH341端口的插拔事件DLL将会自动调用iNotifyRoutine所指定的子程序或者函数
|
||||
3. 从端口1到端口255(正常到20即可)逐个调用CH341PtNameIsCH341确定是否为CH341端口,如果返回是则记忆其端口号并打开后开始传输,如果返回否则休息
|
||||
4. 如果iNotifyRoutine收到事件通知,那么可以在保存事件参数后通知主程序处理,也可以在该子程序中处理,
|
||||
分析事件参数,如果是正数则说明有一个端口插入,需要打开时应该首先用CH341PtNameIsCH341判断是否为CH341端口,是则记忆其端口号并打开后开始传输,
|
||||
如果是负数则说明有一个端口拔出,判断其端口号(用0减去该负数得端口号)是否与记忆的已打开的端口号相同,是则应该及时关闭
|
||||
5. 当前已经打开的端口号应该保存为全局变量, 如果端口未打开或者被关闭,那么应用程序应该停止数据传输
|
||||
6. 如果事先未用CH341PtNameIsCH341确定是否为CH341端口,那么在端口已经打开后,也可以调用CH341PtHandleIsCH341判断是否为CH341端口
|
||||
*/}
|
||||
|
||||
implementation
|
||||
|
||||
end.
|
||||
195
Esplorer/driver/INSTALL/README.TXT
Normal file
195
Esplorer/driver/INSTALL/README.TXT
Normal file
@@ -0,0 +1,195 @@
|
||||
CH341的串口方式支持WINDOWS 98/ME/2000/XP/Vista/Linux,提供相关驱动程序,
|
||||
CH341的USB转串口支持大多数常用的串口监控及调试工具程序。
|
||||
|
||||
驱动安装方法:
|
||||
1. 标准INF文件安装方法
|
||||
WINDOWS提示找到新硬件,指定驱动程序所在目录DRIVER,自动安装驱动,
|
||||
如果WINDOWS没有提示找到新硬件,那么在设备管理器的硬件列表中,
|
||||
选择带问号的USB设备,更新驱动程序并指定目录。
|
||||
2. 使用驱动程序安装工具
|
||||
直接使用CH341SER.EXE安装包,可以安装/升级/卸载驱动程序,
|
||||
该方法更适用于最终用户。
|
||||
|
||||
CH341串口使用方法:
|
||||
CH341实现USB转串口,在逻辑功能方面的使用方法与普通计算机串口相同。
|
||||
与普通计算机串口的区别:
|
||||
CH341提供的是仿真串口,所以不支持串口本身的纯硬件操作,例如I/O操作,
|
||||
普通计算机串口是静态设备,而CH341串口是动态设备,理论上随时会断开,
|
||||
CH341的附加功能(下面有介绍):读取外部串行EEPROM,支持更高波特率。
|
||||
提供“模块调试”工具,启动后将“类型”选择为“手工输入发送”,
|
||||
打开串口后就可以用于CH341串口或者普通串口的输入输出监控及收发调试。
|
||||
|
||||
注意事项:
|
||||
CH341串口是即插即用的USB设备,正在使用CH341串口进行数据传输的过程中,
|
||||
不可以将其断开(断开是指从USB插座中取出CH341或者关闭CH341的电源),
|
||||
也就是说,必须在应用程序关闭该串口后,CH341串口才可以从USB插座中拔出。
|
||||
|
||||
如果在应用程序使用CH341串口的过程中,CH341串口设备从USB插座中断开,
|
||||
那么应用程序应该尽快关闭CH341串口并退出(关闭及退出可能需要数秒时间)。
|
||||
|
||||
如果在CH341串口通讯过程中发生错误,极有可能是CH341串口已经物理断开,
|
||||
所以在检测到错误后建议关闭CH341串口,稍等两秒后再重新打开串口通讯。
|
||||
|
||||
采用设备事件通知的方法可以及时了解CH341串口设备的连接与断开,
|
||||
从而使串口应用程序能够及时打开和关闭CH341串口。
|
||||
串口动态链接库CH341PT.DLL提供了API,可以监视CH341串口插拔事件,
|
||||
可以搜索和识别CH341串口等,具体需参考CH341PT.H文件。
|
||||
|
||||
如果通讯波特率较高,建议设置较大的缓冲区,尤其在WINDOWS 98/ME下,
|
||||
线程调度能力和USB实时性都比WINDOWS 2000/XP差,如果串口接收缓冲区较小,
|
||||
那么在通讯波特率较高时,接收大量数据会导致串口缓冲区溢出而丢弃数据。
|
||||
|
||||
由于底层的USB是将多个字节组成数据包后安插到各个1mS帧中进行传输,
|
||||
所以有可能将串口收发的紧靠着的两个字节实际分割在两个USB数据包甚至
|
||||
两个USB帧中,在最坏情况下这两个字节在时间上有可能相隔1mS甚至2mS。
|
||||
|
||||
*******************************************************************************
|
||||
|
||||
如果需要速率控制(流控制),建议不要使用MODEM信号控制,因为其效率较低,
|
||||
建议用CH341的TEN#和RDY#实现纯硬件的速率控制,其中TEN#为输入,RDY#为输出,
|
||||
当TEN#输入为低电平时允许CH341从串口发送数据,高电平时CH341将暂停发送数据,
|
||||
当RDY#输出为低电平时说明CH341可以接收串口数据,高电平说明CH341正忙而不能接收。
|
||||
|
||||
如果计算机及单片机不忙,或者波特率在115200bps以下时,通常不需要速率控制,
|
||||
如果波特率再高或者计算机及单片机较忙,才需要考虑采用TEN#和RDY#进行速率控制。
|
||||
|
||||
CH341用于串口时,其硬件最简单时只需要三根线:GND,TXD,RXD,
|
||||
可以直接与单片机相连,波特率支持从50bps到2Mbps,例如MCS51单片机:
|
||||
CH341引脚 MCS51单片机引脚
|
||||
GND <=> GND
|
||||
TXD <=> RXD
|
||||
RXD <=> TXD
|
||||
TEN接GND
|
||||
|
||||
与单片机相连时,通常将CH341的TEN#引脚直接接地,总是允许CH341发送数据,
|
||||
如果预算单片机可能会来不及接收串口数据,那么应该将TEN#连接到单片机的I/O引脚,
|
||||
当单片机不忙时,由单片机将CH341的TEN#置为低电平,允许CH341从串口发出数据,
|
||||
当单片机较忙时,由单片机将CH341的TEN#置为高电平,CH341将暂停从串口发出数据
|
||||
|
||||
CH341的TNOW引脚是收发状态,可以用于半双工通讯的收发切换,例如RS485的收发切换。
|
||||
|
||||
*******************************************************************************
|
||||
如何识别CH341串口,如何知道CH341的串口号COM?
|
||||
|
||||
在首次安装CH341串口驱动时,CH341串口号由WINDOWS自动分配(通常从COM3开始分配),
|
||||
安装完成后可以在设备管理中点其属性修改串口号。由于应用程序事先无法知道CH341的
|
||||
实际串口号,所以必须使用一些特殊方法识别出CH341串口,然后才能使用。
|
||||
|
||||
在WINDOWS 98/ME系统下,CH341串口号与当前硬件资源配置有关,默认为自动分配资源,
|
||||
从而排在当前实际串口号之后,可以在串口属性中选择CH341资源配置来指定串口号。
|
||||
在WINDOWS 2000/XP系统下,CH341串口号与当前所在USB端口有关,由首次安装时分配,
|
||||
WINDOWS记忆各USB端口CH341的串口号,可以在串口属性中通过高级选项指定串口号。
|
||||
|
||||
比较简单但很费事的方法是,在首次安装CH341串口后,用程序修改注册表或者点其属性,
|
||||
人为将CH341的串口号修改为COM5,避开常用的COM1到COM4,该方法简单但是有可能冲突。
|
||||
|
||||
常规的识别方法是采用软件查询方法:
|
||||
尝试以串口名称逐个打开,打开成功后通过该串口收发特殊字符串识别CH341串口,
|
||||
该方法是从“COM1”开始,接着“COM2”逐个尝试打开串口。如果某个串口打开成功,
|
||||
那么在300bps波特率下向该串口发出特殊字符串“CH341Ser?”,如果在约200毫秒之内
|
||||
收到应答字符“W”,那么该串口就是当前已经连接的CH341串口。软件设计方法是:
|
||||
从COM1开始依次打开每个串口,如果打开串口失败则跳过(串口不存在或正在使用),
|
||||
如果打开成功则设置该串口波特率为300,然后向该串口写入ASCII字符串"$CH341Ser?",
|
||||
注意大小写,共10个字符一次写入,如果该串口是普通串口,那么通常没有任何返回,
|
||||
如果该串口是CH341串口,那么应用程序将能接收到一个ASCII字符"W",以此识别CH341。
|
||||
例如,用串口监控/调试工具软件演示:
|
||||
将串口的波特率选择为300bps(有些工具软件在选择波特率后必须重新打开串口),
|
||||
发出特征字符串,为10个ASCII码数据: $CH341Ser?
|
||||
发送成功后,普通串口没有返回,而CH341串口将返回1个ASCII码: W
|
||||
|
||||
建议使用CH341PT.DLL动态库,应用程序可以直接调用DLL中相应的API识别CH341串口,
|
||||
识别速度快,效率高。注意,CH341PT.DLL在INF中定义为可选安装,默认是安装的
|
||||
|
||||
*******************************************************************************
|
||||
关于读取外部串行EEPROM
|
||||
|
||||
CH341可以外接I2C接口的器件,例如常用的24系列串行非易失存储器EEPROM,
|
||||
支持24C01A,24C02,24C04,24C08,24C16等,以及与之时序兼容的器件,
|
||||
24系列EEPROM既可以用于配置CH341,也可以用于断电期间保存重要数据。
|
||||
例如保存产品序列号等识别信息,应用程序可以读出用于识别产品功能等。
|
||||
如果需要支持24C64、24C256、24C512以及更大容量的EEPROM,请参考CH341评估板资料。
|
||||
|
||||
应用程序可以按串口方式读写CH341所连接的24系列EEPROM,方法是:
|
||||
设置CH341串口波特率为300,然后以4字节为一组的命令包写串口,
|
||||
命令包的首字节必须是@,地址符,对应的十六进制数为40H,
|
||||
命令包的第二字节是24系列EEPROM的设备地址,位0是方向标志,0为写,1为读,
|
||||
命令包的第三字节是24系列EEPROM的单元地址,
|
||||
命令包的第四字节是准备写入24系列EEPROM的一个数据,如果是读操作则指定为00H,
|
||||
如果是写操作,那么命令发送成功就说明写成功,对于EEPROM还要延时10mS才能下一个操作,
|
||||
如果是读操作,那么命令发送成功后,可以从串口接收到一个字节的数据,就是读出的数据
|
||||
|
||||
例如,CH341连接24C0X,A2=A1=A0=GND,将仿真串口的波特率选择为300bps,
|
||||
可以用串口监控/调试工具软件演示:
|
||||
1、发出命令包,为4个十六进制数据: 40 A1 01 00
|
||||
将24C0X中地址为01H的数据读出,可以从串口接收到一个字节的数据
|
||||
2、发出命令包,为4个十六进制数据: 40 A0 2A 69
|
||||
将一个字节的数据69H写到24C0X中地址为2AH的单元,通常等待10mS后才能进行下一个操作
|
||||
3、发出命令包,为4个十六进制数据: 40 A5 E7 00
|
||||
将24C0X中地址为02E7H的数据读出,可以从串口接收到一个字节的数据
|
||||
注意,只有24C08和24C16中有地址为02E7H的数据单元
|
||||
|
||||
*******************************************************************************
|
||||
关于支持非标准波特率或者更高通讯波特率
|
||||
|
||||
对于一些非标准波特率或者常规方法无法设置的高速波持率,CH341驱动程序提供特殊方法,
|
||||
应用程序可以按串口写数据的方式间接设置CH341的串口通讯波特率,方法是:
|
||||
设置CH341串口波特率为300,然后以ASCII码字符串的命令包写串口,
|
||||
命令包的首字节必须是#,井字符,对应的十六进制数为23H,
|
||||
命令包的中间为不超过7个数字表示的波特率,例如字符串9600或者921600等,
|
||||
命令包的尾字节必须是_,下划线,对应的十六进制数为5FH,
|
||||
也就是说,将要设置的波特率以字符串的形式置于#字符和_字符之间,作为一个命令包,
|
||||
在300bps下发送到CH341的串口,那么将被CH341驱动程序解释为修改CH341的波特率,
|
||||
而不会被作为数据从串口真正发出,当该操作成功返回后,
|
||||
CH341实际工作于指定的新波特率,当然,计算机系统及串口控件仍然以为是工作于300bps,
|
||||
如果需要再次以这种方法改变波特率,那么首先要用常规方法将CH341的波特率置为300bps。
|
||||
|
||||
例如,用串口监控/调试工具软件演示:
|
||||
1、将CH341串口的波特率选择为300bps(有些工具软件在选择波特率后必须重新打开串口),
|
||||
发出字符串命令包,为6个ASCII码数据: #9600_
|
||||
发送成功后,CH341将实际工作于9600bps
|
||||
2、将CH341串口的波特率选择为300bps(有些工具软件在选择波特率后必须重新打开串口),
|
||||
发出字符串命令包,为8个ASCII码数据: #460800_
|
||||
发送成功后,CH341将实际工作于460800bps
|
||||
3、将CH341串口的波特率选择为300bps(有些工具软件在选择波特率后必须重新打开串口),
|
||||
发出字符串命令包,为9个ASCII码数据: #1000000_
|
||||
发送成功后,CH341将实际工作于1000000bps
|
||||
|
||||
CH341串口支持50bps到2Mbps的波特率,当应用程序请求CH341改变串口通讯波特率时,
|
||||
CH341驱动程序将波特率换算为波特率除数,然后修改CH341芯片内部的波特率除数寄存器,
|
||||
所以设置CH341串口的通讯波特率实际上是设置CH341芯片内部的波特率除数寄存器,
|
||||
由于CH341内部的串口基准位时钟为48/8=6MHz(或12MHz),并且波特率除数只支持整数,
|
||||
所以在指定波特率时,应该考虑实际换算误差,在波特率大于19200bps时的计算方法是:
|
||||
X = 6000000 除以波特率后的值
|
||||
Y = X 四舍五入后的值
|
||||
误差 = ( Y - X ) / X
|
||||
|
||||
以下为CH341支持的常用波特率,未注明的基准位时钟为6MHz,未注明的误差小于0.16%
|
||||
921600 (12MHz), 460800, 307200 (12MHz),
|
||||
230400, 153600, 128000 (0.27%), 115200,
|
||||
76800, 57600, 56000, 38400, 33600,
|
||||
28800, 19200, 14400, 9600, 7200,
|
||||
4800, 3600, 2400, 1800, 1200,
|
||||
900, 600, 300, 150, 134.5,
|
||||
110, 100, 75, 50, 2000000,
|
||||
1500000, 1200000, 1000000, 750000, 500000,
|
||||
375000, 250000, 200000, 187500, 100000,
|
||||
93750, 75000, 50000, 25000, 10000
|
||||
其它波特率只要误差小于2.5%,CH341都可以支持,计算误差时要考虑两端的误差之和。
|
||||
但是为了可靠进行通讯,建议不要使用误差大于1%的波特率。
|
||||
|
||||
*******************************************************************************
|
||||
USB设备驱动程序与仿真串口驱动程序
|
||||
|
||||
CH341串口硬件的默认驱动程序是仿真串口驱动程序,
|
||||
即在计算机端多出一个串口,并且在下位机端CH341芯片也使用串口通讯。
|
||||
计算机端应用程序通过操作仿真串口实现USB数据传输,其用法与普通串口相同。
|
||||
|
||||
如果不希望在计算机端仿真为串口,那么可以使用USB设备驱动程序,
|
||||
即在计算机端多出一个USB设备,但是在下位机端CH341芯片仍然使用串口通讯。
|
||||
计算机端应用程序通过调用DLL提供的API实现USB数据传输,
|
||||
其用法与CH341并口、CH372、CH375类似,可以参考相关的应用程序的源程序。
|
||||
|
||||
CH341串口硬件的USB设备驱动与并口硬件的USB设备驱动CH341PAR完全相同,
|
||||
区别仅在于驱动安装信息文件INF中的PID不同(参考CH341PAR的INF中的注释行说明)。
|
||||
|
||||
*******************************************************************************
|
||||
BIN
Esplorer/driver/INSTALL/¦ú¬ÚÁ¸¦ď.EXE
Normal file
BIN
Esplorer/driver/INSTALL/¦ú¬ÚÁ¸¦ď.EXE
Normal file
Binary file not shown.
BIN
Esplorer/gonilnik/CH341S64.SYS
Normal file
BIN
Esplorer/gonilnik/CH341S64.SYS
Normal file
Binary file not shown.
5
Esplorer/gonilnik/Lokacija.txt
Normal file
5
Esplorer/gonilnik/Lokacija.txt
Normal file
@@ -0,0 +1,5 @@
|
||||
Gonilnik CH341S64.SYS skopiraš v mapo C:\Windows\System32\drivers
|
||||
serenum.sys skopiraš v mapo C:\Windows\System32\drivers
|
||||
|
||||
preverjeno na windows 10 Enterprise in Windows 8.1 Enterprise - deluje!
|
||||
Windows sam najde driverje na netu.
|
||||
BIN
Esplorer/gonilnik/serenum.sys
Normal file
BIN
Esplorer/gonilnik/serenum.sys
Normal file
Binary file not shown.
BIN
Esplorer/lib/AbsoluteLayout.jar
Normal file
BIN
Esplorer/lib/AbsoluteLayout.jar
Normal file
Binary file not shown.
BIN
Esplorer/lib/beansbinding-1.2.1.jar
Normal file
BIN
Esplorer/lib/beansbinding-1.2.1.jar
Normal file
Binary file not shown.
BIN
Esplorer/lib/jssc.jar
Normal file
BIN
Esplorer/lib/jssc.jar
Normal file
Binary file not shown.
BIN
Esplorer/lib/rsyntaxtextarea-2.5.8.jar
Normal file
BIN
Esplorer/lib/rsyntaxtextarea-2.5.8.jar
Normal file
Binary file not shown.
3
Esplorer/version.txt
Normal file
3
Esplorer/version.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
ESPlorer v0.2.0-rc6
|
||||
Home page http://esp8266.ru/esplorer
|
||||
Latest version download http://esp8266.ru/esplorer#download
|
||||
20
autoloader
Normal file
20
autoloader
Normal file
@@ -0,0 +1,20 @@
|
||||
#simpleloader.py
|
||||
#waits 5 seconds for gpio12 to go low
|
||||
#if it doesn't, loads autoload.py
|
||||
#install it as main.py
|
||||
import machine
|
||||
import sys
|
||||
import time
|
||||
print('Press GPIO12 to exit to console in 5 secs')
|
||||
flag=0
|
||||
pin12=machine.Pin(12, machine.Pin.IN)
|
||||
def console(x):
|
||||
global flag
|
||||
flag=1
|
||||
pin12.irq(console, machine.Pin.IRQ_FALLING)
|
||||
time.sleep(5)
|
||||
if flag==0:
|
||||
print('Loading autoload.py...')
|
||||
|
||||
else:
|
||||
print('Exiting to console')
|
||||
186
avtomatski.py
Normal file
186
avtomatski.py
Normal file
@@ -0,0 +1,186 @@
|
||||
import machine
|
||||
from machine import Pin, ADC
|
||||
import DS18B20 as dsb
|
||||
import time
|
||||
import ne555 as ne
|
||||
import math
|
||||
import display
|
||||
import sys
|
||||
import network as net
|
||||
|
||||
def dane(vpr='Potrdi(d/n)->'):
|
||||
str=input(vpr)
|
||||
if str=='d':
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
try:
|
||||
display.init()
|
||||
from display import oled
|
||||
except:
|
||||
print('Napaka OLED!')
|
||||
if dane('Resetiram(d/n)->'):
|
||||
machine.reset()
|
||||
|
||||
|
||||
oled.text('OLED deluje!',0,0)
|
||||
oled.show()
|
||||
|
||||
#Offline firmware za Vremensko postajo PTIT FE 2017
|
||||
try:
|
||||
svet=ADC(0) #svetloba
|
||||
pin12=tipka=Pin(12, Pin.IN, Pin.PULL_UP) #tipka
|
||||
pin13=statusled=Pin(13, Pin.OUT) #status LED
|
||||
pin15=alertled=Pin(15, Pin.OUT ) #alert LED
|
||||
except:
|
||||
print('Napaka I/O!')
|
||||
if dane('Resetiram(d/n)->'):
|
||||
machine.reset()
|
||||
|
||||
oled.text('I/O postavljen!',0,10)
|
||||
oled.show()
|
||||
try:
|
||||
dsb.setup(0)
|
||||
except:
|
||||
print('Napaka Temp. senzorja!')
|
||||
if dane('Resetiram(d/n)->'):
|
||||
machine.reset()
|
||||
|
||||
oled.text('TS postavljen!',0,20)
|
||||
oled.show()
|
||||
time.sleep(1)
|
||||
|
||||
oled.fill(0)
|
||||
oled.text('<-------------->', 0, 15)
|
||||
oled.text('<NodeMCU Senzor>', 0, 25)
|
||||
oled.text('<-------------->', 0, 35)
|
||||
oled.text(' !Pozdravljeni! ', 0, 50)
|
||||
oled.show()
|
||||
time.sleep_ms(750)
|
||||
|
||||
oled.fill(0)
|
||||
oled.text('Tipka menja',0,0)
|
||||
oled.text('casovne razmike',0,10)
|
||||
oled.text('med meritvami',0,20)
|
||||
oled.text('0.25/0.5/1/2/10s',0,30)
|
||||
oled.text('7x tipka=izhod',0,40)
|
||||
oled.show()
|
||||
|
||||
time.sleep(4)
|
||||
oled.fill(0)
|
||||
oled.show()
|
||||
|
||||
statusled.value(1)
|
||||
alertled.value(0)
|
||||
|
||||
def konec(p):
|
||||
exit=1
|
||||
|
||||
sleeptime=15
|
||||
count=0
|
||||
vlaga=0
|
||||
temp=0
|
||||
svetloba=0
|
||||
ms=sleeptime*1000
|
||||
|
||||
def updatescreen():
|
||||
global vlaga, temp, svetloba, sleeptime
|
||||
oled.fill(0)
|
||||
oled.text('T: ' + str(temp) + 'C',15,10)
|
||||
oled.text('S: ' + str(svetloba) + ' enot',15,20)
|
||||
oled.text('RH: ' + str(vlaga) +' Hz', 15, 30)
|
||||
oled.text('NodeMCU Senzor',0,0)
|
||||
oled.text('Uptime: ' + str(time.time()) + 's',5,45)
|
||||
oled.text('S: ' + str(ms/1000) + 's',0,55)
|
||||
oled.show()
|
||||
active=0
|
||||
|
||||
def carefulsleep():
|
||||
startticks=time.ticks_ms()
|
||||
global ms, active, lasttick, firsttick, exit
|
||||
while time.ticks_diff(time.ticks_ms(), startticks)<ms:
|
||||
updatescreen()
|
||||
if not tipka.value():
|
||||
if firsttick==0:
|
||||
active=1
|
||||
firsttick=time.ticks_ms()
|
||||
lasttick=time.ticks_ms()
|
||||
if time.ticks_diff(lasttick, firsttick)>3000 and active==1:
|
||||
print('ttt')
|
||||
exit=3
|
||||
active=0
|
||||
if time.ticks_diff(time.ticks_ms(), lasttick)>60 and active==1:
|
||||
print("BING!")
|
||||
lasttick=0
|
||||
firsttick=0
|
||||
active=0
|
||||
setsleep(0)
|
||||
print(lasttick, firsttick,time.ticks_diff(lasttick, firsttick))
|
||||
|
||||
|
||||
def setsleep(x):
|
||||
global ms
|
||||
sleeptime=ms/1000
|
||||
if sleeptime==15:
|
||||
sleeptime=0.25
|
||||
elif sleeptime==0.25:
|
||||
sleeptime=0.5
|
||||
elif sleeptime==0.5:
|
||||
sleeptime=1
|
||||
elif sleeptime==1:
|
||||
sleeptime=2
|
||||
elif sleeptime==2:
|
||||
sleeptime=15
|
||||
else:
|
||||
sleeptime=15
|
||||
time.sleep_ms(15)
|
||||
ms=sleeptime*1000
|
||||
#print('set to', sleeptime)
|
||||
updatescreen()
|
||||
|
||||
#tipka.irq(trigger=Pin.IRQ_FALLING, handler=setsleep)
|
||||
|
||||
exit=0
|
||||
temp=0
|
||||
svetloba=0
|
||||
def acq():
|
||||
oled.text('BUSY...',70,55)
|
||||
alertled.value(1)
|
||||
oled.show()
|
||||
global temp, vlaga, svetloba
|
||||
try:
|
||||
temp=dsb.read_temp()
|
||||
except:
|
||||
print('Napaka v branju temperature!')
|
||||
temp='NAPAKA'
|
||||
|
||||
try:
|
||||
svetloba=svet.read()
|
||||
except:
|
||||
print('Napaka v branju svetlobe!')
|
||||
svetloba='NAPAKA'
|
||||
|
||||
try:
|
||||
vlaga=ne.main()
|
||||
except:
|
||||
print('Napaka v branju vlage!')
|
||||
vlaga='NAPAKA'
|
||||
alertled.value(0)
|
||||
lasttick=0
|
||||
firsttick=0
|
||||
|
||||
while exit<1:
|
||||
acq()
|
||||
updatescreen()
|
||||
carefulsleep()
|
||||
|
||||
oled.fill(0)
|
||||
oled.text('<-------------->', 0, 15)
|
||||
oled.text('<NodeMCU Senzor>', 0, 25)
|
||||
oled.text('<-------------->', 0, 35)
|
||||
oled.text(' !Nasvidenje! ', 0, 50)
|
||||
time.sleep(1.5)
|
||||
oled.show()
|
||||
oled.fill(0)
|
||||
oled.show()
|
||||
oled.poweroff()
|
||||
10
nodemcu-postaja/NodeMCU Postaja/Gruntfile.js
Normal file
10
nodemcu-postaja/NodeMCU Postaja/Gruntfile.js
Normal file
@@ -0,0 +1,10 @@
|
||||
/*
|
||||
* To change this license header, choose License Headers in Project Properties.
|
||||
* To change this template file, choose Tools | Templates
|
||||
* and open the template in the editor.
|
||||
*/
|
||||
module.exports = function (grunt) {
|
||||
// Project configuration.
|
||||
grunt.initConfig({
|
||||
});
|
||||
};
|
||||
12
nodemcu-postaja/NodeMCU Postaja/bower.json
Normal file
12
nodemcu-postaja/NodeMCU Postaja/bower.json
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"name": "NodeMCU_Postaja",
|
||||
"version": "1.0.0",
|
||||
"main": "path/to/main.css",
|
||||
"ignore": [
|
||||
".jshintrc", "**/*.txt"
|
||||
],
|
||||
"dependencies": {
|
||||
},
|
||||
"devDependencies": {
|
||||
}
|
||||
}
|
||||
11
nodemcu-postaja/NodeMCU Postaja/gulpfile.js
Normal file
11
nodemcu-postaja/NodeMCU Postaja/gulpfile.js
Normal file
@@ -0,0 +1,11 @@
|
||||
/*
|
||||
* To change this license header, choose License Headers in Project Properties.
|
||||
* To change this template file, choose Tools | Templates
|
||||
* and open the template in the editor.
|
||||
*/
|
||||
|
||||
var gulp = require('gulp');
|
||||
|
||||
gulp.task('default', function () {
|
||||
// place code for your default task here
|
||||
});
|
||||
@@ -0,0 +1 @@
|
||||
browser=Chrome.INTEGRATED
|
||||
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project-private xmlns="http://www.netbeans.org/ns/project-private/1">
|
||||
<editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="0"/>
|
||||
<open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
|
||||
<group>
|
||||
<file>file:/C:/Users/Vaje/Desktop/nodemcu-postaja/NodeMCU%20Postaja/public_html/index.html</file>
|
||||
</group>
|
||||
</open-files>
|
||||
</project-private>
|
||||
@@ -0,0 +1,5 @@
|
||||
file.reference.NodeMCU_Postaja-public_html=public_html
|
||||
file.reference.NodeMCU_Postaja-test=test
|
||||
files.encoding=UTF-8
|
||||
site.root.folder=${file.reference.NodeMCU_Postaja-public_html}
|
||||
test.folder=${file.reference.NodeMCU_Postaja-test}
|
||||
9
nodemcu-postaja/NodeMCU Postaja/nbproject/project.xml
Normal file
9
nodemcu-postaja/NodeMCU Postaja/nbproject/project.xml
Normal file
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://www.netbeans.org/ns/project/1">
|
||||
<type>org.netbeans.modules.web.clientproject</type>
|
||||
<configuration>
|
||||
<data xmlns="http://www.netbeans.org/ns/clientside-project/1">
|
||||
<name>NodeMCU Postaja</name>
|
||||
</data>
|
||||
</configuration>
|
||||
</project>
|
||||
8
nodemcu-postaja/NodeMCU Postaja/package.json
Normal file
8
nodemcu-postaja/NodeMCU Postaja/package.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"name": "NodeMCU_Postaja",
|
||||
"version": "1.0.0",
|
||||
"keywords": ["util", "functional", "server", "client", "browser"],
|
||||
"author": "Vaje",
|
||||
"contributors": [],
|
||||
"dependencies": {}
|
||||
}
|
||||
218
nodemcu-postaja/NodeMCU Postaja/public_html/index.html
Normal file
218
nodemcu-postaja/NodeMCU Postaja/public_html/index.html
Normal file
@@ -0,0 +1,218 @@
|
||||
<!DOCTYPE html>
|
||||
<!--
|
||||
To change this license header, choose License Headers in Project Properties.
|
||||
To change this template file, choose Tools | Templates
|
||||
and open the template in the editor.
|
||||
-->
|
||||
<html>
|
||||
<head>
|
||||
<title>NodeMCU Postaja</title>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<script src="http://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<style>
|
||||
.knof_sim {
|
||||
cursor : pointer;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
padding: 5px;
|
||||
}
|
||||
#celota {
|
||||
display : flex;
|
||||
}
|
||||
|
||||
#linki, #funkcije {
|
||||
flex : 1;
|
||||
}
|
||||
|
||||
#vsebina {
|
||||
flex : 5;
|
||||
}
|
||||
|
||||
table, td, #grafi {
|
||||
border: 1px solid;
|
||||
}
|
||||
|
||||
#sensors {
|
||||
display : flex;
|
||||
}
|
||||
|
||||
#gauge_temp,#gauge_lux,#gauge_vlaga {
|
||||
text-align: center;
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
#chart_div{
|
||||
text-align: center;
|
||||
margin: auto;
|
||||
}
|
||||
body {
|
||||
background-color: #333333;
|
||||
color: deepskyblue;
|
||||
}
|
||||
#intro {
|
||||
font-size: 28px;
|
||||
font-family: sans-serif;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
|
||||
google.charts.load('current', {'packages': ['gauge', 'corechart']});
|
||||
google.charts.setOnLoadCallback(initGraph);
|
||||
|
||||
var options_temp = {
|
||||
width: 100, height: 120,
|
||||
redFrom: 25, redTo: 60,
|
||||
yellowFrom: 10, yellowTo: 25,
|
||||
greenFrom: 0, greenTo: 10,
|
||||
minorTicks: 5,
|
||||
min: 0, max: 100
|
||||
};
|
||||
var options_vlaga = {
|
||||
width: 100, height: 120,
|
||||
redFrom: 70, redTo: 100,
|
||||
yellowFrom: 30, yellowTo: 70,
|
||||
greenFrom: 0, greenTo: 30,
|
||||
minorTicks: 5,
|
||||
min: 200, max: 1300
|
||||
};
|
||||
var options_lux = {
|
||||
width: 100, height: 120,
|
||||
redFrom: 9000, redTo: 10000,
|
||||
greenFrom: 0, greenTo: 1000,
|
||||
minorTicks: 5,
|
||||
min: 0, max: 1023
|
||||
};
|
||||
var options2 = {
|
||||
title: 'Vrednosti senzorjev',
|
||||
curveType: 'function',
|
||||
min: 0,
|
||||
legend: {position: 'bottom'},
|
||||
series: {
|
||||
0: {color: 'blue'},
|
||||
1: {color: 'red'},
|
||||
2: {color: 'green'}
|
||||
}
|
||||
};
|
||||
|
||||
var maxPoints = 250;
|
||||
|
||||
function initGraph() {
|
||||
data1 = google.visualization.arrayToDataTable([
|
||||
['Label', 'Value'],
|
||||
['Temperatura', 80]
|
||||
]);
|
||||
data2 = google.visualization.arrayToDataTable([
|
||||
['Label', 'Value'],
|
||||
['Vlaga', 30]
|
||||
]);
|
||||
data3 = google.visualization.arrayToDataTable([
|
||||
['Label', 'Value'],
|
||||
['Osvetljenost', 50]
|
||||
]);
|
||||
|
||||
combo = new google.visualization.DataTable();
|
||||
combo.addColumn('date', 'Čas');
|
||||
combo.addColumn('number', 'Temperatura');
|
||||
combo.addColumn('number', 'Vlaga');
|
||||
combo.addColumn('number', 'Osvetljenost');
|
||||
pogled = new google.visualization.DataView(combo);
|
||||
chart1 = new google.visualization.Gauge($("#gauge_vlaga")[0]);
|
||||
chart2 = new google.visualization.Gauge($("#gauge_temp")[0]);
|
||||
chart3 = new google.visualization.Gauge($("#gauge_lux")[0]);
|
||||
chart4 = new google.visualization.LineChart(document.getElementById('chart_div'));
|
||||
chart1.draw(data1, options_temp);
|
||||
chart2.draw(data2, options_vlaga);
|
||||
chart3.draw(data3, options_lux);
|
||||
chart4.draw(pogled, options2);
|
||||
|
||||
updateChart();
|
||||
}
|
||||
|
||||
function updateChart() {
|
||||
setInterval(function () {
|
||||
while (combo.getNumberOfRows() > maxPoints)
|
||||
{
|
||||
combo.removeRow(0);
|
||||
}
|
||||
remoteVal();
|
||||
}, 500);
|
||||
}
|
||||
|
||||
function remoteVal() {
|
||||
$.get("http://192.168.2.97/", function (dataz) { //tukaj namesto sensor.php napiši lokacijo kam naj se pošlje request
|
||||
podatki = dataz;
|
||||
dataz = JSON.parse(dataz);
|
||||
var tmp1 = dataz.temp;
|
||||
var tmp2 = dataz.mois/10;
|
||||
var tmp3 = dataz.light/10;
|
||||
combo.addRow([new Date(), tmp1, tmp2, tmp3]);
|
||||
data1.setValue(0, 1, tmp1);
|
||||
data2.setValue(0, 1, tmp2);
|
||||
data3.setValue(0, 1, tmp3);
|
||||
chart1.draw(data1, options_temp);
|
||||
chart2.draw(data2, options_vlaga);
|
||||
chart3.draw(data3, options_lux);
|
||||
chart4.draw(pogled, options2);
|
||||
}, "text");
|
||||
}
|
||||
</script>
|
||||
<script>
|
||||
function kaziStevec() {
|
||||
$("#gauge_temp,#gauge_lux,#gauge_vlaga").toggle();
|
||||
}
|
||||
function kaziGraf() {
|
||||
$("#chart_div").toggle();
|
||||
}
|
||||
|
||||
function skrijSerijo(x) {
|
||||
pogled.hideColumns([x]);
|
||||
}
|
||||
|
||||
function resetPogled() {
|
||||
pogled.setColumns([0, 1, 2, 3]);
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="celota">
|
||||
<div id="linki"></div>
|
||||
<div id="vsebina">
|
||||
<div id="intro">
|
||||
<big><b>Pozdravljeni!</b></big><br> <marquee>To je stran moje senzorske postaje. Deluje s pomočjo NodeMCU in večih senzorjev.
|
||||
Poganja jo micropython. Postaja meri temperaturo, vlago in svetlobo.</marquee>
|
||||
</div>
|
||||
<div id="grafi">
|
||||
<div id="sensors">
|
||||
<div id="gauge_vlaga"></div>
|
||||
<div id="gauge_temp"></div>
|
||||
<div id="gauge_lux"></div>
|
||||
|
||||
<div id="chart_div"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="funkcije">
|
||||
Skrij/Prikaži vrednosti
|
||||
|
||||
|
||||
Skrij/Prikaži zogodivno
|
||||
|
||||
|
||||
Skrij temperaturo
|
||||
|
||||
|
||||
Skrij vlago
|
||||
|
||||
|
||||
Skrij tlak
|
||||
|
||||
|
||||
Vrni vrednosti
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user