beremiz

py_ext: fix CSV Writer

18 months ago, Edouard Tisserant
d2f5eb3c7d6e
py_ext: fix CSV Writer

fix POU logic :
- SAVE is a BOOL
- invocation of py_eval on rising edge of SAVE
- remove save python argument

fix python:
- use no encoding for file open (python2)
- re-use detected dialect if any
- use no "rt+" and truncate since no need to re-sniff dialect for output file
- return "OK" instead of "#SUCCESS", preventing POU logic to ACK result
- support creating new line if writing just after last line
- support appending data on short rows

fix example:
- use a HMI:Button to trigger CSV write instead of HMI:Input +1
- reload CSVs on on each new CSV opened in file browser
- add display of CSV write output
#
# Generated by erpcgen 1.13.0 on Fri Nov 8 11:06:24 2024.
#
# AUTOGENERATED - DO NOT EDIT
#
# Abstract base class for BeremizPLCObjectService
class IBeremizPLCObjectService(object):
SERVICE_ID = 1
APPENDCHUNKTOBLOB_ID = 1
GETLOGMESSAGE_ID = 2
GETPLCID_ID = 3
GETPLCSTATUS_ID = 4
GETTRACEVARIABLES_ID = 5
MATCHMD5_ID = 6
NEWPLC_ID = 7
PURGEBLOBS_ID = 8
REPAIRPLC_ID = 9
RESETLOGCOUNT_ID = 10
SEEDBLOB_ID = 11
SETTRACEVARIABLESLIST_ID = 12
STARTPLC_ID = 13
STOPPLC_ID = 14
EXTENDEDCALL_ID = 15
def AppendChunkToBlob(self, data, blobID, newBlobID):
raise NotImplementedError()
def GetLogMessage(self, level, msgID, message):
raise NotImplementedError()
def GetPLCID(self, plcID):
raise NotImplementedError()
def GetPLCstatus(self, status):
raise NotImplementedError()
def GetTraceVariables(self, debugToken, traces):
raise NotImplementedError()
def MatchMD5(self, MD5, match):
raise NotImplementedError()
def NewPLC(self, md5sum, plcObjectBlobID, extrafiles, success):
raise NotImplementedError()
def PurgeBlobs(self):
raise NotImplementedError()
def RepairPLC(self):
raise NotImplementedError()
def ResetLogCount(self):
raise NotImplementedError()
def SeedBlob(self, seed, blobID):
raise NotImplementedError()
def SetTraceVariablesList(self, orders, debugtoken):
raise NotImplementedError()
def StartPLC(self):
raise NotImplementedError()
def StopPLC(self, success):
raise NotImplementedError()
def ExtendedCall(self, method, argument, answer):
raise NotImplementedError()