basic servo simulation (#297)

This commit is contained in:
Peli de Halleux
2016-11-01 08:16:03 -07:00
committed by GitHub
parent 237c5c019b
commit 4963bf776a
5 changed files with 49 additions and 7 deletions

View File

@ -201,6 +201,7 @@ namespace pins {
*/
//% help=pins/servo-write-pin weight=20
//% blockId=device_set_servo_pin block="servo write|pin %name|to %value" blockGap=8
//% parts=microservo trackArgs=0
void servoWritePin(AnalogPin name, int value) {
PINOP(setServoValue(value));
}

View File

@ -29,6 +29,37 @@
{"pinIndices": [2, 3]}
]
},
"microservo": {
"simulationBehavior": "microservo",
"visual": {
"builtIn": "microservo",
"width": 74.85,
"height": 200,
"pinDistance": 10,
"pinLocations": [
{"x": 30, "y": 5},
{"x": 37, "y": 5},
{"x": 45, "y": 5}
]
},
"numberOfPins": 3,
"pinDefinitions": [
{"target": {"pinInstantiationIdx": 0}, "style": "croc", "orientation": "+Z"},
{"target": "threeVolt", "style": "croc", "orientation": "+Z"},
{"target": "ground", "style": "croc", "orientation": "+Z"}
],
"instantiation": {
"kind": "function",
"fullyQualifiedName": "pins.servoWritePin",
"argumentRoles": [
{"pinInstantiationIdx": 0, "partParameter": "name"}
]
},
"assembly": [
{"part": true, "pinIndices": [2]},
{"pinIndices": [0, 1]}
]
},
"neopixel": {
"simulationBehavior": "neopixel",
"visual": {

View File

@ -585,7 +585,8 @@ declare namespace pins {
* @param value angle or rotation speed, eg:180,90,0
*/
//% help=pins/servo-write-pin weight=20
//% blockId=device_set_servo_pin block="servo write|pin %name|to %value" blockGap=8 shim=pins::servoWritePin
//% blockId=device_set_servo_pin block="servo write|pin %name|to %value" blockGap=8
//% parts=microservo trackArgs=0 shim=pins::servoWritePin
function servoWritePin(name: AnalogPin, value: number): void;
/**