5.2 pass arguments to an AVIL program



You can execute an AVIL program passing some arguments to it.
The max number of arguments you can pass is MAX_INPUT_ARGS_NUM as defined here.
You can pass as argument a string, a boolean or an integer.
Just remember to escape the double quotes whe passing a string as you can see in this sketch:

1 #include <avil.h>
2 
3 avil interpreter;
4 
5 void setup(void) {
6   
7   if(!interpreter.init()){
8      //something wrong during initialization...want to do something? 
9   }
10 
11   //run a program with arguments
12   interpreter.run("argsEx.av \"ciao\" 5");
13 }
14 
15 
16 void loop(void) {
17   //nothing to do here...
18 }

You can access the arguments value in the AVIL program's side like this:

This program produces this output:

1 first arg: ciao
2 second arg: 5

Note:


If you're using an input argument of an AVIL program as an input for a call you must first store it as a regular variable like this:

You can't use it directly like this: