Compare commits

...

33 Commits

Author SHA1 Message Date
aeff3d9f45 0.7.7 2016-12-22 23:25:06 -08:00
6530bc26ae fixing menu active css 2016-12-22 23:24:53 -08:00
8ea9f1fb26 0.7.6 2016-12-22 23:18:00 -08:00
1e94e04104 setting up "on start" 2016-12-22 23:17:39 -08:00
e95d29286a 0.7.5 2016-12-22 23:12:46 -08:00
14d50810cb Bump pxt-core to 0.7.9 2016-12-22 23:12:43 -08:00
250e21b5c9 fixed toolbox color 2016-12-22 22:41:13 -08:00
98eab3672f updated css breakpoints 2016-12-22 22:36:06 -08:00
360e2b7ba6 0.7.4 2016-12-22 21:14:29 -08:00
f255e1a903 Bump pxt-core to 0.7.8 2016-12-22 21:14:27 -08:00
d4762cc5b5 deploy 0.7.3 to web 2016-12-22 10:05:52 +01:00
749b5266cb 0.7.3 2016-12-20 16:30:40 -08:00
bbd23f6d26 Bump pxt-core to 0.7.5 2016-12-20 16:30:38 -08:00
4bef7d50bd 0.7.2 2016-12-16 15:01:13 -08:00
bf423ca037 Bump pxt-core to 0.6.4 2016-12-16 15:01:05 -08:00
7556796eb6 merging more memory fixes 2016-12-16 14:57:16 -08:00
0a380a70d1 0.7.1 2016-12-16 07:26:11 -08:00
5c57e0faa4 fixing ver issues 2016-12-16 07:26:01 -08:00
41abeb62c3 0.6.2 2016-12-16 07:25:07 -08:00
b6eeeef4d5 0.6.1 2016-12-16 07:24:44 -08:00
b5b7edb978 moved to 0.6 2016-12-16 07:24:36 -08:00
a65fe1343c 0.5.98 2016-12-16 07:23:54 -08:00
3165fb3749 Bump pxt-core to 0.6.2 2016-12-16 07:23:48 -08:00
2789887f3b 0.5.97 2016-12-09 15:02:44 -08:00
d230fdd2fb Bump pxt-core to 0.5.99 2016-12-09 15:02:40 -08:00
88c9ef5b22 deploy feature now implemented in PXT 2016-12-08 21:11:50 -08:00
154115cc66 0.5.96 2016-12-08 16:38:10 -08:00
145dbaeb8f Merge pull request #8 from Microsoft/coreupdate
merging runtime memory leaks
2016-12-08 16:37:48 -08:00
1c8ceaef17 merging runtime memory leaks 2016-12-08 16:29:53 -08:00
e30c6f7149 0.5.95 2016-12-08 14:24:14 -08:00
e69174ed0f Bump pxt-core to 0.5.96 2016-12-08 14:24:09 -08:00
303d37ac9b toolbox buttons for tablet mode 2016-12-06 16:16:50 -08:00
69e2b41c40 Supporting new blockly toolbox buttons 2016-12-06 15:29:53 -08:00
9 changed files with 66 additions and 86 deletions

View File

@ -1,60 +0,0 @@
/// <reference path="../node_modules/pxt-core/typings/node/node.d.ts"/>
/// <reference path="../node_modules/pxt-core/built/pxtlib.d.ts" />
import * as fs from "fs";
import * as path from "path";
import * as child_process from "child_process";
let writeFileAsync: any = Promise.promisify(fs.writeFile)
let execAsync: (cmd: string, options?: { cwd?: string }) => Promise<Buffer> = Promise.promisify(child_process.exec)
let readDirAsync = Promise.promisify(fs.readdir)
export function deployCoreAsync(res: ts.pxtc.CompileResult) {
return getBitDrivesAsync()
.then(drives => {
if (drives.length == 0) {
console.log("cannot find any drives to deploy to");
return Promise.resolve(0);
}
console.log(`copy ${ts.pxtc.BINARY_HEX} to ` + drives.join(", "));
let writeHexFile = (filename: string) => {
return writeFileAsync(filename + ts.pxtc.BINARY_HEX, res.outfiles[ts.pxtc.BINARY_HEX])
.then(() => console.log("wrote hex file to " + filename));
};
return Promise.map(drives, d => writeHexFile(d))
.then(() => drives.length);
});
}
function getBitDrivesAsync(): Promise<string[]> {
if (process.platform == "win32") {
const rx = new RegExp("^([A-Z]:).* " + pxt.appTarget.compile.deployDrives)
return execAsync("wmic PATH Win32_LogicalDisk get DeviceID, VolumeName, FileSystem")
.then(buf => {
let res: string[] = []
buf.toString("utf8").split(/\n/).forEach(ln => {
let m = rx.exec(ln)
if (m) {
res.push(m[1] + "/")
}
})
return res
})
}
else if (process.platform == "darwin") {
const rx = new RegExp(pxt.appTarget.compile.deployDrives)
return readDirAsync("/Volumes")
.then(lst => lst.filter(s => rx.test(s)).map(s => "/Volumes/" + s + "/"))
} else if (process.platform == "linux") {
const rx = new RegExp(pxt.appTarget.compile.deployDrives)
const user = process.env["USER"]
return readDirAsync(`/media/${user}`)
.then(lst => lst.filter(s => rx.test(s)).map(s => `/media/${user}/${s}/`))
} else {
return Promise.resolve([])
}
}

View File

@ -1,3 +1,6 @@
/// <reference path="../node_modules/pxt-core/typings/node/node.d.ts"/>
/// <reference path="../node_modules/pxt-core/built/pxtlib.d.ts" />
import * as path from "path"; import * as path from "path";
export let pxtCore = require("pxt-core"); export let pxtCore = require("pxt-core");
// require.resolve() gives path to [pxt dir]/built/pxt.js, so move up twice to get pxt root dir // require.resolve() gives path to [pxt dir]/built/pxt.js, so move up twice to get pxt root dir

View File

@ -1,3 +1,3 @@
{ {
"appref": "v0.5.89" "appref": "v0.7.3"
} }

View File

@ -1,5 +1,5 @@
{ {
"bluetooth": "Support for additional Bluetooth services.", "bluetooth": "Support for additional Bluetooth services.\n\nSupport for additional Bluetooth services.",
"bluetooth.onBluetoothConnected": "Register code to run when the micro:bit is connected to over Bluetooth", "bluetooth.onBluetoothConnected": "Register code to run when the micro:bit is connected to over Bluetooth",
"bluetooth.onBluetoothConnected|param|body": "Code to run when a Bluetooth connection is established", "bluetooth.onBluetoothConnected|param|body": "Code to run when a Bluetooth connection is established",
"bluetooth.onBluetoothDisconnected": "Register code to run when a bluetooth connection to the micro:bit is lost", "bluetooth.onBluetoothDisconnected": "Register code to run when a bluetooth connection to the micro:bit is lost",

View File

@ -26,7 +26,7 @@
"String.substr": "Return substring of the current string.", "String.substr": "Return substring of the current string.",
"String.substr|param|length": "number of characters to extract", "String.substr|param|length": "number of characters to extract",
"String.substr|param|start": "first character index; can be negative from counting from the end, eg:0", "String.substr|param|start": "first character index; can be negative from counting from the end, eg:0",
"basic": "Provides access to basic micro:bit functionality.", "basic": "Provides access to basic micro:bit functionality.\n\nProvides access to basic micro:bit functionality.",
"basic.clearScreen": "Turn off all LEDs", "basic.clearScreen": "Turn off all LEDs",
"basic.color": "Converts the color name to a number", "basic.color": "Converts the color name to a number",
"basic.forever": "Repeats the code forever in the background. On each iteration, allows other codes to run.", "basic.forever": "Repeats the code forever in the background. On each iteration, allows other codes to run.",

View File

@ -117,7 +117,6 @@ namespace pxt {
void RefObject::destroy() { void RefObject::destroy() {
((RefObjectMethod)getVTable()->methods[0])(this); ((RefObjectMethod)getVTable()->methods[0])(this);
delete this;
} }
void RefObject::print() { void RefObject::print() {
@ -132,6 +131,9 @@ namespace pxt {
if (refmask[i]) decr(r->fields[i]); if (refmask[i]) decr(r->fields[i]);
r->fields[i] = 0; r->fields[i] = 0;
} }
//RefRecord is allocated using placement new
r->~RefRecord();
::operator delete(r);
} }
void RefRecord_print(RefRecord *r) void RefRecord_print(RefRecord *r)
@ -242,6 +244,7 @@ namespace pxt {
this->data[i] = 0; this->data[i] = 0;
} }
this->data.resize(0); this->data.resize(0);
delete this;
} }
void RefCollection::print() void RefCollection::print()
@ -258,6 +261,9 @@ namespace pxt {
decr(fields[i]); decr(fields[i]);
fields[i] = 0; fields[i] = 0;
} }
//RefAction is allocated using placement new
this->~RefAction();
::operator delete(this);
} }
void RefAction::print() void RefAction::print()
@ -272,6 +278,7 @@ namespace pxt {
void RefLocal::destroy() void RefLocal::destroy()
{ {
delete this;
} }
PXT_VTABLE_CTOR(RefLocal) { PXT_VTABLE_CTOR(RefLocal) {
@ -290,6 +297,7 @@ namespace pxt {
void RefRefLocal::destroy() void RefRefLocal::destroy()
{ {
decr(v); decr(v);
delete this;
} }
PXT_VTABLE_BEGIN(RefMap, 0, RefMapMarker) PXT_VTABLE_BEGIN(RefMap, 0, RefMapMarker)
@ -304,6 +312,7 @@ namespace pxt {
data[i].val = 0; data[i].val = 0;
} }
data.resize(0); data.resize(0);
delete this;
} }
int RefMap::findIdx(uint32_t key) { int RefMap::findIdx(uint32_t key) {

View File

@ -1,6 +1,6 @@
{ {
"name": "pxt-calliope", "name": "pxt-calliope",
"version": "0.5.94", "version": "0.7.7",
"description": "calliope target for PXT", "description": "calliope target for PXT",
"keywords": [ "keywords": [
"JavaScript", "JavaScript",
@ -34,6 +34,6 @@
"semantic-ui-less": "^2.2.4" "semantic-ui-less": "^2.2.4"
}, },
"dependencies": { "dependencies": {
"pxt-core": "0.5.87" "pxt-core": "0.7.9"
} }
} }

View File

@ -54,7 +54,9 @@
"mathBlocks": true, "mathBlocks": true,
"loopsBlocks": true, "loopsBlocks": true,
"logicBlocks": true, "logicBlocks": true,
"variablesBlocks": true "variablesBlocks": true,
"onStartColor": "#54C9C9",
"onStartNamespace": "basic"
}, },
"simulator": { "simulator": {
"autoRun": true, "autoRun": true,
@ -289,8 +291,16 @@
], ],
"invertedMenu": true, "invertedMenu": true,
"invertedToolbox": true, "invertedToolbox": true,
"monacoToolbox": false,
"simAnimationEnter": "rotate in", "simAnimationEnter": "rotate in",
"simAnimationExit": "rotate out", "simAnimationExit": "rotate out",
"blocklyOptions": { } "blocklyOptions": {
"grid": {
"spacing": 45,
"length": 7,
"colour": "rgba(189, 195, 199, 0.30)",
"snap": false
}
}
} }
} }

View File

@ -16,7 +16,7 @@
background: #4ECC60 !important; background: #4ECC60 !important;
} }
.blocks-menuitem, .javascript-menuitem { .blocks-menuitem.active, .javascript-menuitem.active {
background: #738791 !important; background: #738791 !important;
} }
@ -87,10 +87,13 @@
padding:7px; padding:7px;
} }
#blocklyAddPackage { /* Blockly Toolbox Buttons */
text-align: left; #blocklyToolboxButtons .blocklyAddPackageButton {
background-color: rgba(0, 0, 0, 0.3);
color: white;
} }
#blocklyAddPackage button {
#blocklyToolboxButtons .blocklyUndoButton {
background-color: rgba(0, 0, 0, 0.3); background-color: rgba(0, 0, 0, 0.3);
color: white; color: white;
} }
@ -100,7 +103,7 @@
} }
/* Mobile */ /* Mobile */
@media only screen and (max-width: @largestMobileScreen) { @media only screen and (max-width: @largestMobileEditorBreakpoint) {
.blocklyTreeLabel { .blocklyTreeLabel {
font-size: 0.5rem !important; font-size: 0.5rem !important;
} }
@ -110,27 +113,42 @@
} }
/* Tablet */ /* Tablet */
@media only screen and (min-width: @tabletBreakpoint) and (max-width: @largestTabletScreen) { @media only screen and (min-width: @tabletEditorBreakpoint) and (max-width: @largestTabletEditorBreakpoint) {
.organization { .organization {
top: auto; top: auto;
} }
/* Blockly Toolbox buttons */
#blocklyToolboxButtons {
margin-right: 0.5rem;
margin-left: 0.5rem;
}
} }
/* Small Monitor */ /* Small Monitor */
@media only screen and (min-width: @computerBreakpoint) and (max-width: @largestSmallMonitor) { @media only screen and (min-width: @computerEditorBreakpoint) and (max-width: @largestSmallMonitorEditorBreakpoint) {
.organization { .organization {
top: auto; top: auto;
} }
.blocklyTreeRow { .blocklyTreeRow {
width: 230px; width: 230px;
} }
/* Blockly Toolbox buttons */
#blocklyToolboxButtons {
margin-right: 1rem;
margin-left: 1rem;
}
} }
/* Large Monitor */ /* Large Monitor */
@media only screen and (min-width: @largeMonitorBreakpoint) { @media only screen and (min-width: @largeMonitorEditorBreakpoint) {
.blocklyTreeRow { .blocklyTreeRow {
width: 230px; width: 230px;
} }
/* Blockly Toolbox buttons */
#blocklyToolboxButtons {
margin-right: 2rem;
margin-left: 2rem;
}
} }
/******************************* /*******************************