Skip to content

Commit

Permalink
[license] - make GPL v3+ more explicit
Browse files Browse the repository at this point in the history
  • Loading branch information
Richard Neill committed Sep 28, 2013
1 parent 611374f commit bf8b628
Show file tree
Hide file tree
Showing 22 changed files with 88 additions and 44 deletions.
39 changes: 21 additions & 18 deletions pb_parse/src/pb_parport-output.c
@@ -1,22 +1,25 @@
/* Output data to the parallel port(s), directly (i.e. bit-banging mode) without any form of handshaking.
* Recent Linuxes (> 2.4) use ioctl, described at: http://people.redhat.com/twaugh/parport/html/x623.html
* which is much better than the old way using ioperm() and outb(). Also, this code needn't be run as root.
* Note that only physical "legacy" parallel ports will necessarily work this way; USB parport adapters usually won't:
* it depends on the specific chipset, but even those that support bit-banging will be seriously limited in speed.
* See also: doc/parport-output.txt */

/* Copyright (C) Richard Neill 2011, <pulseblaster at REMOVE.ME.richardneill.org>. This program is Free Software. You can
* redistribute and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation,
* either version 3 of the License, or (at your option) any later version. There is NO WARRANTY, neither express nor implied.
* For the details, please see: http://www.gnu.org/licenses/gpl.html */

/*
Output data to the parallel port(s), directly (i.e. bit-banging mode) without any form of handshaking.
Recent linuxes (> 2.4) use ioctl, described at: http://people.redhat.com/twaugh/parport/html/x623.html
which is much better than the old way using ioperm() and outb(). Also, this code needn't be run as root.
Note that only physical "legacy" parallel ports will necessarily work this way; USB parport adapters usually won't:
it depends on the specific chipset, but even those that support bit-banging will be seriously limited in speed.
See also: doc/parport-output.txt
Copyright Richard Neill, 2011. This is Free Software, licensed under the GNU GPL version 3+.
TODO: Performance measured at 400k writes/sec with one physical parport. If more ports are wanted, this could
be improved by triggering the 3 PPWDATA ioctls in parallel (how?). Might also want to use the Strobe lines somehow
to improve sync across all ports.
For a pretty display, slowed down for human-readable speed.
1. Have /dev/parport0
2. turn on DEBUG below.
3. gcc -Wall -Wextra -Werror -o pb_parport-output pb_parport-output.c
4. In one shell: mkfifo myfifo; { for ((i=0;i<1000;i++)); do echo $i; done ;} > myfifo
5. In another shell: ./pb_parport-output myfifo
* TODO: Performance measured at 400k writes/sec with one physical parport. If more ports are wanted, this could be improved by
* triggering the 3 PPWDATA ioctls in parallel (how?). Might also want to use the Strobe lines somehow to improve sync across all ports.
*
* For a pretty display, slowed down for human-readable speed.
* 1. Have /dev/parport0
* 2. turn on DEBUG below.
* 3. gcc -Wall -Wextra -Werror -o pb_parport-output pb_parport-output.c
* 4. In one shell: mkfifo myfifo; { for ((i=0;i<1000;i++)); do echo $i; done ;} > myfifo
* 5. In another shell: ./pb_parport-output myfifo
*/

#include <stdio.h>
Expand Down
14 changes: 8 additions & 6 deletions pb_parse/src/pb_parse.php
@@ -1,14 +1,16 @@
#!/usr/bin/php -ddisplay_errors=E_ALL
<?

/* This parser converts a pulseblaster command file to a series of VLIW opcodes. *
/* This parser converts a PulseBlaster command file to a series of VLIW opcodes. *
* The input .pbsrc file is written in a flexible, human-readable way. *
* The output .vliw file is ready to be used by pb_asm/pb_prog. *
* A pulseblaster is a digital timing card, made by www.spincore.com *
* See also $USAGE below. *
* Copright by Richard Neill <pulseblaster at richardneill.org> 2004-2013. *
* Download from http://www.richardneill.org/source Feedback/bug reports very welcome. *
* This is Free Software, released under GNU GPL v3 or later: http://gnu.org/copyleft/gpl.html */
* A PulseBlaster is a digital timing card, manufactured by Spincore, www.spincore.com *
* Download from http://www.richardneill.org/source Feedback/bug reports very welcome. */

/* Copyright (C) Richard Neill 2014-2013, <pulseblaster at REMOVE.ME.richardneill.org>. This program is Free Software. You can
* redistribute and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation,
* either version 3 of the License, or (at your option) any later version. There is NO WARRANTY, neither express nor implied.
* For the details, please see: http://www.gnu.org/licenses/gpl.html */

$VERSION="2.85";
$RELEASE_DATE="2013-09-17";
Expand Down
1 change: 1 addition & 0 deletions pb_utils/Makefile
Expand Up @@ -81,6 +81,7 @@ clean:
rm -f src/pb_start
rm -f src/pb_stop
rm -f src/pb_arm
rm -f src/pb_stop-arm
rm -f src/pb_cont
rm -f src/pb_init
rm -f src/pb_zero
Expand Down
3 changes: 2 additions & 1 deletion pb_utils/src/pb_arm.c
@@ -1,5 +1,6 @@
/* This is pb_arm.c It arms the already-programmed pulseblaster. *
* Most of the important, shared stuff is in pb_functions.c */
* Most of the important, shared stuff is in pb_functions.c
* This is Free Software, released under the GNU GPL v3+ */

#include "pb_functions.c"

Expand Down
4 changes: 3 additions & 1 deletion pb_utils/src/pb_asm.c
@@ -1,5 +1,7 @@
/* This is pb_asm.c It is similar to pb_prog, but outputs a .bin file, rather than writing to the PulseBlaster hardware. Special case of pb_prog.c
* Most of the important, shared stuff is in pb_functions.c */
* Most of the important, shared stuff is in pb_functions.c
* This is Free Software, released under the GNU GPL, version 3 or later.
*/

#include "pb_functions.c"

Expand Down
1 change: 1 addition & 0 deletions pb_utils/src/pb_check.sh
@@ -1,5 +1,6 @@
#!/bin/bash
#Check for whether PulseBlaster PCI card is physically present.
#This is Free Software, released under the GNU GPL, version 3 or later.

#We have an SP1 board.
SP1_ID=0x5920
Expand Down
4 changes: 3 additions & 1 deletion pb_utils/src/pb_cont.c
@@ -1,5 +1,7 @@
/* This is pb_cont.c It continues the already-running pulseblaster. during a WAIT *
* Most of the important, shared stuff is in pb_functions.c */
* Most of the important, shared stuff is in pb_functions.c
* This is Free Software, released under the GNU GPL, version 3 or later.
*/

#include "pb_functions.c"

Expand Down
5 changes: 5 additions & 0 deletions pb_utils/src/pb_freq_gen.sh
@@ -1,6 +1,11 @@
#!/bin/bash
#This loads the PulseBlaster with a simple program to output a specified frequency on a particular BIT or BITS.

#Copyright (C) Richard Neill 201q, <pulseblaster at REMOVE.ME.richardneill.org>. This program is Free Software. You can
#redistribute and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation,
#either version 3 of the License, or (at your option) any later version. There is NO WARRANTY, neither express nor implied.
#For the details, please see: http://www.gnu.org/licenses/gpl.html

TICK_NS=10 #Number of ns per pulseblaster tick (varies for pulseblaster model).
PB_MIN_TICKS=9 #Pulseblaster minimum instruction length.
PB_INIT=pb_init #Pulseblaster initialisation program
Expand Down
3 changes: 2 additions & 1 deletion pb_utils/src/pb_functions.c
Expand Up @@ -3,7 +3,8 @@
* This userspace version pairs with the Linux 2.6 kernel driver, which has /sys/class/pulseblaster.
* [It differs from the more complex earlier version which used the 2.4 kernel driver, and had to 'bit-bang' the interface]
* Most functions here will exit with an error-code, rather than return, since any error here is fatal.
*/
* This is Free Software, released under the GNU GPL, version 3 or later.
*/

#include <stdio.h>
#include <sys/stat.h>
Expand Down
2 changes: 1 addition & 1 deletion pb_utils/src/pb_identify_output.sh
@@ -1,5 +1,5 @@
#!/bin/bash
#Copyright Richard Neill, 2011. Free software, licensed under GNU GPL version 3 or later.
#Copyright (C) 2012 Richard Neill <pulseblaster at REMOVE.ME.richardneill.org>. This is Free Software, released under the GNU GPL v3+

#Quick test script to make the pulseblaster flash a specific outputs at 2Hz.
#Useful to identify which wire connects to what.
Expand Down
4 changes: 3 additions & 1 deletion pb_utils/src/pb_init.c
Expand Up @@ -2,7 +2,9 @@
* Very old ISA models used to support explicit setting of the Flags output, but this feature isn't present on PCI PulseBlasters
* Programming a PB doesn't change the output states, so it's OK to pb_init() and then pb_prog().
* pb_zero is a special case of this, so it #define's pb_zero, then includes this file.
* Most of the important, shared stuff is in pb_functions.c */
* Most of the important, shared stuff is in pb_functions.c
* This is Free Software, released under the GNU GPL, version 3 or later.
*/

#include "pb_functions.c"

Expand Down
7 changes: 6 additions & 1 deletion pb_utils/src/pb_manual.sh
@@ -1,6 +1,11 @@
#!/bin/bash
#Manual control of the PulseBlaster from the terminal.
#Copyright 2013 Richard Neill <pulseblaster at richardneill dot org>. This is Free Software, Licensed under the GNU GPL v3+.

#Copyright (C) Richard Neill 2013, <pulseblaster at REMOVE.ME.richardneill.org>. This program is Free Software. You can
#redistribute and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation,
#either version 3 of the License, or (at your option) any later version. There is NO WARRANTY, neither express nor implied.
#For the details, please see: http://www.gnu.org/licenses/gpl.html

#Todo: once we are sure we no longer need to support Bash version 3, use "read -i initial_text" for the prompt, and use ${x,,} and ${x^^} instead of lots of 'tr'

#Configuration.
Expand Down
4 changes: 3 additions & 1 deletion pb_utils/src/pb_print_config.c
@@ -1,5 +1,7 @@
/* This is pb_start.c It starts the pulseblaster. *
* Most of the important, shared stuff is in pb_functions.c */
* Most of the important, shared stuff is in pb_functions.c
* This is Free Software, released under the GNU GPL, version 3 or later.
*/

#include "pb_functions.c"

Expand Down
4 changes: 3 additions & 1 deletion pb_utils/src/pb_prog.c
Expand Up @@ -2,7 +2,9 @@
* Parse it and then program the device. If the Program file is a .bin file, it will just write it to the device.
* If saving (rather than programming) the .bin file is desired, use pb_asm (which is a special case of this file)
* Invoke it as pb_prog FILENAME.vliw or pb_prog FILENAME.bin.
* Most of the important, shared stuff is in pb_functions.c */
* Most of the important, shared stuff is in pb_functions.c
* This is Free Software, released under the GNU GPL, version 3 or later.
*/

#include "pb_functions.c"

Expand Down
9 changes: 7 additions & 2 deletions pb_utils/src/pb_serial_trigger.c
@@ -1,8 +1,13 @@
/* Serial port remote trigger for pulseblaster: Use the serial port DTR line to trigger the PB's hardware trigger input.
* This is better than the software trigger if there is a gate (D-type) in the signal path way, as it allows for synchronisation
* Copyright Richard Neill, 2012; This is Free Software, licensed under the GNU GPL v3+.
*
* Copyright (C) Richard Neill 2012, <pulseblaster at REMOVE.ME.richardneill.org>. This program is Free Software. You can
* redistribute and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation,
* either version 3 of the License, or (at your option) any later version. There is NO WARRANTY, neither express nor implied.
* For the details, please see: http://www.gnu.org/licenses/gpl.html
*
* This is inspired by the "sled" serial led program by Guido Socher which is itself GPL.
* For hardware circuit, see the help text.
* For the hardware circuit, see the help text.
*/

#include <stdio.h>
Expand Down
1 change: 1 addition & 0 deletions pb_utils/src/pb_serial_trigger_check.sh
@@ -1,6 +1,7 @@
#!/bin/bash
#Check for whether the PB serial trigger adapter is physically present, as expected.
#This is a trivial wrapper around pb_serial_trigger, used for consistency with pb_check etc.
#This is Free Software, released under the GNU GPL, version 3 or later.

CMD="pb_serial_trigger -c"

Expand Down
4 changes: 3 additions & 1 deletion pb_utils/src/pb_start.c
@@ -1,5 +1,7 @@
/* This is pb_start.c It starts the pulseblaster. *
* Most of the important, shared stuff is in pb_functions.c */
* Most of the important, shared stuff is in pb_functions.c
* This is Free Software, released under the GNU GPL, version 3 or later.
*/

#include "pb_functions.c"

Expand Down
Binary file modified pb_utils/src/pb_stop-arm
Binary file not shown.
8 changes: 5 additions & 3 deletions pb_utils/src/pb_stop-arm.c
@@ -1,6 +1,8 @@
/* This is pb_stop-arm.c It stops the pulseblaster and re-arms it to restart
* It's exactly the same as pb_stop;pb_arm, indeed, it's the same as just doing pb_arm (which implicitly stops the PB first). Pure syntactic sugar ;-)
* Most of the important, shared stuff is in pb_functions.c */
/* This is pb_stop-arm.c It stops the pulseblaster and re-arms it to restart
* It's exactly the same as pb_stop;pb_arm, indeed, it's the same as just doing pb_arm (which implicitly stops the PB first). Pure syntactic sugar ;-)
* Most of the important, shared stuff is in pb_functions.c
* This is Free Software, released under the GNU GPL, version 3 or later.
*/

#include "pb_functions.c"

Expand Down
6 changes: 4 additions & 2 deletions pb_utils/src/pb_stop.c
@@ -1,5 +1,7 @@
/* This is pb_stop.c It stops the pulseblaster (and doesn't arm it to restart).
* Most of the important, shared stuff is in pb_functions.c */
/* This is pb_stop.c It stops the pulseblaster (and doesn't arm it to restart).
* Most of the important, shared stuff is in pb_functions.c
* This is Free Software, released under the GNU GPL, version 3 or later.
*/

#include "pb_functions.c"

Expand Down
4 changes: 3 additions & 1 deletion pb_utils/src/pb_vliw.c
@@ -1,5 +1,7 @@
/* This is pb_vliw.c It prints a short example VLIW program, with comments
* Most of the important, shared stuff is in pb_functions.c */
* Most of the important, shared stuff is in pb_functions.c
* This is Free Software, released under the GNU GPL, version 3 or later.
*/

#include "pb_functions.c"

Expand Down
5 changes: 3 additions & 2 deletions pb_utils/src/pb_zero.c
@@ -1,6 +1,7 @@

/* This is pb_zero.c It initialises the PulseBlaster outputs to all zeros. Special case of pb_init.c
This is useful when resetting the entire circuit, since it avoids accidentally powering the Device Under Test. */
* This is useful when resetting the entire circuit, since it avoids accidentally powering the Device Under Test.
* This is Free Software, released under the GNU GPL, version 3 or later.
*/

#define pb_zero 1

Expand Down

0 comments on commit bf8b628

Please sign in to comment.