I just left a friend of mine that is a master machinist. I told him
that I was on the way back to my shop to finish up a SERVO
article. He asked what it was about and what programming
language I would be using. When I told him Basic, he replied,
"Good ... That's something I understand." The funny thing
about my friend is that he has absolutely no problem building
complicated machined parts that must hold tolerances of
±0.0001 of an inch, and he regularly uses the Basic language
to write scripts for his custom-made embedded CNC machine
tools. That in itself says a lot for the Basic language.
by Fred Eady
You can discuss this topic at
We are going to examine a development system that feels and
smells like Basic, but is capable of performing C-like tricks. The
combined hardware and Basic development environment falls
under the banner of Tibbo.
Tibbo Basic 101
Figure 1 is a graphical representation of the Tibbo
firmware environment that runs on the target Tibbo
hardware. The Master and VM (Virtual Machine) processes
run under the control of TiOs (Tibbo Operating System).
From a process point of view, the Master Process is in
charge of communications and is the link to TIDE (Tibbo
Integrated Development Environment).
Events are also generated by the Master Process. VM —
which executes the compiled user application — runs under
the control of the Master Process.
The V in VM means that the execution engine for the
user application contains no silicon. VM is chunks of
firmware and hardware that emulate a silicon-based
hardware processor. The user application is compiled into
VM interprets the P-Code in a way that
emulates the execution of machine language
code. There are many advantages to running the
Tibbo user application under VM. If the user
application bombs, it will only affect the VM
process at the most. The Master Process and
TiOs will continue to run, isolating the target
hardware from the application crash. Since the
Master Process has total control of the Virtual
Machine, the Master Process can stop the VM
and send debug information to the programmer
Tibbo user applications are event-driven.
Events such as incoming characters, logic level
transitions, and timer overflows are detected by
the Master Process. These events are passed to
FIGURE 1. The user application
is encapsulated within the
Virtual Machine (VM), which
is encapsulated in TiOS.
52 SERVO 08.2013