- Jan 13, 2025
-
-
Marco Filho authored
-
Marco Filho authored
asyn READBACK tag allows for waveform record to be updated whenever the callback is called in code. Without this, OPIs usually can't properly put or get to uninitialized waveform records.
-
- Jan 09, 2025
-
-
Marco Filho authored
Added enable/disable option, which now requires for all records to be instantiated so we can properly communicate. This particular IOC spits some error messages with the current test setup because it only has two hybrids.
-
Marco Filho authored
Added logging details to several functions. Also added log messages to IOCMessage parameter.
-
- Jan 08, 2025
-
-
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
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
Turns out it wasn't that different from others. All it needs is to change a bo record to ao.
-
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 03, 2024
-
-
Marco Filho authored
Mostly just change names of files or classes.
-
- 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.
-
- Nov 14, 2024
-
-
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.
-
- Jul 15, 2024
-
-
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
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
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
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.
-
- May 27, 2024
-
-
Douglas Araujo authored
-
Douglas Araujo authored
-
- May 24, 2024
-
-
Douglas Araujo authored
-
- Mar 26, 2024
-
-
Douglas Araujo authored
-
Douglas Araujo authored
-
- Mar 22, 2024
-
-
Douglas Araujo authored
-
Douglas Araujo authored
In this moment we are using only hybrid 0, this must be changed in the future
-
- Mar 21, 2024
-
-
Douglas Araujo authored
-
- Mar 12, 2024
-
-
Douglas Araujo authored
-