@robotical/ricjs
Version:
Javascript/TS library for Robotical RIC
60 lines (59 loc) • 3.08 kB
TypeScript
import { RICFileDownloadFn, RICFileSendType, RICFWInfo, RICSystemInfo, RICUpdateInfo } from "./RICTypes";
import { RICUpdateEvent, RICUpdateEventFn } from "./RICUpdateEvents";
import RICMsgHandler from "./RICMsgHandler";
import RICFileHandler from "./RICFileHandler";
import RICSystem from "./RICSystem";
import RICChannel from "./RICChannel";
export default class RICUpdateManager {
private _ricMsgHandler;
private _ricFileHandler;
private _ricSystem;
private _eventListener;
private _firmwareTypeStrForMainFw;
private _currentAppVersion;
private _fileDownloader;
private _firmwareUpdateURL;
private _firmwareBaseURL;
private _ricChannel;
private _latestVersionInfo;
private _updateESPRequired;
private _updateElemsRequired;
private readonly FW_UPDATE_CHECKS_BEFORE_ASSUME_FAILED;
private readonly ELEM_FW_CHECK_LOOPS;
private _progressAfterDownload;
private _progressDuringUpload;
private _progressDuringRestart;
private _progressAfterUpload;
private _idToConnectTo;
private _nameToConnectTo;
private _ricHwRevNo;
private readonly TEST_TRUNCATE_ESP_FILE;
private readonly TEST_PRETEND_ELEM_UPDATE_REQD;
TEST_PRETEND_INITIAL_VERSIONS_DIFFER: boolean;
private readonly TEST_PRETEND_FINAL_VERSIONS_MATCH;
private readonly TEST_SKIP_FW_UPDATE;
constructor(_ricMsgHandler: RICMsgHandler, _ricFileHandler: RICFileHandler, _ricSystem: RICSystem, _eventListener: RICUpdateEventFn, _firmwareTypeStrForMainFw: string, _currentAppVersion: string, _fileDownloader: RICFileDownloadFn, _firmwareUpdateURL: string, _firmwareBaseURL: string, _ricChannel: RICChannel | null);
checkForUpdate(systemInfo: RICSystemInfo | null): Promise<RICUpdateEvent>;
_isUpdateRequired(latestVersion: RICUpdateInfo, systemInfo: RICSystemInfo): Promise<boolean>;
elemUpdateRequired(expectedVersion: string, actualVersion: string, dtid: number, addr: number, elemType: string): boolean;
getExpectedVersion(firmwareVersions: any, dtid: number): any;
elemUpdatesRequired(): Promise<Array<any> | null>;
firmwareUpdate(): Promise<RICUpdateEvent>;
updateElems(elemsToUpdate?: Array<any> | null): Promise<boolean>;
updateHWElem(elemName: string, dtid: number, elemType: string, expectedVersion: string, sendFile: boolean): Promise<boolean>;
updateElem(elemFw: RICFWInfo, elemNameOrAll?: string): Promise<boolean>;
manualReconnect(): Promise<boolean | undefined>;
waitForRestart(percComplete: number, checkFwVersion?: string | null): Promise<boolean>;
firmwareUpdateCancel(): Promise<void>;
/**
*
* fileSend - start file transfer
* @param fileName name of file to send
* @param fileType normal file or firmware
* @param fileContents contenst of the file (binary object)
* @returns Promise<boolean>
*
*/
fileSend(fileName: string, fileType: RICFileSendType, fileContents: Uint8Array, progressCallback: (sent: number, total: number, progress: number) => void): Promise<boolean>;
fileSendCancel(): Promise<void>;
}