- Jan 09, 2025
-
-
Marco Filho authored
-
Marco Filho authored
As noted on st.cmd, instead of naming records <Device>:HybN we will name them <Device><N>:<Property> (So the number is actually part of the device). So records with two digits refer to the whole IOC, records with three digits refer to hybrid-specific parameters and records with four digits refer to VMM3A specific parameters.
-
- Jan 08, 2025
-
-
Marco Filho authored
-
Marco Filho authored
-
Marco Filho authored
It was looking for parameter VMM_FEN_ACQUIRE but not finding it. Now it can properly read the parameter, although it shouldn't be needed to be read most of the times...
-
- Jan 07, 2025
-
-
Marco Filho authored
All parameters that share the same ADC are now added: Pulser, Threshold, Temperature and Bandgap. All except temperature are showing weird values though, so that needs to be investigated. I suspect something to do with configHybrid or configFE or configVmm, but I am not sure.
-
Marco Filho authored
This reads Temperature from API memory and sets the structure for future parameters such as BandgapADC, etc... The timestamp is also read and put into a PV in order to be explicit for user when was the last time it was read from hardware.
-
Marco Filho authored
-
Marco Filho authored
-
Marco Filho authored
Now if API returns a bad status, asyn knows about it.
-
Marco Filho authored
-
Marco Filho authored
-
Marco Filho authored
To use the correct term.
-
Marco Filho authored
-
Marco Filho authored
removed proof of concept. Made it work for all VMMs of all hybrids.
-
- Jan 03, 2025
-
-
Marco Filho authored
-
Marco Filho authored
Turns out it wasn't that different from others. All it needs is to change a bo record to ao.
-
Marco Filho authored
-
Marco Filho authored
Didn't add SD because the mechanism is a bit different.
-
Marco Filho authored
This commit was done with an inescrupulous "git add ." after several radical modifications. Anyway, the API was radically modified and basically the old way the code worked does not make any sense anymore. The desired architecture is the following: the API is going to be used as a class component. Each parameter will be created according to the desired number of enabled hybrids. Each parameter should use one simple API function. No information about the VMM or hybrids itself is stored in the VMMTbl class unless extremely needed. This commit leaves a few old parameters that should be removed in the future such as ADC_VALUE_VMM1, READ_ADC_VMMS, etc. This is only to serve as a reminder to add those later.
-
- Dec 20, 2024
-
-
Marco Filho authored
-
Marco Filho authored
-
- Dec 04, 2024
-
-
Marco Filho authored
-
- Dec 03, 2024
-
-
Marco Filho authored
Mostly just change names of files or classes.
-
Marco Filho authored
-
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
-