Skip to content

Commit

Permalink
Fill in nifgen metadata (#547)
Browse files Browse the repository at this point in the history
* Notes from meeting

* nifgen: fix init function, add back useful *ExtCal* functions to codegen

* Update generated

* Don't codegen any CheckAttribute* functions

* Update generated

* Stop generating "configure" functions that simply wrap attributes

* niFgen_ConfigureAmplitude
* niFgen_ConfigureChannels
* niFgen_ConfigureClockMode
* niFgen_ConfigureFreqList
* niFgen_ConfigureFrequency
* niFgen_ConfigureGain
* niFgen_ConfigureOperationMode
* niFgen_ConfigureOutputEnabled
* niFgen_ConfigureOutputImpedance
* niFgen_ConfigureOutputMode
* niFgen_ConfigureP2PEndpointFullnessStartTrigger
* niFgen_ConfigureRefClockFrequency
* niFgen_ConfigureRefClockSource
* niFgen_ConfigureReferenceClock
* niFgen_ConfigureSampleClockSource
* niFgen_ConfigureSampleRate
* niFgen_ConfigureSoftwareEdgeScriptTrigger
* niFgen_ConfigureSoftwareEdgeStartTrigger
* niFgen_ConfigureSynchronization
* niFgen_ConfigureTriggerMode
* niFgen_ConfigureTriggerSource
* niFgen_ConfigureUpdateClockSource

* Update generated

* Stop generating enable/disable and p2p functions

* niFgen_DisableAnalogFilter
* niFgen_DisableDigitalFilter
* niFgen_DisableDigitalPatterning
* niFgen_DisableScriptTrigger
* niFgen_DisableStartTrigger
* niFgen_EnableAnalogFilter
* niFgen_EnableDigitalFilter
* niFgen_EnableDigitalPatterning
* niFgen_ManualEnableP2PStream
* niFgen_WriteP2PEndpointI16

* Update generated

* Remove HWS function

* Update generated

* Don't gen ResetAttribute, see #531

* Update generated files

* Stop generating other undesirable functions (for Python)

Obsolete or external calibration:

* niFgen_CreateArbWaveform
* niFgen_CreateBinary16ArbWaveform
* niFgen_ErrorHandler
* niFgen_InitializeAnalogOutputCalibration
* niFgen_InitializeCalADCCalibration
* niFgen_InitializeFlatnessCalibration
* niFgen_InitializeOscillatorFrequencyCalibration
* niFgen_ReadCalADC
* niFgen_RouteSignalOut
* niFgen_WriteBinary16AnalogStaticValue

* Update generated

* Buffer info for some functions

configure_custom_fir_filter_coefficients
create_waveform_f64
create_waveform_i16

* Update generated

* Buffer info for define_user_standard_waveform & get_fir_filter_coefficients

* Add assert for conflicting metadata (sanity check)

* Update generated

* Add buffer info for all write waveform functions

    write_binary16_waveform size
    write_named_waveform_f64 size
    write_named_waveform_i16 size
    write_waveform size

* Update generated

* Updated notes

* Buffer info for CreateFreqList and CreateAdvancedArbSequence

* Update generated

* Added enum information to nifgen functions

The following functions now have enum information:

* create_waveform_from_file_f64
* create_waveform_from_file_i16
* set_named_waveform_next_write_position
* set_waveform_next_write_position
* create_freq_list
* get_hardware_state
* export_signal
* send_software_edge_trigger

Note that the generated code references inexistent enums (issue #538)

* Update generated

* Remove unnecessary is_buffer info from metadata, it was a workaround for metadata bugs.

* Default for _initialize_with_channels

* Remove whitespace

* Defaults for ConfigureFreqList and ConfigureStandardWaveform

* Defaults for ConfigureDigitalEdgeScriptTrigger, ConfigureDigitalEdgeStartTrigger

* Update generated

* Default parameter values for CreateAdvancedArbSequence

* Default parameter value for WaitUntilDone

* Delete notes file as it is no longer needed.

Everything was implemented or issues were open for it.

* Update generated

* Remove obsolete SendSoftwareTrigger

* Update generated

* Retrofit unit tests
  • Loading branch information
marcoskirsch authored Oct 31, 2017
1 parent 30f81bd commit b93bad9
Show file tree
Hide file tree
Showing 10 changed files with 738 additions and 5,391 deletions.
1 change: 1 addition & 0 deletions build/helper/metadata_add_all.py
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@ def _add_buffer_info(parameter):
parameter['is_buffer'] = True

if (t.find('[ ]') > 0) or (t.find('[]') > 0):
assert 'is_buffer' not in parameter or parameter['is_buffer'] is True, 'Conflicting metadata - [] found but is_buffer already set to False.'
parameter['type'] = t.replace('[ ]', '').replace('[]', '')
parameter['original_type'] = t
parameter['is_buffer'] = True
Expand Down
Loading

0 comments on commit b93bad9

Please sign in to comment.