import { getBoardConfigByName, BoardName } from './board'; import type SerialPort from 'serialport'; import { getUploaderByProtocol } from './uploader'; import { SerialPortAdapter } from './webserial/adapter' type UploadOptions = { port: SerialPort | SerialPortAdapter, boardName: BoardName, hex: Buffer } const avrboy = { upload: function (options: UploadOptions) { const { boardName, hex, port } = options; const config = getBoardConfigByName(boardName); const Uploader = getUploaderByProtocol(config.protocol); const uploader = new Uploader(config); return uploader.upload(port, hex); } } export { avrboy, SerialPortAdapter, BoardName }