| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- const storageAccessProtocol = require('../../protocols/storage-access/index.js')
- const settingsService = require('../../store/settings-store.js')
- function resolveMaxPacketLength(value) {
- const settings = settingsService.getState()
- const numberValue = Number(value === undefined ? settings.parameterMaxPacketLength : value)
- if (Number.isFinite(numberValue) && Math.round(numberValue) === 0) return 0
- if (Number.isFinite(numberValue) && numberValue > 0) return Math.round(numberValue)
- return 64
- }
- function normalizeTransferOptions(options = {}) {
- const maxPacketLength = options.maxPacketLength === undefined ? options.maxFrameBytes : options.maxPacketLength
- return {
- maxFrameBytes: resolveMaxPacketLength(maxPacketLength),
- onChunk: options.onChunk,
- showModal: options.showModal !== false
- }
- }
- async function readMemory(area, startAddress, byteLength, label, kind, options = {}) {
- return storageAccessProtocol.client.readMemory(
- area,
- startAddress,
- byteLength,
- label,
- kind,
- normalizeTransferOptions(options)
- )
- }
- async function writeMemory(area, startAddress, bytes, label, kind, options = {}) {
- return storageAccessProtocol.client.writeMemory(
- area,
- startAddress,
- bytes,
- label,
- kind,
- normalizeTransferOptions(options)
- )
- }
- async function readCodeInfoBlock(label, kind, options = {}) {
- return storageAccessProtocol.client.readCodeInfoBlock(
- label,
- kind,
- normalizeTransferOptions(options)
- )
- }
- module.exports = {
- AREA: storageAccessProtocol.AREA,
- readCodeInfoBlock,
- readMemory,
- resolveMaxPacketLength,
- writeMemory
- }
|