GXSM / News: Recent posts

GXSM-3.0 and Python are getting best friends

... better and more complete than ever now. We were supporting via embedded Python Gxsm settings and scan control since ever, but now it getting better and more involved than ever -- plus the ease of use and management of a (growing) set of default actions and tools fully customizable.

The latest addition includes a more complete set of data access commands for read/write of pixel data and new scan creation from python numpy array data. So guess what -- you can now seamlessly play with some python math directly acessing scan data and send it right back to a scan to visualize via gxsm or even do some actions depending on it...... read more

Posted by Percy Zahl 6 days ago

GXSM3 Python build in command set enhanced and a minor command name adjustments

The GXSM3 build in Python command set was enhanced including some minor comand name adjustments.

Please refer to the build in gxsm.help () function for a most up-to-date information and comand list, simply use the "Help" Menuitem in the Pyton Console and execute the provide help script -- then see the consol output!

Most importantly: gnuim/export is now simply "gxsm.import () and .export ()".

New: Live scan data access function to get andput pixel values in 4D (well, so far 3D, time not yet supported, soon, stay tunded.) And a scan write function to dump am python array into a scan, int or float type versions are available.... read more

Posted by Percy Zahl 2017-09-15

New minor version Gxsm3.0 - V3.46.2, WARNING: TESTING STATUS


WARNING: a lot of rework, may be unstable.

  • Scan->Pkt2D obsoleted and eliminated -- old outdated (even
    efficient, but confusing and error prone in complex situations). Now
    always retrieving data from obejct itself.
  • scan_object_data is now seamlessy a pure virtual base for all
    objects, v_vobj and sieblings
  • eliminated hack for object data double buffering in favor of actual
    objct handling via virtualization
  • ported most plugins (coordinate grabbing method), two pending:
    octocorr, affine
  • now much more powerful and transient life data updating in
    profiles, etc.!... read more
Posted by Percy Zahl 2017-09-08

Gxsm 3.0 V3.46.0 "Action Eclipse" was tagged stable

After final patches and tests of the new wave form generation (coarse motion modes) for MK2 and MK3 we announce the current SVN version to be stable and a SVN tag and copy was generated:

svn/tags/Gxsm-3.0-20170828-stable 33 seconds ago zahl [r4851] tagging stable version V3.46.0 Action Eclipse

Please note, if you are updating from any older version (previous stable tag or older) you must update also the DSP code to match the DSP code provided within this SVN version.... read more

Posted by Percy Zahl 2017-08-28

New DSP MK3 Python Oszilloscope library features used by mk3_spm_configurator

I added features "action-click areas" to scope widget to toggle new features:

-XY mode toggle
-wide/square screen
-fade setting for XY in time
-FT-X/FT-Y options, three states XT, FT, XT+FT for X and Y -- computes rfft of data, plots normalized magnitude
-dB scale (log) option for X and Y channels (10 dB/div -> +/-100 dB range), 0 dB := set signal scale
-mode/options status display
slightly updated design, setting info overlay (temporary if adjusted or scope is clicked)... read more

Posted by Percy Zahl 2017-08-13

GXSM3 V3.45.13 "Red-Force-3DS * Actionist"

Updates on the lates tSVN version of GXSM3 V3.45.13 "Red-Force-3DS * Actionist".

  • new coarse motion wave form generation implemented for maximum flexibility and arbitrary multi channel signal creation.
  • simplified main window, eliminated embedded and linked to active scan view "View Controls", use the Scan VIew control buttons/menus.
  • added python action hooks for mover/coarse and Z0/Offset controls, allowing a simple scriped alternative auto-approach via Z0-Offset, always full range this way with potential smal ZS gain is now possible.
  • created a new Hot-key/accellerator (Scan-View Shift-F1...5) triggered execution of arbitrary python "Action Scripts" which can be defined quickly (a simple template is automatically created) via the python console. Action script files are automatically placed into "~/gxsm3/pyaction/sf1.py, ...". Use the python console, file menu->Action Scripts->Scan Action Scrips/... to open/auto create if not exiting a script. Customize it. Save. Done. Edit any time. For example you can simply swap bias and current setpoint to predefined settings with a single function key hit. But you can do much more, even program the execution of a VP action, manipulation, sts, ... anything!
  • similar action script now can be created as automatic "init actions" execute before any of the VP modes. To enable this you need to check the new "Run Init Script" option next to GLock checkbox. Then obviously need to create the matching script, just choose from python console, file menu->Action Scripts->VP Init Action Scrips/... , edit, save. Note: if enabled -- THIS init script will ALSO run (recursion possible, warning!) if a VP action is executed from a generic remote control script! If you need to configure a VP action intial condition in you remote script, then DISABLE the "Run Init Script" option to avoid eventual overrides.
  • updated SidePane layout and new probe event plotting options (testing).... read more
Posted by Percy Zahl 2017-08-03

Note: Do not use the current Trunc/SVN Gxsm-3.0 for production/experiments.

Use this stable version until further notice:


The current SVN is requiring a new experimental DSP code for MK2 and MK3. The Mover module (Coarse motion wave form generation) is currently undergoing a redesign and the current version is only tested with the MK3 using a sawtooth wave, the only currently available new wave form pattern. More exciting new and more option to support complexer muilti channel wave form (up to 6 simultaneous channels possible) is under development.

Posted by Percy Zahl 2017-05-19

Last Gxsm-3.0 version compatible with Gxsm2 with respect to DSP code

I just created a tag for the "Last Gxsm-3.0 version (very stable) which is still DSP code MK2/3 compatible with the last Gxsm2 (obsoleted now)":

svn/tags/Gxsm-3.0-20170518-stable -m "Last stable Gxsm-2 DSP code MK2/3 level compatible Gxsm-3.0 version, very stable"

Please be advised:
Soon updated DSP and Gxsm/HwI code will be commited the Gxsm-3.0 main repository (trunc) and we may encounter minor glitches within new and experimental development code effecting the coarse motion control module while the Mover/Wave generation is undergoing a major overhaul. Simpler, more DSP code efficient while at the same time providing maximum flexibuility and up to 6 free simultaneous freely programmable wave forms!

Posted by Percy Zahl 2017-05-18

GXSM-3 Version 3.44.0 "Red-Force-3rd Dimension"

Moving on to GXSM-3 Version 3.44.0 "Red-Force-3rd Dimension".

  • Minor patches.
  • One left behind porting issue fixed -- IVC gain from preferences was ignored by current setpoint but a 1V/nA (10e9 gain) was used.
  • New experimental features to be used with caution:
  • totally new 3D view mode based on GL 4.0 specification. Minimally GL 4.0 capable hardware is required, any NVidia based GPU should work. But not essential to run GXSM3, only the 3D view will not work or eventually abort if specification are reported as GL 4.0 but not fully supported. GXSM is 3D view mode scanning capable!
  • 3D volume view and slicing for multi-layered data is now also completed.
  • MK3 only: experimental modified FUZZY-LOG Mixer/Feedback control mode designed for constant height "regulation" with "FUZZY" switch over to constant current mode if a max (level) current is exceeded with automatic return to Z-Setpoint if current drops below. In this context also a new Z Scanner Polarity setting was introduced incl. signal checking / GXSM based reconfiguration after user confirmation aty startup.... read more
Posted by Percy Zahl 2017-04-20

New Load mode and more convenient access to choose

Just reworked the file load option for "replace" and "append in time" modes. Now The main File menu has a new submenu where you can select the current load mode. Default is still append in time if you open via DnD on top of an existing scan channel.

Some internal modernizations and cleanups plus removal of the old preferences option.

But more importantely I added a new load more named "stitch-2d". As the name suggests this is automatically stitching scans into one 2D view using the original scan as resolution template, expands the ranges/size as needed and so far simply my given geometry (size, absolut offsets) the new position and scaling is determined.... read more

Posted by Percy Zahl 2017-04-06

GL/ES 4.x enabled 3D view mode is coming along!

So now it's about for the frist time after the old legacy GL 3D stoppeed working... GXSM has a basic 3D view again!

  • Experimental as of now, do not use for production or while scanning rigth now - I warned you, just precaution!
  • As this is now unleashing the full power of your GPU, GL4.0 and eventully the ES extension is needed. It has to run shader code as all rendering, tesselations, and 3D normal computation, shading modes are done on the GPU at warp speed now. If you get an error or assert abort, your GL capabilities are insufficient. Any modern gaming level graphics most likely will do fine.
  • I have tested/use Nvidia based GPUs:
    for example:
    OpenGL renderer string: GeForce GTX 970/PCIe/SSE2
    OpenGL core profile version string: 4.5.0 NVIDIA 375.39
  • 3D scanning works also!... read more
Posted by Percy Zahl 2017-04-03

A little update about "us" and GXSM developments and history

Next-Generation Software Supports Explorations Beyond the Nanoworld into the Intramolecular Picoworld

A recent upgrade to data acquisition and visualization software more than 20 years in the making enhances scientists' ability to observe and control individual atoms and molecular interactions.

Read the full article here:


Posted by Percy Zahl 2017-03-30

A little demo of the VP program in GXSM-3 and behind the scenes information

Here is a little demonstration of a simple VP program with simple repeat block doing some fun.
Basically I want you to look at the vector components LM-dX and LM-dY. BTW, that's where the name LM originates from = Lateral Manipulation. However, it can do much more and this may change in future into simply "VP".

See here how the input looks for the user:
Screenshot VP program and result on a UHD 4k display... read more

Posted by Percy Zahl 2017-02-04

Announcing Gxsm3 3.42.0 Red-Force-One to be stable for production now officially obsoleting Gxsm-2

With the release of Gxsm-3 -- V3.42.0 "Red-Force-One" -- and it's final tweaks from 3.41.x we now officially obsolete Gxsm-2. There are no planns in continuing any work on this pre-gtk3 version, in particular as there are unfixable multi threadding issue we had a long fight with to get some what under control. Now in gtk this all has a clean new solution and works absolutely flawlessy on most modern machines :) Also there is nothing left to be ported any more and Gxsm-3 is to date already super seeding Gxsm2 in several aspects. Below is a summary of the lastest developments. See also new screenshots added to project!... read more

Posted by Percy Zahl 2017-01-19

Gxsm-3.0 -- V3.41.0 "Red Force One" released

Happy New Year 2017!

Gxsm-3.0 -- V3.41.0 "Red Force One" is now released:

After several tweaks and stability and more "fool proof hardening", tracking down a hopefully final multi threadding stability issue missed so far -- related to simple GUI (filename and number) update out of a thread, fixed some missed (while porting) incompatible side pane callbacks among other details it's now working rock solid here with a low temp STM/AFM and on my testing systems as well.... read more

Posted by Percy Zahl 2017-01-03

Gxsm-3.0 officially released.

Gxsm-3.0 is now released and available via the main SVN trunk and set to default checkout link. It depends on a recent gnome / gtk-3.0 system. Tested with the MK3. The MK2 works as well, but is at this time less "life" tested.

Gxsm-2.0 is still availbale and will be for some time but main stream support and updates will focus on Gxsm-3.0 from now on.

Note: As of now DSP code is 100% the same what means you can at any time switch between gxsm-2.0 and 3.0 -- but I see a time not far form now this will now be the case any more.

Posted by Percy Zahl 2016-11-10

Gxsm-3.0 is about to be released...

So far still testing the Beta version of Gxsm-3.0-beta for final tweaks:


Please check it out and provide valuable feedback!

Posted by Percy Zahl 2016-10-23

Now at NC-AFM, Nottingham, UK

Happy to discuss anything in person.

Do not miss my talk Friday morning.

Posted by Percy Zahl 2016-07-26

article in print: "GXSM - Smart & Customizable SPM Control"

Posted by Percy Zahl 2015-01-26

GXSM Signal Master Evolved V3.10.4 in SVN. -- STABLE --

GXSM Signal Master Evolved V3.10.4 is now in SVN. I'd call this a now finally a well proven solid production version.

Only critical bug fixes will go into this from now on.

A major project started on actual full porting to GTK3.4 and later.
branches/Gxsm-3.0-beta (gxsm3).

Most trivialities are already done porting a gazillion of obsolete gnome and gtk2 functions. A lot of recursive sed action, plugins are done with all trivia ports already. Several jobs a like...... read more

Posted by Percy Zahl 2014-10-27

Signal Master Evolved -- 3.10.1 -- worked out a few addiitons...

A few new features, fixes and minor "speciality" pending ports in 3.10.1 -- currently in testing:

  • GPIO support for VP, full GPIO read and set bit pattern per section
  • Added real time trigger/gate capability to VP engine. Trigger pos/neg/logic &eq on any signal, including a new GPIO signal. Trigger may be set to delay start/gate any VP section.
  • Finished pending transition of Limiter and Tracker to use proper signals now
  • Fixed pending Tracker MK2 -> MK3 port
  • Added Signals: GPIO-data, MIX-CH0..3 processed data (gain may be set to zero to prevent final mixing into the resulting delta. But pre gain mixer channel signal may be used else where -- for example as VP Trigger source, where "setpoint" is a trigger level equivalent. (got me?)
  • Added Inputs: Trigger, Limiter, Tracker... read more
Posted by Percy Zahl 2014-09-24

MK3-PLL/MK3 "Signal Master Evolved" final touches

Gxsm version "Signal Master Evolved", just committed a few final touches and minor fixes.

Now full signal propagation and management via Gxsm including proper unit & scaling support derived from signal definition table. All life, actual settings read back from DSP at Gxsm startup and refresh at scan start (in case of external manipulations).

Mixer channel signal selections are now reflected by signal name in Channelselector and also automatically used as Scan title/file name.... read more

Posted by Percy Zahl 2014-08-17

Signal-Master updates and ICN+T, Vail conference presence

Check out a few over due updates on our http://gxsm.sf.net website and study the poster available there we presented at the ICN+T, Vail, Colorado recently!

==> http://gxsm.sourceforge.net/Gxsm2-MK3-SigW-ICNT2014-b.png

A very successful meeting, a lot of in person interaction and discussions with Gxsm users and several interested scientists! A minimal life demo for GXSM+MK3/PLL for hands on.

And there are already NEWs evolving out of it!... read more

Posted by Percy Zahl 2014-08-08

GXSM 3.01.0 "Signal Master"

A big move forward to GXSM 3.01.0 "Signal Master" in particular for all MK3-Pro/A810-PLL owners. A major SVN merge from development branch/Gxsm-2x3-transition-sig into trunk was performed today.

Plus a few follow ups and merges on independent work by Niv implementing a Python console to make the pyremote more user-friendly and at the same time addressing a instability issue related to consecutive script calls.... read more

Posted by Percy Zahl 2014-04-03

IMPORTANT Informations and News -- please read.


The whole GXSM CVS repository is from now on "frozen" (well, no in a hard manner) but there should be no commits any more be done -- as it is obsoleted by a now completed transition to SVN.

As of now (to be precise 2014-01-15) the CVS is fully ported to SVN -- Thanks Thorsten!

Both as of now have a stable release in the main trunc tree.

There were a few recent updated related to MK2 and MK2 -- it is highly advised to update your software.... read more

Posted by Percy Zahl 2014-01-17