Two 16-bit variables occupying the same 32-bit register clobber each other

XMLWordPrintable

    • Type: Bug
    • Resolution: resolved
    • Priority: Minor
    • Component/s: SW
    • None

      New behavior since rogue v4.9.0.  Workaround is to stay at v4.9.0.

      See this in several instances of l2si-core/python/_XpmMini.py { cameralink-gateway, wave8, lcls2-timetool }.

              self.add(pr.RemoteVariable(

                  name         = "Config_L0Select_RateSel",

                  offset       = 0x18,

                  bitSize      = 16,

                  bitOffset    = 0,

                  mode         = 'RW',

                  enum =

      {                 0x0000: '929 kHz',                 0x0001: '71 kHz',                 0x0002: '10 kHz',                 0x0003: '1 kHz',                 0x0004: '100 Hz',                 0x0005: '10 Hz',                 0x0006: '1 Hz',                 0x8000: 'Undefined',             }

              ))

              

              self.add(pr.RemoteVariable(

                  name         = "Config_L0Select_DestSel",

                  offset       = 0x18,

                  bitSize      = 16,

                  bitOffset    = 16,

                  mode         = 'RW',

              ))

       

      Using the rogue GUI, writing to one of these registers writes the same value into the other.

              Assignee:
              Ryan Herbst
              Reporter:
              Matthew Weaver
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: