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] (once it is stable enough for a first alpha release).
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] (once it is stable enough for a first alpha release).
You will also need the [Arduino IDE version 1.6 or higher][2].
You will also need the [Arduino IDE version 1.6.x or higher][2].
In the meantime, you can test __UNSTABLE__ development builds automatically generated on these build servers:
#### Development builds
In the meantime, you can test __UNSTABLE__ development builds automatically generated on these CI build servers:
If you prefer, the main software can be run with Python and a web browser only. Installation instructions for this "developer version" can be found in [this Github repository Wiki][5]. This will work on Windows, Linux and MacOS X, with Python >2.6 and >3.2.
#### "Core version" (Python server only)
If you prefer, the core software can be used by running 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:
```
python start.py
```
This will work on Windows, Linux (including ARM) and MacOS X, with Python >2.6 and >3.2.
## Running
## Running
1.[Install Ardublockly][5].
1.[Install Ardublockly][5].
2. Install the [Arduino IDE][2] version 1.6 or higher.
2. Install the [Arduino IDE][2] version 1.6.x or higher.
3. Run Ardublockly as defined in your installation method.
3. Run Ardublockly as defined in your installation method.
3. Configure Ardublockly to locate the Arduino IDE [following these instructions][6].
3. Configure Ardublockly to locate the Arduino IDE [following these instructions][6].
...
@@ -55,15 +78,16 @@ A demo of the current state of Ardublockly main interface can be found in the fo
...
@@ -55,15 +78,16 @@ A demo of the current state of Ardublockly main interface can be found in the fo
The documentation, including installation instructions, configuration instructions, and developer information can be found in the [Ardublockly GitHub repository Wiki][7].
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:
To download the documentation you can git clone the wiki data:
This project has been inspired by [BlocklyDuino][16].
Blockly original source is Copyright of Google Inc. [https://developers.google.com/blockly/][1]
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.
## License
## License
...
@@ -73,7 +97,7 @@ The full document can be found in the [LICENSE][9] file.
...
@@ -73,7 +97,7 @@ The full document can be found in the [LICENSE][9] file.
- [ ] Update the documentation build script to work on the project root directory like the other build scripts.
- [ ] Update the py2exe Windows Build to place the executable on the projetct root directory.
- [ ] Should the Windows build be moved to PyInstaller and keep a single build script for all platforms??
- [ ] Add documentation build steps to the CI build servers
## Ardublockly desktop wrapper
- [ ] Wait for resolution and implement appData directory move fixes https://github.com/atom/electron/issues/2721
- [ ] Move Electron front end changes script from ardublockly html injection into preload script executed from Electron
- [ ] Add menu to directly select a between the different Arduino boards supported
- [ ] Executable app signing
- [ ] Check for "built python server executable", if not found check if python is installed, if it is then run the server in a python subprocess.
## Python server
## Python server
- [ ] Complete `compilerserttings` module unit test
- [ ] Complete `compilerserttings` module unit test
- [ ] Complete `actions` module unit test module
- [ ] Complete `actions` module unit test module
- [ ] Check for more possible issues with unicode in Python 2
- [ ] Check for more possible issues with unicode in Python 2
- [ ] Experiment with the `--preserve-temp-files` flag to maintain temporary files and speed up CLI compilation.
- [ ] Experiment with the `--preserve-temp-files` flag to maintain temporary files and speed up CLI compilation
- [ ] Remove tkinker file selection and implement an html version
- [ ] The server should provide fully "headless" execution
#### Linux specific
#### Linux specific
- [ ] Test load to board in Linux with Arduino 1.6 (current test in raspberry pi and ubuntu to load sketches in the IDE) with python 2
- [ ] Test load to board in Linux with Arduino 1.6 (current test in raspberry pi and ubuntu to load sketches in the IDE) with python 2
...
@@ -16,6 +33,7 @@
...
@@ -16,6 +33,7 @@
- [ ] Comprehensive test of server with python 3
- [ ] Comprehensive test of server with python 3
#### Windows specific
#### Windows specific
- [ ] Comprehensive test of server with python 3
#### Python 3 specific
#### Python 3 specific
...
@@ -26,13 +44,8 @@
...
@@ -26,13 +44,8 @@
- [ ] Similar to Arduino IDE, select area to display button action text, and change the text with button mouse over
- [ ] Similar to Arduino IDE, select area to display button action text, and change the text with button mouse over
- [ ] Ensure that basic empty sketch code shows on page load
- [ ] Ensure that basic empty sketch code shows on page load
- [ ] On low resolutions ensure the blockly vertical height is lower than the viewport
- [ ] On low resolutions ensure the blockly vertical height is lower than the viewport
- [ ] Add tooltips to the action buttons and floating round buttons
- [ ] Add internationalisation, initially only English and Spanish
## Ardublockly desktop wrapper
- [ ] Wait for resolution and implement appData directory move fixes https://github.com/atom/electron/issues/2721
- [ ] Move Electron front end changes script from ardublockly html injection into preload script executed from Electron
- [ ] Add menu to directly select a between the different Arduino boards supported
- [ ] Executable app signing
## Blockly
## Blockly
...
@@ -75,8 +88,8 @@
...
@@ -75,8 +88,8 @@
## Future features
## Future features
- [ ] Block creator app that also used blockly to create the generator code
- [ ] Block creator app that also used blockly to create the generator code
- [ ] Server component of the block creator to add files into folder and client side update to read them and include them into the toolbox
- [ ] Server component of the block creator to add files into project directory folder and have client side to read them and include them into the toolbox
- [ ] Serial console for comms with Arduino
- [ ] Serial console for comms with Arduino
- [ ] Serial data graphing
- [ ] Serial data graphing
- [ ] SVG image creation to displayed used pins with given function
- [ ] SVG image creation to displayed used pins with given function
- [ ] Auto updating for the desktop app
- [ ] Auto updating from server for the desktop app