Skip to content

ipxe/people-rjn-pulseblaster

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

INTRO
-----

PulseBlaster device driver, /sys interface ( /sys/class/pulseblaster/ ), containing:

   program				- write a pulseblaster binary to this
   start, stop, arm, continue		- echo "1" to these to make this happen.


COMPILE
-------

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


MODULE
------

insmod ./pulseblaster.ko 
rmmod pulseblaster 

Loading the module will create entries within /sys/class/pulseblaster,
typically /sys/class/pulseblaster/pulseblaster0


USERSPACE
---------

Use either pbctl, or pb_utils

You may want to give ownership to the right person:
  sudo chown username:username /sys/class/pulseblaster/pulseblaster0/{program,arm,start,stop,continue}


QUIRKS
------

Because the PulseBlaster is essentially an independent device, merely powered and 
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