Sequence Objects

Introduction

A Sequence object manages a set of Commands. The sequence is constructed on the host from a list of commands, then downloaded and executed in the controller. Typically, applications only use Sequences for very small or simple autonomous tasks that require execution in the controller. Due to their embedded execution, debugging can be difficult. It is best to use the host application to execute MPI methods directly for optimum flexibility and performance.

If you are considering using a program Sequencer or Command objects, please contact your support engineer. We recommend that you do NOT implement complex Sequences on your own.

Commands are implemented using MPICommand objects. Information about the different types of commands can be found on MPICommandType and MPICommandParams. Sample applications for using sequencers can be found in the Sample Applications section. Search for application names starting with seq. Seqkill.c is a good place to start.

| Error Messages |

Methods

Create, Delete, Validate Methods
  mpiSequenceCreate Create Sequence object
  mpiSequenceDelete Delete Sequence object
  mpiSequenceValidate Validate Sequence object

Configuration and Information Methods
  mpiSequenceConfigGet Get sequence config
  mpiSequenceConfigSet Set sequence config
  mpiSequenceFlashConfigGet Get sequence flash config
  mpiSequenceFlashConfigSet Set sequence flash config
  mpiSequencePageSize Set pageSize to number of command slots used by sequence
  mpiSequenceStatus Return sequence status

Event Methods
  mpiSequenceEventNotifyGet Select an event mask for host notification of events
  mpiSequenceEventNotifySet Enable host notification of sequence events
  mpiSequenceEventReset Reset sequence events

Action Methods
  meiSequenceCompile  
  mpiSequenceLoad Load sequence commands into firmware
  mpiSequenceResume Resume execution of sequence
  mpiSequenceStart Start execution of sequence
  mpiSequenceStep Execute count steps of a stopped sequence
  mpiSequenceStop Stop sequence

Memory Methods
  mpiSequenceMemory Set address used to access sequence memory
  mpiSequenceMemoryGet Get bytes of sequence memory and put into application memory
  mpiSequenceMemorySet Put (set) bytes of application memory into sequence memory

Relational Methods
  mpiSequenceControl Get handle to Control
  mpiSequenceNumber Get index number of sequence

Command Methods
  mpiSequenceCommand Return handle to indexed command of sequence
  mpiSequenceCommandAppend Append command to sequence
  mpiSequenceCommandCount Count the number of commands in sequence
  mpiSequenceCommandFirst Return handle to first command in sequence
  mpiSequenceCommandIndex Return the index of a command in sequence
  mpiSequenceCommandInsert Insert command into sequence
  mpiSequenceCommandLast Return handle of last command in sequence
  mpiSequenceCommandListGet Get list of commands in sequence
  mpiSequenceCommandListSet Set list of commands in sequence
  mpiSequenceCommandNext Get handle to next command in list
  mpiSequenceCommandPrevious Get handle to previous command in list
  mpiSequenceCommandRemove Remove command from list


Data Types

  MPISequenceConfig / MEISequenceConfig  
  MPISequenceMessage  
  MPISequenceState  
  MPISequenceStatus  
  MEISequenceTrace  

 

See Also

  MPICommand  
  MPICommandType  
  MPICommandParams  
  seqKill.c (sample application)