pcdshub / pytmc

Generate EPICS IOCs and records from TwinCAT projects - along with many TwinCAT project tools
https://pcdshub.github.io/pytmc/
Other
10 stars 11 forks source link

ENH/REF: data types by guid, falling back to qualified type name #218

Closed klauer closed 4 years ago

klauer commented 4 years ago
Fixes at least some instances of missing symbols (hence the updated test) ``` > TwinCAT_SystemInfoVarList._AppInfo.AdsPort > TwinCAT_SystemInfoVarList._AppInfo.AppName > TwinCAT_SystemInfoVarList._AppInfo.AppTimestamp > TwinCAT_SystemInfoVarList._AppInfo.BSODOccured > TwinCAT_SystemInfoVarList._AppInfo.BootDataLoaded > TwinCAT_SystemInfoVarList._AppInfo.Flags > TwinCAT_SystemInfoVarList._AppInfo.KeepOutputsOnBP > TwinCAT_SystemInfoVarList._AppInfo.LicensesPending > TwinCAT_SystemInfoVarList._AppInfo.LoggedIn > TwinCAT_SystemInfoVarList._AppInfo.ObjId > TwinCAT_SystemInfoVarList._AppInfo.OldBootData > TwinCAT_SystemInfoVarList._AppInfo.OnlineChangeCnt > TwinCAT_SystemInfoVarList._AppInfo.ProjectName > TwinCAT_SystemInfoVarList._AppInfo.ShutdownInProgress > TwinCAT_SystemInfoVarList._AppInfo.TComSrvPtr > TwinCAT_SystemInfoVarList._AppInfo.TaskCnt > TwinCAT_SystemInfoVarList._TaskInfo.AdsPort > TwinCAT_SystemInfoVarList._TaskInfo.CycleCount > TwinCAT_SystemInfoVarList._TaskInfo.CycleTime > TwinCAT_SystemInfoVarList._TaskInfo.CycleTimeExceeded > TwinCAT_SystemInfoVarList._TaskInfo.DcTaskTime > TwinCAT_SystemInfoVarList._TaskInfo.FirstCycle > TwinCAT_SystemInfoVarList._TaskInfo.InCallAfterOutputUpdate > TwinCAT_SystemInfoVarList._TaskInfo.LastExecTime > TwinCAT_SystemInfoVarList._TaskInfo.ObjId > TwinCAT_SystemInfoVarList._TaskInfo.Priority > TwinCAT_SystemInfoVarList._TaskInfo.RTViolation > TwinCAT_SystemInfoVarList._TaskInfo.TaskName ```
klauer commented 4 years ago

The "implicitly" defined data types are actually explicitly defined in: TcBaseTypes.tmc in the twincat installation directory. I don't think we can vendor this, but perhaps we can summarize the types as we do with ads-deploy.

TODO:

klauer commented 4 years ago

Rebased on the xti lazy load refactor

Database creation fails on many projects due to better type resolution; this still needs more work.

Edit: future self reference: the symbol data type fix in 330be3b may be wrong - massive test failures after its introduction.

klauer commented 4 years ago

Hoping to get this in today and tag a new release, but we'll see...

klauer commented 4 years ago

👨‍💻 🏝️ ✔️