Git Product home page Git Product logo

octavebehaviorbooth's Introduction

OctaveBoothTestingSuite

This repository contains code that implements serial communication between Octave and Arduino that mirrors code used in Matlab for behavioral experiments in the Geffen lab (as of 8/10/2018). There are also several test scripts included that may be considered 'demos' for when trying to convert code from Matlab to Octave. Not every script is guaranteed to be relevant. Code has been tested using Octave 4.0.3 x64.

Usage

This repository

This repository is organized as follows:

  • ArduinoHex - compiled binaries of Arduino scripts in ArduinoSrc. Octave sends these to the Arduino to run.
  • ArduinoSrc - folders containing simple Arduino scripts
  • External - functions copied from other geffenlab repos for convenience
  • OctaveSerial - functions that implement serial communication mirroring current Geffen lab Matlab functions
  • TestScripts - scripts that implement simple tests of serial communication between Octave and Arduino. Need to be connected to an Arduino device.

In most use cases, only OctaveSerial and External need to be on your path.

Dependencies

The instrument-control package for Octave needs to be installed and loaded to run the code in this repo. This package can be found here.

One of the test scripts requires Psychtoolbox3 to be installed. Specifically, it requires v3.0.13. See Octave install instructions below for more details.

Octave install instructions

  1. Download and install Octave 4.2.0 64bit. The official installer can be found here. Download the third link: octave-4.2.0-w64-installer.exe.
  2. Download and install the instrument-control package (link). Install by navigating to the directory where you downloaded the package and typing: pkg install *filename*, where filename is the name of the compressed file downloaded. You can check that the package was installed successfully by typing: pkg load instrument-control.
  3. Optional You can set Octave to load the instrument-control toolbox on startup by typing: edit '~/.octaverc' and adding pkg load instrument-control to the file that is opened in the editor.

PTB3 install instructions

  1. Download and install the latest GStreamer package from here. Version 1.14.2 has been tested to work. This is necessary to ensure PTB compatibility!
  2. Acquire the installation script from the Psychtoobox website. Copy this .m file somewhere and navigate to it in Octave. Then run: DownloadPsychtoolbox(*dir*) where dir is the directory in which PTB3 should be installed. Not that dir needs to be a full file path. The latest Psychtoolbox should work with Octave 4.2.0 x64.

octavebehaviorbooth's People

Contributors

geffenlab avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.