Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Address missing ni-scope enums. #667

Merged
merged 4 commits into from
Jun 10, 2022

Conversation

reckenro
Copy link
Collaborator

@reckenro reckenro commented Jun 2, 2022

What does this Pull Request accomplish?

  • Fixes ni-scope missing enums (deleted or referenced by appropriate function/attribute)
  • Fixed examples with new enum values. Also, fixed the examples to use GetErrorMessage instead of ErrorMessage.

Why should this Pull Request be merged?

Fixes AB#1991317

What testing has been done?

Build passes. Ran validate_examples.py on niscope to find and fix changed/removed enums.
To ensure old client with new server is able to still run installed and ran the new server with these updates on a lvtest machine, on dev machine built old client protos and ran calls to Init and Configure Clock. These calls passed and operated the same when connecting to the new server on the lvtest machine and when connecting to an old server on localhost.

@reckenro reckenro added the binary-breaking Change to proto file that requires client updates label Jun 7, 2022
@reckenro reckenro marked this pull request as ready for review June 7, 2022 14:13
@reckenro reckenro changed the title [Draft] Address missing ni-scope enums. Address missing ni-scope enums. Jun 7, 2022
@reckenro
Copy link
Collaborator Author

reckenro commented Jun 7, 2022

Decision process for missing enums

  • 5900AccessoryInAScopeSessionValues (Removed)

  • AccessoryTypes (Removed)

    • Also in that internal attributes header. Don't think it's public nor relating to any attributes we're exposing
  • AgcAverageControl (Removed)

    • I think it used to be used by obsolete attribute NISCOPE_ATTR_DDC_AGC_AVERAGE_CONTROL
  • AoutParallelOutputSource (Removed)

    • Used by obsolete attribute
      NISCOPE_ATTR_DDC_AOUT_PARALLEL_OUTPUT_SOURCE
  • BoutParallelOutputSource (Removed)

    • Used by obsolete attribute
      NISCOPE_ATTR_DDC_BOUT_PARALLEL_OUTPUT_SOURCE
  • AttributeRetrievalModes (Removed)

    • I think this is just used for niScope_GetAttributeWithOptionsVi* which we don't have included
  • CalEndActions (Removed)

    • Used in niScope_CalEnd which we don't have included
  • CalibrationAccessorySources (Removed)

    • Used in niScope_CalSetAccessorySource which we don't have included
  • CalibrationOptions (Removed)

    • Used in niScope_CalSelftCalibrate which we don't have included
  • ClockingTerminalValues (Added)

    • Mark generate-mappings and reference from ExportSignal and
      ConfigureClock
  • CoefficientType (Removed)

    • Obsolete, not referenced by anything
  • ConfigurationListStepTriggerSources (Removed)

    • Internal, referenced by attribute we don't include:
      NISCOPE_ATTR_CONFIGURATION_LIST_STEP_TRIGGER_SOURCE
  • ControlBandwidthLimitBandpassFilters (Removed)

    • Internal, referenced by attribute we don't include:
      NISCOPE_ATTR_CONTROL_BANDWIDTH_LIMIT_BANDPASS_FILTER
  • CoordinateConverterInput (Removed)

    • Think it would be used by obsolete attribute
      NISCOPE_ATTR_DDC_COORDINATE_CONVERTER_INPUT that we don't include
  • DDCMuxModes (Removed)

    • Would be used by NISCOPE_ATTR_DDC_MUX_MODE but we don't include it (internal)
  • DataJustificationMode (Removed)

    • Would be used by obsolete
      NISCOPE_ATTR_FETCH_DATA_JUSTIFICATION but we don't include it
  • DeviceStatuses (Removed)

    • Internal and not referenced by anything
  • DiscriminatorFIRInputSource (Removed)

    • Would be used by obsolete/not included
      NISCOPE_ATTR_DDC_DISCRIMINATOR_FIR_INPUT_SOURCE
  • DiscriminatorFIRSymmetry (Removed)

    • Would be used by obsolete/not included
      NISCOPE_ATTR_DDC_PFIR_SYMMETRY and
      NISCOPE_ATTR_DDC_DISCRIMINATOR_FIR_SYMMETRY
  • DiscriminatorFIRSymmetryType (Removed)

    • Would be used by obsolete/not included
      NISCOPE_ATTR_DDC_PFIR_SYMMETRY_TYPE and
      NISCOPE_ATTR_DDC_DISCRIMINATOR_FIR_SYMMETRY_TYPE
  • FetchRecordModes (Removed)

    • Would be used by internal/not included attribute NISCOPE_ATTR_FETCH_RECORD_MODE
  • FetchWaitModes (Removed)

    • Would be used by internal/not included attribute NISCOPE_ATTR_FETCH_WAIT_MODE
  • HorzConfigModes (Removed)

    • Would be used by internal/not included attribute NISCOPE_ATTR_HORZ_CONFIG_MODE
  • InputImpedance (Added)

    • Mark generate-mappings and reference from NISCOPE_ATTR_INPUT_IMPEDANCE
  • InternalExportSignalValues (Removed)

    • Internal and not referenced by anything
  • InternalExternalCalibrationRoutingTerminal (Removed)

    • Internal and not referenced by anything
  • Interpolation (Removed)

    • I think this is relating to IVISCOPE_ATTR_INTERPOLATION which isn't included
  • LinearizationCalMethods (Removed)

    • Would be used in some internal/not included linearization cal attributes
  • LvfpgaCoercionValues (Removed)

    • Related to private fpga prototype interface attributes
  • MaxInputFrequency (Added)

    • Same as InputImpedance. Mark generate-mappings and reference from NISCOPE_ATTR
  • MaxTime (Removed)

    • We could force-include but it exceeds an integer limit and we don't have a good way of having an mapped enum that's not referenced. How would user get the corresponding enum values?
  • MeasFilterType  (Added)

    • Use it instead of FilterType enum (deleted) and reference this from attribute
      NISCOPE_ATTR_MEAS_FILTER_TYPE
  • MeasPercentageMethod (Added)

    • Use over PercentageMethod enum (deleted) and reference from attribute
      NISCOPE_ATTR_MEAS_PERCENTAGE_METHOD
  • MruSignalNames (Removed)

    • Internal defines used in Signal Name Query in RFSA, I think it's safe to remove them here
  • OptionsForErrorHandling (Removed)

    • Related to error handling related to niScopeCal.h which we're not referencing/including
  • P2PStreamRelativeTo (Added)

    • Should be referenced by
      NISCOPE_ATTR_P2P_STREAM_RELATIVE_TO
  • PllCommitActions (Removed)

    • Would be used by internal/not included attribute NISCOPE_ATTR_PLL_COMMIT_ACTION
  • Privileges (Removed)

    • Would be used by niScope_RequestPrivelege which we don't include right now.
  • ProgFIRFilterRealComplex (Removed)

    • Covered by DataProcessingMode enum (same values and names). Not sure what this would be used by.
  • ProgFIRFilterSymmetry (Removed)

    • Would be used by obsolete/not included
      NISCOPE_ATTR_DDC_PFIR_SYMMETRY
  • ProgFIRFilterSymmetryType (Removed)

    • Would be used by obsolete/not included
      NISCOPE_ATTR_DDC_PFIR_SYMMETRY_TYPE
  • QInputToCoordConverter (Removed)

    • I think this would be referenced by obsolete/not included NISCOPE_ATTR_DDC_COORDINATE_CONVERTER_INPUT
  • RecordCountModes (Removed)

    • Internal record count modes. Don't know where it'd be used from.
  • ReferenceParameterForRoutingAndStoringAndFetchingIntRef (Removed)

    • Referenced from niScopeCal.h but don't think we have a use for it.
  • ResamplerFilterMode (Removed)

    • I think this would be used in relation to some obsolete/not included attributes
      NISCOPE_ATTR_DDC_RESAMPLER_***
  • RouteInternalReferenceOptions (Removed)

    • Used by niScope_CalRouteInternalReference which we aren't including
  • SampClkTimepaceSrc (Added)

    • Generate mappings and link from
      NISCOPE_ATTR_SAMP_CLK_TIMEBASE_SRC
  • SampleCountModes (Removed)

    • Similar to RecordCountModes, internal and not sure where they'd be used from in our service
  • SampleMode (Added)

    • Should be referenced by
      NISCOPE_ATTR_SAMPLE_MODE
  • SessionState (Removed)

    • No idea, can't find references to the values anywhere
  • StreamingPositionType (Removed)

    • No idea, can't find references anywhere
  • SyncoutClkSelect (Removed)

    • I think it's related to obsolete/not included attribute
      NISCOPE_ATTR_DDC_SYNCOUT_CLK_SELECT
  • TVTriggerSignalFormat (Removed)

    • Covered by VideoSignalFormat
  • TimeHistogram (Removed)

    • Covered by
      ClearableMeasurement
  • TimingNcoFreqOffsetBits (Removed)

    • Related to NCO obsolete/not included attributes
  • TriggerSource (Added)

    • Generate mappings and link from
      NISCOPE_ATTR_TRIGGER_SOURCE
  • VideoFormats (Removed)

    • Internal/private that's not referenced anywhere
  • VoltageHistogram (Removed)

    • Covered by
      ClearableMeasurement

Copy link
Collaborator

@astarche astarche left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd like some follow upon the breaking change issue, even if it's a decision to leave it as-is.

generated/niscope/niscope.proto Show resolved Hide resolved
@danestull danestull merged commit c2ec35c into ni:main Jun 10, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
binary-breaking Change to proto file that requires client updates
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants