Signal Ranger DSP Linux Support Tools / News: Recent posts

major DSP code MK2-A810 updates

Together with the GXSM Lancaster Classics version the DSP code under the hood got a major set of code cleanup and improvements:

  • eliminated A810 obsolete code like offset compensations, etc.
  • now more transparent and consistent use of 32bit resolution for all XZY-Offset and XYZ-Scan signals compuations -- means 16.16 notations to allow virtually arbitrary resolution on outputs -- what ever is available, via HR mode. HR mode control/of/off now only possible via "hot" sigma-delta-matrix reconfiguration, on-the-fly (but expert only, non user accessible -- need to use special per default uncommented python control script/code).
  • vector rotation and Z-plane correction output transformations all 32bit, using custom full 64bit (Q31xQ31) vector mul32 code.... read more
Posted by Percy Zahl 2011-05-15

Cleaning up of CVS

Due to the use of the free linux tools from texas instruments the subfolders Release and Debug became obsolent and had been deleted. Also the folder FB_spmcontrol_testing has been removed from CVS. So please update your local copy.
Thorsten :-)

Posted by Thorsten Wagner 2009-06-17

Bug fix: Please update SRanger/TiDSP../FB_spmcontrol

A bug related to the Coolrunner/Counter function was fixed.

Synopsis: DSP segfault/crash on Counter enable.

Fixed, no version number change (100% compatible).

Note: COFF code (.out files) in
.../FB_spmcontrol/Debug & Release are obsolete (TiCC only) current .out file is in:


Posted by Percy Zahl 2008-05-24

SR MK2 C55x COFF2 loadusb tool and memory debugger

Update on the MK2 support tools:

In CVS in SRanger/loadusb-mk2 the new version (64 bit compatible) of the COFF2 loader and memory debugger has developed.

Use as memory debugger like this:

/loadusb -d /dev/sranger_mk2_1 -m

Note: all addresses and length are given in words!
See help page (type h or ? at prompt) for details on available commands.

To do a simulated load (does not touch the MK2 memory until the -s option is removed! Use less -v for less verbose output) try:... read more

Posted by Percy Zahl 2008-03-11

Signal Ranger MK2 -- kernel module support done.

I have now a working mk2 kernel module. All IOCTLs implemented, HPI and Bulk transfers OK.

Diagnostics: Wrong Bulk Transfer Setup-Package Byte order due to bug in manual :-(

Still all beta, needs testing!

Use the mk2 loadusb in -m (memory debugger mode) for testing.

All in CVS.

COFF loader not yet tested/finalized. But also not needed to get started, as you can Programm the Self-Boot Flash with all code needed via the supplied tools.... read more

Posted by Percy Zahl 2008-03-07

Please read! Reorganization of files.

Best advise: Please freshly checkout the SRanger module.

Several dir-structure and file rearrangements and clean-ups were performed:

in FB_spmcontrol: separated DSP code from other support code, like py-scripts and watch-tools. Added new/different Makefiel to generate DSP code via Linux DSP CC tools from TI, check the info in the MakefileDSP and help phorum.

Moved the SR_Counter CPLD code one level down.

Posted by Percy Zahl 2008-03-05

DSP code compiles under Linux using free TI compiler

The TI comand line compiler/linker/etc. suit is available here:

See this discussion for latest updates:

I added a MakefileDSP and customized a linker configuration (cmd-file). Both in CVS for the FB_spmcontrol (DSP-SPM code).

Posted by Percy Zahl 2008-03-03

Code updated: gtkdatabox

There had been a few programme in the repositry depending on the gtkdatabox- which is obsolent. For example the latest ubuntu 7.10 is shipped with gtkdatabox- which is not backwards compatible to gtkdatabox-

SRanger\TiCC-project-files\FB_spmcontrol\main.c is now up to date. This file is part of spm-watch.

I removed the folder demos containing xy-watch and (the not compiled) demo1. The folder was removed because both programmes had not been doing what they suggested - even with the old gtkdatabox. So nobody actually should miss anything.... read more

Posted by Thorsten Wagner 2008-01-25

new: loadusb64

As the old loadusb code is too messy, a new subtree loadusb64 was created. There we now have an experimental loadusb which works on 64 bit Linux systems. There is a pending bug in loading symbols and for now the int_00 symbol address is hardcoded to the most recent SPM DSP binary. Will be resolved ASAP.

Posted by Percy Zahl 2007-11-22

Update on Signal Ranger MK2 module

The most recent Signal Ranger MK2 (new design, USB 2.0 support, FPGA on board, etc.) is now supported in a very basic way for the first time -- very experimental.

All direct USB Controls, HPI data move.

In development (not yet supported):
High speed bulk pipe transfers

Look for modules-mk2-2.6.x and loadusb-mk2 in the SRanger CVS.

Within the near future there is no DSP code nor FPGA loader for linux planned. Instead use the supplied "minidebugger" and pre-program the MK2's Flash with DSP code and FPGA code for automatic power on startup.... read more

Posted by Percy Zahl 2007-01-08

SRanger module update for >= 2.6.18 linux kernels

Some minor patches to take care of now obsoleted function/macro calls.

This current SRanger module update works for all 2.6.x kernels and was most recently tested with the 2.6.19 linux kernel.

Posted by Percy Zahl 2007-01-08

Kernel >= 2.6.16 hack in CVS

There is a issue with the ".owner" FOP field with >= 2.6.16 kernels. It has been addressed with an conditional excluding of this setting and is available via developer CVS and hopefully soon via public CVS. So long you can fix it yourself by uncommenting two lines containing ".owner = ..." in the usb-sranger.c file.

here is the fix -- just FYI:

add this include for the version check:... read more

Posted by Percy Zahl 2006-05-01

CoolRunner Parallel/Counter support

A new sub project is in experimental and testing stage, it adds Event Counting/Ratemeter support. The Xilinx CoolRunner XPLA3 (SR expansion board) needs to be reprogrammed to get the additional Counter suppport.

The new CPLD code is fully rewritten in VHDL and thus portable, it contains still most of the old "Parallel" digital IO and adds a 32bit Counter with Hard Gate and automatic Gate Timer with 16bits resolution in three timescale modes.... read more

Posted by Percy Zahl 2006-03-28

SRanger module 2.6.X Update

The 2.6.X module is now fixed, please test it!
See bug report for details what was done.

Posted by Percy Zahl 2005-08-04

SRanger module for 2.6.x kernel works!

The updated version of the USB-SRanger kernel module for the Linux kernel 2.6.x generation is proofed to work.

Please post/inform us about any problems/issues which may occur.

the SRanger and GXSM admin

Posted by Percy Zahl 2004-08-15

SRanger kernel 2.6.x module: ready for testing

I spend an hour on migrating the usb-sranger module from 2.4.x kernel to 2.6.x compatible module and finally got it all upgraded to 2.6.x kernel style so far and it compiles well now.

Find it in the SRanger CVS here:


I have not even tried to load the module, so all is up to you to give it a try and possibly crash your box on you very own risc as it is written within GPL either way:-)... read more

Posted by Percy Zahl 2004-08-09

Added "FB_spmcontrol" testing branch to CVS

For testing and conveniance I added a new directory to the SRanger CVS tree here:


This will contain the current development und possibly unstable version of the SR SPM DSP code and a DSP binary. Once this code gets stable it will replace the stable version in FB_spmcontrol.

Currently it include the new vector probe code and some testing python scripts.

Posted by Percy Zahl 2004-07-22

SR module update/fix

IO memory space access via "seek" and origin=SRANGER_SEEK_IO_SPACE is (still) not working.
The current workaround works as follows:

use seek (0x10000+IO-address, 0)

This will set the IO-address correctly and allows read/write to /from IO-space.

Posted by Percy Zahl 2004-06-19

SR-control tool updated:

The SR-DSP SPM control tool was updated:

  • Offset watch and edit optimized, new force-recalibrate button and state watch, nicer formatting

  • Contineous watch of the "DSP-State"

Posted by Percy Zahl 2004-03-17

SR-GXSM/DSP Software update/fix: FB_spmcontrol

The recent GXSM-2 SR-HwI plugin and the SR-DSP code were updated due to a bug fix "huge-slow-scan-bug" (see GXSM-Buglist for details).

GXSM now needs SR-DSP code of version 0x0020 date 20040311 and vice versa according to data structure changes.
Please update both or non.


Posted by Percy Zahl 2004-03-11

FB_SPM: digital LockIn update

The digital LockIn now computes three signals:

  • DC component
  • 1st order amplitude using phase1
  • 2nd order amplitude using phase2
Posted by Percy Zahl 2004-02-01

Signal Ranger-STD Linux documentation

I just added Signal Ranger-STD installation/fxload-sr usage documentation to the SR manual!


Posted by Percy Zahl 2003-11-16

SPM: AFM/DFM, EFM,MFM and FUZZY feedback mix

-- SR-SPM update --

The SRanger SPM DSP software now supports a wide set of SPM methods:

  • Standart STM, using a logarithmic transformation of the tunneling current input signal before it's passed to the linear feedback algorithm (CP,CI and Current settings) -- nothing special.

  • Usual AFM feedback using a linear feedback loop usable for contact AFM (Setpoint: Normal Force) or in Non-contact mode (DFM) the frequency shift of an external analog/digital PLL/FM detector can be used as feedback source.... read more

Posted by Percy Zahl 2003-11-08

new SPM DU meter

I just added a graphical SPM X/Y/Z monitor "spm_watch" to the FB_spmcontrol code collection.
It works similar to the "Audio-type" VU-meters, but it's bipolar and shows the X/Y/Z DAC units (DU-meter) in realtime (directly monitored from the SR-AIC DAC buffer via USB).
And it's a bit eye-candy as well...

Posted by Percy Zahl 2003-10-07

SRanger STD is now supported!

The "standart" Signal Ranger STD is now supported!

1) get the patched fxload-sr-i386 / ppc (filearea of this project)
2) update the sranger module "usb-sranger.o" from CVS
3) insmod the new module, which also accepts the STD now
4) connect the STD to the USB port
5) run "fxload-sr-i386 -I SRangerFx -D /proc/bus/usb/XXX/XXX" as root
(XXX/XXX should be the location of the STD on the USB bus) - refer to the Linux-Hotplug howto for automatizing this...
6) the STD should be detected now and ready to use!... read more

Posted by Percy Zahl 2003-09-09