@@ -9,12 +9,13 @@ This project has been influenced by BlocklyDuino.
## Features
* Generate Arduino code with visual drag-and-drop blocks
* Load the code to an Arduino Board
* Useful "code block warnings"
* Compatible with a wide range of official Arduino Boards
*Compatible with Windows / Linux / Mac OS X
*Runs on Windows / Linux / Mac OS X
Ardublockly is still under development and a few features are not yet implemented.
Ardublockly is still under development and a few features are not yet implemented. A to-do list can be found in the [TODO.md file](https://github.com/carlosperate/ardublockly/blob/master/TODO.md).
Currently tested under Windows, but developed for portability. Will soon be tested on the other platforms.
Currently tested under Windows and Linux with python 2, but developed for portability. Will soon be tested on all platforms.
## Demo
...
...
@@ -31,10 +32,7 @@ A demo of the current state of Ardublockly can be found in the following two lin
## Installing
Installation instructions can be found in [this Github repository Wiki](https://github.com/carlosperate/ardublockly/wiki/Installing-Ardublockly).
Alternatively, there is a packaged version for Windows that runs as a stand-alone executable and can be downloaded using the following git command:
Alternatively, there is a packaged version for Windows that runs as a stand-alone executable and can be downloaded from the [Ardublockly-package repository](https://github.com/carlosperate/ardublockly-package) or directly as a zip file [clicking here](https://github.com/carlosperate/ardublockly-package/archive/master.zip).
It also needs the [Arduino IDE version 1.6 or higher](http://arduino.cc/en/main/software).
...
...
@@ -43,7 +41,7 @@ It also needs the [Arduino IDE version 1.6 or higher](http://arduino.cc/en/main/
1. Install Ardublockly or [Ardublockly-package](https://github.com/carlosperate/ardublockly-package)
2. Install the [Arduino IDE version 1.6 or higher](http://arduino.cc/en/main/software).
3. Run the `start.py` python script (for Ardublockly) or `ardublockly_win.bat` package file (for Ardublockly-package)
3. Configure Ardublockly to find the Arduino IDE [following these instructions](https://github.com/carlosperate/ardublockly/wiki/Configure-Ardublockly)
3. Configure Ardublockly to locate the Arduino IDE [following these instructions](https://github.com/carlosperate/ardublockly/wiki/Configure-Ardublockly)
- [ ] 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 server components in Linux with python 3
- [ ] Current port list shows all dev/tty, as all Arduinos should be connected by USB this list can be filtered to only show ttyUSBx ports
## Mac OS X specific
- [ ] Test server components in Mac OS X with python 2
- [ ] Test server components in Mac OS X with python 3
## Python 3 specific
- [ ] When a sketch is send to the IDE using python 3 the following error is shown (tested on linux):
```
Can't convert 'bytes' object to str implicitly
There was an error manipulating the sketch data!!
```
- [ ]
## Server
- [ ] Serial port test code
- [ ] ServerCompilerSettings test module
- [ ] BlocklyRequestHandler test module
- [ ] SketchCreator test module
- [ ] Combine Arduino boards from code generator with Arduino boards offered for compilation
## Static typing
- [x] Warnings for setting variables to a different type than first instance
- [x] Type finding for the get variable block
- [ ] math_number block 'errornumber' type
- [ ] remove getVarType types that are use for debugging
- [ ] math_arithmetic getType to check types of given inputs to decide between int or float
- [ ] math_number getType to use regular expressions more efficiently
- [ ] logic_ternary block getType to defines type as that of its inputs
- [ ] controls_for getVarType function
- [ ] 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
## Arduino related code
- [ ] Add information for other Arduino boards
## Arduino blocks
- [ ] Add a way to select different Arduino boards (settings menu should trigger arduino generator board change)
- [ ] Code generator for lists into arrays.
- [ ] A lot of blocks go through the entire block tree, which end ups being terribly inefficient. Maybe create a general pass through in the arduino.js file to check everything that needs to be checked in one pass.
## Arduino web-app
- [ ] Edit toolbox fade out + visibility button fade in with a CSS animated change in height with overflow hidden.
- [ ] Add examples
## Future features
- [ ] Serial console in web app for comms with Arduino