various improvements

- use dig for resolving host names
- ascon.c: fix terminator parsing
- property callback: change property before callback
- logger.c:default for logger period must be the old value instead of 1
- add frappy type history writing
- increase max. logreader line length
- HIPNONE returns "null" with json protocol
- encode strings properly in formatNameValue
- fix memory leak in json2tcl
- scriptcontext: do not show debug messages when script starts with underscore or when the "send" property is empty
- scriptcontext: remove args for action timestamp
- scriptcontext: "que" function will replace an already queued action, e.g. for 'halt
- introduced updatestatus script
This commit is contained in:
2021-09-16 12:26:18 +02:00
parent 8de1fd4183
commit 61341b52f4
24 changed files with 2352 additions and 304 deletions

View File

@ -8,53 +8,61 @@
#EPICSOBJ=epicsmotor.o
EPICSOBJ=
COBJ = Sclient.o network.o ifile.o intcli.o $(FORTIFYOBJ)
SOBJ = network.o ifile.o conman.o SCinter.o splitter.o passwd.o \
sicvar.o nserver.o SICSmain.o motorlist.o\
COREOBJ = network.o ifile.o conman.o SCinter.o splitter.o passwd.o \
sicvar.o nserver.o SICSmain.o motorlist.o\
sicsexit.o costa.o task.o $(FORTIFYOBJ) testprot.o\
macro.o ofac.o obpar.o obdes.o drive.o status.o intserv.o \
macro.o obpar.o obdes.o drive.o status.o intserv.o \
devexec.o mumo.o mumoconf.o selector.o selvar.o fupa.o lld.o \
lld_blob.o strrepl.o lin2ang.o fomerge.o loglisten.o \
lld_blob.o strrepl.o lin2ang.o loglisten.o \
script.o o2t.o alias.o stringdict.o sdynar.o \
histmem.o histdriv.o histsim.o interface.o callback.o \
interface.o callback.o socketaddr.o \
event.o emon.o evcontroller.o evdriver.o simev.o perfmon.o \
danu.o nxdict.o varlog.o stptok.o nread.o trigd.o cell.o\
scan.o fitcenter.o telnet.o token.o wwildcard.o hklmot.o\
tclev.o hkl.o integrate.o optimise.o dynstring.o nxutil.o \
danu.o varlog.o stptok.o nread.o trigd.o \
scan.o fitcenter.o telnet.o token.o wwildcard.o \
tclev.o integrate.o optimise.o dynstring.o \
uubuffer.o udpquieck.o fourtable.o hexString.o\
rmtrail.o help.o nxupdate.o confvirtualmot.o vector.o\
simchop.o choco.o chadapter.o trim.o scaldate.o tasub.o\
xytable.o exebuf.o exeman.o ubfour.o ubcalc.o\
circular.o maximize.o sicscron.o scanvar.o tasublib.o\
rmtrail.o help.o confvirtualmot.o \
simchop.o choco.o chadapter.o trim.o scaldate.o \
xytable.o exebuf.o exeman.o \
circular.o maximize.o sicscron.o scanvar.o \
d_sign.o d_mod.o tcldrivable.o stdscan.o diffscan.o \
synchronize.o definealias.o oscillate.o tasdrive.o \
hmcontrol.o userscan.o rs232controller.o lomax.o tasscanub.o \
fourlib.o motreg.o motreglist.o anticollider.o nxdataset.o \
s_rnge.o sig_die.o gpibcontroller.o $(NIOBJ) mcreader.o mccontrol.o\
hmdata.o nxscript.o tclintimpl.o sicsdata.o mcstascounter.o \
mcstashm.o initializer.o remob.o tclmotdriv.o protocol.o \
sicslist.o cone.o hipadaba.o sicshipadaba.o statistics.o \
synchronize.o definealias.o oscillate.o \
userscan.o rs232controller.o \
motreg.o motreglist.o anticollider.o \
s_rnge.o sig_die.o gpibcontroller.o $(NIOBJ) \
tclintimpl.o sicsdata.o \
initializer.o remob.o tclmotdriv.o protocol.o \
sicslist.o hipadaba.o sicshipadaba.o statistics.o \
ascon.o scriptcontext.o logger.o logreader.o logsetup.o \
savehdb.o statusfile.o sicshdbfactory.o proxy.o devser.o \
moregress.o multicounter.o regresscter.o histregress.o \
sicshdbadapter.o polldriv.o sicspoll.o statemon.o hmslave.o \
nwatch.o asyncqueue.o asyncprotocol.o sicsobj.o frame.o syncedprot.o\
nxcopy.o nxinterhelper.o nxinter_wrap.o arrayutil.o \
sctdriveadapter.o sctdriveobj.o reflist.o singlex.o fourmess.o \
sgclib.o sgfind.o sgio.o sgsi.o sghkl.o singlediff.o singlebi.o \
singlenb.o simindex.o simidx.o uselect.o singletas.o motorsec.o \
moregress.o multicounter.o regresscter.o \
sicshdbadapter.o polldriv.o sicspoll.o statemon.o \
nwatch.o asyncqueue.o asyncprotocol.o sicsobj.o syncedprot.o\
arrayutil.o \
sctdriveadapter.o sctdriveobj.o reflist.o uselect.o motorsec.o \
rwpuffer.o asynnet.o background.o countersec.o hdbtable.o velosec.o \
histmemsec.o sansbc.o sicsutil.o strlutil.o genbinprot.o trace.o\
singlebinb.o taskobj.o sctcomtask.o tasmono.o multicountersec.o\
lscprot.o secopprot.o\
sicsutil.o strlutil.o genbinprot.o trace.o\
taskobj.o sctcomtask.o multicountersec.o\
lscprot.o secopprot.o secopprot3.o\
messagepipe.o sicsget.o remoteobject.o pmacprot.o charbychar.o binprot.o \
cnvrt.o tclClock.o tclDate.o tclUnixTime.o stack_trace.o logv2.o outcode.o
cnvrt.o tclClock.o tclDate.o tclUnixTime.o stack_trace.o logv2.o outcode.o
MOTOROBJ = motor.o simdriv.o
COUNTEROBJ = countdriv.o simcter.o counter.o
VELOOBJ = velo.o velosim.o
OBJ = $(SOBJ) $(MOTOROBJ) $(COUNTEROBJ) $(VELOOBJ) $(DIFIL) $(EXTRA) $(EPICSOBJ)
SICSOBJ = ofac.o fomerge.o \
histmem.o histdriv.o histsim.o histregress.o hmslave.o fourmess.o histmemsec.o \
hmcontrol.o fourlib.o lomax.o hmdata.o frame.o singlebinb.o sansbc.o \
cell.o vector.o hklmot.o hkl.o ubfour.o ubcalc.o cone.o \
singlex.o sgclib.o sgfind.o sgio.o sgsi.o sghkl.o singlediff.o singlebi.o \
singlenb.o simindex.o simidx.o singletas.o \
tasdrive.o tasscanub.o tasub.o tasublib.o tasmono.o \
nxupdate.o nxdict.o nxutil.o nxdataset.o nxscript.o nxcopy.o nxinterhelper.o nxinter_wrap.o \
mcreader.o mccontrol.o mcstascounter.o mcstashm.o \
$(COREOBJ) $(MOTOROBJ) $(COUNTEROBJ) $(VELOOBJ) $(DIFIL) $(EXTRA) $(EPICSOBJ)
SEAOBJ = sea_ofac.o sea_extra.o $(COREOBJ) $(EXTRA) $(MOTOROBJ) $(COUNTEROBJ) $(VELOOBJ)
.SUFFIXES:
.SUFFIXES: .tcl .htm .c .o .tc
@ -62,16 +70,24 @@ OBJ = $(SOBJ) $(MOTOROBJ) $(COUNTEROBJ) $(VELOOBJ) $(DIFIL) $(EXTRA) $(EPICSOBJ)
.tc.c:
tjxp $*.tc $*.c
all: seaserver
#all: sicserver
seaserver: libseapsi SeaServer
sicserver: libpsi libhlib libmat SICServer
#--- This .SECONDARY. target is necessary to preserve generated .c files for debugging
.SECONDARY.: sicspoll.c polldriv.c
all: libmat libhlib libpsi SICServer
# use this target when some of the libraries SUBLIBS might be incomplete
full: purge all
SICServer: $(OBJ) $(SUBLIBS)
$(CC) $(DBG) -o SICServer $(OBJ) $(LIBS)
SICServer: libmat libhlib libpsi $(SICSOBJ) $(SUBLIBS)
$(CC) $(DBG) -o SICServer $(SICSOBJ) $(LIBS)
SeaServer: libseapsi $(SEAOBJ) $(SEASUBLIBS)
$(CC) $(DBG) -o SeaServer $(SEAOBJ) $(SEALIBS)
matrix/libmatrix.a: libmat
@ -88,6 +104,9 @@ $(SICSROOT)/sicspsi/libpsi.a: libpsi
libpsi:
cd $(SICSROOT)/sicspsi; make $(MFLAGS) libpsi.a
libseapsi:
cd $(SICSROOT)/sicspsi; make $(MFLAGS) libseapsi.a
purge:
rm -f SICServer $(SUBLIBS)