Skip to content

About

Package Installation for new rigs: Pancake Batter!

Resources

Stars

0 stars

Watchers

3 watching

Forks

Latest commit

 

History

104 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pancakebatter

The purpose of this repository is to combine the documentation created by Jinyao Yan, PhD (Johnson Lab Research Associate) and Ratan Othayoth, PhD (Johnson Lab Research Associate) into one document for new rigs built by Jeremy Delahanty for use in group leaders Misha Ahrens, PhD and Rob Johnson, PhD labs (but also those elsewhere in Janelia or even the world one day!).

A secondary goal is to introduce some basic automation into installing required packages, drivers, and static versioning for rig building in the lab. There will also be a standard directory structure built on the lab's server containing relevant files, documentation, and configuration files that are used for checking whether all installations meet a given known working configuration.

Longer term plans could include utilizing tools like spack and Warewolf so its very well documented and maintained with infra as code. That's very low priority for now.

Check out the docs folder for documentation about how to use the scripts and what they are for.

Cross-repo ownership for machine inventory, orange runtime camera config, and citrus rig/canvas calibration is documented in docs/rig_canvas_contract.md.

Multi-user communal machine migration work is tracked in docs/shared_machine_setup_todo.md.

Other programs on the machine read the host config from /etc/pancakebatter/host.yml (published by install_host_config.sh, resolved via PANCAKEBATTER_HOST_CONFIG first); the promised keys are in docs/host_config_interface.md. Per-machine files (config.yml inventory, driver-upgrade manifest) live in hosts/<hostname>/; scripts pick the directory from hostname -s, or from PANCAKEBATTER_HOST. To add a machine, run ./capture_inventory.py on it to draft hosts/<hostname>/config.captured.yml (see hosts/README.md), or copy system_config.example.yml by hand. See docs/system_config_v1.md.

New cameras are discovered, given their port's camera IP, and recorded in the host config by camera_adopt.py (see docs/camera_adopt.md).

Apt package manifests used by the installer scripts live in packages/apt. Conda environment files live in environments/: rig_control.yaml for the rig control scripts and the optional juicebox.yaml for data analysis and plotting.

Operations: docs/camera_nic_reset.md (status and in-place firmware reset of the ConnectX camera NICs after the 2026-10-03 thermal shutdown), docs/rig_health_monitor.md (rig_health_check.py on a systemd timer that stays off the isolated cores), docs/ptp_services.md (ptp4l/phc2sys as boot-time units via install_ptp_units.sh), docs/rig_services_at_boot.md (what comes back on its own after a boot and what to re-run after a config change), docs/time_and_clocks.md (where host time comes from, what ppm drift means, which clock to read in code, aligning DAQ and audio stimuli), docs/power_cycle_runbook.md (the cold-start sequence and post-boot checks), and docs/pcie_topology.md (which devices share each PCIe host bridge, and why bridge 20 matters).

About

Package Installation for new rigs: Pancake Batter!

Resources

Stars

0 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages