Galvani is a 128 channel uLED stimulator board with precise and independent channel waveform control.
Windows binaries are available for download at https://github.com/YoonGroupUmich/galvani/releases . NI-DAQmx is required to run the program. The FPGA needs to be programmed before connected via the GUI
In the root directory is the python GUI for stimulation. The actual stimulation control code is in C, and the project is in libgalvani/
. The hardware verilog for the FPGA is in hardware/
. The stimulation and recording hardware verilog are in hardware/stim/
and hardware/rec/
respectively. The recording tool is in Galvani/
.
To build and run from source,
- Install Python (On Windows, use the 32-bit version, as NI only provides 32-bit library)
- Install python dependencies:
python -m pip install cffi matplotlib numpy wxpython
- Clone the project:
git clone https://github.com/YoonGroupUmich/galvani.git
- Open
hardware/Galvani_stim_rec.qpf
in Quartus. Compile the project and program the FPGA. - Open
libgalvani/NI-helloworld.sln
in Visual Studio. Select "Release x86" target and build the project.- Alternatively, you can also build a shared object using any compiler toolchain, from
libgalvani/NI-helloworld/galvani-ni.h
andlibgalvani/NI-helloworld/main.cpp
- Alternatively, you can also build a shared object using any compiler toolchain, from
- Run
make_dist.bat
- If you are not using Visual Studio in the previous step, or you are not on Windows, you need to manually modify the compiled library path in
galvani_cffi_build.py
and run it.
- If you are not using Visual Studio in the previous step, or you are not on Windows, you need to manually modify the compiled library path in
- Run
python galgui.py
- Or the
galgui
executable indist/galgui
- Or the