Version 1.17.0
Almost 2 years since our last release!
Change log:
- Updated examples
From Examples>Programs:
- Added a new task, "Bandit" (described below)
- Reorganized examples to include both ProgressiveRatio_Exponential and ProgressiveRatio_PR1.
- Added "PsyGeneMenu" for a specific project (https://sspsygene.ucsc.edu/)
From Examples>Beta_Programs:
- Removed GoNogo from Beta_Programs based on user feedback
- Removed MenuExample2 from Beta_Programs as it was redundant
- Added new functionality
-
Updated the Timeout function to include more arguments. It previously only allowed a user to set the duration in seconds, ie: fed3.Timeout(10); It now allows a user to set a "reset" boolean and a "whitenoise" boolearn. These both default to "false", so if they are not set the function will behave as it previously did. If "reset" is set to "true" the Timeout will restart if the mouse pokes again at either poke. If "whitenoise" is set to "true", the FED3 will deliver a white noise stimulus through the entire Timeout.
-
Changed code to accomodate the new "Bandit" task. This code will run a classic "2-armed bandit" task, where probabilities of pellet change on the two pokes (documentation here: https://fed3bandit.readthedocs.io/en/latest/hardware/overview.html). This task requires logging some additional variables such as the probability of pellet on each poke. If "session_type" is set as "Bandit", "Bandit80", or "Bandit100" the code will write these additional headers in the logfile and record their appropriate data: "PelletsToSwitch", "Prob_left", "Prob_right", "High_prob_poke".
-
Added a "jammed" mode which stops trying to dispense pellets after 100 attempts, with the assumption that there is a serious pellet jam that require manual clearing. The FED3 will stop trying to dispense at this point and show "JAMMED... PLEASE CHECK" on the screen. It will need to be reset to dispense again.
-
Only make a new filename when needed. FED3 previously would generate a new filename every time it booted up. We now re-use filenames if they have <2 lines of data in them. This results in a cleaner SD card without so many small files from resetting the device.
- Minor changes:
Added a new variable: fed3.countAllPokes. This defaults to "true", so if you don't change it it acts like prior behavior. But if you set this variable to "false" it will no longer increment pokes during dispense or with pellet in the well. These pokes will still be logged but won't contribute to the LeftCount and RightCount totals on the screen or logfile.