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

Adding private APIs to configure attenuation tables in RFmx Instr #1052

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
63 changes: 63 additions & 0 deletions generated/nirfmxinstr_restricted/nirfmxinstr_restricted.proto
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ option csharp_namespace = "NationalInstruments.Grpc.NiRFmxInstrRestricted";

package nirfmxinstr_restricted_grpc;

import "nidevice.proto";
import "session.proto";

service NiRFmxInstrRestricted {
Expand Down Expand Up @@ -52,6 +53,11 @@ service NiRFmxInstrRestricted {
rpc UnregisterSpecialClientSnapshotInterest(UnregisterSpecialClientSnapshotInterestRequest) returns (UnregisterSpecialClientSnapshotInterestResponse);
rpc GetSFPSessionAccessEnabled(GetSFPSessionAccessEnabledRequest) returns (GetSFPSessionAccessEnabledResponse);
rpc CreateDefaultSignalConfiguration(CreateDefaultSignalConfigurationRequest) returns (CreateDefaultSignalConfigurationResponse);
rpc LoadExternalAttenuationTable(LoadExternalAttenuationTableRequest) returns (LoadExternalAttenuationTableResponse);
rpc DefineExternalAttenuationTable(DefineExternalAttenuationTableRequest) returns (DefineExternalAttenuationTableResponse);
rpc CfgSParameterExternalAttenuationTableFrequencies(CfgSParameterExternalAttenuationTableFrequenciesRequest) returns (CfgSParameterExternalAttenuationTableFrequenciesResponse);
rpc CfgSParameterExternalAttenuationTableSParameter(CfgSParameterExternalAttenuationTableSParameterRequest) returns (CfgSParameterExternalAttenuationTableSParameterResponse);
rpc DefineSParameterExternalAttenuationTable(DefineSParameterExternalAttenuationTableRequest) returns (DefineSParameterExternalAttenuationTableResponse);
}

message ConvertForPowerUnitsUtilityRequest {
Expand Down Expand Up @@ -436,3 +442,60 @@ message CreateDefaultSignalConfigurationResponse {
int32 status = 1;
}

message LoadExternalAttenuationTableRequest {
nidevice_grpc.Session instrument = 1;
string selector_string = 2;
string table_name = 3;
string file_path = 4;
}

message LoadExternalAttenuationTableResponse {
int32 status = 1;
}

message DefineExternalAttenuationTableRequest {
nidevice_grpc.Session instrument = 1;
string selector_string = 2;
string table_name = 3;
int32 number_of_points = 4;
}

message DefineExternalAttenuationTableResponse {
int32 status = 1;
}

message CfgSParameterExternalAttenuationTableFrequenciesRequest {
nidevice_grpc.Session instrument = 1;
string selector_string = 2;
string table_name = 3;
repeated double s_parameter_frequencies = 4;
}

message CfgSParameterExternalAttenuationTableFrequenciesResponse {
int32 status = 1;
}

message CfgSParameterExternalAttenuationTableSParameterRequest {
nidevice_grpc.Session instrument = 1;
string selector_string = 2;
string table_name = 3;
repeated nidevice_grpc.NIComplexNumber s_parameters = 4;
int32 s_parameter_orientation = 5;
}

message CfgSParameterExternalAttenuationTableSParameterResponse {
int32 status = 1;
}

message DefineSParameterExternalAttenuationTableRequest {
nidevice_grpc.Session instrument = 1;
string selector_string = 2;
string table_name = 3;
int32 number_of_frequency_points = 4;
int32 number_of_ports = 5;
}

message DefineSParameterExternalAttenuationTableResponse {
int32 status = 1;
}

102 changes: 102 additions & 0 deletions generated/nirfmxinstr_restricted/nirfmxinstr_restricted_client.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -675,5 +675,107 @@ create_default_signal_configuration(const StubPtr& stub, const nidevice_grpc::Se
return response;
}

LoadExternalAttenuationTableResponse
load_external_attenuation_table(const StubPtr& stub, const nidevice_grpc::Session& instrument, const std::string& selector_string, const std::string& table_name, const std::string& file_path)
{
::grpc::ClientContext context;

auto request = LoadExternalAttenuationTableRequest{};
request.mutable_instrument()->CopyFrom(instrument);
request.set_selector_string(selector_string);
request.set_table_name(table_name);
request.set_file_path(file_path);

auto response = LoadExternalAttenuationTableResponse{};

raise_if_error(
stub->LoadExternalAttenuationTable(&context, request, &response),
context);

return response;
}

DefineExternalAttenuationTableResponse
define_external_attenuation_table(const StubPtr& stub, const nidevice_grpc::Session& instrument, const std::string& selector_string, const std::string& table_name, const pb::int32& number_of_points)
{
::grpc::ClientContext context;

auto request = DefineExternalAttenuationTableRequest{};
request.mutable_instrument()->CopyFrom(instrument);
request.set_selector_string(selector_string);
request.set_table_name(table_name);
request.set_number_of_points(number_of_points);

auto response = DefineExternalAttenuationTableResponse{};

raise_if_error(
stub->DefineExternalAttenuationTable(&context, request, &response),
context);

return response;
}

CfgSParameterExternalAttenuationTableFrequenciesResponse
cfg_s_parameter_external_attenuation_table_frequencies(const StubPtr& stub, const nidevice_grpc::Session& instrument, const std::string& selector_string, const std::string& table_name, const std::vector<double>& s_parameter_frequencies)
{
::grpc::ClientContext context;

auto request = CfgSParameterExternalAttenuationTableFrequenciesRequest{};
request.mutable_instrument()->CopyFrom(instrument);
request.set_selector_string(selector_string);
request.set_table_name(table_name);
copy_array(s_parameter_frequencies, request.mutable_s_parameter_frequencies());

auto response = CfgSParameterExternalAttenuationTableFrequenciesResponse{};

raise_if_error(
stub->CfgSParameterExternalAttenuationTableFrequencies(&context, request, &response),
context);

return response;
}

CfgSParameterExternalAttenuationTableSParameterResponse
cfg_s_parameter_external_attenuation_table_s_parameter(const StubPtr& stub, const nidevice_grpc::Session& instrument, const std::string& selector_string, const std::string& table_name, const std::vector<nidevice_grpc::NIComplexNumber>& s_parameters, const pb::int32& s_parameter_orientation)
{
::grpc::ClientContext context;

auto request = CfgSParameterExternalAttenuationTableSParameterRequest{};
request.mutable_instrument()->CopyFrom(instrument);
request.set_selector_string(selector_string);
request.set_table_name(table_name);
copy_array(s_parameters, request.mutable_s_parameters());
request.set_s_parameter_orientation(s_parameter_orientation);

auto response = CfgSParameterExternalAttenuationTableSParameterResponse{};

raise_if_error(
stub->CfgSParameterExternalAttenuationTableSParameter(&context, request, &response),
context);

return response;
}

DefineSParameterExternalAttenuationTableResponse
define_s_parameter_external_attenuation_table(const StubPtr& stub, const nidevice_grpc::Session& instrument, const std::string& selector_string, const std::string& table_name, const pb::int32& number_of_frequency_points, const pb::int32& number_of_ports)
{
::grpc::ClientContext context;

auto request = DefineSParameterExternalAttenuationTableRequest{};
request.mutable_instrument()->CopyFrom(instrument);
request.set_selector_string(selector_string);
request.set_table_name(table_name);
request.set_number_of_frequency_points(number_of_frequency_points);
request.set_number_of_ports(number_of_ports);

auto response = DefineSParameterExternalAttenuationTableResponse{};

raise_if_error(
stub->DefineSParameterExternalAttenuationTable(&context, request, &response),
context);

return response;
}


} // namespace nirfmxinstr_restricted_grpc::experimental::client
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,11 @@ SetIOTraceStatusResponse set_io_trace_status(const StubPtr& stub, const nidevice
UnregisterSpecialClientSnapshotInterestResponse unregister_special_client_snapshot_interest(const StubPtr& stub, const std::string& resource_name);
GetSFPSessionAccessEnabledResponse get_sfp_session_access_enabled(const StubPtr& stub, const std::string& option_string);
CreateDefaultSignalConfigurationResponse create_default_signal_configuration(const StubPtr& stub, const nidevice_grpc::Session& instrument, const std::string& signal_name, const pb::int32& personality_id);
LoadExternalAttenuationTableResponse load_external_attenuation_table(const StubPtr& stub, const nidevice_grpc::Session& instrument, const std::string& selector_string, const std::string& table_name, const std::string& file_path);
DefineExternalAttenuationTableResponse define_external_attenuation_table(const StubPtr& stub, const nidevice_grpc::Session& instrument, const std::string& selector_string, const std::string& table_name, const pb::int32& number_of_points);
CfgSParameterExternalAttenuationTableFrequenciesResponse cfg_s_parameter_external_attenuation_table_frequencies(const StubPtr& stub, const nidevice_grpc::Session& instrument, const std::string& selector_string, const std::string& table_name, const std::vector<double>& s_parameter_frequencies);
CfgSParameterExternalAttenuationTableSParameterResponse cfg_s_parameter_external_attenuation_table_s_parameter(const StubPtr& stub, const nidevice_grpc::Session& instrument, const std::string& selector_string, const std::string& table_name, const std::vector<nidevice_grpc::NIComplexNumber>& s_parameters, const pb::int32& s_parameter_orientation);
DefineSParameterExternalAttenuationTableResponse define_s_parameter_external_attenuation_table(const StubPtr& stub, const nidevice_grpc::Session& instrument, const std::string& selector_string, const std::string& table_name, const pb::int32& number_of_frequency_points, const pb::int32& number_of_ports);

} // namespace nirfmxinstr_restricted_grpc::experimental::client

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,11 @@ NiRFmxInstrRestrictedLibrary::NiRFmxInstrRestrictedLibrary(std::shared_ptr<nidev
function_pointers_.UnregisterSpecialClientSnapshotInterest = reinterpret_cast<UnregisterSpecialClientSnapshotInterestPtr>(shared_library_->get_function_pointer("RFmxInstr_UnregisterSpecialClientSnapshotInterest"));
function_pointers_.GetSFPSessionAccessEnabled = reinterpret_cast<GetSFPSessionAccessEnabledPtr>(shared_library_->get_function_pointer("RFmxInstr_GetSFPSessionAccessEnabled"));
function_pointers_.CreateDefaultSignalConfiguration = reinterpret_cast<CreateDefaultSignalConfigurationPtr>(shared_library_->get_function_pointer("RFmxInstr_CreateDefaultSignalConfiguration"));
function_pointers_.LoadExternalAttenuationTable = reinterpret_cast<LoadExternalAttenuationTablePtr>(shared_library_->get_function_pointer("RFmxInstr_LoadExternalAttenuationTable"));
function_pointers_.DefineExternalAttenuationTable = reinterpret_cast<DefineExternalAttenuationTablePtr>(shared_library_->get_function_pointer("RFmxInstr_DefineExternalAttenuationTable"));
function_pointers_.CfgSParameterExternalAttenuationTableFrequencies = reinterpret_cast<CfgSParameterExternalAttenuationTableFrequenciesPtr>(shared_library_->get_function_pointer("RFmxInstr_CfgSParameterExternalAttenuationTableFrequencies"));
function_pointers_.CfgSParameterExternalAttenuationTableSParameter = reinterpret_cast<CfgSParameterExternalAttenuationTableSParameterPtr>(shared_library_->get_function_pointer("RFmxInstr_CfgSParameterExternalAttenuationTableSParameter"));
function_pointers_.DefineSParameterExternalAttenuationTable = reinterpret_cast<DefineSParameterExternalAttenuationTablePtr>(shared_library_->get_function_pointer("RFmxInstr_DefineSParameterExternalAttenuationTable"));
}

NiRFmxInstrRestrictedLibrary::~NiRFmxInstrRestrictedLibrary()
Expand Down Expand Up @@ -391,4 +396,44 @@ int32 NiRFmxInstrRestrictedLibrary::CreateDefaultSignalConfiguration(niRFmxInstr
return function_pointers_.CreateDefaultSignalConfiguration(instrumentHandle, signalName, personalityID);
}

int32 NiRFmxInstrRestrictedLibrary::LoadExternalAttenuationTable(niRFmxInstrHandle instrumentHandle, char selectorString[], char tableName[], char filePath[])
{
if (!function_pointers_.LoadExternalAttenuationTable) {
throw nidevice_grpc::LibraryLoadException("Could not find RFmxInstr_LoadExternalAttenuationTable.");
}
return function_pointers_.LoadExternalAttenuationTable(instrumentHandle, selectorString, tableName, filePath);
}

int32 NiRFmxInstrRestrictedLibrary::DefineExternalAttenuationTable(niRFmxInstrHandle instrumentHandle, char selectorString[], char tableName[], int32 numberOfPoints)
{
if (!function_pointers_.DefineExternalAttenuationTable) {
throw nidevice_grpc::LibraryLoadException("Could not find RFmxInstr_DefineExternalAttenuationTable.");
}
return function_pointers_.DefineExternalAttenuationTable(instrumentHandle, selectorString, tableName, numberOfPoints);
}

int32 NiRFmxInstrRestrictedLibrary::CfgSParameterExternalAttenuationTableFrequencies(niRFmxInstrHandle instrumentHandle, char selectorString[], char tableName[], float64 sParameterFrequencies[], int32 sParameterFrequenciesArraySize)
{
if (!function_pointers_.CfgSParameterExternalAttenuationTableFrequencies) {
throw nidevice_grpc::LibraryLoadException("Could not find RFmxInstr_CfgSParameterExternalAttenuationTableFrequencies.");
}
return function_pointers_.CfgSParameterExternalAttenuationTableFrequencies(instrumentHandle, selectorString, tableName, sParameterFrequencies, sParameterFrequenciesArraySize);
}

int32 NiRFmxInstrRestrictedLibrary::CfgSParameterExternalAttenuationTableSParameter(niRFmxInstrHandle instrumentHandle, char selectorString[], char tableName[], NIComplexDouble sParameters[], int32 sParameterTableSize, int32 sParameterOrientation)
{
if (!function_pointers_.CfgSParameterExternalAttenuationTableSParameter) {
throw nidevice_grpc::LibraryLoadException("Could not find RFmxInstr_CfgSParameterExternalAttenuationTableSParameter.");
}
return function_pointers_.CfgSParameterExternalAttenuationTableSParameter(instrumentHandle, selectorString, tableName, sParameters, sParameterTableSize, sParameterOrientation);
}

int32 NiRFmxInstrRestrictedLibrary::DefineSParameterExternalAttenuationTable(niRFmxInstrHandle instrumentHandle, char selectorString[], char tableName[], int32 numberOfFrequencyPoints, int32 numberOfPorts)
{
if (!function_pointers_.DefineSParameterExternalAttenuationTable) {
throw nidevice_grpc::LibraryLoadException("Could not find RFmxInstr_DefineSParameterExternalAttenuationTable.");
}
return function_pointers_.DefineSParameterExternalAttenuationTable(instrumentHandle, selectorString, tableName, numberOfFrequencyPoints, numberOfPorts);
}

} // namespace nirfmxinstr_restricted_grpc
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,11 @@ class NiRFmxInstrRestrictedLibrary : public nirfmxinstr_restricted_grpc::NiRFmxI
int32 UnregisterSpecialClientSnapshotInterest(char resourceName[]) override;
int32 GetSFPSessionAccessEnabled(char optionString[], int32* isSFPSessionAccessEnabled) override;
int32 CreateDefaultSignalConfiguration(niRFmxInstrHandle instrumentHandle, char signalName[], int32 personalityID) override;
int32 LoadExternalAttenuationTable(niRFmxInstrHandle instrumentHandle, char selectorString[], char tableName[], char filePath[]) override;
int32 DefineExternalAttenuationTable(niRFmxInstrHandle instrumentHandle, char selectorString[], char tableName[], int32 numberOfPoints) override;
int32 CfgSParameterExternalAttenuationTableFrequencies(niRFmxInstrHandle instrumentHandle, char selectorString[], char tableName[], float64 sParameterFrequencies[], int32 sParameterFrequenciesArraySize) override;
int32 CfgSParameterExternalAttenuationTableSParameter(niRFmxInstrHandle instrumentHandle, char selectorString[], char tableName[], NIComplexDouble sParameters[], int32 sParameterTableSize, int32 sParameterOrientation) override;
int32 DefineSParameterExternalAttenuationTable(niRFmxInstrHandle instrumentHandle, char selectorString[], char tableName[], int32 numberOfFrequencyPoints, int32 numberOfPorts) override;

private:
using ConvertForPowerUnitsUtilityPtr = int32 (*)(niRFmxInstrHandle instrumentHandle, float64 referenceOrTriggerLevelIn, int32 inputPowerUnits, int32 outputPowerUnits, int32 terminalConfiguration, float64 bandwidth, float64* referenceOrTriggerLevelOut);
Expand Down Expand Up @@ -101,6 +106,11 @@ class NiRFmxInstrRestrictedLibrary : public nirfmxinstr_restricted_grpc::NiRFmxI
using UnregisterSpecialClientSnapshotInterestPtr = int32 (*)(char resourceName[]);
using GetSFPSessionAccessEnabledPtr = int32 (*)(char optionString[], int32* isSFPSessionAccessEnabled);
using CreateDefaultSignalConfigurationPtr = int32 (*)(niRFmxInstrHandle instrumentHandle, char signalName[], int32 personalityID);
using LoadExternalAttenuationTablePtr = int32 (*)(niRFmxInstrHandle instrumentHandle, char selectorString[], char tableName[], char filePath[]);
using DefineExternalAttenuationTablePtr = int32 (*)(niRFmxInstrHandle instrumentHandle, char selectorString[], char tableName[], int32 numberOfPoints);
using CfgSParameterExternalAttenuationTableFrequenciesPtr = int32 (*)(niRFmxInstrHandle instrumentHandle, char selectorString[], char tableName[], float64 sParameterFrequencies[], int32 sParameterFrequenciesArraySize);
using CfgSParameterExternalAttenuationTableSParameterPtr = int32 (*)(niRFmxInstrHandle instrumentHandle, char selectorString[], char tableName[], NIComplexDouble sParameters[], int32 sParameterTableSize, int32 sParameterOrientation);
using DefineSParameterExternalAttenuationTablePtr = int32 (*)(niRFmxInstrHandle instrumentHandle, char selectorString[], char tableName[], int32 numberOfFrequencyPoints, int32 numberOfPorts);

typedef struct FunctionPointers {
ConvertForPowerUnitsUtilityPtr ConvertForPowerUnitsUtility;
Expand Down Expand Up @@ -142,6 +152,11 @@ class NiRFmxInstrRestrictedLibrary : public nirfmxinstr_restricted_grpc::NiRFmxI
UnregisterSpecialClientSnapshotInterestPtr UnregisterSpecialClientSnapshotInterest;
GetSFPSessionAccessEnabledPtr GetSFPSessionAccessEnabled;
CreateDefaultSignalConfigurationPtr CreateDefaultSignalConfiguration;
LoadExternalAttenuationTablePtr LoadExternalAttenuationTable;
DefineExternalAttenuationTablePtr DefineExternalAttenuationTable;
CfgSParameterExternalAttenuationTableFrequenciesPtr CfgSParameterExternalAttenuationTableFrequencies;
CfgSParameterExternalAttenuationTableSParameterPtr CfgSParameterExternalAttenuationTableSParameter;
DefineSParameterExternalAttenuationTablePtr DefineSParameterExternalAttenuationTable;
} FunctionLoadStatus;

std::shared_ptr<nidevice_grpc::SharedLibraryInterface> shared_library_;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,11 @@ class NiRFmxInstrRestrictedLibraryInterface {
virtual int32 UnregisterSpecialClientSnapshotInterest(char resourceName[]) = 0;
virtual int32 GetSFPSessionAccessEnabled(char optionString[], int32* isSFPSessionAccessEnabled) = 0;
virtual int32 CreateDefaultSignalConfiguration(niRFmxInstrHandle instrumentHandle, char signalName[], int32 personalityID) = 0;
virtual int32 LoadExternalAttenuationTable(niRFmxInstrHandle instrumentHandle, char selectorString[], char tableName[], char filePath[]) = 0;
virtual int32 DefineExternalAttenuationTable(niRFmxInstrHandle instrumentHandle, char selectorString[], char tableName[], int32 numberOfPoints) = 0;
virtual int32 CfgSParameterExternalAttenuationTableFrequencies(niRFmxInstrHandle instrumentHandle, char selectorString[], char tableName[], float64 sParameterFrequencies[], int32 sParameterFrequenciesArraySize) = 0;
virtual int32 CfgSParameterExternalAttenuationTableSParameter(niRFmxInstrHandle instrumentHandle, char selectorString[], char tableName[], NIComplexDouble sParameters[], int32 sParameterTableSize, int32 sParameterOrientation) = 0;
virtual int32 DefineSParameterExternalAttenuationTable(niRFmxInstrHandle instrumentHandle, char selectorString[], char tableName[], int32 numberOfFrequencyPoints, int32 numberOfPorts) = 0;
};

} // namespace nirfmxinstr_restricted_grpc
Expand Down
Loading
Loading