===== Bitlash Command Reference =====
Here is an alphabetical reference list of Bitlash commands.
----
==== expression evaluation ====
If you type a "naked expression" it will be evaluated, and any side effects like function calls and macro executions will happen, but nothing is printed unless you say so using [[print]]. For example:
> d13=1; delay(125); d13=0
>
Your code is executed (d13 goes high for 125 ms), but all you see on the console is the command prompt after it's done.
----
==== boot: restart the arduino ====
Resets the Arduino. On restart, the **startup** macro will run, if one is present.
----
==== help: display some onboard help text ====
Help displays a short help message that can be helpful if you forget the name of a command or function. It also displays a list of your macros via 'ls'.
----
==== if expr: statementlist ====
The while and if commands have their [[conditionals|own section]].
----
==== ls ====
List all the macros stored in EEPROM.
> blip:="d13=!d13"
> ls
blip:="d13=!d13"
----
==== peep: print a map of eeprom ====
Peep prints a map of eeprom usage. This can help you see how full your EEPROM is, and whether you have fragmented free space.
> peep
E000: foo\ prin t #4 :".^ ",\b lip\ d13= !d13 \cc\ ^^^\ t13\ d13= !d13 ;sno oze 100\
E040: b0\b lip; snoo ze(i *i); if + +i>m :i=- m\st artu p\ru n t1 3\al fa\a bcde fghi
E080: jklm nopq rstu vwxy z\cl s\pr int #4:" xfe^ ",\. .... .... .... .... .... ....
E0C0: .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... ....
E100: .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... ....
E140: .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... ....
E180: .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... ....
E1C0: .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... ....
Note that the "E000" address is actually EEPROM address 0000. Subtract 0xe000 from the addresses shown.
----
==== print [#pin:] [[expr][,]] -- print ====
In its simplest form: print foo,bar will get you started. But print has a lot of options, so please see the section on [[Printing]] for details.
----
==== ps: 'process status' -- print a list of running background macros ====
Ps shows a list of running background macros.
> run t13
> ps
0: t13
----
==== rm: delete a macro from eeprom ====
> blip:="d13=!d13"
> ls
blip:="d13=!d13"
> rm d13
> ls
>
----
==== run: run a macro in the background ====
See the section on [[macros:background|Background Macros]] for details.
> run t13,125
> ps
0: t13
----
==== stop tasknum | stop | stop * ====
Stop a background task by number, stop the current task, or stop all tasks.
> run t13
> ps
0: t13
> stop 0
> ps
>
----
==== switch expr: macro0,macro1,...macroN ====
The switch statement is described in [[Conditionals]].
----
==== while expr: statementlist ====
The while and if statements have their own [[conditionals|section]].