- Dec 03, 2024
-
-
Marco Filho authored
-
- Nov 22, 2024
-
-
Marco Filho authored
Use new API architecture. See merge request !5
-
- Nov 15, 2024
-
-
Marco Filho authored
If check is not made, ioc will try to write to register in the beginning and fail, crashing the application.
-
Marco Filho authored
-
Marco Filho authored
It wasn't supposed to be here. Should be named configFE only.
-
- Nov 14, 2024
-
-
Marco Filho authored
According to new VmmTblConfig definition
-
Marco Filho authored
VmmTbl now inherits from asynPortDriver instead of FrontEndBase. It has VmmTblAPI as a class component. Thus, everything that used pRMM->foo(); such as pRMM->setStringParam(addr_list, vmmHybFwVersion_[hyb], pVMMConfig.readFwVersion(hyb).c_str()); are simply foor(); (equivalent to this->foo();) Everything that used pVMMConfig.foo(); now uses pVmmTblAPI->foo(); configFEN had its name changed to configFE since the last configFE did nothing. Old configFE was removed. In the end, findRegister() was not moved to VmmTblAPI because it seems to be searching for a given register name based on an epics parameter.
-
Marco Filho authored
As far as I know this would only be used if we wanted to install the module and use it's headers. I don't see why we would do that now.
-
Marco Filho authored
vmm_config is now called VmmTblAPI. Following [Loki's example](https://gitlab.esss.lu.se/nice/dev-epics-modules/fe-r5560-loki/-/blob/include-api-on-module/r5560LokiApp/src/r5560LokiApi.h?ref_type=heads) it inherits from RMM API's FrontEndBase, which means it doesn't need pFEN as a class parameter anymore. This breaks the whole application compilation, but it was already broken in the new API structure. It you compile only with SOURCES += $(APPSRC)/VmmTblAPI.cpp in the Makefile, it works. My intention is to keep adding the other files now.
-
Marco Filho authored
Other APIS follow the same structure. No need for a cpp file for this.
-
- Jul 31, 2024
-
-
Marco Filho authored
-
Marco Filho authored
-
- Jul 30, 2024
-
-
Marco Filho authored
Add arrays to set channels Closes ICSHWI-18047 See merge request !4
-
Marco Filho authored
Just a initial one. Needs to be improved.
-
Marco Filho authored
-
Marco Filho authored
-
Marco Filho authored
It was there because of a mistake.
-
Marco Filho authored
-
Marco Filho authored
This does not mean that the configuration file will permanently stay on this folder/subfolder structure. It's just a way of letting things more easy to test and reproduce for now.
-
- Jul 29, 2024
-
-
Marco Filho authored
To fix problems suggested in discussion: !4
-
Marco Filho authored
channels.template is already added by channels.sub
-
Marco Filho authored
As received orientation from from E3 team.
-
Marco Filho authored
Substitution file is used in module build to set channel names, since that shouldn't change too much with time and particular detector. VMM and Hybrid numbers are left to be changed in the st.cmd file since that can change more often.
-
- Jul 16, 2024
-
-
Marco Filho authored
Now, for VMM, the pattern is: $(R)$(H)$(V)$(C)$(CH) R: Usually "NDet-VMMHYB-00". No colon after. H: Hybrid number in range 0-5 V: VMM chip number in range 0-1 C: Colon Between device name and property Should be ":" but is a macro in case anyone decides that shouldn't be there anymore. CH: Channel/register being set. Can be ST, SL, SC, STH, SM or SMX Also, to make naming more visible and dynamic, stop using substitutions file.
-
- Jul 15, 2024
-
-
Marco Filho authored
Until now, records were only being loaded by local changes in st.cmd file. This commit adds channels.substitutions and channels.template to makefile, and loads its expansion in the st.cmd.
-
Marco Filho authored
Same as previous commits. Basically add a list of EPICS parameters for each SMX channel and register, for each Hybrid-VMMChip pair. List is indexed by Hybrid and VMM number. Records are created with .sub file to avoid useless code repetition.
-
Marco Filho authored
Nothing new, same stuff as the last previous commits.
-
Marco Filho authored
-
Marco Filho authored
This commit makes it possible to change all 64 SL registers for a given Hybrid-VMM pair.
-
Marco Filho authored
This is the first register to be added to the registers map in vmm_tbl.h The merged branch also adds an easier way of adding new registers, so the next ones should have smalled commits, probably.
-
Marco Filho authored
-
Marco Filho authored
The map keys are going to be used as register names in the setRegister function, so they should be lowercase.
-
Marco Filho authored
If for some reason findRegister cannot find what VMM and Hybrid should it operate into, error message should help the poor soul who is operating IOC at the time.
-
Marco Filho authored
This commit organizes all possible register parameter lists in a map. This is so findRegister can search each register map from a single data structure instead of having to hardcode every new register parameter list in the findRegister function. Now, to add a new register, developer should only need to: 1 - Create the register parameter list and add it to the map in vmm_tbl.h:39-41 2 - ... I think that's it(?) Also, asynPrint should tell which hybrid, vmm and register are being affected by the operation now.
-
Marco Filho authored
ST register is not hardcoded into template file anymore. This will make it easier to add new registers, I hope.
-
Marco Filho authored
-
Marco Filho authored
Before this, Any caput to AllST-S record would only set channels values to hybrid 0, vmm 0 because of hardcoded values. This commit makes the vmmST_ an array with epics parameters. The function getPair discovers the HYBRID-VMM pair for the parameter that was called and sets the correct pair register's values. Also, records are loaded with .sub files so we don't need to keep repeating record names with different numbers. All have been tested and works.
-
- Jul 12, 2024
-
-
Marco Filho authored
Nothing should change with this.
-
Marco Filho authored
Before this, you would need to put array of values into ST-S. Now you can simply put 1 or 0 into AllST-S and it will set all channels. OOPT "on change" field is needed because for some reason without it even if you put PINI=NO in all these three ST-S records, it processes on IOC initialization, which I don't think is desired.
-
Marco Filho authored
Add array of 64 elements. When you put into it, the nth element will set the nth ST channel of VMM to the value put to it. Added writeInt8Array method. Added the ST-T aao record. Added vmmST parameter to VMM class. Removed TO-DO comment that was about adding this functionality.
-