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
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]
## Features
* Generates Arduino code with visual drag-and-drop blocks
* Uploads the code to an Arduino Board
......@@ -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.
## 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
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 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] |
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
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. 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
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
```
## 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
......@@ -73,7 +97,7 @@ The full document can be found in the [LICENSE][9] file.
[1]: https://developers.google.com/blockly/
[2]: http://arduino.cc/en/main/software/
[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
......@@ -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/
[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://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
[web_screenshot_responsive]: http://carlosperate.github.io/ardublockly/images/screenshot_material_all_small.jpg
......
# 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
- [ ] Complete `compilerserttings` module unit test
- [ ] Complete `actions` module unit test module
- [ ] 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
- [ ] 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 @@
- [ ] Comprehensive test of server with python 3
#### Windows specific
- [ ] Comprehensive test of server with python 3
#### Python 3 specific
......@@ -26,13 +44,8 @@
- [ ] 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
- [ ] On low resolutions ensure the blockly vertical height is lower than the viewport
## 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
- [ ] Add tooltips to the action buttons and floating round buttons
- [ ] Add internationalisation, initially only English and Spanish
## Blockly
......@@ -75,8 +88,8 @@
## Future features
- [ ] 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 data graphing
- [ ] 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:
* Arduino code generation
* Arduino specific blocks
* Arduino boards support
* Different Arduino boards support
* Static typing (working, but incomplete)
* Code warnings
* Arduino pin tracking
* Arduino generator unit test (incomplete)
* 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 diff is collapsed.
mkdocs>=0.12.1
cefpython3>=31.2
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