From Bcontrol

A great deal of documentation for @StateMachineAssembler remains to be done! For now, the easiest way to start using it is to go to the pages that explain the Real-Time Linux State Machine and look at the example code embedded there.

If you are writing a protocol using Dispatcher, you should always initialize your @StateMachineAssembler object using the folling command

   sma = StateMachineAssembler('full_trial_structure');


Suppose you've written a protocol that runs under Dispatcher and you are now trying to debug it. You can do ground state-by-state debugging by having Dispatcher invoke the disassembler for you. For example,

   >> dispatcher('disassemble', [1 4:10]);

will print out disassembler information for trials 1 and 4 through 10. Load your data into a protocol, choose which trials you want to dissassemble, and go.

Method listing[edit]

This is a list and documentation for all of the methods in the @StateMachineAssembler object class.

  • StateMachineAssembler.m
  • add_scheduled_wave.m
  • add_state.m
  • assemble.m
  • compressed.m
  • disassemble.m
  • get_col_labels.m
  • get_current_iti_state.m
  • get_current_state.m
  • get_first_iti_state.m
  • get_iti_states.m
  • get_labels.m
  • get_scheduled_waves.m
  • get_states.m
  • identify_pokes.m
  • is_no_dead_time_technology.m
  • label2statenum.m
  • only_labels.m
  • only_labels_and_outcols.m
  • reserved_words.m
  • send.m
  • stitch_chunks.m