Graphical Data Acquisition and Control Software
Thank you for using this software!
is a derivative work of StampPlot Pro. As such, a number of things have
changed, for the better we hope!
Load speed has been significantly increased, especially on laptops, by
allowing the user to limit the number of COMM PORT number that are searched to find available ports.
In first run, this screen will be presented to the user:
This allows the user to select the maximum
port numbers to search. As it mentions, if you are a typical users where you
may only have a couple devices, 15 is usually more than enough. The maximum
This setting may be changed at any time through the Configurationà
The instruction, !PMAX value, max also be used.
Builder for Serial Data Formatting
The Data Builder allows capture of incoming serial data and parsing
of string and fields for use in MakerPlot processing. It may be opened
from the View menu or using the Blue hammer on the toolbar.
- The Settings define operation of the Data Builder.
- Enable Data Builder enables capture
and processing of the data. It also selects and option under
to use the Builder.
- Halt will stop current processing,
but not return string processing back to MakerPlot’s normal processing.
- Process Code with MakerPlot allows
passing the final code at the bottom to MakerPlot for normal data
- Save Config
to Macro enables saving the configuration when MakerPlot macro is
Exiting MakerPlot ALWAYS saves the current configuration to Windows
registry for loading next run.
Data can show the contents of the Queue for processing. The current
numbers of characters is displayed along with a way to clear it. Should
the queue exceed 10,000, it will automatically clear.
Data String will allow the user to define how a string is structured
either with a beginning character and the length or be defining the end
character or the delimiter between strings. Values may be strings,
decimal ASCII characters or HEX ASCII characters.
The resultant string is shown based on the parameters.
The replacement fields allow replacement of characters or string in the
data to strip out or replace unwanted characters. NOTE: All ASCII
characters < decimal 31 are removed automatically.
The resultant string is shown.
- Parse Fields allows parsing of
the data in the string. The parse character or string may be entered and
resultant data for fields %f0 to %f33 are
shown. In the Final Data
MakerPlot Processing area shows 3 text fields. The first is the code template where
the data fields may be used in MakerPlot instructions and data formats
for processing. %f0 to %f33 are replaced at the time of processing with
the data from the fields listed above it.
Analog, digital, message string may be defined using data, all
instructions and macro values, such as (RTIME) for real time, may be
used. The following is the contents of the example text block which may
be used a simple guide.
%f0 to %f33 in the template will be replaced with the values for those
fields. Processed code will be shown. Check box at top to have it processed
plot channels of analog data, separated by commas - must start with a value.
start with %, no commas:
messages, write text, cannot start with a number.
The value is %f10
MakerPlot features may be used such as:
a value in status bar at top:
!STAT The value is %f6 at (PTIME)
a field contains a value, do operation. Additional operations can be
separated by (CR)
!IFTH %f0,==,$GPR,%f1,%f2(CR)!STAT Time is
plotting a channel:
math (note spaces):
!ACHN 1,[[%f2 + %f3] / 2],(GREEN)
logging data with time:
!LOGD (PTIME),%f11, %f20
shapes with data:
most any other MakerPlot instruction or feature!
The operations of the Configuration--> Color
Scales tab are also available for analog data plotted here as well as any
V1.7.0 – April 22, 2015
interface/macro build problem where computers using “,” as decimal separator
could not build properly.
Fixed some color issues with drawing and
improved (ORANGE) color.
Added a new form window to more simply add
legend to your plot.
This window simply creates constant drawings for labeling information – it is
not reloaded when the plot opens. Data may be entered in the “Constant
Drawing” section of the configuration macro code.
Accessed via the Configuration Window,
Scales + Color Tab
V1.6.1 – October 4, 2014
Corrected issues with setting oLabel boxes to transparent value of 7 and macro building
Additions and updates since 1.5.0 - Internet Controls
- August 2014
Increased Internet communications abilities through the addition of new
controls which may be easily added to existing interfaces:
Server, TCP Client and UDP Control
- Added a new
section on Internet use including network principles, new controls and
examples for the Ethernet and WiFi
- Two new
interfaces for exploring, monitoring and control.
- New Arduino
code for WiFi Shield and Ethernet Shield.
a new Timer Control to allow multiple
timers – operates in one-shot or repeats for continuous timing. Sets a flag
that may be read as well.
logging/ macros/plotting with logs to be more consistent file format for
end of line characters.
- Added the macro
value of objxxx to read control objects by
their index numbers, such as:
!DBUG object 5 is (obj5) and
has a value of ((obj5))
!FORP 1,50,!DBUG object & is (obj&)
and has a value of ((obj&))
Corrected bug on plotting binary data.
Corrected bug where a modal window warning will
crash the program for non-registered users when the 3-minute connection limit and 15-minute registration annoyance are
displayed at once (or attempted by MakerPlot).
In Logging Menu, modified the Plot from Data Log routine so that if the file is not in MakerPlot
format (data time, etc), the file will be processed as raw data. This allows
plotting data from a text file or processing control or other instructions.
MakerPlot syntax rules apply, such as ending with ASCII 13 or 10, and binary
values having % in front.
1.5.1 - In Creating
and Configuring Controls on the Interface, corrected meter2_obj to mp_meter_obj for meter creation. The meter2 control was an old version left in for
backwards compatibility but not totally compatible with the current software.
Corrected occasional bug that crashes with modal
Corrected problem where !PORT in initialization was not
setting port (needs to be after !NEWP)
Corrected serial routines causing stalling, mostly
noted using the Arduino Uno R3 boards.
Corrected a problem where using log scale and values
< 1 plotted erroneously.
Corrected code to close aux serial ports when loading plot/interface
Correctly configured installer so as not to have
multiple copies showing on add/remove programs. Effective for version1.5.0
Corrected a few BAUD select bugs in various interfaces.
Corrected a bug when selecting colors for the controls
2 image button, image0 property.
Bug Fixes/Manual Corrections – 2/10/2014
Version 1.5 marks a major release update fixes several
issues and adding new features a such as multiple
The PDF version distributed with MakerPlot has links for changes in the
- Momentary Image
Button pops back up when changed with code.
activating a Controls 2 image button set up for momentary control, it
will pop back up as if clicked manually.
button will show pressed then released.
- Bug Fix on opening
text box object for editing
Text boxes and text scroll boxes now open properly in the Object Editor
when Shift-Right-Clicked. Drop
boxes, due to development software limitations, probably will never
support this action.
- Updated the
documentation’s instructions and values for the following:
Disables the Message Window from opening automatically.
Added the following MakerPlot Values missed:
Day of month
Added the following to the program and documentation:
Day of the week values
(wDAY) - Day of the week, such as “Saturday”
(awDAY) - Abbreviated week day, such as “Sat”
(nwDAY) - Number for the week day, such as
“7” for Saturday
to prevent resizing
To prevent the resizing of images, such as logo’s, that may lose
resolution when resized, use $ in the name of the image object (oImage objects only), such as img_logo$.
A command to prevent resizing elements globally on the interface is
- GREG for registry
entries has a default value
Missing in the documentation was the default value to use when reading a
the registry entry for the myPlot_myText key,
use Hello if no value exists.
GREG is used to read values
set by !SREG.
Store the current value of myText in the
registry using the key myText
Note that !SSET mySaveName
mySaveName are used to save/recall
the entire interface at once to/from the registry.
- Fixed a bug in Macro
Builder that was adding unwanted characters when opening files.
- When building a
macro, the oTimers have been moved to the end of
the Object Code so that objects they access will have been created.
Increased use of wildcard for
Use of wildcards
has been implemented for the Active-X Controls 2, such as using
Met*.Alarm=0 to turn off alarming for all meters controls beginning
- Ability to use nulls
in analog data list for specific channels.
select channels using by leaving nulls (nothing) in comma-separated
values (CSVs). Analog CSVs may now start with a comma (null for 1st
value or AIN0 value). This allows only specific channels to be plotted
based on a value’s location in the comma-list. MakerPlot values and data
are updated and accessible. The CSV string may start with a null value
Would plot 10 for the 3rd channel of analog
data (channel 2 or AIN2). No other channels will be plotted. The Values
Window values for channel 2 and the MakerPlot values of (AIN2), (AINMAX2),
etc will be updated and accessible.
Would plot channels 0 and 2, again updating values.
30 would be plotted and used as channel 2. In this list,
50 is considered at channel 11. As only channels
0-9 are plotted automatically it will not be plotted but the value/min/max/avg of channel 11 will be accessible in the Values
Window and as (AIN11), (AINMIN11), etc.
Use of !ACHN for non-plotting channels.
!ACHN is used to
manually plot/store data on a specific channel in a specific color. This
instruction has been extended to allow channel values up to 99 so that data
may be stored and accessed in the Values Window or as MakerPlot values, such
as (AINAVE50). The color is still required though channels above 9 are not plotted.
- (DATA) and (DATAxx) to Return Incoming Analog/Message Strings
When analog data (single or multiple comma separated values) or text
messages are received, the raw data (of any type) may be accessed as a
(DATA) for the entire string or (DATA0), (DATA1), etc, for individual
values based on comma separation or the parse character delimiter
defined in Options or using !PCHR instruction.
Unused values return nulls.
Would return “10,20,30,40”
Would return “30”
‘ Set parse character to space instead of
world! My data is 1 2 3 4 5
Would return entire string
Would return “My”
- Use of ? in the Debug/Immediate
Window for !DBUG
manually entering text in
the Debug/Immediate Window, ? may be used in
place of !DBUG to show information in window.
? the value of channel 0 is (AIN0)
- Added a filter text
box on the Debug/Immediate
this text box is not empty (indicated by being green), only data
containing the filter string will be displayed. Error messages are not
filtered; data from the device in Terminal Mode is filtered.
- Add Your Error
Message Using !ERRR
your own error message to the main window’s bottom status bar and the
Text lists for oDrop & oList
The oDrop controls now accepts text as well as
values for populating from a list:
For clarification on using list and drop boxes:
set the control to the 1st value (add it if necessary first)
set the control to the entire string including commas
each comma-separated value as individual list entries
Having comma separated values can be beneficial at times. For instance, different data could be
pulled out of the user selected entry, such as if a list called drp_Speed contains
“Speed slow ,50”. If the user only sees and selects “Slow Speed”,
the other value (50) can be pulled using:
Manually parse the values
‘ Send the 2nd value to the controller (0 based list)
- New File/folder
following have been implemented to make logging and other actions more
Creates a folder in the MakerPlot Documents root
directory. No other location can be used. Creating a folder that already
exists does not cause issues.
‘ place headers in file on first create
!IFTH (FILE.(DPATH)test.txt),==,0,!LOGF (DPATH)test.txt,TIME,
Return 1 if either the file exists or, for a folder, the
folder exists and has at least one file in it. If no file or populated folder,
0 is returned.
Creates and appends to the named file in the defined
path, such as (DPATH) for data directory. This
instruction creates (if needed), opens, writes and closes the named file.
This operation does not automatically use time data as first value. Also,
as the file is opened/closed each use, it is slower then logging normally using !NAMD and automatic logging or
for manual logging to the standard data file.
Use is restricted to the MakerPlot documents folder.
Deletes the named file. Use is restricted to the
MakerPlot documents folders.
- Hiding background
during interface construction & showing again.
The !HIDE and !SHOW
instructions will hide and show the background of the interface. This
allows the user to not see the control-by-control placement. Hiding
times out after 30 seconds in the event of a problem.
The Macro Builder has a new check box to add this automatically to a
build. If added manually, add after !NEWP.
- Added an On-Line
Release Notes Entry to Help Menu
Menu choice will open the on-line, up-to-date release note information for
MakerPlot to check on bug fixes or new releases more easily.
Added a 2nd page for Interface Selection with a
multi-Serial Port Standard Interface and future pre-made interfaces.
Version 1.3.4 – February 1, 2014
Corrected a problem with data hangs & glitches
using interactive controls.
Version 1.3.3 – January 11, 2014
Corrected a bug that was causing a controller reset
every few seconds with low data rates and DTR enabled.
Version 1.3.2 – December 30, 2013
Corrected issues with binary data.
Improved speed when manually logging data (!LOGD).
Version 1.3.1 – December 23, 2013
Corrected small serial issue most apparent when doing
Version 1.3.0 – December 20, 2013
Replaces the Serial Communications (MSCOMM32) control
with a much better control.
COM port values up to 255.
Much more stable communications.
Should lift limitation on available USB drivers for 64-bit
machines (Prolific and others).
Updated the MakerPlot Guide
Version 1.2.5 update – July 31st,
released with Verisign © Certification.
Version 1.2.2 update – July 21st,
Corrected bugs which in which image button controls
were not updating color properly nor being able to change the label through
the popup menu for Controls.
Version 1.2.0 update – June 1st,
Corrected a bug which was not allowing drag-drop
placement of Controls 2 meters.
Version 1.1.5 update – May 22nd,
Modified the updating of objects using Auto Update
features, such as image buttons and meters. A large number of these controls
updating were causing the program to “hang” with each trying to update every
100mS. An algorithm has been applied for the update interval for each to be:
50mS + (number of controls auto-updating x 10mS).
Version 1.1.2 update – April 18th,
Corrected a bug that was causing a timeout after 3
minutes even when registered.
Version 1.1 updates – March 10th,
Correct problems of control sizing, macro loading and
crashed on non-U.S. systems.
Added detection of the system’s use of commas (i.e: 5,25) as a decimal point
and provides recommendation to change to a period (i.e:
5.25) for proper operation.
LearnOnLine has licensed distribution
rights to the software. We hope that our collaboration will mean bigger and
better things. The distribution change does mean a change from the prior
This software may be evaluated for 30 days with a
3-minute connection limit, and an occasion pop-up window.
Following that limit, unregistered users will no long
be able to connect or build & save macro files.
Through an agreement between SelmaWare and LearnOnLine,
users having purchased a license for StampPlot Pro version 3.7 or higher can
receive a free license upgrade. Please see www.selmaware.com for more details.
and Focus Change
The name change is a means to appeal to a
larger audience – the many “Makers” out there working with microcontrollers
(and us in making this software!). With the name change, a brand new guide
has been written with code examples using the Arduino© Microcontroller.
If you are new to the software, welcome! We
hope you find it useful in your projects.
If you are a returning user, we endeavored
to make this upgrade of value to you.
We have spent much of 2012 making revisions
to the software, writing example code, the guide and a new website with many
videos for MakerPlot use!
As such, there have been some heavy
modifications to the software to help ensure a better user experience.
While we have tried
to maintain compatibility.
The vast majority of other features should work
normally, but this is not guaranteed. Interfaces using V3.9x meters and
buttons should still work, but the MakerPlot interfaces and newly made
interfaces use a newer version of the meters and image buttons.
The same associations are used for macro’s
- .spm. MakerPlot will be the program used when
associated spm files are opened directly with a double-click.
Some Specific Enhancements:
Faster plotting using automatic updating of meters and
some other controls.
All 10 channels of plotted data may be changed as to
color, see Configuration WindowàColor + Scales.
!ACLR channel, color
All 100 channels of processed analog data may have a
span and offset applied before plotting, see Configuration WindowàColor + Scales for
setting channels 0-9 using the configuration window.
!AMTH channel, x value,+ value - !AMTH 0,10,5 (channel 0 * 10 + 5)
NEW Drag and Drop controls pre-defined (though end user
may change) with sounds for a variety of NEW buttons/switches.
NEW images and sound files for a variety of switches
NEW methods for setting properties of controls in the Object Editor. All properties may be
read as a value, (ControlName.property)
New storing of data values as ‘variables’ or for
macro-passing using !SETD 0-99,value ,and read as a value (GETD0-99).
Data values may be assigned names or labels and used in
Values Window, Data
Tab, has a selection
to show all channels of analog data, 0-99.
Nearly universal color use of 0-15, (color) or
hexadecimal RGB colors.
Assignable custom colors for your development.
Ability to scale the main plot to all channels of data,
plotted channels, or a specific channel:
!ASCL VIEW !ASCL chanNum
New information and yes/no pop-up windows:
!MRYN message, instructions to be run if yes
NOTE: Digital bits are now plotted with LSB at top and MSB
Many other additions to instructions and operations.
Full testing of all features – many, many bug fixes
from prior versions.
New updated installer package to ease installation
issues on newer systems.
A lot of the old “clutter” of files from prior versions
has been removed.
Please read through areas of interest to
you in the MakerPlot Guide.
Whether you are a new user or upgrading, we
hope we have dramatically simplified the use of the software and the creation
of your own interfaces to help you plot, monitor and control in the way YOU
SelmaWare Solutions, LLC & LearnOnLine, Inc
27 December, 2012