/gpSMART

A general purpose State MAchine Runner for Training animal behaviors.

Primary LanguageC++GNU General Public License v3.0GPL-3.0

gpSMART

A general purpose State MAchine Runner for Training animal behaviors.

Introduction

  • Bpod is an open-source software for real-time behaviour measurement. However, Bpod is running on an expensive hardware pod ($500+) and requires a PC ($500+) connected to it.
  • This library enables running behavioral state machine on an Teensy/Arduino board ($30) and without PC ($0) in loop. In addition to that, behavioral events are re-organized to fit a general purpose (see Features below).

Features

  • Constructing and runing behavioral state machine on the same Teensy (3.6)/Arduino (due) board
  • General-purpose events including digital I/O, soft events, global timer/counter, etc.
  • Additional PWM channels for precise frequency and duty control
  • Object-oriented programming

Getting Started

  • See the example code gpSMART_Teensy.ino or gpSMART_Arduino.ino to learn how to use the library.

Citation

gpSMART: A general purpose State MAchine Runner for Training animal behaviors (2020) https://github.com/Yaoyao-Hao/gpSMART

Contribution

Feel free to pull a request If you want to contribute code to this repository, or leave your messages (bugs, comments, etc.) in the Issues page.

Required Libaray for gpSMART Arduino