camera.js 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. /**
  2. * @license
  3. * Visual Blocks Language
  4. *
  5. * Copyright 2012 Google Inc.
  6. * https://developers.google.com/blockly/
  7. *
  8. * Licensed under the Apache License, Version 2.0 (the "License");
  9. * you may not use this file except in compliance with the License.
  10. * You may obtain a copy of the License at
  11. *
  12. * http://www.apache.org/licenses/LICENSE-2.0
  13. *
  14. * Unless required by applicable law or agreed to in writing, software
  15. * distributed under the License is distributed on an "AS IS" BASIS,
  16. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  17. * See the License for the specific language governing permissions and
  18. * limitations under the License.
  19. */
  20. /**
  21. * @fileoverview Generating Python for colour blocks.
  22. * @author fraser@google.com (Neil Fraser)
  23. */
  24. 'use strict';
  25. goog.provide('Blockly.Python.camera');
  26. goog.require('Blockly.Python');
  27. Blockly.Python['camera_import'] = function(block) {
  28. var code = 'from picamera import PiCamera\n'
  29. return code
  30. };
  31. Blockly.Python['camera_use'] = function(block) {
  32. var camera = block.getFieldValue("CAMERA");
  33. var sensor = block.getFieldValue("SENSOR");
  34. var x = block.getFieldValue("X");
  35. var y = block.getFieldValue("Y");
  36. var fps = block.getFieldValue("FPS");
  37. var statement_input = Blockly.Python.statementToCode(block, "STACK")
  38. var code = "with PiCamera(sensor_mode="+sensor+", resolution=("+x+", "+y+"),\nframerate="+fps+") as "+camera+":\n"
  39. +statement_input;
  40. return code
  41. };
  42. Blockly.Python['camera_enable'] = function(block) {
  43. var mode = block.getFieldValue("MODE");
  44. var code = 'camera.'+mode + '_preview()\n'
  45. return code
  46. };
  47. Blockly.Python['camera_set_bounding'] = function(block) {
  48. var x = block.getFieldValue("X");
  49. var y = block.getFieldValue("Y");
  50. var width = block.getFieldValue("WIDTH");
  51. var height = block.getFieldValue("HEIGHT");
  52. var code = x+', '+y + ', '+ width+ ", "+ height+' = bounding_box\n'
  53. return code;
  54. };