From edb3fdd39737038d2711bb947e23f7a33d776927 Mon Sep 17 00:00:00 2001 From: CtrlReturn Date: Tue, 29 Oct 2024 12:17:25 +0100 Subject: [PATCH] Add blocks and functionality for ELEGOO UNO R3 Project The Most Complete Starter Kit --- LICENSE | 0 README.md | 104 +- ardublockly/ardublockly.css | 0 ardublockly/ardublockly.js | 5 + ardublockly/ardublockly_blockly.js | 3 +- ardublockly/ardublockly_design.js | 0 ardublockly/ardublockly_desktop.js | 0 ardublockly/ardublockly_lang.js | 5 +- ardublockly/ardublockly_toolbox.js | 132 ++- ardublockly/ardublocklyserver_ajax.js | 0 ardublockly/classic/ardublockly_classic.css | 0 ardublockly/classic/ardublockly_classic.js | 0 ardublockly/classic/icons.png | Bin ardublockly/classic/index.html | 0 ardublockly/classic/settings.css | 0 ardublockly/classic/settings.html | 0 ardublockly/classic/settings.js | 0 ardublockly/font/droid/DroidSansMono.ttf | Bin ardublockly/font/droid/NOTICE | 0 ardublockly/font/droid/README.txt | 0 .../font/material-design-icons/LICENSE.txt | 0 .../Material-Design-Icons.eot | Bin .../Material-Design-Icons.svg | 0 .../Material-Design-Icons.ttf | Bin .../Material-Design-Icons.woff | Bin .../Material-Design-Icons.woff2 | Bin ardublockly/font/roboto/Roboto-Bold.eot | Bin ardublockly/font/roboto/Roboto-Bold.ttf | Bin ardublockly/font/roboto/Roboto-Bold.woff | Bin ardublockly/font/roboto/Roboto-Bold.woff2 | Bin ardublockly/font/roboto/Roboto-Light.eot | Bin ardublockly/font/roboto/Roboto-Light.ttf | Bin ardublockly/font/roboto/Roboto-Light.woff | Bin ardublockly/font/roboto/Roboto-Light.woff2 | Bin ardublockly/font/roboto/Roboto-Medium.eot | Bin ardublockly/font/roboto/Roboto-Medium.ttf | Bin ardublockly/font/roboto/Roboto-Medium.woff | Bin ardublockly/font/roboto/Roboto-Medium.woff2 | Bin ardublockly/font/roboto/Roboto-Regular.eot | Bin ardublockly/font/roboto/Roboto-Regular.ttf | Bin ardublockly/font/roboto/Roboto-Regular.woff | Bin ardublockly/font/roboto/Roboto-Regular.woff2 | Bin ardublockly/font/roboto/Roboto-Thin.eot | Bin ardublockly/font/roboto/Roboto-Thin.ttf | Bin ardublockly/font/roboto/Roboto-Thin.woff | Bin ardublockly/font/roboto/Roboto-Thin.woff2 | Bin ardublockly/img/ardublockly_icon.png | Bin 0 -> 25329 bytes ardublockly/img/ardublockly_splash.png | Bin ardublockly/img/favicon.ico | Bin ardublockly/img/sidenav_header.png | Bin ardublockly/index.html | 8 + ardublockly/js_libs/FileSaver.min.js | 0 ardublockly/js_libs/FileSaver_LICENSE.md | 0 ardublockly/js_libs/diff.js | 0 ardublockly/js_libs/diff_LICENSE | 0 ardublockly/js_libs/hammer.min.js | 0 ardublockly/js_libs/jquery-2.1.3.min.js | 0 ardublockly/js_libs/jquery_LICENSE | 0 ardublockly/materialize/LICENSE | 0 ardublockly/materialize/README.md | 0 ardublockly/materialize/materialize.css | 0 ardublockly/materialize/materialize.js | 0 ardublockly/msg/de.js | 108 ++ ardublockly/msg/en.js | 3 + ardublockly/msg/es.js | 0 ardublockly/msg/fr.js | 0 ardublockly/msg/it.js | 0 ardublockly/msg/nl.js | 0 ardublockly/msg/pt.js | 0 ardublockly/msg/ru.js | 0 ardublockly/prettify/arduino.css | 0 ardublockly/prettify/hemisu-light.css | 0 ardublockly/prettify/prettify.css | 0 ardublockly/prettify/prettify.js | 0 ardublockly/prettify/run_prettify.js | 0 ardublockly/prettify/tomorrow.css | 0 ardublocklyserver/__init__.py | 0 ardublocklyserver/actions.py | 0 ardublocklyserver/compilersettings.py | 0 .../local-packages/bottle-info/AUTHORS | 0 .../local-packages/bottle-info/LICENSE | 0 .../local-packages/bottle-info/README.rst | 0 .../bottle-info/version_info.md | 0 ardublocklyserver/local-packages/bottle.py | 10 +- .../local-packages/configparser/README.md | 0 .../local-packages/configparser/__init__.py | 5 +- .../local-packages/configparser/helpers.py | 10 +- .../local-packages/serial/CHANGES.rst | 0 .../local-packages/serial/LICENSE.txt | 0 .../local-packages/serial/README.rst | 0 .../local-packages/serial/__init__.py | 0 .../local-packages/serial/rfc2217.py | 0 .../local-packages/serial/rs485.py | 0 .../local-packages/serial/serialcli.py | 0 .../local-packages/serial/serialjava.py | 0 .../local-packages/serial/serialposix.py | 0 .../local-packages/serial/serialutil.py | 0 .../local-packages/serial/serialwin32.py | 0 .../serial/threaded/__init__.py | 0 .../local-packages/serial/tools/__init__.py | 0 .../serial/tools/hexlify_codec.py | 0 .../local-packages/serial/tools/list_ports.py | 0 .../serial/tools/list_ports_common.py | 0 .../serial/tools/list_ports_linux.py | 0 .../serial/tools/list_ports_osx.py | 0 .../serial/tools/list_ports_posix.py | 0 .../serial/tools/list_ports_windows.py | 0 .../local-packages/serial/tools/miniterm.py | 0 .../serial/urlhandler/__init__.py | 0 .../serial/urlhandler/protocol_alt.py | 0 .../serial/urlhandler/protocol_hwgrep.py | 0 .../serial/urlhandler/protocol_loop.py | 0 .../serial/urlhandler/protocol_rfc2217.py | 0 .../serial/urlhandler/protocol_socket.py | 0 .../serial/urlhandler/protocol_spy.py | 0 .../local-packages/serial/version_info.md | 0 .../local-packages/serial/win32.py | 0 .../local-packages/six-info/LICENSE | 0 .../local-packages/six-info/README | 0 ardublocklyserver/local-packages/six.py | 0 .../local-packages/waitress/CHANGES.txt | 0 .../local-packages/waitress/CONTRIBUTORS.txt | 0 .../local-packages/waitress/COPYRIGHT.txt | 0 .../local-packages/waitress/HISTORY.txt | 0 .../local-packages/waitress/LICENSE.txt | 0 .../local-packages/waitress/README.rst | 0 .../local-packages/waitress/__init__.py | 0 .../local-packages/waitress/adjustments.py | 0 .../local-packages/waitress/buffers.py | 0 .../local-packages/waitress/channel.py | 0 .../local-packages/waitress/compat.py | 0 .../local-packages/waitress/parser.py | 0 .../local-packages/waitress/receiver.py | 0 .../local-packages/waitress/runner.py | 0 .../local-packages/waitress/server.py | 0 .../local-packages/waitress/task.py | 0 .../local-packages/waitress/trigger.py | 0 .../local-packages/waitress/utilities.py | 0 .../local-packages/waitress/version_info.md | 0 ardublocklyserver/serialport.py | 0 ardublocklyserver/server.py | 0 ardublocklyserver/sketchcreator.py | 0 ardublocklyserver/tests/actions_test.py | 0 .../tests/compilersettings_test.py | 0 ardublocklyserver/tests/requirements.txt | 0 ardublocklyserver/tests/run_all.py | 0 ardublocklyserver/tests/server_test.py | 0 ardublocklyserver/tests/sketchcreator_test.py | 0 arduino_libraries/Adafruit_Sensor.zip | Bin 0 -> 15377 bytes arduino_libraries/DHT.zip | Bin 0 -> 20857 bytes arduino_libraries/DS3231.zip | Bin 0 -> 25781 bytes arduino_libraries/HC-SR04.zip | Bin 0 -> 3252 bytes arduino_libraries/IRremote.zip | Bin 0 -> 34586 bytes arduino_libraries/Keypad.zip | Bin 0 -> 9706 bytes arduino_libraries/LedControl.zip | Bin 0 -> 8687 bytes arduino_libraries/LiquidCrystal.zip | Bin 0 -> 18185 bytes arduino_libraries/MPU6050.zip | Bin 0 -> 27720 bytes arduino_libraries/MPU6050_light.zip | Bin 0 -> 198611 bytes arduino_libraries/QMI8658C.zip | Bin 0 -> 15582 bytes arduino_libraries/RTClib.zip | Bin 0 -> 16875 bytes arduino_libraries/Servo.zip | Bin 0 -> 19531 bytes arduino_libraries/Stepper.zip | Bin 0 -> 10121 bytes arduino_libraries/pitches.zip | Bin 0 -> 767 bytes arduino_libraries/rfid.zip | Bin 0 -> 1085072 bytes blockly/.gitignore | 0 blockly/.jshintignore | 0 blockly/LICENSE | 0 blockly/README.md | 0 blockly/appengine/README.txt | 0 blockly/appengine/app.yaml | 0 blockly/appengine/apple-touch-icon.png | Bin blockly/appengine/favicon.ico | Bin blockly/appengine/index.yaml | 0 blockly/appengine/index_redirect.py | 0 blockly/appengine/redirect.html | 0 blockly/appengine/robots.txt | 0 blockly/appengine/storage.js | 0 blockly/appengine/storage.py | 0 blockly/arduino_compressed.js | 36 +- blockly/blockly_compressed.js | 4 +- blockly/blockly_uncompressed.js | 0 blockly/blocks/arduino/displays.js | 472 ++++++++ blockly/blocks/arduino/io.js | 286 +++++ blockly/blocks/arduino/logo.js | 0 blockly/blocks/arduino/map.js | 50 +- blockly/blocks/arduino/misc.js | 141 +++ blockly/blocks/arduino/procedures.js | 0 blockly/blocks/arduino/sensors.js | 237 ++++ blockly/blocks/arduino/serial.js | 2 + blockly/blocks/arduino/servo.js | 0 blockly/blocks/arduino/spi.js | 0 blockly/blocks/arduino/stepper.js | 8 +- blockly/blocks/arduino/time.js | 83 ++ blockly/blocks/arduino/tone.js | 0 blockly/blocks/arduino/variables.js | 0 blockly/blocks/colour.js | 0 blockly/blocks/lists.js | 0 blockly/blocks/logic.js | 16 +- blockly/blocks/loops.js | 0 blockly/blocks/math.js | 0 blockly/blocks/procedures.js | 0 blockly/blocks/text.js | 0 blockly/blocks/variables.js | 0 blockly/blocks_compressed.js | 50 +- blockly/core/block.js | 0 blockly/core/block_render_svg.js | 0 blockly/core/block_svg.js | 0 blockly/core/blockly.js | 0 blockly/core/blocks.js | 0 blockly/core/bubble.js | 0 blockly/core/comment.js | 0 blockly/core/connection.js | 0 blockly/core/connection_db.js | 0 blockly/core/constants.js | 0 blockly/core/contextmenu.js | 0 blockly/core/css.js | 0 blockly/core/events.js | 0 blockly/core/field.js | 0 blockly/core/field_angle.js | 0 blockly/core/field_checkbox.js | 0 blockly/core/field_colour.js | 0 blockly/core/field_date.js | 0 blockly/core/field_dropdown.js | 0 blockly/core/field_image.js | 0 blockly/core/field_instance.js | 0 blockly/core/field_label.js | 0 blockly/core/field_number.js | 0 blockly/core/field_textinput.js | 0 blockly/core/field_variable.js | 0 blockly/core/flyout.js | 0 blockly/core/generator.js | 0 blockly/core/icon.js | 0 blockly/core/inject.js | 0 blockly/core/input.js | 0 blockly/core/instances.js | 0 blockly/core/msg.js | 0 blockly/core/mutator.js | 0 blockly/core/names.js | 0 blockly/core/options.js | 0 blockly/core/procedures.js | 0 blockly/core/rendered_connection.js | 0 blockly/core/scrollbar.js | 0 blockly/core/static_typing.js | 0 blockly/core/toolbox.js | 0 blockly/core/tooltip.js | 0 blockly/core/trashcan.js | 0 blockly/core/type.js | 0 blockly/core/types.js | 0 blockly/core/utils.js | 0 blockly/core/variables.js | 0 blockly/core/warning.js | 0 blockly/core/widgetdiv.js | 0 blockly/core/workspace.js | 0 blockly/core/workspace_svg.js | 0 blockly/core/xml.js | 0 blockly/core/zoom_controls.js | 0 blockly/dart_compressed.js | 0 blockly/demos/blockfactory/blocks.js | 0 blockly/demos/blockfactory/factory.js | 0 blockly/demos/blockfactory/icon.png | Bin blockly/demos/blockfactory/index.html | 0 blockly/demos/blockfactory/link.png | Bin blockly/demos/code/code.js | 0 blockly/demos/code/icon.png | Bin blockly/demos/code/icons.png | Bin blockly/demos/code/index.html | 0 blockly/demos/code/msg/ar.js | 0 blockly/demos/code/msg/be-tarask.js | 0 blockly/demos/code/msg/br.js | 0 blockly/demos/code/msg/ca.js | 0 blockly/demos/code/msg/cs.js | 0 blockly/demos/code/msg/da.js | 0 blockly/demos/code/msg/de.js | 0 blockly/demos/code/msg/el.js | 0 blockly/demos/code/msg/en.js | 0 blockly/demos/code/msg/es.js | 0 blockly/demos/code/msg/fa.js | 0 blockly/demos/code/msg/fr.js | 0 blockly/demos/code/msg/he.js | 0 blockly/demos/code/msg/hrx.js | 0 blockly/demos/code/msg/hu.js | 0 blockly/demos/code/msg/ia.js | 0 blockly/demos/code/msg/is.js | 0 blockly/demos/code/msg/it.js | 0 blockly/demos/code/msg/ja.js | 0 blockly/demos/code/msg/ko.js | 0 blockly/demos/code/msg/mk.js | 0 blockly/demos/code/msg/ms.js | 0 blockly/demos/code/msg/nb.js | 0 blockly/demos/code/msg/nl.js | 0 blockly/demos/code/msg/oc.js | 0 blockly/demos/code/msg/pl.js | 0 blockly/demos/code/msg/pms.js | 0 blockly/demos/code/msg/pt-br.js | 0 blockly/demos/code/msg/ro.js | 0 blockly/demos/code/msg/ru.js | 0 blockly/demos/code/msg/sc.js | 0 blockly/demos/code/msg/sk.js | 0 blockly/demos/code/msg/sr.js | 0 blockly/demos/code/msg/sv.js | 0 blockly/demos/code/msg/ta.js | 0 blockly/demos/code/msg/th.js | 0 blockly/demos/code/msg/tlh.js | 0 blockly/demos/code/msg/tr.js | 0 blockly/demos/code/msg/uk.js | 0 blockly/demos/code/msg/vi.js | 0 blockly/demos/code/msg/zh-hans.js | 0 blockly/demos/code/msg/zh-hant.js | 0 blockly/demos/code/style.css | 0 blockly/demos/fixed/icon.png | Bin blockly/demos/fixed/index.html | 0 blockly/demos/generator/icon.png | Bin blockly/demos/generator/index.html | 0 blockly/demos/graph/icon.png | Bin blockly/demos/graph/index.html | 0 blockly/demos/headless/icon.png | Bin blockly/demos/headless/index.html | 0 blockly/demos/index.html | 0 .../demos/interpreter/acorn_interpreter.js | 0 blockly/demos/interpreter/icon.png | Bin blockly/demos/interpreter/index.html | 0 blockly/demos/maxBlocks/icon.png | Bin blockly/demos/maxBlocks/index.html | 0 blockly/demos/mirror/icon.png | Bin blockly/demos/mirror/index.html | 0 blockly/demos/plane/README.txt | 0 blockly/demos/plane/blocks.js | 0 blockly/demos/plane/generated/ar.js | 0 blockly/demos/plane/generated/be-tarask.js | 0 blockly/demos/plane/generated/br.js | 0 blockly/demos/plane/generated/ca.js | 0 blockly/demos/plane/generated/da.js | 0 blockly/demos/plane/generated/de.js | 0 blockly/demos/plane/generated/el.js | 0 blockly/demos/plane/generated/en.js | 0 blockly/demos/plane/generated/es.js | 0 blockly/demos/plane/generated/fa.js | 0 blockly/demos/plane/generated/fr.js | 0 blockly/demos/plane/generated/he.js | 0 blockly/demos/plane/generated/hrx.js | 0 blockly/demos/plane/generated/hu.js | 0 blockly/demos/plane/generated/ia.js | 0 blockly/demos/plane/generated/is.js | 0 blockly/demos/plane/generated/it.js | 0 blockly/demos/plane/generated/ja.js | 0 blockly/demos/plane/generated/ko.js | 0 blockly/demos/plane/generated/ms.js | 0 blockly/demos/plane/generated/nb.js | 0 blockly/demos/plane/generated/nl.js | 0 blockly/demos/plane/generated/pl.js | 0 blockly/demos/plane/generated/pms.js | 0 blockly/demos/plane/generated/pt-br.js | 0 blockly/demos/plane/generated/ro.js | 0 blockly/demos/plane/generated/ru.js | 0 blockly/demos/plane/generated/sc.js | 0 blockly/demos/plane/generated/sv.js | 0 blockly/demos/plane/generated/th.js | 0 blockly/demos/plane/generated/tr.js | 0 blockly/demos/plane/generated/uk.js | 0 blockly/demos/plane/generated/vi.js | 0 blockly/demos/plane/generated/zh-hans.js | 0 blockly/demos/plane/generated/zh-hant.js | 0 blockly/demos/plane/icon.png | Bin blockly/demos/plane/index.html | 0 blockly/demos/plane/plane.js | 0 blockly/demos/plane/slider.js | 0 blockly/demos/plane/soy/COPYING | 0 blockly/demos/plane/soy/README | 0 blockly/demos/plane/soy/SoyMsgExtractor.jar | Bin .../demos/plane/soy/SoyToJsSrcCompiler.jar | Bin blockly/demos/plane/soy/soyutils.js | 0 blockly/demos/plane/style.css | 0 blockly/demos/plane/template.soy | 0 blockly/demos/plane/xlf/extracted_msgs.xlf | 0 .../demos/plane/xlf/translated_msgs_ar.xlf | 0 .../plane/xlf/translated_msgs_be-tarask.xlf | 0 .../demos/plane/xlf/translated_msgs_br.xlf | 0 .../demos/plane/xlf/translated_msgs_ca.xlf | 0 .../demos/plane/xlf/translated_msgs_da.xlf | 0 .../demos/plane/xlf/translated_msgs_de.xlf | 0 .../demos/plane/xlf/translated_msgs_el.xlf | 0 .../demos/plane/xlf/translated_msgs_en.xlf | 0 .../demos/plane/xlf/translated_msgs_es.xlf | 0 .../demos/plane/xlf/translated_msgs_fa.xlf | 0 .../demos/plane/xlf/translated_msgs_fr.xlf | 0 .../demos/plane/xlf/translated_msgs_he.xlf | 0 .../demos/plane/xlf/translated_msgs_hrx.xlf | 0 .../demos/plane/xlf/translated_msgs_hu.xlf | 0 .../demos/plane/xlf/translated_msgs_ia.xlf | 0 .../demos/plane/xlf/translated_msgs_is.xlf | 0 .../demos/plane/xlf/translated_msgs_it.xlf | 0 .../demos/plane/xlf/translated_msgs_ja.xlf | 0 .../demos/plane/xlf/translated_msgs_ko.xlf | 0 .../demos/plane/xlf/translated_msgs_ms.xlf | 0 .../demos/plane/xlf/translated_msgs_nb.xlf | 0 .../demos/plane/xlf/translated_msgs_nl.xlf | 0 .../demos/plane/xlf/translated_msgs_pl.xlf | 0 .../demos/plane/xlf/translated_msgs_pms.xlf | 0 .../demos/plane/xlf/translated_msgs_pt-br.xlf | 0 .../demos/plane/xlf/translated_msgs_ro.xlf | 0 .../demos/plane/xlf/translated_msgs_ru.xlf | 0 .../demos/plane/xlf/translated_msgs_sc.xlf | 0 .../demos/plane/xlf/translated_msgs_sv.xlf | 0 .../demos/plane/xlf/translated_msgs_th.xlf | 0 .../demos/plane/xlf/translated_msgs_tr.xlf | 0 .../demos/plane/xlf/translated_msgs_uk.xlf | 0 .../demos/plane/xlf/translated_msgs_vi.xlf | 0 .../plane/xlf/translated_msgs_zh-hans.xlf | 0 .../plane/xlf/translated_msgs_zh-hant.xlf | 0 blockly/demos/prettify.css | 0 blockly/demos/prettify.js | 0 blockly/demos/resizable/icon.png | Bin blockly/demos/resizable/index.html | 0 blockly/demos/resizable/overlay.html | 0 blockly/demos/rtl/icon.png | Bin blockly/demos/rtl/index.html | 0 blockly/demos/storage/icon.png | Bin blockly/demos/storage/index.html | 0 blockly/demos/toolbox/icon.png | Bin blockly/demos/toolbox/index.html | 0 blockly/generators/arduino.js | 45 +- blockly/generators/arduino/boards.js | 0 blockly/generators/arduino/colour.js | 0 blockly/generators/arduino/displays.js | 196 ++++ blockly/generators/arduino/io.js | 170 +++ blockly/generators/arduino/lists.js | 0 blockly/generators/arduino/logic.js | 7 +- blockly/generators/arduino/loops.js | 0 blockly/generators/arduino/map.js | 16 +- blockly/generators/arduino/math.js | 0 blockly/generators/arduino/misc.js | 80 ++ blockly/generators/arduino/procedures.js | 5 +- blockly/generators/arduino/sensors.js | 141 +++ blockly/generators/arduino/serial.js | 5 +- blockly/generators/arduino/servo.js | 3 +- blockly/generators/arduino/spi.js | 0 blockly/generators/arduino/stepper.js | 3 +- blockly/generators/arduino/text.js | 0 blockly/generators/arduino/time.js | 42 + blockly/generators/arduino/tone.js | 0 blockly/generators/arduino/variables.js | 0 blockly/generators/dart.js | 0 blockly/generators/dart/colour.js | 0 blockly/generators/dart/lists.js | 0 blockly/generators/dart/logic.js | 0 blockly/generators/dart/loops.js | 0 blockly/generators/dart/math.js | 0 blockly/generators/dart/procedures.js | 0 blockly/generators/dart/text.js | 0 blockly/generators/dart/variables.js | 0 blockly/generators/javascript.js | 0 blockly/generators/javascript/colour.js | 0 blockly/generators/javascript/lists.js | 0 blockly/generators/javascript/logic.js | 0 blockly/generators/javascript/loops.js | 0 blockly/generators/javascript/math.js | 0 blockly/generators/javascript/procedures.js | 0 blockly/generators/javascript/text.js | 0 blockly/generators/javascript/variables.js | 0 blockly/generators/lua.js | 0 blockly/generators/lua/colour.js | 0 blockly/generators/lua/lists.js | 0 blockly/generators/lua/logic.js | 0 blockly/generators/lua/loops.js | 0 blockly/generators/lua/math.js | 0 blockly/generators/lua/procedures.js | 0 blockly/generators/lua/text.js | 0 blockly/generators/lua/variables.js | 0 blockly/generators/php.js | 0 blockly/generators/php/colour.js | 0 blockly/generators/php/lists.js | 0 blockly/generators/php/logic.js | 0 blockly/generators/php/loops.js | 0 blockly/generators/php/math.js | 0 blockly/generators/php/procedures.js | 0 blockly/generators/php/text.js | 0 blockly/generators/php/variables.js | 0 blockly/generators/python.js | 0 blockly/generators/python/colour.js | 0 blockly/generators/python/lists.js | 0 blockly/generators/python/logic.js | 0 blockly/generators/python/loops.js | 0 blockly/generators/python/math.js | 0 blockly/generators/python/procedures.js | 0 blockly/generators/python/text.js | 0 blockly/generators/python/variables.js | 0 blockly/i18n/common.py | 0 blockly/i18n/tests.py | 0 blockly/javascript_compressed.js | 0 blockly/lua_compressed.js | 0 blockly/media/1x1.gif | Bin blockly/media/click.mp3 | Bin blockly/media/click.ogg | Bin blockly/media/click.wav | Bin blockly/media/delete.mp3 | Bin blockly/media/delete.ogg | Bin blockly/media/delete.wav | Bin blockly/media/disconnect.mp3 | Bin blockly/media/disconnect.ogg | Bin blockly/media/disconnect.wav | Bin blockly/media/handclosed.cur | Bin blockly/media/handdelete.cur | Bin blockly/media/handopen.cur | Bin blockly/media/quote0.png | Bin blockly/media/quote1.png | Bin blockly/media/sprites.png | Bin blockly/media/sprites.svg | 0 blockly/msg/js/ar.js | 364 ++++-- blockly/msg/js/az.js | 364 ++++-- blockly/msg/js/ba.js | 364 ++++-- blockly/msg/js/bcc.js | 364 ++++-- blockly/msg/js/be-tarask.js | 364 ++++-- blockly/msg/js/bg.js | 364 ++++-- blockly/msg/js/bn.js | 364 ++++-- blockly/msg/js/br.js | 364 ++++-- blockly/msg/js/ca.js | 364 ++++-- blockly/msg/js/cs.js | 364 ++++-- blockly/msg/js/da.js | 364 ++++-- blockly/msg/js/de.js | 1032 ++++++++++------- blockly/msg/js/el.js | 365 ++++-- blockly/msg/js/en.js | 152 ++- blockly/msg/js/es.js | 364 ++++-- blockly/msg/js/fa.js | 364 ++++-- blockly/msg/js/fi.js | 364 ++++-- blockly/msg/js/fr.js | 350 ++++-- blockly/msg/js/he.js | 364 ++++-- blockly/msg/js/hi.js | 364 ++++-- blockly/msg/js/hrx.js | 364 ++++-- blockly/msg/js/hu.js | 364 ++++-- blockly/msg/js/ia.js | 364 ++++-- blockly/msg/js/id.js | 364 ++++-- blockly/msg/js/is.js | 364 ++++-- blockly/msg/js/it.js | 338 ++++-- blockly/msg/js/ja.js | 364 ++++-- blockly/msg/js/ko.js | 364 ++++-- blockly/msg/js/lb.js | 364 ++++-- blockly/msg/js/lki.js | 364 ++++-- blockly/msg/js/lrc.js | 364 ++++-- blockly/msg/js/lt.js | 364 ++++-- blockly/msg/js/mk.js | 364 ++++-- blockly/msg/js/ms.js | 364 ++++-- blockly/msg/js/nb.js | 364 ++++-- blockly/msg/js/nl.js | 332 ++++-- blockly/msg/js/oc.js | 364 ++++-- blockly/msg/js/pl.js | 364 ++++-- blockly/msg/js/pms.js | 364 ++++-- blockly/msg/js/pt-br.js | 364 ++++-- blockly/msg/js/pt.js | 364 ++++-- blockly/msg/js/ro.js | 364 ++++-- blockly/msg/js/ru.js | 135 +++ blockly/msg/js/sc.js | 364 ++++-- blockly/msg/js/sd.js | 364 ++++-- blockly/msg/js/shn.js | 364 ++++-- blockly/msg/js/sk.js | 364 ++++-- blockly/msg/js/sl.js | 364 ++++-- blockly/msg/js/sq.js | 364 ++++-- blockly/msg/js/sr.js | 364 ++++-- blockly/msg/js/sv.js | 364 ++++-- blockly/msg/js/ta.js | 364 ++++-- blockly/msg/js/tcy.js | 364 ++++-- blockly/msg/js/th.js | 364 ++++-- blockly/msg/js/tl.js | 364 ++++-- blockly/msg/js/tlh.js | 364 ++++-- blockly/msg/js/tr.js | 364 ++++-- blockly/msg/js/uk.js | 364 ++++-- blockly/msg/js/vi.js | 364 ++++-- blockly/msg/js/zh-hans.js | 364 ++++-- blockly/msg/js/zh-hant.js | 364 ++++-- blockly/msg/json/ar.json | 2 + blockly/msg/json/az.json | 2 + blockly/msg/json/ba.json | 2 + blockly/msg/json/bcc.json | 2 + blockly/msg/json/be-tarask.json | 2 + blockly/msg/json/bg.json | 2 + blockly/msg/json/bn.json | 2 + blockly/msg/json/br.json | 2 + blockly/msg/json/ca.json | 2 + blockly/msg/json/cs.json | 2 + blockly/msg/json/da.json | 2 + blockly/msg/json/de.json | 2 + blockly/msg/json/de_ardublockly.json | 241 ++++ blockly/msg/json/el.json | 2 + blockly/msg/json/en.json | 2 + blockly/msg/json/en_ardublockly.json | 140 ++- blockly/msg/json/es.json | 2 + blockly/msg/json/es_ardublockly.json | 242 +++- blockly/msg/json/fa.json | 2 + blockly/msg/json/fi.json | 2 + blockly/msg/json/fr.json | 2 + blockly/msg/json/fr_ardublockly.json | 329 ++++-- blockly/msg/json/he.json | 2 + blockly/msg/json/hi.json | 2 + blockly/msg/json/hrx.json | 2 + blockly/msg/json/hu.json | 2 + blockly/msg/json/ia.json | 2 + blockly/msg/json/id.json | 2 + blockly/msg/json/is.json | 2 + blockly/msg/json/it.json | 2 + blockly/msg/json/it_ardublockly.json | 324 ++++-- blockly/msg/json/ja.json | 2 + blockly/msg/json/ko.json | 2 + blockly/msg/json/lb.json | 2 + blockly/msg/json/lki.json | 2 + blockly/msg/json/lrc.json | 2 + blockly/msg/json/lt.json | 2 + blockly/msg/json/mk.json | 2 + blockly/msg/json/ms.json | 2 + blockly/msg/json/nb.json | 2 + blockly/msg/json/nl.json | 2 + blockly/msg/json/nl_ardublockly.json | 317 +++-- blockly/msg/json/oc.json | 2 + blockly/msg/json/pl.json | 2 + blockly/msg/json/pms.json | 2 + blockly/msg/json/pt-br.json | 2 + blockly/msg/json/pt.json | 2 + blockly/msg/json/qqq.json | 0 blockly/msg/json/qqq_ardublockly.json | 0 blockly/msg/json/ro.json | 2 + blockly/msg/json/ru.json | 2 + blockly/msg/json/ru_ardublockly.json | 333 ++++-- blockly/msg/json/sc.json | 2 + blockly/msg/json/sd.json | 2 + blockly/msg/json/shn.json | 2 + blockly/msg/json/sk.json | 2 + blockly/msg/json/sl.json | 2 + blockly/msg/json/sq.json | 2 + blockly/msg/json/sr.json | 2 + blockly/msg/json/sv.json | 2 + blockly/msg/json/synonyms.json | 0 blockly/msg/json/synonyms_ardublockly.json | 0 blockly/msg/json/ta.json | 5 + blockly/msg/json/tcy.json | 5 + blockly/msg/json/th.json | 2 + blockly/msg/json/tl.json | 2 + blockly/msg/json/tlh.json | 2 + blockly/msg/json/tr.json | 2 + blockly/msg/json/uk.json | 2 + blockly/msg/json/vi.json | 2 + blockly/msg/json/zh-hans.json | 2 + blockly/msg/json/zh-hant.json | 2 + blockly/msg/messages.js | 22 +- blockly/msg/messages_ardublockly.js | 141 ++- blockly/package.json | 0 blockly/php_compressed.js | 0 blockly/python_compressed.js | 0 blockly/tests/generators/colour.xml | 0 blockly/tests/generators/functions.xml | 0 blockly/tests/generators/index.html | 0 blockly/tests/generators/lists.xml | 0 blockly/tests/generators/logic.xml | 0 blockly/tests/generators/loops1.xml | 0 blockly/tests/generators/loops2.xml | 0 blockly/tests/generators/loops3.xml | 0 blockly/tests/generators/math.xml | 0 blockly/tests/generators/text.xml | 0 blockly/tests/generators/unittest.js | 0 blockly/tests/generators/unittest_arduino.js | 0 blockly/tests/generators/unittest_dart.js | 0 .../tests/generators/unittest_javascript.js | 0 blockly/tests/generators/unittest_lua.js | 0 blockly/tests/generators/unittest_php.js | 0 blockly/tests/generators/unittest_python.js | 0 blockly/tests/generators/variables.xml | 0 blockly/tests/jsunit/blockly_test.js | 0 blockly/tests/jsunit/connection_db_test.js | 0 blockly/tests/jsunit/connection_test.js | 0 blockly/tests/jsunit/db_test.js | 0 blockly/tests/jsunit/generator_test.js | 0 blockly/tests/jsunit/index.html | 0 blockly/tests/jsunit/names_test.js | 0 blockly/tests/jsunit/workspace_test.js | 0 blockly/tests/jsunit/xml_test.js | 0 blockly/tests/multi_playground.html | 0 blockly/tests/playground.html | 0 blocks/README.md | 0 blocks/blocks_data.json | 0 blocks/grove/README.md | 0 blocks/grove/blocks.js | 0 blocks/grove/blocks_config.json | 0 blocks/grove/examples/joystick_lcd.xml | 0 blocks/grove/examples/joystick_servo.xml | 0 blocks/grove/examples/pir_led.xml | 0 blocks/grove/examples/temperature_serial.xml | 0 blocks/grove/extensions.js | 0 blocks/grove/generator_arduino.js | 0 blocks/grove/img/button.png | Bin blocks/grove/img/joystick.png | Bin blocks/grove/img/lcd_rgb.png | Bin blocks/grove/img/led.png | Bin blocks/grove/img/pir.png | Bin blocks/grove/img/temperature.png | Bin blocks/grove/msg/lang/en.js | 0 blocks/grove/msg/lang/es.js | 0 blocks/grove/msg/messages.js | 0 blocks/test/blocks.js | 0 blocks/test/blocks_config.json | 0 blocks/test/generator_arduino.js | 0 blocks/test/msg/lang/en.js | 0 blocks/test/msg/lang/es.js | 0 blocks/test/msg/messages.js | 0 blocks/user/README.md | 0 examples/blink.xml | 0 examples/serial_print_ascii.xml | 0 examples/serial_repeat_game.xml | 0 examples/servo_knob.xml | 0 examples/stepper_knob.xml | 0 examples/traffic_light.xml | 0 package/README.md | 0 package/ardublocklydocs/mkdocs.yml | 0 package/build_docs.py | 0 package/build_pyinstaller.py | 0 package/electron/.gitignore | 0 package/electron/README.md | 0 package/electron/app/appmenu.js | 0 package/electron/app/helpers/context_menu.js | 0 .../electron/app/helpers/external_links.js | 0 package/electron/app/helpers/window.js | 0 package/electron/app/main.js | 0 package/electron/app/package.json | 0 package/electron/app/projectlocator.js | 0 package/electron/app/servermgr.js | 0 package/electron/config/env_development.json | 0 package/electron/config/env_production.json | 0 package/electron/gulpfile.js | 0 package/electron/package.json | 0 package/electron/resources/icon.png | Bin .../electron/resources/linux/DEBIAN/control | 0 package/electron/resources/linux/app.desktop | 0 package/electron/resources/osx/Info.plist | 0 package/electron/resources/osx/appdmg.json | 0 .../electron/resources/osx/dmg-background.png | Bin .../resources/osx/dmg-background@2x.png | Bin package/electron/resources/osx/dmg-icon.icns | Bin .../resources/osx/helper_apps/Info EH.plist | 0 .../resources/osx/helper_apps/Info NP.plist | 0 .../resources/osx/helper_apps/Info.plist | 0 package/electron/resources/osx/icon.icns | Bin package/electron/resources/windows/icon.ico | Bin .../electron/resources/windows/installer.nsi | 0 .../resources/windows/setup-banner.bmp | Bin .../electron/resources/windows/setup-icon.ico | Bin package/electron/tasks/build/build.js | 0 package/electron/tasks/build/bundle.js | 0 package/electron/tasks/release/linux.js | 0 package/electron/tasks/release/osx.js | 0 package/electron/tasks/release/release.js | 0 package/electron/tasks/release/windows.js | 0 package/electron/tasks/start.js | 0 package/electron/tasks/utils.js | 0 package/pack_ardublockly.py | 0 package/pyinstaller.spec | 0 package/requirements.txt | 0 package/wxcef_build/.appveyor_wxcef.yml | 0 package/wxcef_build/.travis_wxcef.yml | 0 package/wxcef_build/README.md | 0 .../wxcef_build/build_pyinstaller_wxcef.py | 0 package/wxcef_build/build_windows_wxcef.py | 0 package/wxcef_build/circle_wxcef.yml | 0 package/wxcef_build/pack_ardublockly_wxcef.py | 0 package/wxcef_build/pyinstaller_wxcef.spec | 0 package/wxcef_build/start_cef.py | 0 screenshot.png | Bin 0 -> 107478 bytes start.py | 0 763 files changed, 19283 insertions(+), 7785 deletions(-) mode change 100644 => 100755 LICENSE mode change 100644 => 100755 README.md mode change 100644 => 100755 ardublockly/ardublockly.css mode change 100644 => 100755 ardublockly/ardublockly.js mode change 100644 => 100755 ardublockly/ardublockly_blockly.js mode change 100644 => 100755 ardublockly/ardublockly_design.js mode change 100644 => 100755 ardublockly/ardublockly_desktop.js mode change 100644 => 100755 ardublockly/ardublockly_lang.js mode change 100644 => 100755 ardublockly/ardublockly_toolbox.js mode change 100644 => 100755 ardublockly/ardublocklyserver_ajax.js mode change 100644 => 100755 ardublockly/classic/ardublockly_classic.css mode change 100644 => 100755 ardublockly/classic/ardublockly_classic.js mode change 100644 => 100755 ardublockly/classic/icons.png mode change 100644 => 100755 ardublockly/classic/index.html mode change 100644 => 100755 ardublockly/classic/settings.css mode change 100644 => 100755 ardublockly/classic/settings.html mode change 100644 => 100755 ardublockly/classic/settings.js mode change 100644 => 100755 ardublockly/font/droid/DroidSansMono.ttf mode change 100644 => 100755 ardublockly/font/droid/NOTICE mode change 100644 => 100755 ardublockly/font/droid/README.txt mode change 100644 => 100755 ardublockly/font/material-design-icons/LICENSE.txt mode change 100644 => 100755 ardublockly/font/material-design-icons/Material-Design-Icons.eot mode change 100644 => 100755 ardublockly/font/material-design-icons/Material-Design-Icons.svg mode change 100644 => 100755 ardublockly/font/material-design-icons/Material-Design-Icons.ttf mode change 100644 => 100755 ardublockly/font/material-design-icons/Material-Design-Icons.woff mode change 100644 => 100755 ardublockly/font/material-design-icons/Material-Design-Icons.woff2 mode change 100644 => 100755 ardublockly/font/roboto/Roboto-Bold.eot mode change 100644 => 100755 ardublockly/font/roboto/Roboto-Bold.ttf mode change 100644 => 100755 ardublockly/font/roboto/Roboto-Bold.woff mode change 100644 => 100755 ardublockly/font/roboto/Roboto-Bold.woff2 mode change 100644 => 100755 ardublockly/font/roboto/Roboto-Light.eot mode change 100644 => 100755 ardublockly/font/roboto/Roboto-Light.ttf mode change 100644 => 100755 ardublockly/font/roboto/Roboto-Light.woff mode change 100644 => 100755 ardublockly/font/roboto/Roboto-Light.woff2 mode change 100644 => 100755 ardublockly/font/roboto/Roboto-Medium.eot mode change 100644 => 100755 ardublockly/font/roboto/Roboto-Medium.ttf mode change 100644 => 100755 ardublockly/font/roboto/Roboto-Medium.woff mode change 100644 => 100755 ardublockly/font/roboto/Roboto-Medium.woff2 mode change 100644 => 100755 ardublockly/font/roboto/Roboto-Regular.eot mode change 100644 => 100755 ardublockly/font/roboto/Roboto-Regular.ttf mode change 100644 => 100755 ardublockly/font/roboto/Roboto-Regular.woff mode change 100644 => 100755 ardublockly/font/roboto/Roboto-Regular.woff2 mode change 100644 => 100755 ardublockly/font/roboto/Roboto-Thin.eot mode change 100644 => 100755 ardublockly/font/roboto/Roboto-Thin.ttf mode change 100644 => 100755 ardublockly/font/roboto/Roboto-Thin.woff mode change 100644 => 100755 ardublockly/font/roboto/Roboto-Thin.woff2 create mode 100755 ardublockly/img/ardublockly_icon.png mode change 100644 => 100755 ardublockly/img/ardublockly_splash.png mode change 100644 => 100755 ardublockly/img/favicon.ico mode change 100644 => 100755 ardublockly/img/sidenav_header.png mode change 100644 => 100755 ardublockly/index.html mode change 100644 => 100755 ardublockly/js_libs/FileSaver.min.js mode change 100644 => 100755 ardublockly/js_libs/FileSaver_LICENSE.md mode change 100644 => 100755 ardublockly/js_libs/diff.js mode change 100644 => 100755 ardublockly/js_libs/diff_LICENSE mode change 100644 => 100755 ardublockly/js_libs/hammer.min.js mode change 100644 => 100755 ardublockly/js_libs/jquery-2.1.3.min.js mode change 100644 => 100755 ardublockly/js_libs/jquery_LICENSE mode change 100644 => 100755 ardublockly/materialize/LICENSE mode change 100644 => 100755 ardublockly/materialize/README.md mode change 100644 => 100755 ardublockly/materialize/materialize.css mode change 100644 => 100755 ardublockly/materialize/materialize.js create mode 100755 ardublockly/msg/de.js mode change 100644 => 100755 ardublockly/msg/en.js mode change 100644 => 100755 ardublockly/msg/es.js mode change 100644 => 100755 ardublockly/msg/fr.js mode change 100644 => 100755 ardublockly/msg/it.js mode change 100644 => 100755 ardublockly/msg/nl.js mode change 100644 => 100755 ardublockly/msg/pt.js mode change 100644 => 100755 ardublockly/msg/ru.js mode change 100644 => 100755 ardublockly/prettify/arduino.css mode change 100644 => 100755 ardublockly/prettify/hemisu-light.css mode change 100644 => 100755 ardublockly/prettify/prettify.css mode change 100644 => 100755 ardublockly/prettify/prettify.js mode change 100644 => 100755 ardublockly/prettify/run_prettify.js mode change 100644 => 100755 ardublockly/prettify/tomorrow.css mode change 100644 => 100755 ardublocklyserver/__init__.py mode change 100644 => 100755 ardublocklyserver/actions.py mode change 100644 => 100755 ardublocklyserver/compilersettings.py mode change 100644 => 100755 ardublocklyserver/local-packages/bottle-info/AUTHORS mode change 100644 => 100755 ardublocklyserver/local-packages/bottle-info/LICENSE mode change 100644 => 100755 ardublocklyserver/local-packages/bottle-info/README.rst mode change 100644 => 100755 ardublocklyserver/local-packages/bottle-info/version_info.md mode change 100644 => 100755 ardublocklyserver/local-packages/bottle.py mode change 100644 => 100755 ardublocklyserver/local-packages/configparser/README.md mode change 100644 => 100755 ardublocklyserver/local-packages/configparser/__init__.py mode change 100644 => 100755 ardublocklyserver/local-packages/configparser/helpers.py mode change 100644 => 100755 ardublocklyserver/local-packages/serial/CHANGES.rst mode change 100644 => 100755 ardublocklyserver/local-packages/serial/LICENSE.txt mode change 100644 => 100755 ardublocklyserver/local-packages/serial/README.rst mode change 100644 => 100755 ardublocklyserver/local-packages/serial/__init__.py mode change 100644 => 100755 ardublocklyserver/local-packages/serial/rfc2217.py mode change 100644 => 100755 ardublocklyserver/local-packages/serial/rs485.py mode change 100644 => 100755 ardublocklyserver/local-packages/serial/serialcli.py mode change 100644 => 100755 ardublocklyserver/local-packages/serial/serialjava.py mode change 100644 => 100755 ardublocklyserver/local-packages/serial/serialposix.py mode change 100644 => 100755 ardublocklyserver/local-packages/serial/serialutil.py mode change 100644 => 100755 ardublocklyserver/local-packages/serial/serialwin32.py mode change 100644 => 100755 ardublocklyserver/local-packages/serial/threaded/__init__.py mode change 100644 => 100755 ardublocklyserver/local-packages/serial/tools/__init__.py mode change 100644 => 100755 ardublocklyserver/local-packages/serial/tools/hexlify_codec.py mode change 100644 => 100755 ardublocklyserver/local-packages/serial/tools/list_ports.py mode change 100644 => 100755 ardublocklyserver/local-packages/serial/tools/list_ports_common.py mode change 100644 => 100755 ardublocklyserver/local-packages/serial/tools/list_ports_linux.py mode change 100644 => 100755 ardublocklyserver/local-packages/serial/tools/list_ports_osx.py mode change 100644 => 100755 ardublocklyserver/local-packages/serial/tools/list_ports_posix.py mode change 100644 => 100755 ardublocklyserver/local-packages/serial/tools/list_ports_windows.py mode change 100644 => 100755 ardublocklyserver/local-packages/serial/tools/miniterm.py mode change 100644 => 100755 ardublocklyserver/local-packages/serial/urlhandler/__init__.py mode change 100644 => 100755 ardublocklyserver/local-packages/serial/urlhandler/protocol_alt.py mode change 100644 => 100755 ardublocklyserver/local-packages/serial/urlhandler/protocol_hwgrep.py mode change 100644 => 100755 ardublocklyserver/local-packages/serial/urlhandler/protocol_loop.py mode change 100644 => 100755 ardublocklyserver/local-packages/serial/urlhandler/protocol_rfc2217.py mode change 100644 => 100755 ardublocklyserver/local-packages/serial/urlhandler/protocol_socket.py mode change 100644 => 100755 ardublocklyserver/local-packages/serial/urlhandler/protocol_spy.py mode change 100644 => 100755 ardublocklyserver/local-packages/serial/version_info.md mode change 100644 => 100755 ardublocklyserver/local-packages/serial/win32.py mode change 100644 => 100755 ardublocklyserver/local-packages/six-info/LICENSE mode change 100644 => 100755 ardublocklyserver/local-packages/six-info/README mode change 100644 => 100755 ardublocklyserver/local-packages/six.py mode change 100644 => 100755 ardublocklyserver/local-packages/waitress/CHANGES.txt mode change 100644 => 100755 ardublocklyserver/local-packages/waitress/CONTRIBUTORS.txt mode change 100644 => 100755 ardublocklyserver/local-packages/waitress/COPYRIGHT.txt mode change 100644 => 100755 ardublocklyserver/local-packages/waitress/HISTORY.txt mode change 100644 => 100755 ardublocklyserver/local-packages/waitress/LICENSE.txt mode change 100644 => 100755 ardublocklyserver/local-packages/waitress/README.rst mode change 100644 => 100755 ardublocklyserver/local-packages/waitress/__init__.py mode change 100644 => 100755 ardublocklyserver/local-packages/waitress/adjustments.py mode change 100644 => 100755 ardublocklyserver/local-packages/waitress/buffers.py mode change 100644 => 100755 ardublocklyserver/local-packages/waitress/channel.py mode change 100644 => 100755 ardublocklyserver/local-packages/waitress/compat.py mode change 100644 => 100755 ardublocklyserver/local-packages/waitress/parser.py mode change 100644 => 100755 ardublocklyserver/local-packages/waitress/receiver.py mode change 100644 => 100755 ardublocklyserver/local-packages/waitress/runner.py mode change 100644 => 100755 ardublocklyserver/local-packages/waitress/server.py mode change 100644 => 100755 ardublocklyserver/local-packages/waitress/task.py mode change 100644 => 100755 ardublocklyserver/local-packages/waitress/trigger.py mode change 100644 => 100755 ardublocklyserver/local-packages/waitress/utilities.py mode change 100644 => 100755 ardublocklyserver/local-packages/waitress/version_info.md mode change 100644 => 100755 ardublocklyserver/serialport.py mode change 100644 => 100755 ardublocklyserver/server.py mode change 100644 => 100755 ardublocklyserver/sketchcreator.py mode change 100644 => 100755 ardublocklyserver/tests/actions_test.py mode change 100644 => 100755 ardublocklyserver/tests/compilersettings_test.py mode change 100644 => 100755 ardublocklyserver/tests/requirements.txt mode change 100644 => 100755 ardublocklyserver/tests/run_all.py mode change 100644 => 100755 ardublocklyserver/tests/server_test.py mode change 100644 => 100755 ardublocklyserver/tests/sketchcreator_test.py create mode 100755 arduino_libraries/Adafruit_Sensor.zip create mode 100755 arduino_libraries/DHT.zip create mode 100755 arduino_libraries/DS3231.zip create mode 100755 arduino_libraries/HC-SR04.zip create mode 100755 arduino_libraries/IRremote.zip create mode 100755 arduino_libraries/Keypad.zip create mode 100755 arduino_libraries/LedControl.zip create mode 100755 arduino_libraries/LiquidCrystal.zip create mode 100755 arduino_libraries/MPU6050.zip create mode 100755 arduino_libraries/MPU6050_light.zip create mode 100755 arduino_libraries/QMI8658C.zip create mode 100755 arduino_libraries/RTClib.zip create mode 100755 arduino_libraries/Servo.zip create mode 100755 arduino_libraries/Stepper.zip create mode 100755 arduino_libraries/pitches.zip create mode 100755 arduino_libraries/rfid.zip mode change 100644 => 100755 blockly/.gitignore mode change 100644 => 100755 blockly/.jshintignore mode change 100644 => 100755 blockly/LICENSE mode change 100644 => 100755 blockly/README.md mode change 100644 => 100755 blockly/appengine/README.txt mode change 100644 => 100755 blockly/appengine/app.yaml mode change 100644 => 100755 blockly/appengine/apple-touch-icon.png mode change 100644 => 100755 blockly/appengine/favicon.ico mode change 100644 => 100755 blockly/appengine/index.yaml mode change 100644 => 100755 blockly/appengine/index_redirect.py mode change 100644 => 100755 blockly/appengine/redirect.html mode change 100644 => 100755 blockly/appengine/robots.txt mode change 100644 => 100755 blockly/appengine/storage.js mode change 100644 => 100755 blockly/appengine/storage.py mode change 100644 => 100755 blockly/arduino_compressed.js mode change 100644 => 100755 blockly/blockly_compressed.js mode change 100644 => 100755 blockly/blockly_uncompressed.js create mode 100755 blockly/blocks/arduino/displays.js mode change 100644 => 100755 blockly/blocks/arduino/io.js mode change 100644 => 100755 blockly/blocks/arduino/logo.js mode change 100644 => 100755 blockly/blocks/arduino/map.js create mode 100755 blockly/blocks/arduino/misc.js mode change 100644 => 100755 blockly/blocks/arduino/procedures.js create mode 100755 blockly/blocks/arduino/sensors.js mode change 100644 => 100755 blockly/blocks/arduino/serial.js mode change 100644 => 100755 blockly/blocks/arduino/servo.js mode change 100644 => 100755 blockly/blocks/arduino/spi.js mode change 100644 => 100755 blockly/blocks/arduino/stepper.js mode change 100644 => 100755 blockly/blocks/arduino/time.js mode change 100644 => 100755 blockly/blocks/arduino/tone.js mode change 100644 => 100755 blockly/blocks/arduino/variables.js mode change 100644 => 100755 blockly/blocks/colour.js mode change 100644 => 100755 blockly/blocks/lists.js mode change 100644 => 100755 blockly/blocks/logic.js mode change 100644 => 100755 blockly/blocks/loops.js mode change 100644 => 100755 blockly/blocks/math.js mode change 100644 => 100755 blockly/blocks/procedures.js mode change 100644 => 100755 blockly/blocks/text.js mode change 100644 => 100755 blockly/blocks/variables.js mode change 100644 => 100755 blockly/blocks_compressed.js mode change 100644 => 100755 blockly/core/block.js mode change 100644 => 100755 blockly/core/block_render_svg.js mode change 100644 => 100755 blockly/core/block_svg.js mode change 100644 => 100755 blockly/core/blockly.js mode change 100644 => 100755 blockly/core/blocks.js mode change 100644 => 100755 blockly/core/bubble.js mode change 100644 => 100755 blockly/core/comment.js mode change 100644 => 100755 blockly/core/connection.js mode change 100644 => 100755 blockly/core/connection_db.js mode change 100644 => 100755 blockly/core/constants.js mode change 100644 => 100755 blockly/core/contextmenu.js mode change 100644 => 100755 blockly/core/css.js mode change 100644 => 100755 blockly/core/events.js mode change 100644 => 100755 blockly/core/field.js mode change 100644 => 100755 blockly/core/field_angle.js mode change 100644 => 100755 blockly/core/field_checkbox.js mode change 100644 => 100755 blockly/core/field_colour.js mode change 100644 => 100755 blockly/core/field_date.js mode change 100644 => 100755 blockly/core/field_dropdown.js mode change 100644 => 100755 blockly/core/field_image.js mode change 100644 => 100755 blockly/core/field_instance.js mode change 100644 => 100755 blockly/core/field_label.js mode change 100644 => 100755 blockly/core/field_number.js mode change 100644 => 100755 blockly/core/field_textinput.js mode change 100644 => 100755 blockly/core/field_variable.js mode change 100644 => 100755 blockly/core/flyout.js mode change 100644 => 100755 blockly/core/generator.js mode change 100644 => 100755 blockly/core/icon.js mode change 100644 => 100755 blockly/core/inject.js mode change 100644 => 100755 blockly/core/input.js mode change 100644 => 100755 blockly/core/instances.js mode change 100644 => 100755 blockly/core/msg.js mode change 100644 => 100755 blockly/core/mutator.js mode change 100644 => 100755 blockly/core/names.js mode change 100644 => 100755 blockly/core/options.js mode change 100644 => 100755 blockly/core/procedures.js mode change 100644 => 100755 blockly/core/rendered_connection.js mode change 100644 => 100755 blockly/core/scrollbar.js mode change 100644 => 100755 blockly/core/static_typing.js mode change 100644 => 100755 blockly/core/toolbox.js mode change 100644 => 100755 blockly/core/tooltip.js mode change 100644 => 100755 blockly/core/trashcan.js mode change 100644 => 100755 blockly/core/type.js mode change 100644 => 100755 blockly/core/types.js mode change 100644 => 100755 blockly/core/utils.js mode change 100644 => 100755 blockly/core/variables.js mode change 100644 => 100755 blockly/core/warning.js mode change 100644 => 100755 blockly/core/widgetdiv.js mode change 100644 => 100755 blockly/core/workspace.js mode change 100644 => 100755 blockly/core/workspace_svg.js mode change 100644 => 100755 blockly/core/xml.js mode change 100644 => 100755 blockly/core/zoom_controls.js mode change 100644 => 100755 blockly/dart_compressed.js mode change 100644 => 100755 blockly/demos/blockfactory/blocks.js mode change 100644 => 100755 blockly/demos/blockfactory/factory.js mode change 100644 => 100755 blockly/demos/blockfactory/icon.png mode change 100644 => 100755 blockly/demos/blockfactory/index.html mode change 100644 => 100755 blockly/demos/blockfactory/link.png mode change 100644 => 100755 blockly/demos/code/code.js mode change 100644 => 100755 blockly/demos/code/icon.png mode change 100644 => 100755 blockly/demos/code/icons.png mode change 100644 => 100755 blockly/demos/code/index.html mode change 100644 => 100755 blockly/demos/code/msg/ar.js mode change 100644 => 100755 blockly/demos/code/msg/be-tarask.js mode change 100644 => 100755 blockly/demos/code/msg/br.js mode change 100644 => 100755 blockly/demos/code/msg/ca.js mode change 100644 => 100755 blockly/demos/code/msg/cs.js mode change 100644 => 100755 blockly/demos/code/msg/da.js mode change 100644 => 100755 blockly/demos/code/msg/de.js mode change 100644 => 100755 blockly/demos/code/msg/el.js mode change 100644 => 100755 blockly/demos/code/msg/en.js mode change 100644 => 100755 blockly/demos/code/msg/es.js mode change 100644 => 100755 blockly/demos/code/msg/fa.js mode change 100644 => 100755 blockly/demos/code/msg/fr.js mode change 100644 => 100755 blockly/demos/code/msg/he.js mode change 100644 => 100755 blockly/demos/code/msg/hrx.js mode change 100644 => 100755 blockly/demos/code/msg/hu.js mode change 100644 => 100755 blockly/demos/code/msg/ia.js mode change 100644 => 100755 blockly/demos/code/msg/is.js mode change 100644 => 100755 blockly/demos/code/msg/it.js mode change 100644 => 100755 blockly/demos/code/msg/ja.js mode change 100644 => 100755 blockly/demos/code/msg/ko.js mode change 100644 => 100755 blockly/demos/code/msg/mk.js mode change 100644 => 100755 blockly/demos/code/msg/ms.js mode change 100644 => 100755 blockly/demos/code/msg/nb.js mode change 100644 => 100755 blockly/demos/code/msg/nl.js mode change 100644 => 100755 blockly/demos/code/msg/oc.js mode change 100644 => 100755 blockly/demos/code/msg/pl.js mode change 100644 => 100755 blockly/demos/code/msg/pms.js mode change 100644 => 100755 blockly/demos/code/msg/pt-br.js mode change 100644 => 100755 blockly/demos/code/msg/ro.js mode change 100644 => 100755 blockly/demos/code/msg/ru.js mode change 100644 => 100755 blockly/demos/code/msg/sc.js mode change 100644 => 100755 blockly/demos/code/msg/sk.js mode change 100644 => 100755 blockly/demos/code/msg/sr.js mode change 100644 => 100755 blockly/demos/code/msg/sv.js mode change 100644 => 100755 blockly/demos/code/msg/ta.js mode change 100644 => 100755 blockly/demos/code/msg/th.js mode change 100644 => 100755 blockly/demos/code/msg/tlh.js mode change 100644 => 100755 blockly/demos/code/msg/tr.js mode change 100644 => 100755 blockly/demos/code/msg/uk.js mode change 100644 => 100755 blockly/demos/code/msg/vi.js mode change 100644 => 100755 blockly/demos/code/msg/zh-hans.js mode change 100644 => 100755 blockly/demos/code/msg/zh-hant.js mode change 100644 => 100755 blockly/demos/code/style.css mode change 100644 => 100755 blockly/demos/fixed/icon.png mode change 100644 => 100755 blockly/demos/fixed/index.html mode change 100644 => 100755 blockly/demos/generator/icon.png mode change 100644 => 100755 blockly/demos/generator/index.html mode change 100644 => 100755 blockly/demos/graph/icon.png mode change 100644 => 100755 blockly/demos/graph/index.html mode change 100644 => 100755 blockly/demos/headless/icon.png mode change 100644 => 100755 blockly/demos/headless/index.html mode change 100644 => 100755 blockly/demos/index.html mode change 100644 => 100755 blockly/demos/interpreter/acorn_interpreter.js mode change 100644 => 100755 blockly/demos/interpreter/icon.png mode change 100644 => 100755 blockly/demos/interpreter/index.html mode change 100644 => 100755 blockly/demos/maxBlocks/icon.png mode change 100644 => 100755 blockly/demos/maxBlocks/index.html mode change 100644 => 100755 blockly/demos/mirror/icon.png mode change 100644 => 100755 blockly/demos/mirror/index.html mode change 100644 => 100755 blockly/demos/plane/README.txt mode change 100644 => 100755 blockly/demos/plane/blocks.js mode change 100644 => 100755 blockly/demos/plane/generated/ar.js mode change 100644 => 100755 blockly/demos/plane/generated/be-tarask.js mode change 100644 => 100755 blockly/demos/plane/generated/br.js mode change 100644 => 100755 blockly/demos/plane/generated/ca.js mode change 100644 => 100755 blockly/demos/plane/generated/da.js mode change 100644 => 100755 blockly/demos/plane/generated/de.js mode change 100644 => 100755 blockly/demos/plane/generated/el.js mode change 100644 => 100755 blockly/demos/plane/generated/en.js mode change 100644 => 100755 blockly/demos/plane/generated/es.js mode change 100644 => 100755 blockly/demos/plane/generated/fa.js mode change 100644 => 100755 blockly/demos/plane/generated/fr.js mode change 100644 => 100755 blockly/demos/plane/generated/he.js mode change 100644 => 100755 blockly/demos/plane/generated/hrx.js mode change 100644 => 100755 blockly/demos/plane/generated/hu.js mode change 100644 => 100755 blockly/demos/plane/generated/ia.js mode change 100644 => 100755 blockly/demos/plane/generated/is.js mode change 100644 => 100755 blockly/demos/plane/generated/it.js mode change 100644 => 100755 blockly/demos/plane/generated/ja.js mode change 100644 => 100755 blockly/demos/plane/generated/ko.js mode change 100644 => 100755 blockly/demos/plane/generated/ms.js mode change 100644 => 100755 blockly/demos/plane/generated/nb.js mode change 100644 => 100755 blockly/demos/plane/generated/nl.js mode change 100644 => 100755 blockly/demos/plane/generated/pl.js mode change 100644 => 100755 blockly/demos/plane/generated/pms.js mode change 100644 => 100755 blockly/demos/plane/generated/pt-br.js mode change 100644 => 100755 blockly/demos/plane/generated/ro.js mode change 100644 => 100755 blockly/demos/plane/generated/ru.js mode change 100644 => 100755 blockly/demos/plane/generated/sc.js mode change 100644 => 100755 blockly/demos/plane/generated/sv.js mode change 100644 => 100755 blockly/demos/plane/generated/th.js mode change 100644 => 100755 blockly/demos/plane/generated/tr.js mode change 100644 => 100755 blockly/demos/plane/generated/uk.js mode change 100644 => 100755 blockly/demos/plane/generated/vi.js mode change 100644 => 100755 blockly/demos/plane/generated/zh-hans.js mode change 100644 => 100755 blockly/demos/plane/generated/zh-hant.js mode change 100644 => 100755 blockly/demos/plane/icon.png mode change 100644 => 100755 blockly/demos/plane/index.html mode change 100644 => 100755 blockly/demos/plane/plane.js mode change 100644 => 100755 blockly/demos/plane/slider.js mode change 100644 => 100755 blockly/demos/plane/soy/COPYING mode change 100644 => 100755 blockly/demos/plane/soy/README mode change 100644 => 100755 blockly/demos/plane/soy/SoyMsgExtractor.jar mode change 100644 => 100755 blockly/demos/plane/soy/SoyToJsSrcCompiler.jar mode change 100644 => 100755 blockly/demos/plane/soy/soyutils.js mode change 100644 => 100755 blockly/demos/plane/style.css mode change 100644 => 100755 blockly/demos/plane/template.soy mode change 100644 => 100755 blockly/demos/plane/xlf/extracted_msgs.xlf mode change 100644 => 100755 blockly/demos/plane/xlf/translated_msgs_ar.xlf mode change 100644 => 100755 blockly/demos/plane/xlf/translated_msgs_be-tarask.xlf mode change 100644 => 100755 blockly/demos/plane/xlf/translated_msgs_br.xlf mode change 100644 => 100755 blockly/demos/plane/xlf/translated_msgs_ca.xlf mode change 100644 => 100755 blockly/demos/plane/xlf/translated_msgs_da.xlf mode change 100644 => 100755 blockly/demos/plane/xlf/translated_msgs_de.xlf mode change 100644 => 100755 blockly/demos/plane/xlf/translated_msgs_el.xlf mode change 100644 => 100755 blockly/demos/plane/xlf/translated_msgs_en.xlf mode change 100644 => 100755 blockly/demos/plane/xlf/translated_msgs_es.xlf mode change 100644 => 100755 blockly/demos/plane/xlf/translated_msgs_fa.xlf mode change 100644 => 100755 blockly/demos/plane/xlf/translated_msgs_fr.xlf mode change 100644 => 100755 blockly/demos/plane/xlf/translated_msgs_he.xlf mode change 100644 => 100755 blockly/demos/plane/xlf/translated_msgs_hrx.xlf mode change 100644 => 100755 blockly/demos/plane/xlf/translated_msgs_hu.xlf mode change 100644 => 100755 blockly/demos/plane/xlf/translated_msgs_ia.xlf mode change 100644 => 100755 blockly/demos/plane/xlf/translated_msgs_is.xlf mode change 100644 => 100755 blockly/demos/plane/xlf/translated_msgs_it.xlf mode change 100644 => 100755 blockly/demos/plane/xlf/translated_msgs_ja.xlf mode change 100644 => 100755 blockly/demos/plane/xlf/translated_msgs_ko.xlf mode change 100644 => 100755 blockly/demos/plane/xlf/translated_msgs_ms.xlf mode change 100644 => 100755 blockly/demos/plane/xlf/translated_msgs_nb.xlf mode change 100644 => 100755 blockly/demos/plane/xlf/translated_msgs_nl.xlf mode change 100644 => 100755 blockly/demos/plane/xlf/translated_msgs_pl.xlf mode change 100644 => 100755 blockly/demos/plane/xlf/translated_msgs_pms.xlf mode change 100644 => 100755 blockly/demos/plane/xlf/translated_msgs_pt-br.xlf mode change 100644 => 100755 blockly/demos/plane/xlf/translated_msgs_ro.xlf mode change 100644 => 100755 blockly/demos/plane/xlf/translated_msgs_ru.xlf mode change 100644 => 100755 blockly/demos/plane/xlf/translated_msgs_sc.xlf mode change 100644 => 100755 blockly/demos/plane/xlf/translated_msgs_sv.xlf mode change 100644 => 100755 blockly/demos/plane/xlf/translated_msgs_th.xlf mode change 100644 => 100755 blockly/demos/plane/xlf/translated_msgs_tr.xlf mode change 100644 => 100755 blockly/demos/plane/xlf/translated_msgs_uk.xlf mode change 100644 => 100755 blockly/demos/plane/xlf/translated_msgs_vi.xlf mode change 100644 => 100755 blockly/demos/plane/xlf/translated_msgs_zh-hans.xlf mode change 100644 => 100755 blockly/demos/plane/xlf/translated_msgs_zh-hant.xlf mode change 100644 => 100755 blockly/demos/prettify.css mode change 100644 => 100755 blockly/demos/prettify.js mode change 100644 => 100755 blockly/demos/resizable/icon.png mode change 100644 => 100755 blockly/demos/resizable/index.html mode change 100644 => 100755 blockly/demos/resizable/overlay.html mode change 100644 => 100755 blockly/demos/rtl/icon.png mode change 100644 => 100755 blockly/demos/rtl/index.html mode change 100644 => 100755 blockly/demos/storage/icon.png mode change 100644 => 100755 blockly/demos/storage/index.html mode change 100644 => 100755 blockly/demos/toolbox/icon.png mode change 100644 => 100755 blockly/demos/toolbox/index.html mode change 100644 => 100755 blockly/generators/arduino.js mode change 100644 => 100755 blockly/generators/arduino/boards.js mode change 100644 => 100755 blockly/generators/arduino/colour.js create mode 100755 blockly/generators/arduino/displays.js mode change 100644 => 100755 blockly/generators/arduino/io.js mode change 100644 => 100755 blockly/generators/arduino/lists.js mode change 100644 => 100755 blockly/generators/arduino/logic.js mode change 100644 => 100755 blockly/generators/arduino/loops.js mode change 100644 => 100755 blockly/generators/arduino/map.js mode change 100644 => 100755 blockly/generators/arduino/math.js create mode 100755 blockly/generators/arduino/misc.js mode change 100644 => 100755 blockly/generators/arduino/procedures.js create mode 100755 blockly/generators/arduino/sensors.js mode change 100644 => 100755 blockly/generators/arduino/serial.js mode change 100644 => 100755 blockly/generators/arduino/servo.js mode change 100644 => 100755 blockly/generators/arduino/spi.js mode change 100644 => 100755 blockly/generators/arduino/stepper.js mode change 100644 => 100755 blockly/generators/arduino/text.js mode change 100644 => 100755 blockly/generators/arduino/time.js mode change 100644 => 100755 blockly/generators/arduino/tone.js mode change 100644 => 100755 blockly/generators/arduino/variables.js mode change 100644 => 100755 blockly/generators/dart.js mode change 100644 => 100755 blockly/generators/dart/colour.js mode change 100644 => 100755 blockly/generators/dart/lists.js mode change 100644 => 100755 blockly/generators/dart/logic.js mode change 100644 => 100755 blockly/generators/dart/loops.js mode change 100644 => 100755 blockly/generators/dart/math.js mode change 100644 => 100755 blockly/generators/dart/procedures.js mode change 100644 => 100755 blockly/generators/dart/text.js mode change 100644 => 100755 blockly/generators/dart/variables.js mode change 100644 => 100755 blockly/generators/javascript.js mode change 100644 => 100755 blockly/generators/javascript/colour.js mode change 100644 => 100755 blockly/generators/javascript/lists.js mode change 100644 => 100755 blockly/generators/javascript/logic.js mode change 100644 => 100755 blockly/generators/javascript/loops.js mode change 100644 => 100755 blockly/generators/javascript/math.js mode change 100644 => 100755 blockly/generators/javascript/procedures.js mode change 100644 => 100755 blockly/generators/javascript/text.js mode change 100644 => 100755 blockly/generators/javascript/variables.js mode change 100644 => 100755 blockly/generators/lua.js mode change 100644 => 100755 blockly/generators/lua/colour.js mode change 100644 => 100755 blockly/generators/lua/lists.js mode change 100644 => 100755 blockly/generators/lua/logic.js mode change 100644 => 100755 blockly/generators/lua/loops.js mode change 100644 => 100755 blockly/generators/lua/math.js mode change 100644 => 100755 blockly/generators/lua/procedures.js mode change 100644 => 100755 blockly/generators/lua/text.js mode change 100644 => 100755 blockly/generators/lua/variables.js mode change 100644 => 100755 blockly/generators/php.js mode change 100644 => 100755 blockly/generators/php/colour.js mode change 100644 => 100755 blockly/generators/php/lists.js mode change 100644 => 100755 blockly/generators/php/logic.js mode change 100644 => 100755 blockly/generators/php/loops.js mode change 100644 => 100755 blockly/generators/php/math.js mode change 100644 => 100755 blockly/generators/php/procedures.js mode change 100644 => 100755 blockly/generators/php/text.js mode change 100644 => 100755 blockly/generators/php/variables.js mode change 100644 => 100755 blockly/generators/python.js mode change 100644 => 100755 blockly/generators/python/colour.js mode change 100644 => 100755 blockly/generators/python/lists.js mode change 100644 => 100755 blockly/generators/python/logic.js mode change 100644 => 100755 blockly/generators/python/loops.js mode change 100644 => 100755 blockly/generators/python/math.js mode change 100644 => 100755 blockly/generators/python/procedures.js mode change 100644 => 100755 blockly/generators/python/text.js mode change 100644 => 100755 blockly/generators/python/variables.js mode change 100644 => 100755 blockly/i18n/common.py mode change 100644 => 100755 blockly/i18n/tests.py mode change 100644 => 100755 blockly/javascript_compressed.js mode change 100644 => 100755 blockly/lua_compressed.js mode change 100644 => 100755 blockly/media/1x1.gif mode change 100644 => 100755 blockly/media/click.mp3 mode change 100644 => 100755 blockly/media/click.ogg mode change 100644 => 100755 blockly/media/click.wav mode change 100644 => 100755 blockly/media/delete.mp3 mode change 100644 => 100755 blockly/media/delete.ogg mode change 100644 => 100755 blockly/media/delete.wav mode change 100644 => 100755 blockly/media/disconnect.mp3 mode change 100644 => 100755 blockly/media/disconnect.ogg mode change 100644 => 100755 blockly/media/disconnect.wav mode change 100644 => 100755 blockly/media/handclosed.cur mode change 100644 => 100755 blockly/media/handdelete.cur mode change 100644 => 100755 blockly/media/handopen.cur mode change 100644 => 100755 blockly/media/quote0.png mode change 100644 => 100755 blockly/media/quote1.png mode change 100644 => 100755 blockly/media/sprites.png mode change 100644 => 100755 blockly/media/sprites.svg mode change 100644 => 100755 blockly/msg/js/ar.js mode change 100644 => 100755 blockly/msg/js/az.js mode change 100644 => 100755 blockly/msg/js/ba.js mode change 100644 => 100755 blockly/msg/js/bcc.js mode change 100644 => 100755 blockly/msg/js/be-tarask.js mode change 100644 => 100755 blockly/msg/js/bg.js mode change 100644 => 100755 blockly/msg/js/bn.js mode change 100644 => 100755 blockly/msg/js/br.js mode change 100644 => 100755 blockly/msg/js/ca.js mode change 100644 => 100755 blockly/msg/js/cs.js mode change 100644 => 100755 blockly/msg/js/da.js mode change 100644 => 100755 blockly/msg/js/de.js mode change 100644 => 100755 blockly/msg/js/el.js mode change 100644 => 100755 blockly/msg/js/en.js mode change 100644 => 100755 blockly/msg/js/es.js mode change 100644 => 100755 blockly/msg/js/fa.js mode change 100644 => 100755 blockly/msg/js/fi.js mode change 100644 => 100755 blockly/msg/js/fr.js mode change 100644 => 100755 blockly/msg/js/he.js mode change 100644 => 100755 blockly/msg/js/hi.js mode change 100644 => 100755 blockly/msg/js/hrx.js mode change 100644 => 100755 blockly/msg/js/hu.js mode change 100644 => 100755 blockly/msg/js/ia.js mode change 100644 => 100755 blockly/msg/js/id.js mode change 100644 => 100755 blockly/msg/js/is.js mode change 100644 => 100755 blockly/msg/js/it.js mode change 100644 => 100755 blockly/msg/js/ja.js mode change 100644 => 100755 blockly/msg/js/ko.js mode change 100644 => 100755 blockly/msg/js/lb.js mode change 100644 => 100755 blockly/msg/js/lki.js mode change 100644 => 100755 blockly/msg/js/lrc.js mode change 100644 => 100755 blockly/msg/js/lt.js mode change 100644 => 100755 blockly/msg/js/mk.js mode change 100644 => 100755 blockly/msg/js/ms.js mode change 100644 => 100755 blockly/msg/js/nb.js mode change 100644 => 100755 blockly/msg/js/nl.js mode change 100644 => 100755 blockly/msg/js/oc.js mode change 100644 => 100755 blockly/msg/js/pl.js mode change 100644 => 100755 blockly/msg/js/pms.js mode change 100644 => 100755 blockly/msg/js/pt-br.js mode change 100644 => 100755 blockly/msg/js/pt.js mode change 100644 => 100755 blockly/msg/js/ro.js mode change 100644 => 100755 blockly/msg/js/ru.js mode change 100644 => 100755 blockly/msg/js/sc.js mode change 100644 => 100755 blockly/msg/js/sd.js mode change 100644 => 100755 blockly/msg/js/shn.js mode change 100644 => 100755 blockly/msg/js/sk.js mode change 100644 => 100755 blockly/msg/js/sl.js mode change 100644 => 100755 blockly/msg/js/sq.js mode change 100644 => 100755 blockly/msg/js/sr.js mode change 100644 => 100755 blockly/msg/js/sv.js mode change 100644 => 100755 blockly/msg/js/ta.js mode change 100644 => 100755 blockly/msg/js/tcy.js mode change 100644 => 100755 blockly/msg/js/th.js mode change 100644 => 100755 blockly/msg/js/tl.js mode change 100644 => 100755 blockly/msg/js/tlh.js mode change 100644 => 100755 blockly/msg/js/tr.js mode change 100644 => 100755 blockly/msg/js/uk.js mode change 100644 => 100755 blockly/msg/js/vi.js mode change 100644 => 100755 blockly/msg/js/zh-hans.js mode change 100644 => 100755 blockly/msg/js/zh-hant.js mode change 100644 => 100755 blockly/msg/json/ar.json mode change 100644 => 100755 blockly/msg/json/az.json mode change 100644 => 100755 blockly/msg/json/ba.json mode change 100644 => 100755 blockly/msg/json/bcc.json mode change 100644 => 100755 blockly/msg/json/be-tarask.json mode change 100644 => 100755 blockly/msg/json/bg.json mode change 100644 => 100755 blockly/msg/json/bn.json mode change 100644 => 100755 blockly/msg/json/br.json mode change 100644 => 100755 blockly/msg/json/ca.json mode change 100644 => 100755 blockly/msg/json/cs.json mode change 100644 => 100755 blockly/msg/json/da.json mode change 100644 => 100755 blockly/msg/json/de.json create mode 100755 blockly/msg/json/de_ardublockly.json mode change 100644 => 100755 blockly/msg/json/el.json mode change 100644 => 100755 blockly/msg/json/en.json mode change 100644 => 100755 blockly/msg/json/en_ardublockly.json mode change 100644 => 100755 blockly/msg/json/es.json mode change 100644 => 100755 blockly/msg/json/es_ardublockly.json mode change 100644 => 100755 blockly/msg/json/fa.json mode change 100644 => 100755 blockly/msg/json/fi.json mode change 100644 => 100755 blockly/msg/json/fr.json mode change 100644 => 100755 blockly/msg/json/fr_ardublockly.json mode change 100644 => 100755 blockly/msg/json/he.json mode change 100644 => 100755 blockly/msg/json/hi.json mode change 100644 => 100755 blockly/msg/json/hrx.json mode change 100644 => 100755 blockly/msg/json/hu.json mode change 100644 => 100755 blockly/msg/json/ia.json mode change 100644 => 100755 blockly/msg/json/id.json mode change 100644 => 100755 blockly/msg/json/is.json mode change 100644 => 100755 blockly/msg/json/it.json mode change 100644 => 100755 blockly/msg/json/it_ardublockly.json mode change 100644 => 100755 blockly/msg/json/ja.json mode change 100644 => 100755 blockly/msg/json/ko.json mode change 100644 => 100755 blockly/msg/json/lb.json mode change 100644 => 100755 blockly/msg/json/lki.json mode change 100644 => 100755 blockly/msg/json/lrc.json mode change 100644 => 100755 blockly/msg/json/lt.json mode change 100644 => 100755 blockly/msg/json/mk.json mode change 100644 => 100755 blockly/msg/json/ms.json mode change 100644 => 100755 blockly/msg/json/nb.json mode change 100644 => 100755 blockly/msg/json/nl.json mode change 100644 => 100755 blockly/msg/json/nl_ardublockly.json mode change 100644 => 100755 blockly/msg/json/oc.json mode change 100644 => 100755 blockly/msg/json/pl.json mode change 100644 => 100755 blockly/msg/json/pms.json mode change 100644 => 100755 blockly/msg/json/pt-br.json mode change 100644 => 100755 blockly/msg/json/pt.json mode change 100644 => 100755 blockly/msg/json/qqq.json mode change 100644 => 100755 blockly/msg/json/qqq_ardublockly.json mode change 100644 => 100755 blockly/msg/json/ro.json mode change 100644 => 100755 blockly/msg/json/ru.json mode change 100644 => 100755 blockly/msg/json/ru_ardublockly.json mode change 100644 => 100755 blockly/msg/json/sc.json mode change 100644 => 100755 blockly/msg/json/sd.json mode change 100644 => 100755 blockly/msg/json/shn.json mode change 100644 => 100755 blockly/msg/json/sk.json mode change 100644 => 100755 blockly/msg/json/sl.json mode change 100644 => 100755 blockly/msg/json/sq.json mode change 100644 => 100755 blockly/msg/json/sr.json mode change 100644 => 100755 blockly/msg/json/sv.json mode change 100644 => 100755 blockly/msg/json/synonyms.json mode change 100644 => 100755 blockly/msg/json/synonyms_ardublockly.json mode change 100644 => 100755 blockly/msg/json/ta.json mode change 100644 => 100755 blockly/msg/json/tcy.json mode change 100644 => 100755 blockly/msg/json/th.json mode change 100644 => 100755 blockly/msg/json/tl.json mode change 100644 => 100755 blockly/msg/json/tlh.json mode change 100644 => 100755 blockly/msg/json/tr.json mode change 100644 => 100755 blockly/msg/json/uk.json mode change 100644 => 100755 blockly/msg/json/vi.json mode change 100644 => 100755 blockly/msg/json/zh-hans.json mode change 100644 => 100755 blockly/msg/json/zh-hant.json mode change 100644 => 100755 blockly/msg/messages.js mode change 100644 => 100755 blockly/msg/messages_ardublockly.js mode change 100644 => 100755 blockly/package.json mode change 100644 => 100755 blockly/php_compressed.js mode change 100644 => 100755 blockly/python_compressed.js mode change 100644 => 100755 blockly/tests/generators/colour.xml mode change 100644 => 100755 blockly/tests/generators/functions.xml mode change 100644 => 100755 blockly/tests/generators/index.html mode change 100644 => 100755 blockly/tests/generators/lists.xml mode change 100644 => 100755 blockly/tests/generators/logic.xml mode change 100644 => 100755 blockly/tests/generators/loops1.xml mode change 100644 => 100755 blockly/tests/generators/loops2.xml mode change 100644 => 100755 blockly/tests/generators/loops3.xml mode change 100644 => 100755 blockly/tests/generators/math.xml mode change 100644 => 100755 blockly/tests/generators/text.xml mode change 100644 => 100755 blockly/tests/generators/unittest.js mode change 100644 => 100755 blockly/tests/generators/unittest_arduino.js mode change 100644 => 100755 blockly/tests/generators/unittest_dart.js mode change 100644 => 100755 blockly/tests/generators/unittest_javascript.js mode change 100644 => 100755 blockly/tests/generators/unittest_lua.js mode change 100644 => 100755 blockly/tests/generators/unittest_php.js mode change 100644 => 100755 blockly/tests/generators/unittest_python.js mode change 100644 => 100755 blockly/tests/generators/variables.xml mode change 100644 => 100755 blockly/tests/jsunit/blockly_test.js mode change 100644 => 100755 blockly/tests/jsunit/connection_db_test.js mode change 100644 => 100755 blockly/tests/jsunit/connection_test.js mode change 100644 => 100755 blockly/tests/jsunit/db_test.js mode change 100644 => 100755 blockly/tests/jsunit/generator_test.js mode change 100644 => 100755 blockly/tests/jsunit/index.html mode change 100644 => 100755 blockly/tests/jsunit/names_test.js mode change 100644 => 100755 blockly/tests/jsunit/workspace_test.js mode change 100644 => 100755 blockly/tests/jsunit/xml_test.js mode change 100644 => 100755 blockly/tests/multi_playground.html mode change 100644 => 100755 blockly/tests/playground.html mode change 100644 => 100755 blocks/README.md mode change 100644 => 100755 blocks/blocks_data.json mode change 100644 => 100755 blocks/grove/README.md mode change 100644 => 100755 blocks/grove/blocks.js mode change 100644 => 100755 blocks/grove/blocks_config.json mode change 100644 => 100755 blocks/grove/examples/joystick_lcd.xml mode change 100644 => 100755 blocks/grove/examples/joystick_servo.xml mode change 100644 => 100755 blocks/grove/examples/pir_led.xml mode change 100644 => 100755 blocks/grove/examples/temperature_serial.xml mode change 100644 => 100755 blocks/grove/extensions.js mode change 100644 => 100755 blocks/grove/generator_arduino.js mode change 100644 => 100755 blocks/grove/img/button.png mode change 100644 => 100755 blocks/grove/img/joystick.png mode change 100644 => 100755 blocks/grove/img/lcd_rgb.png mode change 100644 => 100755 blocks/grove/img/led.png mode change 100644 => 100755 blocks/grove/img/pir.png mode change 100644 => 100755 blocks/grove/img/temperature.png mode change 100644 => 100755 blocks/grove/msg/lang/en.js mode change 100644 => 100755 blocks/grove/msg/lang/es.js mode change 100644 => 100755 blocks/grove/msg/messages.js mode change 100644 => 100755 blocks/test/blocks.js mode change 100644 => 100755 blocks/test/blocks_config.json mode change 100644 => 100755 blocks/test/generator_arduino.js mode change 100644 => 100755 blocks/test/msg/lang/en.js mode change 100644 => 100755 blocks/test/msg/lang/es.js mode change 100644 => 100755 blocks/test/msg/messages.js mode change 100644 => 100755 blocks/user/README.md mode change 100644 => 100755 examples/blink.xml mode change 100644 => 100755 examples/serial_print_ascii.xml mode change 100644 => 100755 examples/serial_repeat_game.xml mode change 100644 => 100755 examples/servo_knob.xml mode change 100644 => 100755 examples/stepper_knob.xml mode change 100644 => 100755 examples/traffic_light.xml mode change 100644 => 100755 package/README.md mode change 100644 => 100755 package/ardublocklydocs/mkdocs.yml mode change 100644 => 100755 package/build_docs.py mode change 100644 => 100755 package/build_pyinstaller.py mode change 100644 => 100755 package/electron/.gitignore mode change 100644 => 100755 package/electron/README.md mode change 100644 => 100755 package/electron/app/appmenu.js mode change 100644 => 100755 package/electron/app/helpers/context_menu.js mode change 100644 => 100755 package/electron/app/helpers/external_links.js mode change 100644 => 100755 package/electron/app/helpers/window.js mode change 100644 => 100755 package/electron/app/main.js mode change 100644 => 100755 package/electron/app/package.json mode change 100644 => 100755 package/electron/app/projectlocator.js mode change 100644 => 100755 package/electron/app/servermgr.js mode change 100644 => 100755 package/electron/config/env_development.json mode change 100644 => 100755 package/electron/config/env_production.json mode change 100644 => 100755 package/electron/gulpfile.js mode change 100644 => 100755 package/electron/package.json mode change 100644 => 100755 package/electron/resources/icon.png mode change 100644 => 100755 package/electron/resources/linux/DEBIAN/control mode change 100644 => 100755 package/electron/resources/linux/app.desktop mode change 100644 => 100755 package/electron/resources/osx/Info.plist mode change 100644 => 100755 package/electron/resources/osx/appdmg.json mode change 100644 => 100755 package/electron/resources/osx/dmg-background.png mode change 100644 => 100755 package/electron/resources/osx/dmg-background@2x.png mode change 100644 => 100755 package/electron/resources/osx/dmg-icon.icns mode change 100644 => 100755 package/electron/resources/osx/helper_apps/Info EH.plist mode change 100644 => 100755 package/electron/resources/osx/helper_apps/Info NP.plist mode change 100644 => 100755 package/electron/resources/osx/helper_apps/Info.plist mode change 100644 => 100755 package/electron/resources/osx/icon.icns mode change 100644 => 100755 package/electron/resources/windows/icon.ico mode change 100644 => 100755 package/electron/resources/windows/installer.nsi mode change 100644 => 100755 package/electron/resources/windows/setup-banner.bmp mode change 100644 => 100755 package/electron/resources/windows/setup-icon.ico mode change 100644 => 100755 package/electron/tasks/build/build.js mode change 100644 => 100755 package/electron/tasks/build/bundle.js mode change 100644 => 100755 package/electron/tasks/release/linux.js mode change 100644 => 100755 package/electron/tasks/release/osx.js mode change 100644 => 100755 package/electron/tasks/release/release.js mode change 100644 => 100755 package/electron/tasks/release/windows.js mode change 100644 => 100755 package/electron/tasks/start.js mode change 100644 => 100755 package/electron/tasks/utils.js mode change 100644 => 100755 package/pack_ardublockly.py mode change 100644 => 100755 package/pyinstaller.spec mode change 100644 => 100755 package/requirements.txt mode change 100644 => 100755 package/wxcef_build/.appveyor_wxcef.yml mode change 100644 => 100755 package/wxcef_build/.travis_wxcef.yml mode change 100644 => 100755 package/wxcef_build/README.md mode change 100644 => 100755 package/wxcef_build/build_pyinstaller_wxcef.py mode change 100644 => 100755 package/wxcef_build/build_windows_wxcef.py mode change 100644 => 100755 package/wxcef_build/circle_wxcef.yml mode change 100644 => 100755 package/wxcef_build/pack_ardublockly_wxcef.py mode change 100644 => 100755 package/wxcef_build/pyinstaller_wxcef.spec mode change 100644 => 100755 package/wxcef_build/start_cef.py create mode 100755 screenshot.png mode change 100644 => 100755 start.py diff --git a/LICENSE b/LICENSE old mode 100644 new mode 100755 diff --git a/README.md b/README.md old mode 100644 new mode 100755 index 41396f0f8e..d00e7609c3 --- a/README.md +++ b/README.md @@ -1,130 +1,72 @@ # Ardublockly Ardublockly is a visual programming editor for Arduino. It is based on Google's [Blockly][1], which has been forked to generate [Arduino][15] code. -The `ArdublocklyServer` Python package initialises a local server to be able to compile and load the Arduino code using the [Arduino IDE][2]. +The `ArdublocklyServer` Python package initialises a local server to be able to compile and load the Arduino code using the [Arduino IDE](https://www.arduino.cc/en/Main/Software_)). -This is all packaged in a self contained executable desktop application for Windows, Mac OS X, and Linux. +Therefore, it is executable on most OS including Linux, Mac, Windows, and Android (limited). -![Ardublockly desktop program screenshot][desktop_screeshot] +This version focuses on the ArdublocklyServer version of [ArduBlockly](https://github.com/carlosperate/ardublockly) developed by [Carlos Pereira Atencio](https://www.embeddedlog.com/) +![Ardublockly desktop program screenshot](screenshot.png) ## Features * Generates Arduino code with visual drag-and-drop blocks * Uploads the code to an Arduino Board * Useful "code block warnings" * Compatible with a wide range of official Arduino Boards -* Works on Windows / Linux / Mac OS X +* Works on Windows / Linux / Mac OS X / Android (limited) -Ardublockly is still under development and a few features are not yet implemented. A to-do list can be found in the [TODO.md][3] file. +Ardublockly is still under development and a few features are not yet implemented. Currently tested under Windows with Python 2.7 and 3.4 and in Linux and MacOS X with Python 2.7. - ## Cloning the repository Please note that there are submodules in the repository that need initialisation. So, to correctly clone the Ardublockly repository: ``` -git clone https://github.com/carlosperate/ardublockly.git +git clone https://gitlab.com/DigitalStages/ardublockly.git cd ardublockly git submodule update --init --recursive ``` ## Installing -The desktop application is available for Windows/Mac/Linux and runs as a stand-alone executable that can be downloaded from the [Ardublockly repository releases page][4]. - -You will also need the [Arduino IDE version 1.6.x or higher][2]. - -#### Development builds -You can also test __UNSTABLE__ development builds automatically generated every time an update is added to the GitHub repository: - -| Linux build | Windows build | Mac OS X build | -|:-------------------:|:-------------------:|:--------------------:| -| [![Linux Build Status](https://circleci.com/gh/carlosperate/ardublockly/tree/master.svg?style=svg)](https://circleci.com/gh/carlosperate/ardublockly/tree/master) | [![Windows Build status](https://ci.appveyor.com/api/projects/status/t877g920hdiifc2i?svg=true)](https://ci.appveyor.com/project/carlosperate/ardublockly) | [![Mac Build Status](https://travis-ci.org/carlosperate/ardublockly.svg?branch=master)](https://travis-ci.org/carlosperate/ardublockly) | -| [Download Link][12] | [Download Link][13] | [Download Link][14] | - -#### "Core version" (Python server only) -If you prefer, the core software can be used by running only the Python server, which loads the web interface on your local browser (Chrome recommended). - -Full installation instructions for this version can be found in [this Github repository Wiki][5]. - -The quick version: Clone this repository, initialise all submodules, and execute: - +1. Install Python 3 +2. Install Arduino IDE (You will also need the [Arduino IDE version 1.6.x or higher][2]) +3. Install [libraries](https://gitlab.com/DigitalStages/ardublockly_arduino4kids/-/tree/main/files/arduino_libraries) in Arduino necessary to use all blocks of this version of ArduBlockly +4. Clone this repository, initialise all submodules, and execute: ``` -python start.py +python3 start.py ``` +5. This will load the web interface on your local browser. -This will work on Windows, Linux (including ARM) and Mac OS X, with Python >2.7 or >3.4 - - -## Running -1. [Install Ardublockly][5]. -2. Install the [Arduino IDE][2] version 1.6.x or higher (latest version is always recommended). -3. Run Ardublockly as defined in your installation method. -3. Configure Ardublockly to locate the Arduino IDE [following these instructions][6]. - +This will work on Windows, Linux (including ARM), Mac OS X, with Python >2.7 or >3.4 -## Online Demos -A demo of the latest release of Ardublockly main interface can be found in the following two links (to load the code into an Arduino it requires the full Ardublockly application to be downloaded and run on your computer): +## Installing on Android -#### [Ardublockly][10] -![WebApp screenshot responsive design][web_screenshot_responsive] +To make it work on a Arduino device, you will need to install +1. [ArduinoDroid Software](https://play.google.com/store/apps/details?id=name.antonsmirnov.android.arduinodroid2) +2. [QPython 3L - Python](https://play.google.com/store/apps/details?id=org.qpython.qpy3) +3. [File Manager](https://play.google.com/store/apps/details?id=com.alphainventor.filemanager) -#### [Ardublockly classic][11] -![WebApp screenshot][web_screenshot_classic] - - -## Documentation -The documentation, including installation instructions, configuration instructions, and developer information can be found in the [Ardublockly GitHub repository Wiki][7]. - -To download the documentation you can git clone the wiki data: - -``` -git clone https://github.com/carlosperate/ardublockly.wiki.git -``` +The limitation comes with uploading Blockly codes to the Arduino board. First you will need to save ArduBlockly blocks as .ino file, and upload this file to the Arduino board via ArduinoDroid. ## Credit -This project has been inspired by [BlocklyDuino][16]. - -Blockly original source is Copyright of Google Inc. [https://developers.google.com/blockly/][1]. A list of changes to the Blockly fork can be found in the [Blockly subdirectory README][17] file. +This project has been inspired by [ArduBlockly](https://github.com/carlosperate/ardublockly) developed by [Carlos Pereira Atencio](https://www.embeddedlog.com/). +Blockly original source is Copyright of [Google Inc.](https://developers.google.com/blockly/). ## License -Copyright (c) 2016 carlosperate https://github.com/carlosperate/ - Unless stated otherwise, the source code of this projects is licensed under the Apache License, Version 2.0 (the "License"); you may not use any of the licensed files within this project except in compliance with the License. -The full document can be found in the [LICENSE][9] file. +The full document can be found in the [LICENSE](https://gitlab.com/DigitalStages/ardublockly/-/blob/main/LICENSE) file. 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. - - -[1]: https://developers.google.com/blockly/ -[2]: http://www.arduino.cc/en/main/software/ -[3]: TODO.md -[4]: https://github.com/carlosperate/ardublockly/releases/ -[5]: https://github.com/carlosperate/ardublockly/wiki/Installing-Ardublockly -[6]: https://github.com/carlosperate/ardublockly/wiki/Configure-Ardublockly -[7]: https://github.com/carlosperate/ardublockly/wiki -[8]: https://github.com/carlosperate/ardublockly/compare/blockly-original...master -[9]: https://github.com/carlosperate/ardublockly/blob/master/LICENSE -[10]: http://ardublockly.embeddedlog.com/demo/index.html -[11]: http://ardublockly.embeddedlog.com/demo/classic/index.html -[12]: http://ardublockly-builds.s3-website-us-west-2.amazonaws.com/index.html?prefix=linux/ -[13]: http://ardublockly-builds.s3-website-us-west-2.amazonaws.com/index.html?prefix=windows/ -[14]: http://ardublockly-builds.s3-website-us-west-2.amazonaws.com/index.html?prefix=mac/ -[15]: http://www.arduino.cc -[16]: https://github.com/BlocklyDuino/BlocklyDuino -[17]: blockly/README.md - -[desktop_screeshot]: http://carlosperate.github.io/ardublockly/images/screenshot_desktop_1.png -[web_screenshot_responsive]: http://carlosperate.github.io/ardublockly/images/screenshot_material_all_small.jpg -[web_screenshot_classic]: http://carlosperate.github.io/ardublockly/images/screenshot_1.png diff --git a/ardublockly/ardublockly.css b/ardublockly/ardublockly.css old mode 100644 new mode 100755 diff --git a/ardublockly/ardublockly.js b/ardublockly/ardublockly.js old mode 100644 new mode 100755 index b1b2da7e4f..1bc2e5bef3 --- a/ardublockly/ardublockly.js +++ b/ardublockly/ardublockly.js @@ -39,6 +39,7 @@ Ardublockly.bindActionFunctions = function() { // Navigation buttons Ardublockly.bindClick_('button_load', Ardublockly.loadUserXmlFile); Ardublockly.bindClick_('button_save', Ardublockly.saveXmlFile); + Ardublockly.bindClick_('button_savesketch', Ardublockly.saveSketchFile); Ardublockly.bindClick_('button_delete', Ardublockly.discardAllBlocks); // Side menu buttons, they also close the side menu @@ -50,6 +51,10 @@ Ardublockly.bindActionFunctions = function() { Ardublockly.saveXmlFile(); $('.button-collapse').sideNav('hide'); }); + Ardublockly.bindClick_('menu_savesketch', function() { + Ardublockly.saveSketchFile(); + $('.button-collapse').sideNav('hide'); + }); Ardublockly.bindClick_('menu_delete', function() { Ardublockly.discardAllBlocks(); $('.button-collapse').sideNav('hide'); diff --git a/ardublockly/ardublockly_blockly.js b/ardublockly/ardublockly_blockly.js old mode 100644 new mode 100755 index 1d0ba2a984..f8d092741d --- a/ardublockly/ardublockly_blockly.js +++ b/ardublockly/ardublockly_blockly.js @@ -214,7 +214,8 @@ Ardublockly.changeBlocklyArduinoBoard = function(newBoard) { Ardublockly.updateToolboxLanguage = function() { var categories = ['catLogic', 'catLoops', 'catMath', 'catText', 'catVariables', 'catFunctions', 'catInputOutput', - 'catTime', 'catAudio', 'catMotors', 'catComms']; + 'catTime', 'catAudio', 'catMotors', 'catComms', + 'catDisplays', 'catSensors', 'catVarious']; var categoryNodes = Ardublockly.xmlTree.getElementsByTagName('category'); for (var i = 0, cat; cat = categoryNodes[i]; i++) { var catId = cat.getAttribute('id'); diff --git a/ardublockly/ardublockly_design.js b/ardublockly/ardublockly_design.js old mode 100644 new mode 100755 diff --git a/ardublockly/ardublockly_desktop.js b/ardublockly/ardublockly_desktop.js old mode 100644 new mode 100755 diff --git a/ardublockly/ardublockly_lang.js b/ardublockly/ardublockly_lang.js old mode 100644 new mode 100755 index ccc2cf295c..07af0fc676 --- a/ardublockly/ardublockly_lang.js +++ b/ardublockly/ardublockly_lang.js @@ -11,12 +11,13 @@ var Ardublockly = Ardublockly || {}; /** Lookup for names of supported languages. Keys in ISO 639 format. */ Ardublockly.LANGUAGE_NAME = { - 'fr': 'Français', + 'de': 'Deutsch', 'en': 'English', 'es': 'Español', + 'fr': 'Français', + 'it': 'Italiano', 'nl': 'Nederlands', 'pt': 'Português', - 'it': 'Italiano', 'ru': 'Русский' }; diff --git a/ardublockly/ardublockly_toolbox.js b/ardublockly/ardublockly_toolbox.js old mode 100644 new mode 100755 index 28c3c6283f..06632656b7 --- a/ardublockly/ardublockly_toolbox.js +++ b/ardublockly/ardublockly_toolbox.js @@ -92,7 +92,28 @@ Ardublockly.TOOLBOX_XML = ' ' + ' ' + ' ' + -' ' + +' ' + +' ' + +' ' + +' 0' + +' ' + +' ' + +' ' + +' ' + +' 100' + +' ' + +' ' + +' ' + +' ' + +' 0' + +' ' + +' ' + +' ' + +' ' + +' 1000' + +' ' + +' ' + +' ' + ' ' + ' ' + ' ' + @@ -129,6 +150,7 @@ Ardublockly.TOOLBOX_XML = ' ' + ' ' + ' ' + +' ' + ' ' + ' ' + ' ' + @@ -152,6 +174,27 @@ Ardublockly.TOOLBOX_XML = ' ' + ' '+ ' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' 9' + +' 10' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + ' ' + ' ' + ' ' + @@ -172,6 +215,28 @@ Ardublockly.TOOLBOX_XML = ' ' + ' ' + ' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + ' ' + ' ' + ' ' + @@ -231,4 +296,69 @@ Ardublockly.TOOLBOX_XML = ' ' + ' ' + ' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + +' ' + ''; diff --git a/ardublockly/ardublocklyserver_ajax.js b/ardublockly/ardublocklyserver_ajax.js old mode 100644 new mode 100755 diff --git a/ardublockly/classic/ardublockly_classic.css b/ardublockly/classic/ardublockly_classic.css old mode 100644 new mode 100755 diff --git a/ardublockly/classic/ardublockly_classic.js b/ardublockly/classic/ardublockly_classic.js old mode 100644 new mode 100755 diff --git a/ardublockly/classic/icons.png b/ardublockly/classic/icons.png old mode 100644 new mode 100755 diff --git a/ardublockly/classic/index.html b/ardublockly/classic/index.html old mode 100644 new mode 100755 diff --git a/ardublockly/classic/settings.css b/ardublockly/classic/settings.css old mode 100644 new mode 100755 diff --git a/ardublockly/classic/settings.html b/ardublockly/classic/settings.html old mode 100644 new mode 100755 diff --git a/ardublockly/classic/settings.js b/ardublockly/classic/settings.js old mode 100644 new mode 100755 diff --git a/ardublockly/font/droid/DroidSansMono.ttf b/ardublockly/font/droid/DroidSansMono.ttf old mode 100644 new mode 100755 diff --git a/ardublockly/font/droid/NOTICE b/ardublockly/font/droid/NOTICE old mode 100644 new mode 100755 diff --git a/ardublockly/font/droid/README.txt b/ardublockly/font/droid/README.txt old mode 100644 new mode 100755 diff --git a/ardublockly/font/material-design-icons/LICENSE.txt b/ardublockly/font/material-design-icons/LICENSE.txt old mode 100644 new mode 100755 diff --git a/ardublockly/font/material-design-icons/Material-Design-Icons.eot b/ardublockly/font/material-design-icons/Material-Design-Icons.eot old mode 100644 new mode 100755 diff --git a/ardublockly/font/material-design-icons/Material-Design-Icons.svg b/ardublockly/font/material-design-icons/Material-Design-Icons.svg old mode 100644 new mode 100755 diff --git a/ardublockly/font/material-design-icons/Material-Design-Icons.ttf b/ardublockly/font/material-design-icons/Material-Design-Icons.ttf old mode 100644 new mode 100755 diff --git a/ardublockly/font/material-design-icons/Material-Design-Icons.woff b/ardublockly/font/material-design-icons/Material-Design-Icons.woff old mode 100644 new mode 100755 diff --git a/ardublockly/font/material-design-icons/Material-Design-Icons.woff2 b/ardublockly/font/material-design-icons/Material-Design-Icons.woff2 old mode 100644 new mode 100755 diff --git a/ardublockly/font/roboto/Roboto-Bold.eot b/ardublockly/font/roboto/Roboto-Bold.eot old mode 100644 new mode 100755 diff --git a/ardublockly/font/roboto/Roboto-Bold.ttf b/ardublockly/font/roboto/Roboto-Bold.ttf old mode 100644 new mode 100755 diff --git a/ardublockly/font/roboto/Roboto-Bold.woff b/ardublockly/font/roboto/Roboto-Bold.woff old mode 100644 new mode 100755 diff --git a/ardublockly/font/roboto/Roboto-Bold.woff2 b/ardublockly/font/roboto/Roboto-Bold.woff2 old mode 100644 new mode 100755 diff --git a/ardublockly/font/roboto/Roboto-Light.eot b/ardublockly/font/roboto/Roboto-Light.eot old mode 100644 new mode 100755 diff --git a/ardublockly/font/roboto/Roboto-Light.ttf b/ardublockly/font/roboto/Roboto-Light.ttf old mode 100644 new mode 100755 diff --git a/ardublockly/font/roboto/Roboto-Light.woff b/ardublockly/font/roboto/Roboto-Light.woff old mode 100644 new mode 100755 diff --git a/ardublockly/font/roboto/Roboto-Light.woff2 b/ardublockly/font/roboto/Roboto-Light.woff2 old mode 100644 new mode 100755 diff --git a/ardublockly/font/roboto/Roboto-Medium.eot b/ardublockly/font/roboto/Roboto-Medium.eot old mode 100644 new mode 100755 diff --git a/ardublockly/font/roboto/Roboto-Medium.ttf b/ardublockly/font/roboto/Roboto-Medium.ttf old mode 100644 new mode 100755 diff --git a/ardublockly/font/roboto/Roboto-Medium.woff b/ardublockly/font/roboto/Roboto-Medium.woff old mode 100644 new mode 100755 diff --git a/ardublockly/font/roboto/Roboto-Medium.woff2 b/ardublockly/font/roboto/Roboto-Medium.woff2 old mode 100644 new mode 100755 diff --git a/ardublockly/font/roboto/Roboto-Regular.eot b/ardublockly/font/roboto/Roboto-Regular.eot old mode 100644 new mode 100755 diff --git a/ardublockly/font/roboto/Roboto-Regular.ttf b/ardublockly/font/roboto/Roboto-Regular.ttf old mode 100644 new mode 100755 diff --git a/ardublockly/font/roboto/Roboto-Regular.woff b/ardublockly/font/roboto/Roboto-Regular.woff old mode 100644 new mode 100755 diff --git a/ardublockly/font/roboto/Roboto-Regular.woff2 b/ardublockly/font/roboto/Roboto-Regular.woff2 old mode 100644 new mode 100755 diff --git a/ardublockly/font/roboto/Roboto-Thin.eot b/ardublockly/font/roboto/Roboto-Thin.eot old mode 100644 new mode 100755 diff --git a/ardublockly/font/roboto/Roboto-Thin.ttf b/ardublockly/font/roboto/Roboto-Thin.ttf old mode 100644 new mode 100755 diff --git a/ardublockly/font/roboto/Roboto-Thin.woff b/ardublockly/font/roboto/Roboto-Thin.woff old mode 100644 new mode 100755 diff --git a/ardublockly/font/roboto/Roboto-Thin.woff2 b/ardublockly/font/roboto/Roboto-Thin.woff2 old mode 100644 new mode 100755 diff --git a/ardublockly/img/ardublockly_icon.png b/ardublockly/img/ardublockly_icon.png new file mode 100755 index 0000000000000000000000000000000000000000..bf0fa77df30c239cc5856c50d382bbcc5656f7e1 GIT binary patch literal 25329 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�eSfXKhpb`ly>L_B_-mfpZbc@X)hoL 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 literal 0 HcmV?d00001 diff --git a/ardublockly/img/ardublockly_splash.png b/ardublockly/img/ardublockly_splash.png old mode 100644 new mode 100755 diff --git a/ardublockly/img/favicon.ico b/ardublockly/img/favicon.ico old mode 100644 new mode 100755 diff --git a/ardublockly/img/sidenav_header.png b/ardublockly/img/sidenav_header.png old mode 100644 new mode 100755 diff --git a/ardublockly/index.html b/ardublockly/index.html old mode 100644 new mode 100755 index 75fa9a3538..ba18e23609 --- a/ardublockly/index.html +++ b/ardublockly/index.html @@ -36,6 +36,9 @@ + + + @@ -52,6 +55,9 @@ + + +