Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
16 commits
Select commit Hold shift + click to select a range
ccc53c1
protocols: color optomotor = CW/CCW pairs (15 s each, no gap, 10 s da…
mbreiser Oct 21, 2026
0a54863
ros2-poc: okey-cokey PC run sheet (BIAS + G6, no FicTrac) and a Foxgl…
mbreiser Oct 21, 2026
1d3549f
ros2-poc: handover for the okey-cokey lab-PC session (BIAS test, then…
mbreiser Oct 21, 2026
2badafb
ros2-poc: camera + G6 Foxglove dashboard for the okey-cokey rig (LAB-…
mbreiser Oct 21, 2026
40d89a2
ros2-poc: okey-cokey docs — dashboard BUILT status, run sheet with th…
mbreiser Oct 21, 2026
21d90bd
ros2-poc: okey-cokey bare-PC setup checklist; handover + run sheet st…
mbreiser Oct 21, 2026
09ed5c9
ros2-poc: okey-cokey rig PC (ww14) setup results + fixes found on it
cshl-2026 Oct 22, 2026
d026ab0
ros2-poc: okey-cokey full run results (ww14) + detached stack launcher
graceb4 Oct 22, 2026
457fb06
ros2-poc: okey-cokey launcher tested from scratch; consoles are Windo…
graceb4 Oct 22, 2026
b2ad1f1
ros2-poc: okey-cokey results R4 — glitch looked like a panel-side err…
graceb4 Oct 22, 2026
f744f5c
Merge branch 'main' of https://github.com/reiserlab/webDisplayTools i…
mbreiser Oct 26, 2026
6410230
rig: commit the okey_smoke_violet_cw.jsonl.gz fixture test_stimulus.p…
mbreiser Oct 26, 2026
00f858e
Merge feat/rig-nodes-extraction into the okey-cokey rig: the dashboar…
mbreiser Oct 27, 2026
bab2eef
rig: the dev environment's Zenoh configs come from the sibling checko…
mbreiser Oct 27, 2026
1de64ab
Merge remote-tracking branch 'origin/main' into okey-cokey-rebase
mbreiser Oct 28, 2026
e9dd994
okey-cokey: merge main (release 2026-10-27), drop the dev path-depend…
mbreiser Oct 28, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
96 changes: 40 additions & 56 deletions protocols/g6_color_optomotor_smoke.yaml
Original file line number Diff line number Diff line change
@@ -1,14 +1,16 @@
version: 3

# ============================================================================
# SMOKE variant of g6_color_optomotor_test.yaml — same patterns, same trial shape, cut to
# ~2 minutes: 10 s trials, the four colors clockwise + counterclockwise at duty 100 % only,
# one repetition, 2 s dark ITIs, camera bracket as in the full protocol. For checking a rig
# (patterns on the card, direction, BIAS recording) before the full ~18-minute run.
# SMOKE variant of g6_color_optomotor_test.yaml — same patterns, same CW/CCW pair shape
# (CW then CCW with no pause, dark between pairs), cut to ~2 minutes: 10 s per rotation,
# 5 s dark between pairs, the four colors at duty 100 % only, one repetition, camera
# bracket as in the full protocol. For checking a rig (patterns on the card, direction,
# BIAS recording) before the full ~16-minute run. 10 s × 80 frames/s = 800 frames, a
# whole number of 20-frame periods, so the reversal is phase-continuous here too.
# ============================================================================

experiment_info:
name: "Color optomotor SMOKE — 10 s per pattern, duty 100 %, BIAS check"
name: "Color optomotor SMOKE — CW/CCW pairs, 10 s per rotation, duty 100 %, BIAS check"
author: "Reiser Lab"

rig: "./configs/rigs/cshl_g6_2x10.yaml"
Expand All @@ -20,21 +22,20 @@ plugins:
class: "BiasPlugin"

variables:
trial_dur: &trial_dur 10 # s — trialParams duration AND its wait (one anchor, never drift)
iti_dur: &iti_dur 2 # s — dark between trials
pre_dark: &pre_dark 2 # s — dark before the first trial (originals: 300 s adaptation)
rot_dur: &rot_dur 10 # s — each rotation (CW, then CCW): trialParams duration AND its wait
pause_dur: &pause_dur 5 # s — dark between CW/CCW pairs
pre_dark: &pre_dark 2 # s — dark before the first pair (originals: 300 s adaptation)
fps_cw: &fps_cw 80 # frames/s = 4 Hz temporal frequency at 20 px per period
fps_ccw: &fps_ccw -80
duty_100: &duty_100 255 # 100 %

experiment:
- "cam_start"
- name: "duty_100_block"
trials: ["violet_cw_d100", "violet_ccw_d100", "blue_cw_d100", "blue_ccw_d100",
"green_cw_d100", "green_ccw_d100", "yellow_cw_d100", "yellow_ccw_d100"]
trials: ["violet_pair_d100", "blue_pair_d100", "green_pair_d100", "yellow_pair_d100"]
repetitions: 1
intertrial: "dark_iti"
- "cam_stop"
intertrial: "dark_pause"
- "cam_stop" # its own 10 s dark, then stopRecording

conditions:
# ── camera bracket (one ufmf for the whole run) ─────────────────────────────
Expand All @@ -61,23 +62,23 @@ conditions:
- type: "controller"
command_name: "allOff"
- type: "wait"
duration: *iti_dur
duration: *pause_dur
- type: "plugin"
plugin_name: "camera"
command_name: "getTimestamp"
- type: "plugin"
plugin_name: "camera"
command_name: "stopRecording"

- name: "dark_iti"
- name: "dark_pause"
commands:
- type: "controller"
command_name: "allOff"
- type: "wait"
duration: *iti_dur
duration: *pause_dur

# ── duty 100 % ──────────────────────────────────────────────────────────────
- name: "violet_cw_d100"
# ── duty 100 % ───────────────────────────────────────────────────────────────
- name: "violet_pair_d100"
commands:
- type: "plugin"
plugin_name: "camera"
Expand All @@ -86,32 +87,28 @@ conditions:
command_name: "trialParams"
pattern: "G6_2x10_toprow_grat20_violet"
pattern_ID: 1
duration: *trial_dur
duration: *rot_dur
mode: 2
frame_index: 0
frame_rate: *fps_cw
gain: 0
duty: *duty_100
- type: "wait"
duration: *trial_dur
- name: "violet_ccw_d100"
commands:
- type: "plugin"
plugin_name: "camera"
command_name: "getTimestamp"
duration: *rot_dur
- type: "controller"
command_name: "trialParams"
pattern: "G6_2x10_toprow_grat20_violet"
pattern_ID: 1
duration: *trial_dur
duration: *rot_dur
mode: 2
frame_index: 0
frame_rate: *fps_ccw
gain: 0
duty: *duty_100
- type: "wait"
duration: *trial_dur
- name: "blue_cw_d100"
duration: *rot_dur

- name: "blue_pair_d100"
commands:
- type: "plugin"
plugin_name: "camera"
Expand All @@ -120,32 +117,28 @@ conditions:
command_name: "trialParams"
pattern: "G6_2x10_toprow_grat20_blue"
pattern_ID: 2
duration: *trial_dur
duration: *rot_dur
mode: 2
frame_index: 0
frame_rate: *fps_cw
gain: 0
duty: *duty_100
- type: "wait"
duration: *trial_dur
- name: "blue_ccw_d100"
commands:
- type: "plugin"
plugin_name: "camera"
command_name: "getTimestamp"
duration: *rot_dur
- type: "controller"
command_name: "trialParams"
pattern: "G6_2x10_toprow_grat20_blue"
pattern_ID: 2
duration: *trial_dur
duration: *rot_dur
mode: 2
frame_index: 0
frame_rate: *fps_ccw
gain: 0
duty: *duty_100
- type: "wait"
duration: *trial_dur
- name: "green_cw_d100"
duration: *rot_dur

- name: "green_pair_d100"
commands:
- type: "plugin"
plugin_name: "camera"
Expand All @@ -154,32 +147,28 @@ conditions:
command_name: "trialParams"
pattern: "G6_2x10_toprow_grat20_green"
pattern_ID: 3
duration: *trial_dur
duration: *rot_dur
mode: 2
frame_index: 0
frame_rate: *fps_cw
gain: 0
duty: *duty_100
- type: "wait"
duration: *trial_dur
- name: "green_ccw_d100"
commands:
- type: "plugin"
plugin_name: "camera"
command_name: "getTimestamp"
duration: *rot_dur
- type: "controller"
command_name: "trialParams"
pattern: "G6_2x10_toprow_grat20_green"
pattern_ID: 3
duration: *trial_dur
duration: *rot_dur
mode: 2
frame_index: 0
frame_rate: *fps_ccw
gain: 0
duty: *duty_100
- type: "wait"
duration: *trial_dur
- name: "yellow_cw_d100"
duration: *rot_dur

- name: "yellow_pair_d100"
commands:
- type: "plugin"
plugin_name: "camera"
Expand All @@ -188,28 +177,23 @@ conditions:
command_name: "trialParams"
pattern: "G6_2x10_toprow_grat20_yellow"
pattern_ID: 4
duration: *trial_dur
duration: *rot_dur
mode: 2
frame_index: 0
frame_rate: *fps_cw
gain: 0
duty: *duty_100
- type: "wait"
duration: *trial_dur
- name: "yellow_ccw_d100"
commands:
- type: "plugin"
plugin_name: "camera"
command_name: "getTimestamp"
duration: *rot_dur
- type: "controller"
command_name: "trialParams"
pattern: "G6_2x10_toprow_grat20_yellow"
pattern_ID: 4
duration: *trial_dur
duration: *rot_dur
mode: 2
frame_index: 0
frame_rate: *fps_ccw
gain: 0
duty: *duty_100
- type: "wait"
duration: *trial_dur
duration: *rot_dur
Loading
Loading