In this week some extra features were required to be added to the tool which are as follow:
Custom Code Block
A custom code block had to be created so that a user can write his own custom code and save it as an independent block. A user can simply click on the block and edit it. After that the block is synthesized by the Python application and the block is saved in the “modules” directory. For each block a python script is generated and proper connections are set up. Each of these blocks also run on seperate parallel processes.
For a better user interface, it was decided that each block should have a thumbnail. For the description of each block, the user can simply hover the mouse over that block and see what that block does. Thumbnails were added to each block and the user can also add his own thumbnails throught the interface.
Adding Parameters Support
To make blocks more generic, they needed to have some paramaters so they can work for multiple robots as well as for different purposes such as a single color filter can filter any color by providing the color range as parameters.
As there were a lot of changes by adding the custom code block and paramaters, the python synthesis backend required some significant changes to handle these blocks.