Skip to content

Commit aaea6ec

Browse files
committed
Add some functions for set pin's parameter in microbit_more
1 parent 83053e8 commit aaea6ec

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

src/lib/ruby-generator/microbit_more.js

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,26 @@ export default function (Generator) {
109109
return `microbit_more.set_pin_mode(${pin}, ${mode})\n`;
110110
};
111111

112+
Generator.microbitMore_setOutput = function (block) {
113+
const pin = Generator.valueToCode(block, 'PIN', Generator.ORDER_NONE) || null;
114+
const level = Generator.valueToCode(block, 'LEVEL', Generator.ORDER_NONE) || null;
115+
return `microbit_more.set_output(${pin}, ${level})\n`;
116+
};
117+
118+
Generator.microbitMore_setPWM = function (block) {
119+
const pin = Generator.valueToCode(block, 'PIN', Generator.ORDER_NONE) || null;
120+
const level = Generator.valueToCode(block, 'LEVEL', Generator.ORDER_NONE) || null;
121+
return `microbit_more.set_pwm(${pin}, ${level})\n`;
122+
};
123+
124+
Generator.microbitMore_setServo = function (block) {
125+
const pin = Generator.valueToCode(block, 'PIN', Generator.ORDER_NONE) || null;
126+
const angle = Generator.valueToCode(block, 'ANGLE', Generator.ORDER_NONE) || null;
127+
const range = Generator.valueToCode(block, 'RANGE', Generator.ORDER_NONE) || 2000;
128+
const center = Generator.valueToCode(block, 'CENTER', Generator.ORDER_NONE) || 1500;
129+
return `microbit_more.set_servo(${pin}, ${angle}, ${range}, ${center})\n`;
130+
};
131+
112132
Generator.microbitMore_menu_buttons = function (block) {
113133
const buttons = Generator.quote_(Generator.getFieldValue(block, 'buttons') || 'A');
114134
return [buttons, Generator.ORDER_ATOMIC];
@@ -154,6 +174,11 @@ export default function (Generator) {
154174
return [axis, Generator.ORDER_ATOMIC];
155175
};
156176

177+
Generator.microbitMore_menu_digitalValue = function (block) {
178+
const axis = Generator.getFieldValue(block, 'digitalValue') || '0';
179+
return [axis, Generator.ORDER_ATOMIC];
180+
};
181+
157182
Generator.matrix = function (block) {
158183
let matrix = Generator.getFieldValue(block, 'MATRIX') || '0000000000000000000000000';
159184
matrix = matrix.replace(/0/g, '.');

0 commit comments

Comments
 (0)