parent
30a0d396f1
commit
666186c78c
@ -57,8 +57,7 @@ namespace pxt.editor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function writeAsync(data: ArrayBuffer) {
|
function writeAsync(data: ArrayBuffer) {
|
||||||
h.sendPacketAsync(new Uint8Array(data));
|
return h.sendPacketAsync(new Uint8Array(data));
|
||||||
return Promise.resolve();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function readAsync() {
|
function readAsync() {
|
||||||
@ -67,7 +66,11 @@ namespace pxt.editor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
reconnectAsync(first: boolean) {
|
reconnectAsync(first: boolean) {
|
||||||
return this.cortexM.init();
|
if (!first)
|
||||||
|
return this.packetIo.reconnectAsync()
|
||||||
|
.then(() => this.cortexM.init())
|
||||||
|
else
|
||||||
|
return this.cortexM.init();
|
||||||
}
|
}
|
||||||
|
|
||||||
disconnectAsync() {
|
disconnectAsync() {
|
||||||
@ -97,6 +100,8 @@ namespace pxt.editor {
|
|||||||
|
|
||||||
let previousDapWrapper: DAPWrapper;
|
let previousDapWrapper: DAPWrapper;
|
||||||
function dapAsync() {
|
function dapAsync() {
|
||||||
|
if (previousDapWrapper)
|
||||||
|
return Promise.resolve(previousDapWrapper)
|
||||||
return Promise.resolve()
|
return Promise.resolve()
|
||||||
.then(() => {
|
.then(() => {
|
||||||
if (previousDapWrapper) {
|
if (previousDapWrapper) {
|
||||||
@ -118,7 +123,9 @@ namespace pxt.editor {
|
|||||||
|
|
||||||
function canHID(): boolean {
|
function canHID(): boolean {
|
||||||
let r = false
|
let r = false
|
||||||
if (U.isNodeJS) {
|
if (pxt.usb.isEnabled) {
|
||||||
|
r = true
|
||||||
|
} else if (U.isNodeJS) {
|
||||||
r = true
|
r = true
|
||||||
} else {
|
} else {
|
||||||
const forceHexDownload = /forceHexDownload/i.test(window.location.href);
|
const forceHexDownload = /forceHexDownload/i.test(window.location.href);
|
||||||
@ -288,6 +295,11 @@ namespace pxt.editor {
|
|||||||
wrap = w
|
wrap = w
|
||||||
log("reset")
|
log("reset")
|
||||||
return wrap.cortexM.reset(true)
|
return wrap.cortexM.reset(true)
|
||||||
|
.catch(e => {
|
||||||
|
log("trying re-connect")
|
||||||
|
return wrap.reconnectAsync(false)
|
||||||
|
.then(() => wrap.cortexM.reset(true))
|
||||||
|
})
|
||||||
})
|
})
|
||||||
.then(() => wrap.cortexM.memory.readBlock(0x10001014, 1, pageSize))
|
.then(() => wrap.cortexM.memory.readBlock(0x10001014, 1, pageSize))
|
||||||
.then(v => {
|
.then(v => {
|
||||||
@ -405,6 +417,13 @@ namespace pxt.editor {
|
|||||||
}]
|
}]
|
||||||
};
|
};
|
||||||
|
|
||||||
|
pxt.usb.setFilters([{
|
||||||
|
vendorId: 0x0D28,
|
||||||
|
productId: 0x0204,
|
||||||
|
classCode: 0xff,
|
||||||
|
subclassCode: 0x03
|
||||||
|
}])
|
||||||
|
|
||||||
if (canHID())
|
if (canHID())
|
||||||
pxt.commands.deployCoreAsync = deployCoreAsync;
|
pxt.commands.deployCoreAsync = deployCoreAsync;
|
||||||
return Promise.resolve<pxt.editor.ExtensionResult>(res);
|
return Promise.resolve<pxt.editor.ExtensionResult>(res);
|
||||||
|
@ -41,6 +41,6 @@
|
|||||||
"semantic-ui-less": "^2.2.4"
|
"semantic-ui-less": "^2.2.4"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"pxt-core": "0.17.14"
|
"pxt-core": "0.17.15"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user