Skip to content
Snippets Groups Projects
  1. Jan 13, 2025
  2. Jan 09, 2025
    • Marco Filho's avatar
      Add enable/disable option. Add all records. · d2922ff9
      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.
      d2922ff9
    • Marco Filho's avatar
      Improve logging and IOC messages. · 97c533c3
      Marco Filho authored
      Added logging details to several functions. Also added log messages to
      IOCMessage parameter.
      97c533c3
  3. Jan 08, 2025
  4. Jan 07, 2025
  5. Jan 03, 2025
    • Marco Filho's avatar
      Add SD registers. · 85fd0868
      Marco Filho authored
      Turns out it wasn't that different from others. All it needs is to
      change a bo record to ao.
      85fd0868
    • Marco Filho's avatar
      Add SC, SL, STH, SM and SMX parameters. · ebc67c74
      Marco Filho authored
      Didn't add SD because the mechanism is a bit different.
      ebc67c74
    • Marco Filho's avatar
      MAJOR REFACTOR · 9fcb1f57
      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.
      9fcb1f57
  6. Dec 03, 2024
  7. Nov 15, 2024
  8. Nov 14, 2024
    • Marco Filho's avatar
      Use VmmTblAPI instead of vmm_config. · e92083bd
      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.
      e92083bd
  9. Jul 15, 2024
    • Marco Filho's avatar
      Add SMX channel · 1369fe9c
      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.
      1369fe9c
    • Marco Filho's avatar
      Add SM register · dceed5fc
      Marco Filho authored
      Nothing new, same stuff as the last previous commits.
      dceed5fc
    • Marco Filho's avatar
      Add sth registers · 5ebf7a02
      Marco Filho authored
      5ebf7a02
    • Marco Filho's avatar
      Add SL channel · 28b76f39
      Marco Filho authored
      This commit makes it possible to change all 64 SL registers for a given Hybrid-VMM pair.
      28b76f39
    • Marco Filho's avatar
      Add error message · 72b7c0ae
      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.
      72b7c0ae
    • Marco Filho's avatar
      Use map to organize registers. Add SC register. · e1c7216e
      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.
      e1c7216e
    • Marco Filho's avatar
      Make register ST channel set for correct Hybrid/VMM pair. · d408299e
      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.
      d408299e
  10. Jul 12, 2024
  11. May 27, 2024
  12. May 24, 2024
  13. Mar 26, 2024
  14. Mar 22, 2024
  15. Mar 21, 2024
  16. Mar 12, 2024
Loading