X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=README.md;h=941e4ce7f8c42f4aae11d3ae63575472bea180da;hb=c6709b5f2b35baa57f11e557d4baa96d6b9a54cf;hp=ff2a986e5bd5aaebf274135f02f7e93350bab89a;hpb=20d565b9eb2b58cc1e7e43b518d3529fb7ba10d4;p=mTask.git diff --git a/README.md b/README.md index ff2a986..941e4ce 100644 --- a/README.md +++ b/README.md @@ -12,46 +12,27 @@ The devices suitable for *mTasks* are not limited to embedded devices. In the *mTasks* are written in [clean][clean] and specifically using the [iTasks][itasks] library. -### Workings of an *mTask* system -*mTasks* are routines that are executed in a round robin fashion +### How to setup the iTask system +Get the latest iTask and run Make. Make sure to have `gcc-5`. -### Communication back to the server via shared data sources -When a shared data source is updated the *mTask* can publish this data back to -the server. This is usefull when for example a temperature reaches a certain -threshhold. How this communication will be done is yet to be researched. -**TODO** +### How to setup the interpreter +For the linux version install `gcc` and run `make -f Makefile.linux` in the +`./int` directory -### Usage -All programs can be built by running `make`. Note that you need the latest -`clm` version if you want to use the `Makefile` since hierarchical modules are -used. This version can be found [here][clm]. - -The following programs are available as of now: -- `mTaskExamples` - - This compiles a list of mTask examples to `C` code. - -- `mTaskMakeSymbols` - - This creates the `mTaskSymbols.h` header file - -- `mTaskInterpret` - - This compiles a subset of *mTasks* to bytecode. +For the STM version install `gcc-arm-none-eabi` and run `make` in the `./int` +directory. To flash the binary to the device install (a recent version of) +`openocd` and run `make flash` in the `./int` directory. ### Protocol -The engine starts with no tasks. To send a new task the following protocol must -be adhered. -**TODO** +The server can send task specifications to the microcontroller by sending: +| id | length +| 's' | n | n bytes | newline -### Bytecode operations -The header file for the interpreter with the corresponding bytevalues can be -generated by running `mTaskMakeSymbols`. +Where n is a 16bit integer. ### Author(s) Initial work has been done by Pieter Koopman. Extensions have been made by Mart Lubbers. -[clm]: https://svn.cs.ru.nl/repos/clean-tools/trunk/clm [clean]: clean.cs.ru.nl [itasks]: clean.cs.ru.nl/ITasks