UNPKG

bossa-web

Version:

Port of BOSSA to TypeScript with support for WebSerial API

92 lines (91 loc) 3.25 kB
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 {};