rossvideo / Catena

BSD 3-Clause "New" or "Revised" License
6 stars 2 forks source link

DB doesn't like FloatRangeConstraints #131

Closed mejohnnaylor closed 6 months ago

mejohnnaylor commented 6 months ago

snippet from /nab2024/device.sender.json:

  "params": {
    "transition": {
      "type": "FLOAT32",
      "value": { "float32_value": 0.0 },
      "name": { "display_strings": { "en": "Vision Mix" } },
      "constraint": {
        "type": "FLOAT_RANGE",
        "float_range": {
          "min_value": -1.0,
          "max_value": 1.0,
          "step": 0.01
        }
      },
      "widget": "default",
      "access_scope": "operate"
    },

but DB says "no":

image

trace:

java.lang.NullPointerException
    at com.rossvideo.gear.dashlight.ParamEditorNumberRange.getControl(ParamEditorNumberRange.java:565)
    at com.rossvideo.gear.dashlight.ParamView.close(ParamView.java:174)
    at com.rossvideo.gear.dashlight.contexts.ParamViewManager.closeAllViews(ParamViewManager.java:189)
    at com.rossvideo.gear.dashlight.contexts.OidMenuParamViewManager.closeAllViews(OidMenuParamViewManager.java:183)
    at com.rossvideo.gear.dashlight.MenuPageOid.clearInternal(MenuPageOid.java:139)
    at com.rossvideo.gear.dashlight.MenuPageOid.close(MenuPageOid.java:158)
    at com.rossvideo.gear.dashlight.StructuredDevicePage.closeAllItems(StructuredDevicePage.java:408)
    at com.rossvideo.gear.dashlight.StructuredDevicePage.deviceChanged(StructuredDevicePage.java:741)
    at com.rossvideo.gear.dashlight.StructuredDevicePage$4.run(StructuredDevicePage.java:705)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.awt.EventQueue$3.run(EventQueue.java:703)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
    at com.rossvideo.common.lnf.rice.util.integration.AwtEnvironment$FilteringEventQueue.dispatchEvent(AwtEnvironment.java:361)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
james-peltzer commented 6 months ago

Protobufs strike again! The problem is that undefined is the same as 0 so it's seeing a display min/max of '0' instead of undefined.