towards pin placement
This commit is contained in:
parent
7d4b800637
commit
e2fe660012
@ -157,8 +157,8 @@
|
||||
{"x": 395, "y": 48} ]
|
||||
},
|
||||
"pinDefinitions": [
|
||||
{ "target": "P1", "style": "croc", "orientation": "-Z"},
|
||||
{ "target": "ground", "style": "croc", "orientation": "-Z"}
|
||||
{ "target": "M_OUT1", "style": "croc", "orientation": "-Z"},
|
||||
{ "target": "M_OUT2", "style": "croc", "orientation": "-Z"}
|
||||
],
|
||||
"instantiation": {"kind": "singleton"},
|
||||
"assembly": [
|
||||
|
@ -146,7 +146,13 @@
|
||||
"P15": "P15",
|
||||
"P16": "P16",
|
||||
"P19": "P19",
|
||||
"P20": "P20"
|
||||
"P20": "P20",
|
||||
"EXT_PWR":"EXT_PWR",
|
||||
"SPKR":"EXT_PWR",
|
||||
"BTN_A": "BTN_A",
|
||||
"BTN_B": "BTN_B",
|
||||
"M_OUT1": "M_OUT1",
|
||||
"M_OUT2": "M_OUT2"
|
||||
},
|
||||
"spiPins": {
|
||||
"MOSI": "P15",
|
||||
|
@ -1060,11 +1060,10 @@ namespace pxsim.visuals {
|
||||
private thermometerText: SVGTextElement;
|
||||
private shakeButton: SVGElement;
|
||||
public board: pxsim.DalBoard;
|
||||
private pinNmToCoord: Map<Coord> = {};
|
||||
private pinNmToCoord: Map<Coord>;
|
||||
private rgbLed: SVGElement;
|
||||
|
||||
constructor(public props: IBoardProps) {
|
||||
this.recordPinCoords();
|
||||
this.buildDom();
|
||||
if (props && props.wireframe)
|
||||
svg.addClass(this.element, "sim-wireframe");
|
||||
@ -1091,6 +1090,7 @@ namespace pxsim.visuals {
|
||||
}
|
||||
|
||||
public getCoord(pinNm: string): Coord {
|
||||
if (!this.pinNmToCoord) this.recordPinCoords();
|
||||
return this.pinNmToCoord[pinNm];
|
||||
}
|
||||
|
||||
@ -1103,9 +1103,12 @@ namespace pxsim.visuals {
|
||||
}
|
||||
|
||||
public recordPinCoords() {
|
||||
this.pinNmToCoord = {};
|
||||
pinNames.forEach((nm,i) => {
|
||||
// TODO: position pins from SVG
|
||||
this.pinNmToCoord[nm] = [0,0];
|
||||
const p = this.pins[i];
|
||||
const r = p.getBoundingClientRect();
|
||||
this.pinNmToCoord[nm] = [r.left + r.width / 2, r.top + r.height / 2];
|
||||
});
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user