Skip to content
kwilson edited this page Aug 1, 2014 · 11 revisions

Marionette Interaction

Q: Why did you call it Fetch? A: To keep with the Marionette theme it would have been nifty to name it String but--in software and language development--naming a language String that is comprised of Strings and parsed with a language that uses String as a type is simply asking for trouble. Or at least a starring role in an XKCD Comic.

Q: What about 'corde'? A: ...

Issuing Fetch Commands

Fetch commands are issued through the serial terminal. Each command is terminated by the enter key (or a CR character when issuing automated commands).

Fetch messages are issued back to the user through the Marionette shell.

For help on available Fetch commands type:

help

at a prompt.

Anatomy of a Fetch command

A Fetch command is broken into two parts. The instruction and the data part.

When a command is not recognized, the system will respond with an error. This may indicate:

  • The command does not exist
  • The command was not entered correctly
  • Some other error

The instruction part of a Fetch command

The instruction part of a Fetch command is a series of ':' separated strings (words). For example:

gpio:set:porta:pin0

An instruction may have only one string (word).

resetpins

The data part of a Fetch command

Not all Fetch commands require data. When they do, the data portion of a command immediately follows the last string (word) in an instruction sequence, and begins with a '('. For example this command sets the ADC1 reference voltage to 2000 mV:

adc:conf_adc1:vref_mv(2000)

Each data in a sequence is separated by space(s).

Resetting the pins

At startup all the pin states are set to the default state in the 'boardfile' for the specific hardware. Issuing the resetpins command returns these pins to that state.

Future

A command to query pin states is under development as of Thu 31 July 2014 10:59:47 (PDT).

Back To Home