forked from open-ephys/liboni
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Also get READMEs up to date across repo. Not exhaustive, but improved.
- Loading branch information
jonnew
committed
Oct 28, 2020
1 parent
6d5ea6a
commit 3d8b2e0
Showing
14 changed files
with
144 additions
and
80 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
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
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 |
---|---|---|
@@ -1,11 +1,11 @@ | ||
PREFIX := /usr/local/include/ | ||
|
||
.PHONY: install | ||
install: | ||
install: | ||
@[ -d $(DESTDIR)$(PREFIX) ] || mkdir -p $(DESTDIR)$(PREFIX)oni | ||
cp oni.hpp onidevices.hpp $(DESTDIR)$(PREFIX) | ||
cp oni.hpp onix.hpp $(DESTDIR)$(PREFIX) | ||
|
||
.PHONY: uninstall | ||
uninstall: | ||
$(RM) -r $(DESTDIR)$(PREFIX)oni.hpp | ||
$(RM) -r $(DESTDIR)$(PREFIX)onidevices.hpp | ||
$(RM) -r $(DESTDIR)$(PREFIX)onix.hpp |
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
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
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
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
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,29 @@ | ||
# `RIFFA` ONI Translation Layer | ||
[RIFFA](https://github.com/KastnerRG/riffa) is an open-source kernel driver and | ||
FPGA core that abstracts PCIe communication and allows its easy integration | ||
into C programs. RIFFA is currently the PCIe backed used by ONIX hardware. This | ||
ONI translation layer converts RIFFA's raw API into ONI-compatible API by | ||
implementing all the functions in `onidriver.h`. | ||
|
||
**NOTE** Currently, when using RIFFA, we are only supporting 64-bit architectures. | ||
|
||
## Building the library | ||
### Linux | ||
``` | ||
make # Build without debug symbols | ||
sudo make install # Install in /usr/local and run ldconfig to update library cache | ||
make help # list all make options | ||
``` | ||
|
||
### Windows | ||
Run the project in Visual Studio. It can be included as a dependency in other | ||
projects. | ||
|
||
## Obtaining Host Device Driver | ||
The RIFFA device driver is available in the `drivers` folder at the top level | ||
of this repo. We have modified this slightly compared to the original driver so | ||
you should use this. You can compile it from source, but we have also included | ||
pre-compiled binaries that can be installed in Windows or Linux. This driver | ||
must be installed before using the RIFFA backend. | ||
|
||
|
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,27 @@ | ||
# Test ONI Translation Layer | ||
This is a test ONI translation layer that creates a simple device table and | ||
generates data that is useful for testing ONI-compliant APIs. This is a minimal | ||
implementation has the following limitations: | ||
|
||
- Fixed size device table | ||
- Fixed size data frame | ||
- Block read size must be set to a multiple of the frame size | ||
- 48 bytes, currently | ||
- Writing frames is implemented without a visible effect: data is just ignored | ||
- Data generation takes place on the read thread. | ||
- Side effect: ONI_OPT_RUNNING does nothing. | ||
- Minimal register R/W facility | ||
- Each device has a single register at address 0 that can be read from and written to | ||
- All else will NACK. | ||
|
||
## Building the library | ||
### Linux | ||
``` | ||
make # Build without debug symbols | ||
sudo make install # Install in /usr/local and run ldconfig to update library cache | ||
make help # list all make options | ||
``` | ||
|
||
### Windows | ||
Run the project in Visual Studio. It can be included as a dependency in other | ||
projects. |
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
Oops, something went wrong.