Skip to content
Snippets Groups Projects
  1. Feb 04, 2025
    • Marco Filho's avatar
      Remove channels scanning. · f7f150cd
      Marco Filho authored
      There are 64 channel per parameter, 7 parameters per VMM, 2 VMMs per hybrid, up to
      6 hybrids per FEN, up to 32 FENs per ring and up to 12 rings per RMM.
      
      We can't scan this without saturating the network card interface, so i removed it.
      It's now up to the user to force the read. We do have forwawrd links between the setpoint and
      readback records, however.
      f7f150cd
  2. Jan 28, 2025
    • Marco Filho's avatar
      Remove scan lock from readback parameters · 5fa19367
      Marco Filho authored
      After talking more with the firmware developers, it became clear that we
      can actually read from the registers when VMM is acquiring, we can only
      not Set other parameters.
      
      I still leave this as a commit instead of rebasing/amending to make it
      easily reversible if we need it someday.
      5fa19367
  3. Jan 27, 2025
    • Marco Filho's avatar
      Add processing lock when acquiring · 5dab3e5d
      Marco Filho authored
      Now most pertinent RBV records are not processed when acquisition is
      ongoing.
      A few records like LinkStatus and IsAcquiring are still scanned for
      obvious reasons, but if we find out that this could not be the case, we
      change it.
      
      I still think this should also be treated in the API layer.
      
      ADCVal and AnalogMon should process in the correct order for us to know
      what we are reading.
      
      We use PHAS field to make sure everything is processed after we have
      checked that IsAcquiring is 0.
      5dab3e5d
    • Marco Filho's avatar
      Remove unneded variable · 883e794f
      Marco Filho authored
      883e794f
    • Marco Filho's avatar
      Add scanning. · 8fdce28d
      Marco Filho authored
      Scannig was not added until now because RMMAPI had an issue that made it
      scramble answers from the hardware if too much polling was made. This
      issue was fixed so we add scan now.
      
      In the channels array records, this called for a new record creation.
      This is because we need the asyn:READBACK info tag, which makes the
      readback from hardware and the setpoint record have the same values. So
      I guarantee that the record ending with R is the actual scanned
      parameter. I also removed the forward link from S to RB record to
      guarantee that the latest value we have in $(CH)-S record is still the
      setpoint.
      
      AnalogMon and ADCVal-R have PHAS 0 and 1 respectively to guarantee that
      we know what is the meaning of what we are reading.
      8fdce28d
  4. Jan 22, 2025
  5. Jan 13, 2025
  6. Jan 10, 2025
  7. 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
      Fix wrong PV naming · 6d297cf9
      Marco Filho authored
      In this case the semicolon ended up being part of the property name in
      the db file. Of course, this is not good but I wanted to avoid having to
      add $(C)=':' for now.
      
      Its easy to change in the future if needed.
      6d297cf9
    • 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
    • Marco Filho's avatar
      Style: run pre-commit · 2d73f745
      Marco Filho authored
      2d73f745
    • Marco Filho's avatar
      Fix naming convention · 0443c472
      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.
      0443c472
  8. Jan 08, 2025
  9. Jan 07, 2025
  10. Jan 03, 2025
    • Marco Filho's avatar
      Add missing PINI · 1a04afb6
      Marco Filho authored
      1a04afb6
    • 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
      Remove unused registers. · c46f32e0
      Marco Filho authored
      c46f32e0
    • 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
  11. Dec 20, 2024
Loading