pcb-rnd scripting - Rosetta

The Rosetta Stone of pcb-rnd scripting is a collection of example scripts implemented in various scripting languages. Rosetta has multiple purposes:

Each example comes with an explanation, written in plain English about what the scripts do, step by step. Instead of trying to exploit powerful features of the language, example implementations try to be simple.

The list below is ordered from the least complex to the most complex examples. Column lvl is the complexity score. The less the score is, the simpler the example is.

Index of examples

lvlexample languages description
10 hello world (text, log) awk bas fawk fl js lua pas perl python ruby sh stutter tcl Create a new action hello() that prints "Hello world!" in the message log.
11 hello world (menu, log) awk bas fawk lua pas python tcl Create a new menu + action hello() that prints "Hello world!" in the message log.
12 hello world (GUI) awk bas fawk lua pas perl python tcl Create a new action hello() that prints "Hello world!" in a modal dialog box using DAD.
13 hello world (GUI, with vbox) awk bas fawk lua pas perl python tcl Create a new action hello() that prints "Hello world!" in vertical layout in a dialog box.
21 timers awk bas fawk lua pas perl python tcl Create timers that are going to call back an action in the background.
72 unit converter (GUI, interactive) awk fawk lua tcl Interactive unit converter in a dialog, created via dad().
81 script state persistency (load/unload/reload) awk lua Counts how many times the script was loaded, in a persistent on-disk counter.