bossa-web
Version:
Port of BOSSA to TypeScript with support for WebSerial API
92 lines (91 loc) • 3.25 kB
TypeScript
import { WordCopyApplet } from './wordcopyapplet';
import { SamBA } from './samba';
export declare class FlashConfigError extends Error {
constructor(msg?: string | undefined);
}
export declare class FlashRegionError extends Error {
constructor(msg?: string | undefined);
}
export declare class FlashEraseError extends Error {
constructor(msg?: string | undefined);
}
export declare class FlashCmdError extends Error {
constructor(msg?: string | undefined);
}
export declare class FlashPageError extends Error {
constructor(msg?: string | undefined);
}
declare class FlashOption<T> {
constructor(value: T);
set(value: T): void;
get(): T;
isDirty(): boolean;
private _value;
private _dirty;
}
/**
*
*/
export declare abstract class Flash {
/**
* Create a flasher
*
* @param samba SamBA instance handling IO with board
* @param name Name of the board
* @param addr Flash base address
* @param pages Number of pages
* @param size Page size in bytes
* @param planes Number of flash planes
* @param lockRegions Number of flash lock regions
* @param user Address in SRAM where the applet and buffers will be placed
* @param stack Address in SRAM where the applet stack will be placed
*/
constructor(samba: SamBA, name: string, addr: number, pages: number, size: number, planes: number, lockRegions: number, user: number, stack: number);
protected _samba: SamBA;
protected _name: string;
protected _addr: number;
protected _pages: number;
protected _size: number;
protected _planes: number;
protected _lockRegions: number;
protected _user: number;
protected _stack: number;
protected _prepared: boolean;
abstract set eraseAuto(enable: boolean);
get address(): number;
get pageSize(): number;
get numPages(): number;
get numPlanes(): number;
get totalSize(): number;
get lockRegions(): number;
abstract eraseAll(offset: number): void;
abstract getLockRegions(): Promise<Array<boolean>>;
setLockRegions(regions: Array<boolean>): void;
abstract getSecurity(): Promise<boolean>;
setSecurity(): void;
abstract getBod(): Promise<boolean>;
setBod(enable: boolean): void;
abstract canBod(): boolean;
abstract getBor(): Promise<boolean>;
setBor(enable: boolean): void;
abstract canBor(): boolean;
abstract getBootFlash(): boolean;
setBootFlash(enable: boolean): void;
abstract canBootFlash(): boolean;
abstract writeOptions(): void;
abstract writePage(page: number): void;
abstract readPage(page: number, buf: Uint8Array): Promise<void>;
writeBuffer(dst_addr: number, size: number): Promise<void>;
loadBuffer(data: Uint8Array, offset?: number, bufferSize?: number): Promise<void>;
prepareApplet(): Promise<void>;
protected _wordCopy: WordCopyApplet;
protected _bootFlash: FlashOption<boolean>;
protected _regions: FlashOption<Array<boolean>>;
protected _bod: FlashOption<boolean>;
protected _bor: FlashOption<boolean>;
protected _security: FlashOption<boolean>;
protected _onBufferA: boolean;
protected _pageBufferA: number;
protected _pageBufferB: number;
}
export {};