loading board definition from pxtarget.json

This commit is contained in:
Peli de Halleux 2016-09-13 15:32:12 -07:00
parent e59ae37954
commit 167c1d8fce
5 changed files with 94 additions and 63 deletions

View File

@ -87,6 +87,95 @@
"bluetooth": true, "bluetooth": true,
"thermometer": true, "thermometer": true,
"compass": true "compass": true
},
"boardDefinition": {
"visual": "microbit",
"gpioPinBlocks": [
[
"P0"
],
[
"P1"
],
[
"P2"
],
[
"P3"
],
[
"P4",
"P5",
"P6",
"P7"
],
[
"P8",
"P9",
"P10",
"P11",
"P12"
],
[
"P16"
]
],
"gpioPinMap": {
"P0": "P0",
"P1": "P1",
"P2": "P2",
"P3": "P3",
"P4": "P4",
"P5": "P5",
"P6": "P6",
"P7": "P7",
"P8": "P8",
"P9": "P9",
"P10": "P10",
"P11": "P11",
"P12": "P12",
"P13": "P13",
"P14": "P14",
"P15": "P15",
"P16": "P16",
"P19": "P19",
"P20": "P20"
},
"spiPins": {
"MOSI": "P15",
"MISO": "P14",
"SCK": "P13"
},
"i2cPins": {
"SDA": "P20",
"SCL": "P19"
},
"analogInPins": [
"P0",
"P1",
"P2",
"P3",
"P10"
],
"groundPins": [
"GND"
],
"threeVoltPins": [
"+3v3"
],
"attachPowerOnRight": true,
"onboardComponents": [
"buttonpair",
"ledmatrix",
"speaker"
],
"useCrocClips": true,
"marginWhenBreadboarding": [
0,
0,
80,
0
]
} }
}, },
"compileService": { "compileService": {

View File

@ -92,10 +92,9 @@ namespace pxsim {
const options = (msg.options || {}) as RuntimeOptions; const options = (msg.options || {}) as RuntimeOptions;
const boardDef = CURRENT_BOARD; //TODO: read from pxt.json/pxttarget.json const boardDef = msg.boardDefinition;
const cmpsList = msg.parts; const cmpsList = msg.parts;
const cmpDefs = msg.partDefinitions || {}; //TODO: read from pxt.json/pxttarget.json const cmpDefs = msg.partDefinitions || {};
const fnArgs = msg.fnArgs; const fnArgs = msg.fnArgs;
const opts : visuals.BoardHostOpts = { const opts : visuals.BoardHostOpts = {

View File

@ -1,59 +0,0 @@
/// <reference path="../node_modules/pxt-core/typings/bluebird/bluebird.d.ts"/>
/// <reference path="../node_modules/pxt-core/built/pxtparts.d.ts"/>
/// <reference path="../node_modules/pxt-core/built/pxtsim.d.ts"/>
/// <reference path="../libs/microbit/dal.d.ts"/>
/// <reference path="./visuals/neopixel.ts"/>
namespace pxsim {
export const MICROBIT_DEF: BoardDefinition = {
visual: "microbit",
gpioPinBlocks: [
["P0"], ["P1"], ["P2"],
["P3"],
["P4", "P5", "P6", "P7"],
["P8", "P9", "P10", "P11", "P12"],
["P16"],
],
gpioPinMap: {
"P0": "P0",
"P1": "P1",
"P2": "P2",
"P3": "P3",
"P4": "P4",
"P5": "P5",
"P6": "P6",
"P7": "P7",
"P8": "P8",
"P9": "P9",
"P10": "P10",
"P11": "P11",
"P12": "P12",
"P13": "P13",
"P14": "P14",
"P15": "P15",
"P16": "P16",
"P19": "P19",
"P20": "P20",
},
spiPins: {
MOSI: "P15",
MISO: "P14",
SCK: "P13",
},
i2cPins: {
SDA: "P20",
SCL: "P19",
},
analogInPins: ["P0", "P1", "P2", "P3", "P10"],
groundPins: ["GND"],
threeVoltPins: ["+3v3"],
attachPowerOnRight: true,
onboardComponents: ["buttonpair", "ledmatrix", "speaker"],
useCrocClips: true,
marginWhenBreadboarding: [0, 0, 80, 0],
}
//TODO: add multiple board support
export const CURRENT_BOARD = MICROBIT_DEF;
}

View File

@ -615,6 +615,9 @@ ${tsPackage}
}); });
} }
// board def
const boardDef = JSON.parse(getQsVal("board")) as pxsim.BoardDefinition;
//parts list //parts list
let parts = (getQsVal("parts") || "").split(" "); let parts = (getQsVal("parts") || "").split(" ");
parts.sort(); parts.sort();
@ -638,7 +641,6 @@ ${tsPackage}
style.textContent += STYLE; style.textContent += STYLE;
const boardDef = CURRENT_BOARD;
const cmpDefs = partDefinitions; const cmpDefs = partDefinitions;
//props //props