Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Controller with 8 in/outputs

  2. Controller with 16 in/outputs

  3. Controller with 32 in/outputs

Writing code

Controller syntax

In these controllers, code can be written to translate certain controls.

...

  • assignment statements

  • if and if-else statements

  • switch statements

  • comments : single line (//) and multiline (/*...*/)

  • operators :

    • increment operators (++ and --)

    • unary operators (- and !) 

    • binary operators : power (^), multiply (*), modulo (%), divide (/), sum (+), min (-)

    • ternary operator (a = x ? b : x)  see https://www.freecodecamp.org/news/c-ternary-operator/

    • conditional operators (|| and &&)

    • comparison (<=', >=, >, <, ==, '!=)

    • mathematical functions :  exp, ln, sin, cos, sqrt, min(x1, x2), max(x1, x2)

Initialisation

When using a variable that has not been defined before, the controller will equal the new variable to 0. This functionality can be used for initialisation purposes with the following topology:

image-20240320-152616.png

Built-in simulation variables

The following built-in parameters variables can also be used without explicit definition in the code withour prior assignment in the programmeable controller:

  • time : the time variable of the simulation

  • timestep: the timestep of the simulation

Example code

here is an example with code : example.txt

...