Lawson Labs, Inc.             
Ph  800 321-5355
Ph  610 725-8800
Fax 610 725-9344
www.lawsonlabs.com
lawsnlab@lawsonlabs.com

M401 Visual Basic Demo Application 

Release History


Release Date 01.29.2008.17

Right click on the graph to get the voltage at that point.
Graph can plot multiple channels. 
User can select/unselect channels to be plotted in multichannel and extended scan.
User can select channel color
User can select graph bkg color.

User has the option of using sub channel 0 as the offset channel for extended 
(external multiplixer) calibration scan. This option is only available in the demo app
and not in the DLL. The min and max for sub chans in extended cal scan with sub chan 0 as offset
are calculated in the demo app, and not the values returned by Pub_GetExMinMaxEffBits.
The original main channel 7 as offset for extended cal scan is still supported by the DLL.

Supports triggered single channel, multi-channel, and extended start scan. Check Trig Scan 
for triggered start scan.

New fields added to INDEX_CONTEXT.





Release Date 07.11.2007.15

Changes:

"Show error" in lower left corner renamed "Scan Error". If there are 
errors during scanning then "Scan Error" is displayed in red color 
in the lower left corner. 
Click "Scan error" button to get more information about the error. 

New Features:

If errors are logged in the internal memory of M401 then the "Error"
button turns red following self test. Click the "Error" button to check
the internal errors logs in the M401. 

For troubleshooting, check "Expanded Error Logging" to log all errors
in the M401, otherwise only very few non-recurring fatal errors will be 
logged to conserve memory.

Prompt user if M401s are scanning when exit is clicked.(not yet tested)

Supports the new self test command - Pub_GetSelfTestRst2
Supports Pub_TestPins (production use only)


BUGS REMOVED

An extra copy of the last index's external multiplexer scan settings at
the end of the config file is now remvoed.

Checksum error set when the user changed scan avg in 4 channel 
multi-channel calibration scan.






Release Date 02.20.2007.

A bug present in the graph plotting routine could cause the 
application to crash under certain conditions. The bug is now
fixed.

A bug introduced in the previous version prevented voltage display for 
M401s with input AD range 1V. The bug is now fixed.

Release Date 01.16.2007.14

The input analog range selection changed from checkboxes to a combo box.

Release Date 09.15.2006.13 

BUGFIX - Multi-channel scan settings not restored properly from the config file.
BUGFIX - application crashed when the user switched between a disconnected 
index and a connected index.
If the firmware version does not support Pub_GetScanTime, Pub_GetTimeDiff 
then the commands are not sent.
If the user changes IP address then automatically disconnect from the 
M401, if already connected



Release Date 08.21.2006.12 

Demonstrates the use of 2 new functions exported by the latest version
of the DLL - Pub_GetScanTime, Pub_GetTimDiff
Pub_GetScanTime is called at the end of the stop scan sequence. 
Pub_GetTimeDiff is called when the user clicks RTC diff. For more
details on the 2 functions refer to the DLL documentation.

Release Date 05.01.2006.11 

In extended scan, the main form displayed the digital input associated
with the first channel in the scan, but the digital input associated
with the the last channel of the scan was logged to the data file.
This inconsistency is resolved, now both the main form and the log file
use the digital input of the last channel in the scan.

In extended scan, ignore the lower nibble of digital output for
ENOB,min,max calculation when only the 0th subchannel is selected.


Release Date 04.28.2006.10 

BUGFIX - graph auto-center, scale markings not redrawn in some cases



Release Date 12.19.2005.9

BUGFIX - In the previous version the lower nibble of the digital output
was masked (Pub_SetMaskedDigOut called with HF0 instead of HFF). 

Release Date 12.16.2005.8

Load the new dll function - Pub_GetLastError from the DLL. Call
Pub_GetLastError every few seconds to check if indices are still
connected to M401. Note - this version of VB demo application is
not compatible with DLL versions that don't support Pub_GetLastError

Change INDEX_CONTEXT::DPC_EvtLogWnd from array of strings to a string.
Each line in the event list box is new line  delimited in
INDEX_CONTEXT::DPC_EvtLogWnd. This way, it will not be necessary to
set arbitary limits on the number of lines that can be stored.

INDEX_CONTEXT::DPC_Total_Logs no longer used.

Release Date 11.23.2005

Extended scan screeen shrinks to show only active channel columns. 

Voltage display/logging formatted for atleast 22-bits in all AD ranges.

BUGFIXED - In the previous release when logging to file in extended scan,
if the index was deselected (by selecting another index from the ip combo
index) scans could have been skipped or incorrect scans could have been
logged. This bug was due to Selected_Index/Index typo in WriteScanTxtFile.

Release Date 11.15.2005

Added new form (frmExtScan) for setting up extended scan channels and 
showing extended scan voltages.

INDEX_CONTEXT structure expanded to include fields for starting and
ending extended scan sub channels

Release Date 10.26.2005

BUG FIX:
In multi-channel and multi-channel-cal scan, digital input not aligned
with corresponding scan in log file. See WriteScanTxtFile


Release Date :09.06.2005.2
Increase voltage display precision - number of decimal places for
smaller custom ranges  (0.1,0.2,0.045)


Release Date :09.06.2005.1

New AD Range +/- 0.045 V


Release Date :05.24.2005

BUG FIX:

Removed unused code for logging scans to data bases.

Bug fixed, which caused connection history to be lost when switching between indices, 
when connection history size exceeded maximum dimension. Now, If connection history exceeds
dimension of contex buffer then only the most recent history is saved.

Changes

Error code not displayed when Pub_GetSelfTestRst failed to execute in CfgM401Dlg::Form_Load().

If Scan Log File is checked then  scans are logged to file:  
IP ("." replace by "-")_Scan Start Date_Time.txt in application directory.
Earlier versions prompted user for file name.

Pub_SetChan called after scan stops.

 


Release Data :11.20.2003
Application searches Calback.cfg file for the scan method. If Callback.cfg is not found then
application defaults to single threaded callback mode of operation. See M401dll.txt for more details.
A new menu "Thread Priority" has been added."Thread Priority" menu is enabled whenever 
the scan method used creates a second thread in the dll. Use the options in this menu to
change the priority of the thread in the dll. On exit,  the current priority is written
into M40x.cfg, application will use this value next time it is run.
Two new entries have been added to M40x.cfg file:NETWORK_POLL_THREAD_PRIORITY,
NETWORK_EVENT_THREAD_PRIORITY. They store previously set
priorities of the threads which poll network for data, and which block till
data is received from the network resp.


Release Date: 08.05.2003

Reading from and writing to the cfg file made more robust.

Release Date: 07.25.2003

The demo application from now on will support both callback (making use of windows messaging)
 and "non callback" (not using windows messaging but using a thread inside the 
dll to monitor all active M401 connections) of reading new scan data. User can select the
method of scan acquisition for this demo application by making an entry in callback.cfg file.
If callback.cfg contains the keyword NO_CALLBACK then the non callback method is used. 
The default behaviour is to use the callback approach. When NO_CALLBACK is selected, the
demo application uses a timer (every 10ms interval) to check for new scan data.
Note:  you must use the "non callback" approach if you are accessing dll functions from a thread
other than the main thread(with a message pump). 

In NO_CALLBACK mode Pub_ReadScanData is used to read scan data from an internal buffer in the dll.
When the number of scan data points to be read is set to 0, Pub_ReadScanData does not update
SSCAN_OBJ and SSCAN_VOLTS_BUFF with new scan data points , it only returns the number of scan
data points pending in the internal buffer.
In NO_CALLBACK mode don't  call Pub_EndScan in a tight loop to get end scan confirmation ,
instead set a timer at  100ms interval, which will call Pub_EndScan to get end scan
confirmation. This will give the thread in the dll sufficient cpu time to gather all the
remaining scan data points and endscan confirmation token

New routines 

Module1 - ReadNewScanData, CheckForKeyWord, CodeToStr (converts return code of all DLL 
function to a string) 

See ReadNewScanData to learn how to use no callback feature of the dll in your 
application.

See WhenRecABlock to learn how to use callback feature of the dll in your application.

For more detail on how to use the dll in your application read the dll documentation
file m401dll.txt.

	


