JavaScript implementation of the UF2 file format
NPM Version License: MIT Types: TypeScript
const fs = require('fs'); const { decodeBlock, familyMap } = require('uf2'); const file = fs.openSync('blink.uf2', 'r'); const buffer = new Uint8Array(512); while (fs.readSync(file, buffer) === buffer.length) { const block = decodeBlock(buffer); const family = familyMap.get(block.boardFamily) || 'unknown'; const { totalBlocks, blockNumber, flashAddress, payload } = block; const hexAddress = '0x' + flashAddress.toString(16); console.log(`Block ${blockNumber + 1}/${totalBlocks} @${hexAddress}, Family: ${family}`); // Do something with payload... } fs.closeSync(file);
For more examples, see the unit tests file.
Copyright (C) 2021 Uri Shaked. The code is released under the terms of the MIT license.