Latest on the software

From Bcontrol
Revision as of 05:37, 20 July 2007 by Jerlich (talk | contribs) (Solo)

Please sign changes to this page, so people know who to contact if they have a question.

To sign your edit, put in four tildes, like this: ~~~~

There is project management software for bcontrol. Please use that site to report bugs, ask for enhancements, etc. This site is to be used for documentation, while the project management software, trac, should be used for all other aspects of the code development.

Jerlich 20:18, 20 June 2007 (EDT)


  • load_solouiparams
Made a change in load_solouiparams that resulted in significant speedup of load times. Instead of cycling through all the fieldnames in the saved struct and calling get_sphandle on each on, I just cycled through the handles. Also, Carlos added an 'owner' string input argument, so the [plugins-saveload|@saveload] plugin was updated to use this parameter instead of child_protocol. Note that if both child_protocol and owner are passed, child_protocol takes precedence, for backward compatibility.
This hasn't been committed to the main branch. To test it please go into your HandleParams directory and type
 cvs up -r loadsoloui_by_handles

to return to the main branch type

 cvs up -A
Jerlich 04:37, 29 June 2007 (EDT)
  • load_solouiparams
Added an 'Interactive' option, much like the one in save_solouiparams, which will load the most recent settings for a rat without any user interaction.
Jerlich 04:37, 29 June 2007 (EDT)
  • SoloFunctionAddAllVars
This is a wrapper for SoloFunctionAddVars, which gives another function permissions on all SoloParams owned by the calling function.
Jerlich 14:33, 25 June 2007 (EDT)
  • sp_who.m
Find who owns and has access to SoloParamHandles.
Given a SoloParamHandle, sp_who prints to command line who owns it and who has access to it.
Can also be given search parameters: e.g., sp_who('name', 'gee') will report on all SoloParamHandles whose name contains the string 'gee'. For allowable search paramteres, do "help get_sphandle".
CarlosBrody 11:15, 1 June 2007 (EDT)


  • PokesplotDemo protocol
A very simple dispatcher protocol, basically just demonstrates the pokesplot plugin. Protocols/@PokesplotDemo/
CarlosBrody 13:59, 1 June 2007 (EDT)


New plugin to more easily add sounds to protocols.
Jerlich 14:17, 17 July 2007 (EDT)
Modified the plugin to support the new directory structure for settings and data, which includes the experimenter name.
Jerlich 14:32, 25 June 2007 (EDT)
Documented this plugin, both on wiki and in Matlab help file.
CarlosBrody 20:51, 23 June 2007 (EDT)
Documented this plugin, both on wiki and in Matlab help file.
CarlosBrody 19:26, 23 June 2007 (EDT)
Software should be fully documented. For help, see the "SessionModel" wiki page.
Shraddha Pai 19:24, 18 June 2007 (EDT)
Added complete documentation to the antibias plugin. For help, "help @antibias/AntibiasSection." This plugin does not take any information in through SoloParamHandles, it is all parameters in on the function calls made to it, and returns out.
CarlosBrody 14:14, 2 June 2007 (EDT)


RTLSM Linux-side code and @RTLSM (Matlab object) methods

Currently (25 Jan 2007) Calin is maintaining the Linux-side code and runs the repository for it. To obtain the latest code, follow the instructions here.

  • GetTimeEventsAndState.m
This function is not for the user-level, but is intended internally for Dispatcher (and, if desired, the old RPBox.m) to run their update calls faster.
@RTLSM/GetTimeEventsAndState.m returns, from a single call to the Linux RTLSM kernel, the following four things: (1) current Time, according to the RTLSM; (2) current State the RTLSM is in; (3) current RTLSM Event counter; (4) matrix of latest Events. This combo call replaces the four separate calls that used to be made, one for each of those things. Since each call to the RTLSM kernel takes about 40 ms, useing the old 4 calls took 160 ms; the combo reduces that by 120 ms. The returns are in RTLSM numeric format, not in the disassembled format that Dispatcher reports to users.
CarlosBrody 13:11, 15 June 2007 (EDT)
  • ForceState.m
When ForceState.m tries to force the FSM to a state that doesn't exist, the FSM returns an error. (This makes sense). This error was handled by RTLSM as an error and it would crash dispatcher. I changed the function to throw a warning instead of an error. So the user will still see the error returned by the FSM server, but the code will continue to run on the matlab end. [Is this desirable or should this be changed in dispatcher?]
Jerlich 14:47, 15 June 2007 (EDT)

RTLSM Matlab-side: StateMachineAssembler and disassembler