tasmota-webserial-esptool 7.3.3 → 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.
@@ -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 connectWithResetStrategies
107
- * Try different reset strategies to enter bootloader mode
108
- * Similar to esptool.py's connect() method with multiple reset strategies
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
- hardResetUSBJTAGSerial(): Promise<void>;
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