EXPERIX Copyright (C) 2004, 2005, 2006, 2007 William Bayard McConnaughey
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
Manifest for experix_release_r2:
cksum size filename
2240752699 132157 experix_book.tgz2
book, nowhere near finished
1445312306 707780 experix_dist.tgz2
experix program, documentation, help, demos, device drivers
3577617647 90705 experix_helpers.tgz2
modifications to nano, gpm and module_init_tools
2715430508 25807 install
instructions for installing and building everything
Summary:
experix_dist.tgz2
experix is a system for data acquisition, device control, data
presentation, analysis and archiving. It is based on an RPM-style
command-line interface that implements an extensive and extensible
scripting language.
experix_book.tgz2
experix has a help system that looks up and presents the information
for a specific command item. It needs an overview, tutorials,
discussion of how it works, use examples, screenshots, examples of
hardware setups, discussion of driver writing and many other things.
The book is as far as we have gotten with all this.
experix_helpers.tgz2
experix needs the help of a few modified programs:
GNU-nano with VT100-style escape sequences to highlight text, and
recall of filepaths and shell commands that have been done from nano.
The help system will be difficult to use without this because one sees
^[[7mVariable delta-x^[[0m ^[[36minterpolation^[[0m and ^[[33mdifferen
instead of this, with words in different colors:
Variable delta-x interpolation and differen
The modified nano is very useful apart from experix.
gpm altered to allow selections from text consoles to be dropped on the
command line in the svgalib-based experix graphics screen. This is
optional, but it really does save a lot of difficult typing in some
situations.
specialized insmod and rmmod commands to permit ordinary users to do
kernel module loading and unloading (with drivers having been approved
in advance by the administrator). This is another optional thing, but
without it the administrator has to set up automatic loading of drivers,
and the user has less flexibility in using the system.
----------------------------------
Changes since experix_update_r1u2:
----------------------------------
source/amoeba.h
-- clarified some explanations about status return values
-- added #define Zeiss_stuff
source/functions.h
-- added prototype for rebin()
source/structs.h
-- moved CFdef to after cq_entry_s because GCC4 didn't accept the line
"struct cq_entry_s {};" that I was usinge before it
source/amoeba.c
-- fixed an incorrect memset call in Camoeba_F which was causing a crash
in submit_command. This function was working once and apparently got
broken and not re-tested.
-- improved the status returns a little; corrected an error that prevented
returning status 2 (restarts limit reached)
-- added the Czdhist command (Zeiss Confocor photon count histogram)
source/array.c
-- fixed the [r operator for strings: it was wrongly diagnosing error
when subrange includes the last character
-- fixed the [= operator: it was messing up when target was complex/polar
XOR source was complex/polar
-- fixed the [ and [= operators: wrongly diagnosing error when target is a
pointer to command in level 1
source/command.c
-- minor code cleanup in "mct \" section
-- added the \= (binary copy) operator
-- on exit from submit_command, when decrementing ->refs on items in
local pointers, set those pointers NULL because otherwise somewhere
else the ->refs gets decremented again
-- in submit_command, added __u8 *sccom and used that in place of sscom
in the suspended command tail ops, to remove interference from some
other ops that use sscom
-- in prepare_command, corrected stupid overwrite of auto variable "jumps"
(asymptomatic until I compiled with gcc 4)
source/command1.c
-- added the ,'x operator: discard a local pointer
source/FPUmath.c
-- in readnumf, before number conversion, put in a break at end-of-input
(for floating-point it was filling unused portion of buffer with 1.0)
-- added some #ifdef GCC4_ASM_M_ICE sections to work around an internal
compiler error related to "m" constraints in asm statements
source/math.c
-- added the rebin() function
-- added code to Chisto_F to do histogram rebinning
source/files.c
-- added "(va_list)" before 3rd arg in vfscanf call in line 1119
source/models/fida.c
-- new file: Czdhist command: Zeiss confocor photon count histogram
source/svgalib/screen5
-- changed to font 7 on command line to work around the long-line display
problem in the readline-svgaserv combination
source/svgalib/svgafunc.c
-- rewrote a line to eliminate warning about cast expressions as lvalues
(in 64K color mode of dump2ppm)
source/svgalib/svgaserv.c
-- rewrote 2 lines in "case 'I'" to eliminate incompatible pointer warnings
in getnum calls. This may have been messing up other members of the vdr.
drivers/poker.xpx
-- used local pointer presets to eliminate exe-time command lookups
in the new data signal handler
book/amoeba
-- amoeba example
book/debugging
-- minor changes
-- added note about use of \;i to get CIdef address
help/abin.hlp
-- added a note about ways to get the sum of an array
help/amoeba.hlp
-- minor changes and clarifications
-- removed reference to "fitpoke.xpx" because this file can't be found.
Did it ever exist?
-- correction: stack format of amfunk
-- correction: parameter variation order in amoeba/g
-- added some explanations about status return values
help/file.hlp
-- minor correction
-- note about use of /l in file/r
-- correction in summary for s-format read
help/in.experix.hlp
-- added description of the \ operator
help/ss.arblocks.hlp
-- minor addition
help/ss.arelemnt.hlp
-- Tried to clean up the confusion about rows, columns, planes, etc.
help/ss.stackman.hlp
-- added the \= (binary copy) operator
-- added a note about using \;i to get address of a CIdef
help/ss.localvar.hlp
-- added the ,'x operator
help/histogram.hlp
-- added description of re-binning
-- added a note about ways to get the sum of an array
help/interp.hlp
-- added a note about ways to get the sum of an array
help/ss.unaryops.hlp
-- added some notes about .gam and .lgam
help/ss.valuecmp.hlp
-- added a note connecting ! and .gam
xpx/mathtrix.xpx
-- added cdft, cdftH (Fourier transforms)
-- added gral01, gral01c (function integration)
-- added ainterp2, tinterp2 (function interpolation)