Register new iocsh command (adsAsynPortDriverConfigure).
Rename ecmc to ads.
WIP
WIP
WIP: First working version based on asynportdriver class.
WIP: Cleanup..
Makefile.EEE: Add db file for test.
Try dynamic creation of parameters. WIP..
Add test db
Add test startup script.
WIP
WIP
WIP dump working..
WIP: working find records..
WIP
WIP: paramInfo structure filled..
WIP. PLC data parsed.
Cleanup in formatting.
Add some ads functionallity to adsAsynPortDriver class.
Move parts of ads methods to class.
Minor formatting..
Add generic adsWrite..
adsWrite for both symbolic and ADR.
Add adsWrite (epicsInt32), move printparam to report method. And more.. WIP
Improved report method.
Improve report()
Remove read override methods. minor change in db-file..
Start implementation of callback.
adsApp/Db/adsTestAsyn.db: Only one record for forst tests..
WIP: Callback working.. Add adsRead().
Change to use other CPU.
WIP. Working..
WIP.. Write working
Remove drvAsynAdsPort.cpp
Remove old driver.
WIP..
Add array support (partly). Add function to update params (used by callback and adsRead). Cleanup.. WIP
Add array in db file. Change trace in cmd file.
Cleanup
adsTestAsyn.db: Add info field in waveform output record to allow readback..
Add array write support.
Add updateTimestamps() to avoid <undefined> timestamp..
More records..
Remove report in drvUserCreate().
Add asynReport last in startup file.
Remove asynReport from end in cmd file (executed before params are generated..)
adsAsynPortDriver.cpp:report: Add comment on param 0 for motor record..
adsAsynPortDriver.cpp:report: Add plc data type size printout.
adsAsynPortDriver.cpp:report: Write param name first.
New syntax: ? in end of drvinfo results in I/O intr. = in for no I/0 intr. (I/O intr for output records or waveform needs info(asyn:READBACK,1) field also).
New records.
Add string support as asynInt8Array
Add string records in db file
adsApp/src/adsAsynPortDriver.cpp:report: add asynType in printout.
WIP
Add buffers for arrays.
Wait utill initHookAfterIocRunning state before enable callbacks (ensure that interrupts are registered).
minor cleanup
WIP
Reconnect works. (WIP)
WIP
Add class for parameter info. Add utility file for general functions.
WIP
Moved utility functions and general stuff to adsAsynPortDriverUtils. Compiles. WIP..
WIP: reconnect works if cable error. If plc in config mode it seems symbolic handles are not renewed. Need more work..
Only complete reconnect if not connected to any amsPort.
Remove adsParameter class. Not used..
Add wrapper to adsUpdateParams with lock() called adsUpdateParamsLock() for use in callback function.
Add option TIMEBASE (PLC or EPICS).
Add timestamp support. Choose between EPICS timestamp and PLC timestamp (for I/O intr, normal polling always EPCIS timebase).
Enable timestamp from asyn (add field(TSE,-2) to all records).
Add new default parameter for time source (EPICS=0, PLC=1).
Cleanup in startup files.
Renamed startup files.
Add info to report().
WIP alarm and severity.
Add READ and WRITE alarms. Working on reconnect (sometimes fails).. WIP
WIP: try to make seemless renewal of handles and callback.. Not working well yet...
Reconnect seems to work. Still WIP.
adsAsynPortDriver.cpp: cleanup
adsAsynPortDriver.cpp: Cleanup
WIP reconnect more stable (only disconnect once).
Update adsTestAsynSlim.db
test.cmd: Remove duplicate lines
Only print reconnect error once.
Cleanup of printouts at reconnect.
Update comment in startup files
Set write alarm in genericArrayWrite().
Basic octet functionallity. WIP
Add connect() in constructor (to avoid error if only octet records).
Make the RELEASE file more versatile: Use definitions from local files like this:
include $(TOP)/configure/RELEASE_PATHS.local -include $(TOP)/configure/RELEASE_PATHS.local.$(EPICS_HOST_ARCH) include $(TOP)/configure/RELEASE_LIBS.local -include $(TOP)/configure/RELEASE.local
(I think I stole the idea from another EPICS module, probably from AreaDetector)
downloadADS.sh: Use the appropriate git submodule commands
When the use did not clone --recursice, the ADS/ is empty. Use "git submodule" to update it,
Install adsTestOctet.db, adsTestAsyn.db
Makefile (classic EPICS): Must link with -pthread
(Not sure if or why this ever worked) But: ADS needs to be linked against pthreads Add -lpthread in USR_LDFLAGS
Add support for bool arrays.
Add bool and bool array records to db and opi file.
Add comment regarding bool (ADST_BIT)
Update demo_project with bool and bool[].
octet interface: Free all allocated vars in octetCmdHandleInputLine.
Add comments to adsAsynPortDriver class.
adsAsynPortDriverUtils: Add comments.
adsAsynPortDriverConfigure: Add help message if called without arguments.
adsAsynPortDriverConfigure: Add example configuration in help printout.
adsAsynPortDriverConfigure: Add note about needed twincat route.
adsMotorRecord.cmd: Correct spelling mistake.
startup/adsOnlyIO.cmd: Remove require axis.
adsAsynPortDriver.cpp: Cleanup and invalidate parameter at startup.
Add asynportdriver.
Add adsAsynPortDriver.cpp to Makefile.EEE.
adsAsynPortDriver.cpp: First make ok.
Use asynprint for log.
Register new iocsh command (adsAsynPortDriverConfigure).
Rename ecmc to ads.
WIP
WIP
WIP: First working version based on asynportdriver class.
WIP: Cleanup..
Makefile.EEE: Add db file for test.
Try dynamic creation of parameters. WIP..
Add test db
Add test startup script.
WIP
WIP
WIP dump working..
WIP: working find records..
WIP
WIP: paramInfo structure filled..
WIP. PLC data parsed.
Cleanup in formatting.
Add some ads functionallity to adsAsynPortDriver class.
Move parts of ads methods to class.
Minor formatting..
Add generic adsWrite..
adsWrite for both symbolic and ADR.
Add adsWrite (epicsInt32), move printparam to report method. And more.. WIP
Improved report method.
Improve report()
Remove read override methods. minor change in db-file..
Start implementation of callback.
adsApp/Db/adsTestAsyn.db: Only one record for forst tests..
WIP: Callback working.. Add adsRead().
Change to use other CPU.
WIP. Working..
WIP.. Write working
Remove drvAsynAdsPort.cpp
Remove old driver.
WIP..
Add array support (partly). Add function to update params (used by callback and adsRead). Cleanup.. WIP
Add array in db file. Change trace in cmd file.
Cleanup
adsTestAsyn.db: Add info field in waveform output record to allow readback..
Add array write support.
Add updateTimestamps() to avoid <undefined> timestamp..
More records..
Remove report in drvUserCreate().
Add asynReport last in startup file.
Remove asynReport from end in cmd file (executed before params are generated..)
adsAsynPortDriver.cpp:report: Add comment on param 0 for motor record..
adsAsynPortDriver.cpp:report: Add plc data type size printout.
adsAsynPortDriver.cpp:report: Write param name first.
New syntax: ? in end of drvinfo results in I/O intr. = in for no I/0 intr. (I/O intr for output records or waveform needs info(asyn:READBACK,1) field also).
New records.
Add string support as asynInt8Array
Add string records in db file
adsApp/src/adsAsynPortDriver.cpp:report: add asynType in printout.
WIP
Add buffers for arrays.
Wait utill initHookAfterIocRunning state before enable callbacks (ensure that interrupts are registered).
minor cleanup
WIP
Reconnect works. (WIP)
WIP
Add class for parameter info. Add utility file for general functions.
WIP
Moved utility functions and general stuff to adsAsynPortDriverUtils. Compiles. WIP..
WIP: reconnect works if cable error. If plc in config mode it seems symbolic handles are not renewed. Need more work..
Only complete reconnect if not connected to any amsPort.
Remove adsParameter class. Not used..
Add wrapper to adsUpdateParams with lock() called adsUpdateParamsLock() for use in callback function.
Add option TIMEBASE (PLC or EPICS).
Add timestamp support. Choose between EPICS timestamp and PLC timestamp (for I/O intr, normal polling always EPCIS timebase).
Enable timestamp from asyn (add field(TSE,-2) to all records).
Add new default parameter for time source (EPICS=0, PLC=1).
Cleanup in startup files.
Renamed startup files.
Add info to report().
WIP alarm and severity.
Add READ and WRITE alarms. Working on reconnect (sometimes fails).. WIP
WIP: try to make seemless renewal of handles and callback.. Not working well yet...
Reconnect seems to work. Still WIP.
adsAsynPortDriver.cpp: cleanup
adsAsynPortDriver.cpp: Cleanup
WIP reconnect more stable (only disconnect once).
Update adsTestAsynSlim.db
test.cmd: Remove duplicate lines
Only print reconnect error once.
Cleanup of printouts at reconnect.
Update comment in startup files
Set write alarm in genericArrayWrite().
Basic octet functionallity. WIP
Add connect() in constructor (to avoid error if only octet records).
Renove unused files.
adsApp/src/adsAsynPortDriver.cpp: Minor cleanup
adsApp/src/adsAsynPortDriverUtils.cpp: Remove printf
Update start files for test of octet interface.
Cleanup in example.
Cleanup in example.
Remove unused files.
adsApp/src/adsController.dbd: cleanup
Add startup file for only I/O access (no motor).
startup/adsMotorRecord.cmd: Improve comments/instructions.
startup/adsOnlyIO.cmd:Cleanup
Removed TwinCAT demo_project
Update of demo_project (submodule).
Remove unused files.
Update Readme
Remove unused files from Makefile.EEE
configure/RELEASE: Use .local files
Make the RELEASE file more versatile: Use definitions from local files like this:
include $(TOP)/configure/RELEASE_PATHS.local -include $(TOP)/configure/RELEASE_PATHS.local.$(EPICS_HOST_ARCH) include $(TOP)/configure/RELEASE_LIBS.local -include $(TOP)/configure/RELEASE.local
(I think I stole the idea from another EPICS module, probably from AreaDetector)
downloadADS.sh: Use the appropriate git submodule commands
When the use did not clone --recursice, the ADS/ is empty. Use "git submodule" to update it,
Install adsTestOctet.db, adsTestAsyn.db
Makefile (classic EPICS): Must link with -pthread
(Not sure if or why this ever worked) But: ADS needs to be linked against pthreads Add -lpthread in USR_LDFLAGS
Add support for bool arrays.
Add bool and bool array records to db and opi file.
Add comment regarding bool (ADST_BIT)
Update demo_project with bool and bool[].
octet interface: Free all allocated vars in octetCmdHandleInputLine.
Add comments to adsAsynPortDriver class.
adsAsynPortDriverUtils: Add comments.
adsAsynPortDriverConfigure: Add help message if called without arguments.
adsAsynPortDriverConfigure: Add example configuration in help printout.
adsAsynPortDriverConfigure: Add note about needed twincat route.
adsMotorRecord.cmd: Correct spelling mistake.
startup/adsOnlyIO.cmd: Remove require axis.
adsAsynPortDriver.cpp: Cleanup and invalidate parameter at startup.