Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New blocks, new menu and functionality #261

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Empty file modified LICENSE
100644 → 100755
Empty file.
104 changes: 23 additions & 81 deletions README.md
100644 → 100755
Original file line number Diff line number Diff line change
@@ -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
Empty file modified ardublockly/ardublockly.css
100644 → 100755
Empty file.
5 changes: 5 additions & 0 deletions ardublockly/ardublockly.js
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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');
Expand Down
3 changes: 2 additions & 1 deletion ardublockly/ardublockly_blockly.js
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -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');
Expand Down
Empty file modified ardublockly/ardublockly_design.js
100644 → 100755
Empty file.
Empty file modified ardublockly/ardublockly_desktop.js
100644 → 100755
Empty file.
5 changes: 3 additions & 2 deletions ardublockly/ardublockly_lang.js
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -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': 'Русский'
};

Expand Down
132 changes: 131 additions & 1 deletion ardublockly/ardublockly_toolbox.js
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,28 @@ Ardublockly.TOOLBOX_XML =
' </value>' +
' </block>' +
' <block type="math_random_float"></block>' +
' <block type="base_map"></block>' +
' <block type="base_map">' +
' <value name="FROML">' +
' <block type="math_number">' +
' <field name="NUM">0</field>' +
' </block>' +
' </value>' +
' <value name="FROMH">' +
' <block type="math_number">' +
' <field name="NUM">100</field>' +
' </block>' +
' </value>' +
' <value name="TOL">' +
' <block type="math_number">' +
' <field name="NUM">0</field>' +
' </block>' +
' </value>' +
' <value name="TOH">' +
' <block type="math_number">' +
' <field name="NUM">1000</field>' +
' </block>' +
' </value>' +
' </block>' +
' </category>' +
' <sep></sep>' +
' <category id="catText" name="Text">' +
Expand Down Expand Up @@ -129,6 +150,7 @@ Ardublockly.TOOLBOX_XML =
' </value>' +
' </block>' +
' <block type="io_digitalread"></block>' +
' <block type="io_digitalread_pullup"></block>' +
' <block type="io_builtin_led">' +
' <value name="STATE">' +
' <block type="io_highlow"></block>' +
Expand All @@ -152,6 +174,27 @@ Ardublockly.TOOLBOX_XML =
' </shadow>' +
' </value>'+
' </block>' +
' <block type="mkpad_setup"></block>' +
' <block type="mkpad_getkey"></block>' +
' <block type="irrecv_setup"></block>' +
' <block type="irrecv_read"></block>' +
' <block type="rc522_setup">' +
' <field name="RST">9</field>' +
' <field name="SS">10</field>' +
' </block>' +
' <block type="rc522_getuid">' +
' <value name="VAR">' +
' <block type="variables_get"></block>' +
' </value>' +
' </block>' +
' <block type="rc522_adduid">' +
' <value name="NUID">' +
' <block type="text"></block>' +
' </value>' +
' <value name="VAR">' +
' <block type="variables_get"></block>' +
' </value>' +
' </block>' +
' </category>' +
' <sep></sep>' +
' <category id="catTime" name="Time">' +
Expand All @@ -172,6 +215,28 @@ Ardublockly.TOOLBOX_XML =
' <block type="time_millis"></block>' +
' <block type="time_micros"></block>' +
' <block type="infinite_loop"></block>' +
' <block type="ds3231_setup"></block>' +
' <block type="ds3231_setclock"></block>' +
' <block type="ds3231_read">' +
' <value name="YEAR">' +
' <block type="variables_get"></block>' +
' </value>' +
' <value name="MONTH">' +
' <block type="variables_get"></block>' +
' </value>' +
' <value name="DAY">' +
' <block type="variables_get"></block>' +
' </value>' +
' <value name="HOUR">' +
' <block type="variables_get"></block>' +
' </value>' +
' <value name="MINUTE">' +
' <block type="variables_get"></block>' +
' </value>' +
' <value name="SECOND">' +
' <block type="variables_get"></block>' +
' </value>' +
' </block>' +
' </category>' +
' <sep></sep>' +
' <category id="catAudio" name="Audio">' +
Expand Down Expand Up @@ -231,4 +296,69 @@ Ardublockly.TOOLBOX_XML =
' <block type="spi_transfer"></block>' +
' <block type="spi_transfer_return"></block>' +
' </category>' +
' <sep></sep>' +
' <category id="catSensors" name="Sensors">' +
' <block type="sr04_setup"></block>' +
' <block type="sr04_read"></block>' +
' <block type="dht11_setup"></block>' +
' <block type="dht11_readt"></block>' +
' <block type="dht11_readh"></block>' +
' <block type="gy521_setup"></block>' +
' <block type="gy521_rot">' +
' <value name="ROTX">' +
' <block type="variables_get"></block>' +
' </value>' +
' <value name="ROTY">' +
' <block type="variables_get"></block>' +
' </value>' +
' <value name="ROTZ">' +
' <block type="variables_get"></block>' +
' </value>' +
' </block>' +
' <block type="gy521_t">' +
' <value name="T">' +
' <block type="variables_get"></block>' +
' </value>' +
' </block>' +
' </category>' +
' <sep></sep>' +
' <category id="catDisplays" name="Displays">' +
' <block type="max7219_setup"></block>' +
' <block type="max7219_setchar"></block>' +
' <block type="max7219_clr"></block>' +
' <block type="lcd1602_setup"></block>' +
' <block type="lcd1602_write">' +
' <value name="LINE1">' +
' <block type="text"></block>' +
' </value>' +
' <value name="LINE2">' +
' <block type="text"></block>' +
' </value>' +
' </block>' +
' <block type="lcd1602_clr"></block>' +
' <block type="sevseg"></block>' +
' <block type="sevseg_write"></block>' +
' <block type="foursevseg_setup"></block>' +
' <block type="foursevseg_write"></block>' +
' <block type="foursevseg_setchar"></block>' +
' <block type="foursevseg_clr"></block>' +
' </category>' +
' <sep></sep>' +
' <category id="catVarious" name="Various">' +
' <block type="shiftout">' +
' <value name="BVAL">' +
' <block type="variables_get"></block>' +
' </value>' +
' </block>' +
' <block type="bitset">' +
' <value name="XVAL">' +
' <block type="variables_get"></block>' +
' </value>' +
' <value name="NVAL">' +
' <block type="variables_get"></block>' +
' </value>' +
' </block>' +
' <block type="operation_bitwise"></block>' +
' <block type="attach_interrupt"></block>' +
' </category>' +
'</xml>';
Empty file modified ardublockly/ardublocklyserver_ajax.js
100644 → 100755
Empty file.
Empty file modified ardublockly/classic/ardublockly_classic.css
100644 → 100755
Empty file.
Empty file modified ardublockly/classic/ardublockly_classic.js
100644 → 100755
Empty file.
Empty file modified ardublockly/classic/icons.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified ardublockly/classic/index.html
100644 → 100755
Empty file.
Empty file modified ardublockly/classic/settings.css
100644 → 100755
Empty file.
Empty file modified ardublockly/classic/settings.html
100644 → 100755
Empty file.
Empty file modified ardublockly/classic/settings.js
100644 → 100755
Empty file.
Empty file modified ardublockly/font/droid/DroidSansMono.ttf
100644 → 100755
Empty file.
Empty file modified ardublockly/font/droid/NOTICE
100644 → 100755
Empty file.
Empty file modified ardublockly/font/droid/README.txt
100644 → 100755
Empty file.
Empty file modified ardublockly/font/material-design-icons/LICENSE.txt
100644 → 100755
Empty file.
Empty file.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file.
Empty file.
Empty file.
Empty file modified ardublockly/font/roboto/Roboto-Bold.eot
100644 → 100755
Empty file.
Empty file modified ardublockly/font/roboto/Roboto-Bold.ttf
100644 → 100755
Empty file.
Empty file modified ardublockly/font/roboto/Roboto-Bold.woff
100644 → 100755
Empty file.
Empty file modified ardublockly/font/roboto/Roboto-Bold.woff2
100644 → 100755
Empty file.
Empty file modified ardublockly/font/roboto/Roboto-Light.eot
100644 → 100755
Empty file.
Empty file modified ardublockly/font/roboto/Roboto-Light.ttf
100644 → 100755
Empty file.
Empty file modified ardublockly/font/roboto/Roboto-Light.woff
100644 → 100755
Empty file.
Empty file modified ardublockly/font/roboto/Roboto-Light.woff2
100644 → 100755
Empty file.
Empty file modified ardublockly/font/roboto/Roboto-Medium.eot
100644 → 100755
Empty file.
Empty file modified ardublockly/font/roboto/Roboto-Medium.ttf
100644 → 100755
Empty file.
Empty file modified ardublockly/font/roboto/Roboto-Medium.woff
100644 → 100755
Empty file.
Empty file modified ardublockly/font/roboto/Roboto-Medium.woff2
100644 → 100755
Empty file.
Empty file modified ardublockly/font/roboto/Roboto-Regular.eot
100644 → 100755
Empty file.
Empty file modified ardublockly/font/roboto/Roboto-Regular.ttf
100644 → 100755
Empty file.
Empty file modified ardublockly/font/roboto/Roboto-Regular.woff
100644 → 100755
Empty file.
Empty file modified ardublockly/font/roboto/Roboto-Regular.woff2
100644 → 100755
Empty file.
Empty file modified ardublockly/font/roboto/Roboto-Thin.eot
100644 → 100755
Empty file.
Empty file modified ardublockly/font/roboto/Roboto-Thin.ttf
100644 → 100755
Empty file.
Empty file modified ardublockly/font/roboto/Roboto-Thin.woff
100644 → 100755
Empty file.
Empty file modified ardublockly/font/roboto/Roboto-Thin.woff2
100644 → 100755
Empty file.
Binary file added ardublockly/img/ardublockly_icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified ardublockly/img/ardublockly_splash.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified ardublockly/img/favicon.ico
100644 → 100755
Empty file.
Empty file modified ardublockly/img/sidenav_header.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 8 additions & 0 deletions ardublockly/index.html
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,9 @@
<script src="../blockly/blocks/arduino/time.js"></script>
<script src="../blockly/blocks/arduino/tone.js"></script>
<script src="../blockly/blocks/arduino/variables.js"></script>
<script src="../blockly/blocks/arduino/sensors.js"></script>
<script src="../blockly/blocks/arduino/displays.js"></script>
<script src="../blockly/blocks/arduino/misc.js"></script>
<script src="../blockly/generators/arduino.js"></script>
<script src="../blockly/generators/arduino/boards.js"></script>
<script src="../blockly/generators/arduino/io.js"></script>
Expand All @@ -52,6 +55,9 @@
<script src="../blockly/generators/arduino/text.js"></script>
<script src="../blockly/generators/arduino/time.js"></script>
<script src="../blockly/generators/arduino/tone.js"></script>
<script src="../blockly/generators/arduino/sensors.js"></script>
<script src="../blockly/generators/arduino/displays.js"></script>
<script src="../blockly/generators/arduino/misc.js"></script>
<script src="../blockly/generators/arduino/variables.js"></script-->

<!-- Default language js files, user selection appended to head on load -->
Expand All @@ -76,6 +82,7 @@
<ul id="nav-mobile" class="right hide-on-med-and-down">
<li><a href="#" id="button_load"><span class="translatable_open">Open</span><i class="mdi-file-file-upload left"></i></a></li>
<li><a href="#" id="button_save"><span class="translatable_save">Save</span><i class="mdi-file-file-download left"></i></a></li>
<li><a href="#" id="button_savesketch"><span class="translatable_save">Save Sketch</span><i class="mdi-file-file-download left"></i></a></li>
<li><a href="#" id="button_delete"><span class="translatable_deleteAll">Delete All</span><i class="mdi-action-delete left"></i></a></li>
</ul>
</div>
Expand All @@ -88,6 +95,7 @@
<ul>
<li id="menu_load"><a href="#"><span class="translatable_open">Open</span><i class="mdi-file-file-upload left"></i></a></li>
<li id="menu_save"><a href="#"><span class="translatable_save">Save</span><i class="mdi-file-file-download left"></i></a></li>
<li id="menu_savesketch"><a href="#"><span class="translatable_save">Save Sketch</span><i class="mdi-file-file-download left"></i></a></li>
<li id="menu_delete"><a href="#"><span class="translatable_deleteAll">Delete All</span><i class="mdi-action-delete left"></i></a></li>
<li id="menu_settings"><a href="#"><span class="translatable_settings">Settings</span><i class="mdi-action-settings left"></i></a></li>
<li id="menu_bug"><a href="https://github.com/carlosperate/ardublockly/wiki" target="_blank"><span class="translatable_documentation">Documentation</span><i class="mdi-action-help left"></i></a></li>
Expand Down
Empty file modified ardublockly/js_libs/FileSaver.min.js
100644 → 100755
Empty file.
Empty file modified ardublockly/js_libs/FileSaver_LICENSE.md
100644 → 100755
Empty file.
Empty file modified ardublockly/js_libs/diff.js
100644 → 100755
Empty file.
Empty file modified ardublockly/js_libs/diff_LICENSE
100644 → 100755
Empty file.
Empty file modified ardublockly/js_libs/hammer.min.js
100644 → 100755
Empty file.
Empty file modified ardublockly/js_libs/jquery-2.1.3.min.js
100644 → 100755
Empty file.
Empty file modified ardublockly/js_libs/jquery_LICENSE
100644 → 100755
Empty file.
Empty file modified ardublockly/materialize/LICENSE
100644 → 100755
Empty file.
Empty file modified ardublockly/materialize/README.md
100644 → 100755
Empty file.
Empty file modified ardublockly/materialize/materialize.css
100644 → 100755
Empty file.
Empty file modified ardublockly/materialize/materialize.js
100644 → 100755
Empty file.
Loading