tasmota-webserial-esptool 7.3.4 → 9.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/css/dark.css +74 -0
- package/css/light.css +74 -0
- package/css/style.css +663 -35
- package/dist/esp_loader.d.ts +102 -14
- package/dist/esp_loader.js +1012 -188
- package/dist/index.d.ts +1 -0
- package/dist/index.js +31 -2
- package/dist/stubs/index.d.ts +1 -2
- package/dist/stubs/index.js +4 -0
- package/dist/web/index.js +1 -1
- package/js/modules/esptool.js +1 -1
- package/js/script.js +198 -85
- package/js/webusb-serial.js +1028 -0
- package/package.json +2 -2
- package/src/esp_loader.ts +1187 -220
- package/src/index.ts +38 -2
- package/src/stubs/index.ts +4 -1
package/dist/esp_loader.d.ts
CHANGED
|
@@ -14,6 +14,7 @@ export declare class ESPLoader extends EventTarget {
|
|
|
14
14
|
connected: boolean;
|
|
15
15
|
flashSize: string | null;
|
|
16
16
|
__inputBuffer?: number[];
|
|
17
|
+
__inputBufferReadIndex?: number;
|
|
17
18
|
__totalBytesRead?: number;
|
|
18
19
|
private _currentBaudRate;
|
|
19
20
|
private _maxUSBSerialBaudrate?;
|
|
@@ -22,14 +23,38 @@ export declare class ESPLoader extends EventTarget {
|
|
|
22
23
|
private _initializationSucceeded;
|
|
23
24
|
private __commandLock;
|
|
24
25
|
private __isReconfiguring;
|
|
26
|
+
private __abandonCurrentOperation;
|
|
27
|
+
private __adaptiveBlockMultiplier;
|
|
28
|
+
private __adaptiveMaxInFlightMultiplier;
|
|
29
|
+
private __consecutiveSuccessfulChunks;
|
|
30
|
+
private __lastAdaptiveAdjustment;
|
|
31
|
+
private __isCDCDevice;
|
|
25
32
|
constructor(port: SerialPort, logger: Logger, _parent?: ESPLoader | undefined);
|
|
26
33
|
private get _inputBuffer();
|
|
34
|
+
private get _inputBufferReadIndex();
|
|
35
|
+
private set _inputBufferReadIndex(value);
|
|
36
|
+
private get _inputBufferAvailable();
|
|
37
|
+
private _readByte;
|
|
38
|
+
private _clearInputBuffer;
|
|
39
|
+
private _compactInputBuffer;
|
|
27
40
|
private get _totalBytesRead();
|
|
28
41
|
private set _totalBytesRead(value);
|
|
29
42
|
private get _commandLock();
|
|
30
43
|
private set _commandLock(value);
|
|
31
44
|
private get _isReconfiguring();
|
|
32
45
|
private set _isReconfiguring(value);
|
|
46
|
+
private get _abandonCurrentOperation();
|
|
47
|
+
private set _abandonCurrentOperation(value);
|
|
48
|
+
private get _adaptiveBlockMultiplier();
|
|
49
|
+
private set _adaptiveBlockMultiplier(value);
|
|
50
|
+
private get _adaptiveMaxInFlightMultiplier();
|
|
51
|
+
private set _adaptiveMaxInFlightMultiplier(value);
|
|
52
|
+
private get _consecutiveSuccessfulChunks();
|
|
53
|
+
private set _consecutiveSuccessfulChunks(value);
|
|
54
|
+
private get _lastAdaptiveAdjustment();
|
|
55
|
+
private set _lastAdaptiveAdjustment(value);
|
|
56
|
+
private get _isCDCDevice();
|
|
57
|
+
private set _isCDCDevice(value);
|
|
33
58
|
private detectUSBSerialChip;
|
|
34
59
|
initialize(): Promise<void>;
|
|
35
60
|
/**
|
|
@@ -59,6 +84,75 @@ export declare class ESPLoader extends EventTarget {
|
|
|
59
84
|
state_DTR: boolean;
|
|
60
85
|
setRTS(state: boolean): Promise<void>;
|
|
61
86
|
setDTR(state: boolean): Promise<void>;
|
|
87
|
+
/**
|
|
88
|
+
* @name hardResetUSBJTAGSerial
|
|
89
|
+
* USB-JTAG/Serial reset for Web Serial (Desktop)
|
|
90
|
+
*/
|
|
91
|
+
hardResetUSBJTAGSerial(): Promise<void>;
|
|
92
|
+
/**
|
|
93
|
+
* @name hardResetClassic
|
|
94
|
+
* Classic reset for Web Serial (Desktop)
|
|
95
|
+
*/
|
|
96
|
+
hardResetClassic(): Promise<void>;
|
|
97
|
+
setRTSWebUSB(state: boolean): Promise<void>;
|
|
98
|
+
setDTRWebUSB(state: boolean): Promise<void>;
|
|
99
|
+
setDTRandRTSWebUSB(dtr: boolean, rts: boolean): Promise<void>;
|
|
100
|
+
/**
|
|
101
|
+
* @name hardResetUSBJTAGSerialWebUSB
|
|
102
|
+
* USB-JTAG/Serial reset for WebUSB (Android)
|
|
103
|
+
*/
|
|
104
|
+
hardResetUSBJTAGSerialWebUSB(): Promise<void>;
|
|
105
|
+
/**
|
|
106
|
+
* @name hardResetUSBJTAGSerialInvertedDTRWebUSB
|
|
107
|
+
* USB-JTAG/Serial reset with inverted DTR for WebUSB (Android)
|
|
108
|
+
*/
|
|
109
|
+
hardResetUSBJTAGSerialInvertedDTRWebUSB(): Promise<void>;
|
|
110
|
+
/**
|
|
111
|
+
* @name hardResetClassicWebUSB
|
|
112
|
+
* Classic reset for WebUSB (Android)
|
|
113
|
+
*/
|
|
114
|
+
hardResetClassicWebUSB(): Promise<void>;
|
|
115
|
+
/**
|
|
116
|
+
* @name hardResetUnixTightWebUSB
|
|
117
|
+
* Unix Tight reset for WebUSB (Android) - sets DTR and RTS simultaneously
|
|
118
|
+
*/
|
|
119
|
+
hardResetUnixTightWebUSB(): Promise<void>;
|
|
120
|
+
/**
|
|
121
|
+
* @name hardResetClassicLongDelayWebUSB
|
|
122
|
+
* Classic reset with longer delays for WebUSB (Android)
|
|
123
|
+
* Specifically for CP2102/CH340 which may need more time
|
|
124
|
+
*/
|
|
125
|
+
hardResetClassicLongDelayWebUSB(): Promise<void>;
|
|
126
|
+
/**
|
|
127
|
+
* @name hardResetClassicShortDelayWebUSB
|
|
128
|
+
* Classic reset with shorter delays for WebUSB (Android)
|
|
129
|
+
*/
|
|
130
|
+
hardResetClassicShortDelayWebUSB(): Promise<void>;
|
|
131
|
+
/**
|
|
132
|
+
* @name hardResetInvertedWebUSB
|
|
133
|
+
* Inverted reset sequence for WebUSB (Android) - both signals inverted
|
|
134
|
+
*/
|
|
135
|
+
hardResetInvertedWebUSB(): Promise<void>;
|
|
136
|
+
/**
|
|
137
|
+
* @name hardResetInvertedDTRWebUSB
|
|
138
|
+
* Only DTR inverted for WebUSB (Android)
|
|
139
|
+
*/
|
|
140
|
+
hardResetInvertedDTRWebUSB(): Promise<void>;
|
|
141
|
+
/**
|
|
142
|
+
* @name hardResetInvertedRTSWebUSB
|
|
143
|
+
* Only RTS inverted for WebUSB (Android)
|
|
144
|
+
*/
|
|
145
|
+
hardResetInvertedRTSWebUSB(): Promise<void>;
|
|
146
|
+
/**
|
|
147
|
+
* Check if we're using WebUSB (Android) or Web Serial (Desktop)
|
|
148
|
+
*/
|
|
149
|
+
private isWebUSB;
|
|
150
|
+
/**
|
|
151
|
+
* @name connectWithResetStrategies
|
|
152
|
+
* Try different reset strategies to enter bootloader mode
|
|
153
|
+
* Similar to esptool.py's connect() method with multiple reset strategies
|
|
154
|
+
*/
|
|
155
|
+
connectWithResetStrategies(): Promise<void>;
|
|
62
156
|
hardReset(bootloader?: boolean): Promise<void>;
|
|
63
157
|
/**
|
|
64
158
|
* @name macAddr
|
|
@@ -86,6 +180,10 @@ export declare class ESPLoader extends EventTarget {
|
|
|
86
180
|
* @name readPacket
|
|
87
181
|
* Generator to read SLIP packets from a serial port.
|
|
88
182
|
* Yields one full SLIP packet at a time, raises exception on timeout or invalid data.
|
|
183
|
+
*
|
|
184
|
+
* Two implementations:
|
|
185
|
+
* - Burst: CDC devices (Native USB) and CH343 - very fast processing
|
|
186
|
+
* - Byte-by-byte: CH340, CP2102, and other USB-Serial adapters - stable fast processing
|
|
89
187
|
*/
|
|
90
188
|
readPacket(timeout: number): Promise<number[]>;
|
|
91
189
|
/**
|
|
@@ -103,21 +201,11 @@ export declare class ESPLoader extends EventTarget {
|
|
|
103
201
|
setBaudrate(baud: number): Promise<void>;
|
|
104
202
|
reconfigurePort(baud: number): Promise<void>;
|
|
105
203
|
/**
|
|
106
|
-
* @name
|
|
107
|
-
*
|
|
108
|
-
*
|
|
109
|
-
*/
|
|
110
|
-
connectWithResetStrategies(): Promise<void>;
|
|
111
|
-
/**
|
|
112
|
-
* @name hardResetUSBJTAGSerial
|
|
113
|
-
* USB-JTAG/Serial reset sequence for ESP32-C3, ESP32-S3, ESP32-C6, etc.
|
|
204
|
+
* @name syncWithTimeout
|
|
205
|
+
* Sync with timeout that can be abandoned (for reset strategy loop)
|
|
206
|
+
* This is internally time-bounded and checks the abandon flag
|
|
114
207
|
*/
|
|
115
|
-
|
|
116
|
-
/**
|
|
117
|
-
* @name hardResetClassic
|
|
118
|
-
* Classic reset sequence for USB-to-Serial bridge chips (CH340, CP2102, etc.)
|
|
119
|
-
*/
|
|
120
|
-
hardResetClassic(): Promise<void>;
|
|
208
|
+
syncWithTimeout(timeoutMs: number): Promise<boolean>;
|
|
121
209
|
/**
|
|
122
210
|
* @name sync
|
|
123
211
|
* Put into ROM bootload mode & attempt to synchronize with the
|