
Version 1.8.0
Graphical Data Acquisition and Control Software
for Microcontrollers
Thank you for using this software!
MakerPlot
is a derivative work of StampPlot Pro. As such, a number of things have
changed, for the better we hope!
- FASTER
LOADING!
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
is 255.
This setting may be changed at any time through the Configurationà
Port tab.

The instruction, !PMAX value, max also be used.
- Data
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
“Configuration”à”Data”
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
processing.
- Save Config
to Macro enables saving the configuration when MakerPlot macro is
built.
Exiting MakerPlot ALWAYS saves the current configuration to Windows
registry for loading next run.

- Incoming
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.
- Define
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
by MakerPlot.
Examples:
To
plot channels of analog data, separated by commas - must start with a value.
%f5,%f7,%f19
Digital,
start with %, no commas:
%%f2%f3
For
messages, write text, cannot start with a number.
The value is %f10
Advanced
MakerPlot features may be used such as:
Showing
a value in status bar at top:
!STAT The value is %f6 at (PTIME)
If
a field contains a value, do operation. Additional operations can be
separated by (CR)
!IFTH %f0,==,$GPR,%f1,%f2(CR)!STAT Time is
(RTIME)
Manually
plotting a channel:
!ACHN 0,%f2,(RED)
Performing
math (note spaces):
!ACHN 1,[[%f2 + %f3] / 2],(GREEN)
Manually
logging data with time:
!LOGD (PTIME),%f11, %f20
Drawing
shapes with data:
!FREC %f0,%f1,%f2,%f4,(RED)
And
most any other MakerPlot instruction or feature!
Note:
The operations of the Configuration--> Color
&
Scales tab are also available for analog data plotted here as well as any
macro processing.
V1.7.0 – April 22, 2015
·
Corrected
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
correctly.
V1.6.0
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:
TCP
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
Shields:
- Two new
interfaces for exploring, monitoring and control.

- New Arduino
code for WiFi Shield and Ethernet Shield.
Adds
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.

- Modified
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&))
V1.5.95
– 6/2/2014
•
Corrected bug on plotting binary data.
V1.5.9
– 4/29/2014
•
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.
•
Guide version
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.
V1.5.8
– 4/27/2014
·
Corrected occasional bug that crashes with modal
warning.
·
Corrected problem where !PORT in initialization was not
setting port (needs to be after !NEWP)
V1.5.5
– 3/23/2014
·
Corrected serial routines causing stalling, mostly
noted using the Arduino Uno R3 boards.
V1.5.3
– 2/22/2014
·
Corrected a problem where using log scale and values
< 1 plotted erroneously.
·
Corrected code to close aux serial ports when loading plot/interface
select screens.
V1.5.2
– 2/16/2014
·
Correctly configured installer so as not to have
multiple copies showing on add/remove programs. Effective for version1.5.0
and up.
·
Corrected a few BAUD select bugs in various interfaces.
·
Corrected a bug when selecting colors for the controls
2 image button, image0 property.
V1.5.0
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
serial ports.
The PDF version distributed with MakerPlot has links for changes in the
guide.
- Momentary Image
Button pops back up when changed with code.
When
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.
!POBJ myBut=1
- 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:
!MOFF ON/OFF
|
Disables the Message Window from opening automatically.
|
Added the following MakerPlot Values missed:
(DATE)
– month/day/year
(M0)-
Month
(DD)-
Day of month
(YY)-
Year
(HH)-
Hours
(MM)-
Minutes
(SS)-
Seconds
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
|
- oImage$
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
under consideration.
- GREG for registry
entries has a default value
Missing in the documentation was the default value to use when reading a
registry entry.
‘ Get
the registry entry for the myPlot_myText key,
use Hello if no value exists.
!POBJ mytext=(GREG.myPlot_mytext,Hello)
GREG is used to read values
set by !SREG.
‘
Store the current value of myText in the
registry using the key myText
!SREG myText,(MyPlot_myText)
Note that !SSET mySaveName
and !GSET
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
controls.
Use of wildcards
has been implemented for the Active-X Controls 2, such as using
!POBJ
Met*.Alarm=0 to turn off alarming for all meters controls beginning
with Met.
- Ability to use nulls
in analog data list for specific channels.
Plotting
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
as well.
Examples:
,,10,,,,
|
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.
|
1,,20,,,
|
Would plot channels 0 and 2, again updating values.
|
,,30,,,,,,,,,50
|
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.
!ACHN channel,value,color
!ACHN 50,100,0
- (DATA) and (DATAxx) to Return Incoming Analog/Message Strings
and Values
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.
10,20,30,40
? (DATA)
Would return “10,20,30,40”
?
(DATA2)
Would return “30”
‘ Set parse character to space instead of
comma
!PCHR
Hello
world! My data is 1 2 3 4 5
? (DATA)
Would return entire string
?
(DATA2)
Would return “My”
- Debug/Immediate
Window Changes
- Use of ? in the Debug/Immediate
Window for !DBUG
When
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)
? (RTIME)
- Added a filter text
box on the Debug/Immediate
If
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
Add
your own error message to the main window’s bottom status bar and the
DEBUG Window.
!ERRR
Value exceeded!(CR)!BELL
- Alphanumeric
Text lists for oDrop & oList
Controls
The oDrop controls now accepts text as well as
values for populating from a list:
!POBJ drpCOMMs.LIST=OFF,1,2,3,4
For clarification on using list and drop boxes:
!POBJ
lst_1=1,2,3,4 Will
set the control to the 1st value (add it if necessary first)
!POBJ
lst_1.Add=1,2,3,4 Will
set the control to the entire string including commas
!POBJ
lst_1.LIST=1,2,3,4 Add
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
!SPLT (drp_speed)
‘ Send the 2nd value to the controller (0 based list)
!SEND (PARSE1)
- New File/folder
handling
The
following have been implemented to make logging and other actions more
versatile:
!MDIR folderName
|
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.
|
(FILE.fileName)
(FILE.folderName)
(FILE.folderName\FileName)
‘ place headers in file on first create
!IFTH (FILE.(DPATH)test.txt),==,0,!LOGF (DPATH)test.txt,TIME,
VALUE
|
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.
|
!LOGF Path\Filename,Data,Data
!LOGF myData.txt,(RTIME),(AIN0),(AIN1)
!LOGF (DOCPATH)myData2.csv,1,2,3
|
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
using !LOGD
for manual logging to the standard data file.
Use is restricted to the MakerPlot documents folder.
|
!DELF Path\Filename
!DELF (DPATH)Test.txt
|
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
This
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.

- Auxiliary Serial Port
Objects
Three auxiliary Serial Port Objects allow
collecting data from multiple sources at once. Each port has its own event
code for when data arrives or if the port has an error. Use standard
MakerPlot instructions to define what occurs. The arriving data may be
accessed with (DATA) for the entire string or (DATA0) to (DATA99) for
each comma-separated value (may use other delimiters as well). Once
placed in the queue, such as analog data, processing is performed
normally based on data structure.

Indicators have been added to Aux Receive (AR) and Aux Transmit (AT).
These will be gray=none connected, green=at least 1 connected, red =
receiving data, Yellow = Error.

On errors, customized error events may be written. Use (ERR) to
access the error event name. Each port acts independently.

·
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
interactive control.
Version 1.3.0 – December 20, 2013
·
Replaces the Serial Communications (MSCOMM32) control
with a much better control.
o
COM port values up to 255.
o
Much more stable communications.
o
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,
2013
·
MakerPlot installer
released with Verisign © Certification.
Version 1.2.2 update – July 21st,
2013
·
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,
2013
·
Corrected a bug which was not allowing drag-drop
placement of Controls 2 meters.
Version 1.1.5 update – May 22nd,
2013
·
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,
2013
·
Corrected a bug that was causing a timeout after 3
minutes even when registered.
Version 1.1 updates – March 10th,
2013
·
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.
Distribution
Change
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
model.
·
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.
Name
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.
Software
Enhancements
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:
o
Faster plotting using automatic updating of meters and
some other controls.
o
All 10 channels of plotted data may be changed as to
color, see Configuration WindowàColor + Scales.
!ACLR channel, color
o
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)
o
NEW Drag and Drop controls pre-defined (though end user
may change) with sounds for a variety of NEW buttons/switches.
o
NEW images and sound files for a variety of switches
and controls.
o
NEW methods for setting properties of controls in the Object Editor. All properties may be
read as a value, (ControlName.property)
o
New storing of data values as ‘variables’ or for
macro-passing using !SETD 0-99,value ,and read as a value (GETD0-99).
o
Data values may be assigned names or labels and used in
code:
!LBLD 0-99,Name
!SETD Name,value
!DBUG (Name)
o
Values Window, Data
Tab, has a selection
to show all channels of analog data, 0-99.
o
Nearly universal color use of 0-15, (color) or
hexadecimal RGB colors.
o
Assignable custom colors for your development.
o
Ability to scale the main plot to all channels of data,
plotted channels, or a specific channel:
!ASCL ALL
!ASCL VIEW !ASCL chanNum
o
New information and yes/no pop-up windows:
!INFO message
!MRYN message, instructions to be run if yes
o
NOTE: Digital bits are now plotted with LSB at top and MSB
at bottom.
o
Many other additions to instructions and operations.
o
Full testing of all features – many, many bug fixes
from prior versions.
o
New updated installer package to ease installation
issues on newer systems.
o
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
wish to!
Sincerely,
SelmaWare Solutions, LLC & LearnOnLine, Inc
27 December, 2012
www.makerplot.com
|