-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
3 changed files
with
76 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
on: [push] | ||
|
||
jobs: | ||
paper: | ||
runs-on: ubuntu-latest | ||
name: Paper Draft | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v2 | ||
- name: Build draft PDF | ||
uses: openjournals/openjournals-draft-action@master | ||
with: | ||
journal: joss | ||
# This should be the path to the paper within your repo. | ||
paper-path: paper.md | ||
- name: Upload | ||
uses: actions/upload-artifact@v1 | ||
with: | ||
name: paper | ||
# This is the output path where Pandoc will write the compiled | ||
# PDF. Note, this should be the same directory as the input | ||
# paper.md | ||
path: paper.pdf |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
@article{bonsai, | ||
author = {Lopes, Gonçalo and Bonacchi, Niccolò and Frazão, João and Neto, Joana P. and Atallah, Bassam V. and Soares, Sofia and Moreira, Luís and Matias, Sara and Itskov, Pavel M. and Correia, Patrícia A. and Medina, Roberto E. and Calcaterra, Lorenza and Dreosti, Elena and Paton, Joseph J. and Kampff, Adam R.}, | ||
title = {Bonsai: an event-based framework for processing and controlling data streams}, | ||
journal = {Frontiers in Neuroinformatics}, | ||
volume = {9}, | ||
year = {2015}, | ||
url = {https://www.frontiersin.org/articles/10.3389/fninf.2015.00007}, | ||
doi = {10.3389/fninf.2015.00007}, | ||
issn = {1662-5196} | ||
} | ||
|
||
@misc{harp, | ||
author = {Carvalho, Filipe}, | ||
title = {Description of the Harp protocol}, | ||
year = {2022}, | ||
publisher = {GitHub}, | ||
journal = {GitHub repository}, | ||
url = {https://github.com/harp-tech/protocol} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
--- | ||
title: 'Microharp: A Harp protocol and device application framework MicroPython package' | ||
tags: | ||
- MicroPython | ||
- Raspberry Pi Pico | ||
- Harp protocol | ||
- Bonsai | ||
authors: | ||
- name: Gordon L. Mills | ||
corresponding: true | ||
affiliation: 1 | ||
affiliations: | ||
- name: Sainsbury Wellcome Centre, UK | ||
index: 1 | ||
date: 20 December 2022 | ||
bibliography: paper.bib | ||
--- | ||
|
||
# Summary | ||
|
||
Experimental science often requires the acquisition of sensor data and control of stimulus, using various devices. In general, these devices are coordinated using a platform on which the experiment is built. Typically, the platform hardware is a PC and the platform software is a graphical or text-based high-level programming language. Common to all such systems is the requirement to transact data between the platform and one or more, possibly custom hardware devices. | ||
|
||
|
||
# Statement of need | ||
|
||
The ubiquity of single board microcomputers has reduced the hardware development effort required to realise custom devices. However, a significant amount of software development is still required. `Microharp` is a MicroPython package for creating custom devices which implement the Harp data and timing protocols [@harp]. These protocols are designed with the requirements of experimental science in mind and are supported by the Bonsai platform [@bonsai]. `Microharp` targets the Raspberry Pi Pico, a versatile low-cost microcontroller board, which supports the MicroPython programming language. `MicroHarp` has been designed to be used by researchers and students wishing to create devices for their experiments. The package handles all communication with the platform data and synchronisation interfaces. Its class-based framework implements common device features whilst providing an intuitive interface for device customisation. The package has been used to develop a number of custom devices which are currently in experimental neuroscience research use. The combination of low-cost target hardware, use of a programming language familiar to many researchers and students, and the simplicity of device customisation afforded by `Microharp` will continue to accelerate the realisation of custom experimental apparatus. | ||
|
||
|
||
# Acknowledgements | ||
|
||
Thanks to Andre Almeida and Bruno Cruz for creation of Bonsai test workflows and performance benchmarking of the package. | ||
|
||
|
||
# References |