Commit 79c8781a authored by carlosperate's avatar carlosperate

Updating README information

parent 78a414ab
...@@ -3,10 +3,11 @@ Ardublockly is a visual programming editor for Arduino. It is based on Google's ...@@ -3,10 +3,11 @@ Ardublockly is a visual programming editor for Arduino. It is based on Google's
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][2].
This is all packaged in a self contained executable desktop application for Windows, Mac OS X, and Linux: This is all packaged in a self contained executable desktop application for Windows, Mac OS X, and Linux.
![Ardublockly desktop program screenshot][desktop_screeshot] ![Ardublockly desktop program screenshot][desktop_screeshot]
## Features ## Features
* Generates Arduino code with visual drag-and-drop blocks * Generates Arduino code with visual drag-and-drop blocks
* Uploads the code to an Arduino Board * Uploads the code to an Arduino Board
...@@ -19,24 +20,46 @@ Ardublockly is still under development and a few features are not yet implemente ...@@ -19,24 +20,46 @@ Ardublockly is still under development and a few features are not yet implemente
Currently tested under Windows with Python 2.7 and 3.4 and in Linux and MacOS X with Python 2.7. 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
cd ardublockly
git submodule update --init --recursive
```
## Installing ## 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] (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:
| Linux build | Windows build | Mac OS X build | | 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) | | [![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] | | [Download Link][12] | [Download Link][13] | [Download Link][14] |
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:
``` ```
git clone https://github.com/carlosperate/ardublockly.wiki.git git clone https://github.com/carlosperate/ardublockly.wiki.git
``` ```
## Credit ## Credit
This project has been inspired by BlocklyDuino. 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.
[1]: https://developers.google.com/blockly/ [1]: https://developers.google.com/blockly/
[2]: http://arduino.cc/en/main/software/ [2]: http://www.arduino.cc/en/main/software/
[3]: TODO.md [3]: TODO.md
[4]: https://github.com/carlosperate/ardublockly/releases/ [4]: https://github.com/carlosperate/ardublockly/releases/
[5]: https://github.com/carlosperate/ardublockly/wiki/Installing-Ardublockly [5]: https://github.com/carlosperate/ardublockly/wiki/Installing-Ardublockly
...@@ -86,8 +110,9 @@ The full document can be found in the [LICENSE][9] file. ...@@ -86,8 +110,9 @@ The full document can be found in the [LICENSE][9] file.
[12]: http://ardublockly-builds.s3-website-us-west-2.amazonaws.com/index.html?prefix=linux/ [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/ [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/ [14]: http://ardublockly-builds.s3-website-us-west-2.amazonaws.com/index.html?prefix=mac/
[15]: http://arduino.cc [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 [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_responsive]: http://carlosperate.github.io/ardublockly/images/screenshot_material_all_small.jpg
......
# Ardublockly to-do list # Ardublockly to-do list
## Ardublockly build system
- [ ] 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
...@@ -25,14 +43,9 @@ ...@@ -25,14 +43,9 @@
- [ ] Change delete all icon with "new" - [ ] Change delete all icon with "new"
- [ ] 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
...@@ -40,7 +53,7 @@ ...@@ -40,7 +53,7 @@
- [ ] Modify zoom icons to be smaller and placed in top right corner - [ ] Modify zoom icons to be smaller and placed in top right corner
- [ ] Modify zoom to be available without using the scroll - [ ] Modify zoom to be available without using the scroll
- [x] ~~Add setup and loop functions to the custom toolbox flyout and ensure only one instance can be included in workspace~~ - [x] ~~Add setup and loop functions to the custom toolbox flyout and ensure only one instance can be included in workspace~~
- [ ] Arduino setup and loop block can be copy/pasted using keyboard shorcuts, stop this from happening - [ ] Arduino setup and loop block can be copy/pasted using keyboard shorcuts, stop this from happening
#### Blockly changes to feed upstream #### Blockly changes to feed upstream
- [ ] Any useful changes to the zoom functionality - [ ] Any useful changes to the zoom functionality
...@@ -57,7 +70,7 @@ ...@@ -57,7 +70,7 @@
- [ ] controls_forEach block uses lists, these are not implemented in the Arduino generator (possible arrays), when implemented this block needs a getVarType, varType, and getType functions - [ ] controls_forEach block uses lists, these are not implemented in the Arduino generator (possible arrays), when implemented this block needs a getVarType, varType, and getType functions
- [ ] add getVarType to the procedures blocks - [ ] add getVarType to the procedures blocks
- [ ] the loops count type is set to int, user could input a decimal, so add input checking to determine type - [ ] the loops count type is set to int, user could input a decimal, so add input checking to determine type
- [ ] Number blocks automatically trim unnecessary decimal digits "x.0 => x", change this behavior so that "x.0" can be set as a decimal - [ ] Number blocks automatically trim unnecessary decimal digits "x.0 => x", change this behavior so that "x.0" can be set as a decimal
#### Arduino generator #### Arduino generator
- [ ] Text trim does not currently generate Arduino valid code - [ ] Text trim does not currently generate Arduino valid code
...@@ -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
...@@ -7,13 +7,14 @@ It adds the following features: ...@@ -7,13 +7,14 @@ It adds the following features:
* Arduino code generation * Arduino code generation
* Arduino specific blocks * Arduino specific blocks
* Arduino boards support * Different Arduino boards support
* Static typing (working, but incomplete) * Static typing (working, but incomplete)
* Code warnings * Code warnings
* Arduino pin tracking
* Arduino generator unit test (incomplete) * Arduino generator unit test (incomplete)
* Procedures and flyout core classes modified to include the Arduino setup() and loop() functions * Procedures and flyout core classes modified to include the Arduino setup() and loop() functions
All other changes and fixes have been submitted to the original blockly repository for inclusion into the upstream master branch. All other changes and fixes have been submitted to the original Blockly repository for inclusion into the upstream master branch.
This fork gets frequent upstream pulls to maintain it up to date. This fork gets frequent upstream pulls to maintain it up to date.
......
This diff is collapsed.
mkdocs>=0.12.1 mkdocs>=0.12.1
cefpython3>=31.2
py2exe>=0.6.9 py2exe>=0.6.9
wxPython>=3.0.2.0
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment