Difference between revisions of "Latest on the software"

From Bcontrol
Line 65: Line 65:
== Plugins ==
== Plugins ==
* '''<tt>[[Plugins-distribui|distribui]] plugin</tt>'''
:New plugin to add GUI elements for a random variable, from a chosen distribution type.
: [[User:CarlosBrody|CarlosBrody]] 00:01, 29 August 2007 (EDT)
* '''<tt>[[Plugins-pokesplot|Pokesplot]] plugin</tt>'''  
* '''<tt>[[Plugins-pokesplot|Pokesplot]] plugin</tt>'''  
:All good: Displaying on physical rigs, displaying data ''from'' physical rigs, and save/load functionality all work fine.
:All good: Displaying on physical rigs, displaying data ''from'' physical rigs, and save/load functionality all work fine.

Revision as of 04:01, 29 August 2007

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.


  • SoloParamHandle/end.m
Defined 'end' for SoloParamHandles. SO if value(foo) = [3 2 4], foo(end)=4;
Before this fix, foo(end) would return 3, because end would check the length of foo, which is a 1x1 SoloParamHandle and then you would end up with foo(1).
Jerlich 02:59, 7 August 2007 (EDT)
  • load_ / save_ solo(ui)paramvalues
Added support for fetching the location of the protocol settings and data via the Settings object.
Jerlich 02:59, 7 August 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)


CarlosBrody 01:22, 20 August 2007 (EDT)
Sebastien 10:16, 31 July 2007 (EDT)
  • Newstartup cleaned up and adjusted for backward compatibility
Sebastien 10:16, 31 July 2007 (EDT)
  • Script Hooks
Use the AUX_SCRIPTS group of settings in Settings/Settings_Custom.conf to specify any scripts you have written and want to run when Run (or End) is pressed in Dispatcher or RunRats - for example, for video recording.
Sebastien 09:27, 31 July 2007 (EDT)
The Calibration_WaterDelivery protocol should be selected from the Dispatcher protocol menu to calibrate water delivery and store calibration information locally.
Sebastien 09:27, 31 July 2007 (EDT)
  • Settings
Interface for global BControl settings.
Startup Guide#First-Run_Configuration for tips on modifying settings.
BControl Settings Interface for tips on employing the global settings system in (protocol, plugin, etc.) code.
Sebastien 09:27, 31 July 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 add GUI elements for a random variable, from a chosen distribution type.
CarlosBrody 00:01, 29 August 2007 (EDT)
All good: Displaying on physical rigs, displaying data from physical rigs, and save/load functionality all work fine.
CarlosBrody 00:43, 12 August 2007 (EDT)
Added flag to use the RT SoundServer's capability to loop sounds indefinitely, until explicitly stopped. See this plugin's documentation. Indefinite repeat is not supported in the software state machine emulator
CarlosBrody 17:43, 11 August 2007 (EDT)
Added autosave functionality, to make it easy to automatically save every few trials and thus prevent data from getting lost if something crashes. See 'autosave_data' in the saveload documentation.
CarlosBrody 17:34, 11 August 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

  • Getting the RTLinux-side source code
Calin's repository appears to be awol. To get the source code of 15-Aug-07, click here
CarlosBrody 16:52, 15 August 2007 (EDT)

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


  • General settings subsystem
BControl Settings Interface#SettingsObject
A simple class for reading and storing settings files.
Sebastien 09:27, 31 July 2007 (EDT)