stm32dfu
Version:
STM32 DFU DfuSeCommand js
95 lines (94 loc) • 3.39 kB
TypeScript
/// <reference types="node" />
/**
* MIT License
*
* Copyright (c) 2021 KisChang
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
import DFU, { DeviceSettings, Logger, ProgressHandler } from './DFU';
import DFUse, { DFUseDevice } from './DFUse';
import { Buffer } from "buffer";
declare class DfuFile {
prefix: DFUPrefix | undefined;
suffix: DFUSuffix | undefined;
imagesSection: Array<DfuImage>;
constructor();
}
declare class DFUPrefix {
szSignature: string | undefined;
bVersion: number | undefined;
DFUImageSize: number | undefined;
bTargets: number | undefined;
constructor();
}
declare class DfuImage {
szSignature: string | undefined;
bAlternateSetting: number | undefined;
bTargetNamed: number | undefined;
szTargetName: string | undefined;
dwTargetSize: number | undefined;
dwNbElements: number | undefined;
imageElements: Array<ImageElement>;
constructor();
}
declare class ImageElement {
dwElementAddress: number;
dwElementSize: number | undefined;
data: Buffer | undefined;
constructor();
}
declare class DFUSuffix {
bcdDeviceLo: number | undefined;
bcdDeviceHi: number | undefined;
idProductLo: number | undefined;
idProductHi: number | undefined;
idVendorLo: number | undefined;
idVendorHi: number | undefined;
bcdDFULo: number | undefined;
bcdDFUHi: number | undefined;
ucDfuSignature: string | undefined;
bLength: number | undefined;
dwCRC: Buffer | undefined;
constructor();
}
export declare class FlashSetting {
logger: Logger;
handler: ProgressHandler;
}
declare const _default: {
DFU: typeof DFU;
DFUse: typeof DFUse;
Device: typeof DFUseDevice;
/**
* 解析DFU文件
* @param firmwareFile
*/
parseDfuImage(firmwareFile: Buffer): DfuFile;
getDfu(device: USBDevice, settings: DeviceSettings): DFUseDevice;
/**
* 正式刷入固件
* @param deviceSetting
* @param dfuFile
*/
flash(deviceSetting: DeviceSettings, dfuFile: DfuFile, setting: FlashSetting): Promise<boolean>;
findAllStm32Device(vendorId: number): Promise<DeviceSettings[]>;
findAllDeviceDfuInterfaces(deviceList: Array<USBDevice>): Promise<DeviceSettings[]>;
};
export default _default;