
G
‐
MAS
–
Gold
Maestro
Software
User’s
Manual
Software
User
Manual
XXXXXXXXXXXX(0.01)
3
‐
23
inside
the
other
(as
explained
above
and
as
we
will
see
in
later
figures)
can
be
extended
as
much
as
required
and
suitable
for
the
application.
In
the
figures
presented
below,
we
show
1…N
parallel
States
Machines
and
a
depth
of
only
two
States
Machine
(the
main
States
Machine
and
one
Sub
States
Machine).
This
is
just
for
the
simplicity
of
the
figures.
However,
the
depth
can
be
increased
and
the
required
changes
of
the
variables
names
and
handling
are
minor
and
should
be
easily
handled
by
experienced
programmers.
Note
that
while
theoretically
unlimited
parallelism
and
depth
can
be
implemented,
the
programmer
is
responsible
to
make
sure
that
the
worst
case
execution
time
of
the
overall
MachineSequencesTimer()
function
will
be
shorter
than
the
TIMER_CYCLE
time,
in
order
not
to
saturate
the
G
‐
MAS
CPU
processing
load
(this
is
OK,
if
the
code
is
written
using
our
guidelines
as
described
within
these
chapters,
as
the
G
‐
MAS
processor
can
handle
more
States
Machines
than
any
practical
application
will
need).
Remembering
the
giTerminate
variable
that
we
have
described
earlier
in
this
chapter,
it
should
be
clear
that
any
States
Machine,
required
by
any
given
application,
can
set
this
global
variable
in
order
to
request
(from
the
MachineSequences()
function)
to
terminate
the
application
program
back
to
the
operating
system.