Skip to content

kelu124/pyUn0-lib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub repo size GitHub language count GitHub top language GitHub last commit

Patreon Kofi

Slack made-with-Markdown

un0rick companion - pyUn0 module

The aim of this module is to provide a Python API to the un0rick board, a Lattice FPGA-powered ultrasound pulse-echo board.

In this setup, the board has been flashed with a dedicated binary using iceprog, and connected to the RPi using a 40-pin ribbon.

Setup

In short, it looks like this:

Testing for un0rick

Been testing it on un0rick v1.1 (with double SMA connectors) on a RPi4, with python2 and python3.

To get a blinky, one can use the following

python3 pyUn0.py single

For a single line,

python3 pyUn0.py single
python3 pyUn0.py process

Setup of the "single" parameter acquisition

UN0RICK = us_spi()
UN0RICK.init()
UN0RICK.test_spi(3)
TGCC = UN0RICK.create_tgc_curve(10, 980, True)[0]    # Gain: linear, 10mV to 980mV 
#                                                    # (1% to 98% gain over 200us)
UN0RICK.set_tgc_curve(TGCC)                          # We then apply the curve
UN0RICK.set_period_between_acqs(int(2500000))        # Setting 2.5ms between shots
UN0RICK.JSON["N"] = 1 				     # Experiment ID of the day
UN0RICK.set_multi_lines(False)                       # Single acquisition
UN0RICK.set_acquisition_number_lines(1)              # Setting the number of lines (1)
UN0RICK.set_msps(0)                                  # Sampling speed setting (64Msps)
A = UN0RICK.set_timings(200, 100, 2000, 5000, 200000)# Settings the series of pulses, 200ns pulse.
UN0RICK.JSON["data"] = UN0RICK.do_acquisition()      # Doing the acquisition and saves

Example of a piezo with a reflector a few cm away