added channel_exists

This commit is contained in:
Mario Fink 2019-05-07 12:23:35 +02:00
parent e7730c2d02
commit 58132f56f1
3 changed files with 23 additions and 0 deletions

View File

@ -203,6 +203,21 @@ public:
return units_[obtain_channel_id(groupid,channelid)-1]; return units_[obtain_channel_id(groupid,channelid)-1];
} }
int channel_exists(int groupid, std::string channel_name)
{
assert( groupid > 0 && groupid <= num_channels_ );
int channelid = 0;
for ( int i = 0; i < num_channels_group_[groupid-1]; i++)
{
if ( channel_name_[obtain_channel_id(groupid,i+1)-1].compare(channel_name) == 0 )
{
channelid = i+1;
}
}
return channelid;
}
void list_datatypes(); void list_datatypes();
// convert array of chars to single integer or floating point double // convert array of chars to single integer or floating point double

View File

@ -16,6 +16,9 @@ cdef class pytdmripper:
def show_channels(self): def show_channels(self):
self.cripp.list_channels() self.cripp.list_channels()
def show_groups(self):
self.cripp.list_groups()
def num_channels(self): def num_channels(self):
return self.cripp.num_channels() return self.cripp.num_channels()
@ -35,6 +38,9 @@ cdef class pytdmripper:
def channel_unit(self,int groupid,int channelid): def channel_unit(self,int groupid,int channelid):
return (self.cripp.channel_unit(groupid+1,channelid+1)) return (self.cripp.channel_unit(groupid+1,channelid+1))
def channel_exists(self,int groupid, string channelname):
return self.cripp.channel_exists(groupid+1,channelname)
def get_channel(self, int channelid): def get_channel(self, int channelid):
return np.asarray(self.cripp.get_channel(channelid)) return np.asarray(self.cripp.get_channel(channelid))

View File

@ -12,12 +12,14 @@ cdef extern from "tdm_ripper.hpp":
cdef cppclass tdm_ripper: cdef cppclass tdm_ripper:
tdm_ripper(string) except + tdm_ripper(string) except +
void list_channels() void list_channels()
void list_groups()
int num_channels() int num_channels()
int no_channels(int) int no_channels(int)
int num_groups() int num_groups()
int no_channel_groups() int no_channel_groups()
string channel_name(int,int) string channel_name(int,int)
string channel_unit(int,int) string channel_unit(int,int)
int channel_exists(int,string)
vector[double] get_channel(int) vector[double] get_channel(int)
vector[double] channel(int,int) vector[double] channel(int,int)
void print_channel(int,const char*) void print_channel(int,const char*)