Skip to content

Firmware for the Hantman lab mouse reach linear pellet dispenser rig controller

License

Notifications You must be signed in to change notification settings

janelia-arduino/MouseReachLinearController

Repository files navigation

MouseReachLinearController

Library Information

Name
MouseReachLinearController
Version
1.0.2
License
BSD
URL
https://github.com/janelia-arduino/MouseReachLinearController
Author
Peter Polidoro
Email
peter@polidoro.io

Description

Mouse reach linear controller firmware

Webpage Documentation

https://janelia-arduino.github.io/MouseReachLinearController/

API NAMES

{
  "id": "getApi",
  "result": {
    "ancestors": [
      "ModularServer",
      "ModularDeviceBase",
      "StepDirController",
      "StepperController",
      "StageController"
    ],
    "firmware": [
      {
        "name": "MouseReachLinearController",
        "version": "1.0.1"
      }
    ],
    "verbosity": "NAMES",
    "functions": [
      "getAssayStatus",
      "playPositionTone",
      "buzz"
    ],
    "properties": [
      "buzzPosition",
      "loadPosition",
      "nextDeliverPosition",
      "nextDispensePosition",
      "position",
      "positionToneFrequency",
      "positionToneVolume",
      "positionToneDelay",
      "positionToneDuration",
      "dispenseDelay",
      "returnDelayMin",
      "returnDelayMax",
      "buzzPeriod",
      "buzzOnDuration",
      "buzzCount",
      "waitAtLoadDuration",
      "tapPeriod",
      "tapOnDuration",
      "tapCount",
      "dispenseVelocity"
    ],
    "callbacks": [
      "startAssay",
      "dispense",
      "abort"
    ]
  }
}

Development

Download this repository

https://github.com/janelia-arduino/MouseReachLinearController.git

Example

sudo apt install -y git
mkdir -p ~/tmp && cd ~/tmp
git clone https://github.com/janelia-arduino/MouseReachLinearController.git

PlatformIO

Install PlatformIO Core

https://docs.platformio.org/en/latest/core/installation/index.html

Example

sudo apt install -y python3-venv
cd ~/tmp
python3 -m venv .venv
source .venv/bin/activate
pip install platformio
pio --version

99-platformio-udev.rules

Linux users have to install udev rules for PlatformIO supported boards/devices.

Download udev rules file to /etc/udev/rules.d
curl -fsSL https://raw.githubusercontent.com/platformio/platformio-core/develop/platformio/assets/system/99-platformio-udev.rules | sudo tee /etc/udev/rules.d/99-platformio-udev.rules
Restart udev management tool
sudo service udev restart
Add user to groups
sudo usermod -a -G dialout $USER
sudo usermod -a -G plugdev $USER
Remove modemmanager
sudo apt-get purge --auto-remove modemmanager

Compile the firmware

Example

cd ~/tmp/MouseReachLinearController
pio run -e teensy40

Upload the firmware

Example

cd ~/tmp/MouseReachLinearController
pio run -e teensy40 -t upload

About

Firmware for the Hantman lab mouse reach linear pellet dispenser rig controller

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages