Skip to content

Commit

Permalink
[cleanup] - deleted old file (same as pb_freq_gen.sh)
Browse files Browse the repository at this point in the history
  • Loading branch information
Richard Neill committed Sep 14, 2013
1 parent 71eabab commit 670de3b
Show file tree
Hide file tree
Showing 3 changed files with 83 additions and 120 deletions.
2 changes: 1 addition & 1 deletion LICENSE.txt
@@ -1,3 +1,3 @@
This is all Free Software, licensed under the GNU GPL.
Copyright 2010 - 2011, Michael Brown and Richard Neill.
Copyright 2010 - 2013, Michael Brown and Richard Neill.
License version is "v3 or later", except where specified as "v2"
109 changes: 82 additions & 27 deletions README.txt
@@ -1,26 +1,29 @@
SUMMARY
-------
INTRODUCTION
------------

In one line:
make && sudo make install && pb_test-flash-2Hz
This is a GPL'd Linux driver and utilities for the SpinCore PulseBlaster PCI Digital Timing card:
See: http://spincore.com/products/PulseBlaster/PulseBlaster-Programmable-Pulse-Generator.shtml
It consists of:


INTRO
-----
kernel/
The driver. This builds on kernel 3.8.
It creates entries in /sys, under /sys/class/pulseblaster/

pb_ctl/
A simple control script and some debugging/diagnostic utilities.

This is a PulseBlaster device driver, /sys interface ( /sys/class/pulseblaster/ ), containing:
pb_utils/
C programs to control the pulseblaster, assemble VLIW files, and load the binary file.
Also contains some examples of the VLIW format.

program - write a pulseblaster binary to this
start, stop, arm, continue - echo "1" to these to make this happen.
See also pb_parse: a higher-level parser/compiler, distributed separately.


TO COMPILE
----------

cd kernel
make -C /lib/modules/`uname -r`/build M=`pwd`

(the makefile does this, and installs it)
make && sudo make install


MODULE LOADING
Expand All @@ -38,12 +41,74 @@ will automatically grant permissions the the logged-in user. Or use pb_driver-lo
USERSPACE
---------

It's possible to just write directly to the /sys interface.
It's possible to just write directly to the /sys interface.

Eg: doc/flash.bin is a pulseblaster executable to flash all the outputs at 2Hz

To program it:
cat doc/flash.bin > /sys/class/pulseblaster/pulseblaster0/program
To start the program:
echo 1 > /sys/class/pulseblaster/pulseblaster0/start



FILE TYPES
----------

.pbsrc
This is the high-level source file, read by pb_parse.

.vliw
Very long instruction word file, like assembler. It's human-readable, and possible to write this directly.
Eg pb_utils/vliw_examples/good/flash_leds_2Hz.vliw

.bin
Binary file, ready to load into the pulseblaster.
E.g doc/flash.bin


TOOLS
-----

pb_asm converts .vliw to .bin

pb_prog loads the bin file to the device (it will automatically assemble .vliw if needed)

pb_parse compiles .pbsrc to .vliw [this is packaged and distributed separately]


UTILITIES
---------


pb_utils/ comprises:
pb_asm, pb_prog - assemble and program
pb_stop, pb_start, pb_cont, pb_arm, pb_stop-arm - stop/start/arm the pulseblaster.
pb_init, pb_zero - set the pb outputs directly.
pb_vliw - generates an example/demo vliw file.

, pb_init, pb_prog,


make[1]: Leaving directory `/home/rjn/PhD/src/pulseblaster/pb_utils'
[rjn@chocolate pulseblaster]$ ls pb_utils/src/
pb_check.sh* pb_freq_gen.sh* pb_functions.c pb_manual.sh* pb_serial_trigger.c pb_utils.bashcompletion pb_zero.c
pb_freq_out.sh* pb_init.c pb_serial_trigger_check.sh*





pb_test-identify-output is useful for channel identification in the hardware.

* pb_ctl and pb_utils provide helpful wrappers.
* pb_utils can also assemble .vliw format files.

* pb_test-identify-output is useful for identifying channels.
todo: comprises WHAT

diff fre-gen and fre-out

explain hacks

update pb_check for new id.


QUIRKS
Expand All @@ -53,13 +118,3 @@ Because the PulseBlaster is essentially an independent device, merely powered an
programmed from the host, a PulseBlaster program will continue to run even when the
kernel module is removed, or when the host is rebooted!


EXAMPLE
-------

doc/flash.bin is a pulseblaster executable to flash all the outputs at 2Hz

To program it:
cat doc/flash.bin > /sys/class/pulseblaster/pulseblaster0/program
To start the program:
echo 1 > /sys/class/pulseblaster/pulseblaster0/start
92 changes: 0 additions & 92 deletions pb_utils/src/pb_freq_out.sh

This file was deleted.

0 comments on commit 670de3b

Please sign in to comment.