USB Flashing Format (UF2) JavaScript Library
npm install uf2javascript
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);
``