1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- /**
- * @license
- * Visual Blocks Language
- *
- * Copyright 2012 Google Inc.
- * https://developers.google.com/blockly/
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- /**
- * @fileoverview Generating Python for colour blocks.
- * @author fraser@google.com (Neil Fraser)
- */
- 'use strict';
- goog.provide('Blockly.Python.AIYBoard');
- goog.require('Blockly.Python');
- Blockly.Python['AIYBoard_from'] = function(block) {
- var input = Blockly.Python.valueToCode(block,"INPUT",Blockly.Python.ORDER_NONE) || '__'
- var code = 'from aiy.board '+ input+'\n';
- return code
- };
- Blockly.Python['AIYBoard_import'] = function(block) {
- var board = block.getFieldValue("BOARD")
- var code = "import "+ board
- return [code,Blockly.Python.ORDER_ATOMIC]
- };
- Blockly.Python['AIYBoard_Board'] = function(block) {
- var code = "Board()"
- return [code,Blockly.Python.ORDER_ATOMIC];
- }
- Blockly.Python['AIYBoard_LED_state'] = function(block) {
- var input = Blockly.Python.valueToCode(block,"INPUT",Blockly.Python.ORDER_ATOMIC) || '__'
- var code = input+ ".led.state";
- return [code,Blockly.Python.ORDER_ATOMIC];
- }
- Blockly.Python['AIYBoard_LED_status'] = function(block) {
- var input = Blockly.Python.valueToCode(block,"INPUT",Blockly.Python.ORDER_ATOMIC) || '__'
- var code = input+ ".led.status";
- return [code,Blockly.Python.ORDER_ATOMIC];
- }
- Blockly.Python['AIYBoard_LED_setting'] = function(block) {
- var setting = block.getFieldValue("SETTING")
- var code = "Led."+ setting;
- return [code,Blockly.Python.ORDER_ATOMIC];
- }
- Blockly.Python['AIYBoard_board'] = function(block) {
- var code = "board";
- return [code, Blockly.Python.ORDER_ATOMIC]
- }
- Blockly.Python['AIYBoard_button'] = function(block) {
- var code = "button";
- return [code, Blockly.Python.ORDER_ATOMIC]
- }
- Blockly.Python['AIYBoard_button_press'] = function(block) {
- var input_a = Blockly.Python.statementToCode(block,"STACK");
- var code = "def _on_button_pressed(self):\n"+
- input_a;
- return code;
- }
- Blockly.Python['AIYBoard_board_led_status'] = function(block) {
- var input_a = Blockly.Python.valueToCode(block,"INPUT",Blockly.Python.ORDER_ATOMIC);
- var code = "self._board.led.status = "+ input_a +"\n";
- return code;
- }
- Blockly.Python['AIYBoard_board_led_state'] = function(block) {
- var input_a = Blockly.Python.valueToCode(block,"INPUT",Blockly.Python.ORDER_ATOMIC);
- var code = "self._board.led.state = "+ input_a +"\n";
- return code;
- }
|