GNU.WIKI: The GNU/Linux Knowledge Base

  [HOME] [PHP Manual] [HowTo] [ABS] [MAN1] [MAN2] [MAN3] [MAN4] [MAN5] [MAN6] [MAN7] [MAN8] [MAN9]

  [0-9] [Aa] [Bb] [Cc] [Dd] [Ee] [Ff] [Gg] [Hh] [Ii] [Jj] [Kk] [Ll] [Mm] [Nn] [Oo] [Pp] [Qq] [Rr] [Ss] [Tt] [Uu] [Vv] [Ww] [Xx] [Yy] [Zz]


NAME

       xdf_set_chconf,  xdf_get_chconf  -  set  or  get the configuration of a
       channel descriptor handle

SYNOPSIS

       #include <xdfio.h>

       int xdf_set_chconf(struct xdfch* ch, enum xdffield field, ...);
       int xdf_get_chconf(const struct xdfch* ch, enum xdffield field, ...);

DESCRIPTION

       xdf_set_chconf() sets the configuration of the channel referenced by ch
       according  to  the  variable list of argument. This list is composed of
       successive couple grouping one variable of type enum xdffield  defining
       the  feature  to  be set and a value whose type depends on the previous
       field type. The list must finish by XDF_NOF.

       xdf_get_chconf() gets the configuration of the channel referenced by ch
       according  to  the  variable list of argument. The variable list is the
       same list terminated by XDF_NOF as for xdf_set_chconf() excepting  that
       the  second  part  of the couple is not that value but a pointer to the
       value.

       Both functions process the argument list from left to right. This means
       that if a particular field request provokes an error, none of the field
       requests on its right will be processed. The  order  of  processing  is
       also  important  for  field requests that influences the value of other
       fields (like XDF_CF_STOTYPE).

       Here is the list of admissible value. The expected  type  of  value  is
       provided  in  the  parenthesis  (the  expected  type  of  the value for
       xdf_set_chconf(), or a pointer to this type for xdf_get_chconf()).  The
       default  value  of  each field is provided in squared brackets (however
       these defaults can be overridden by a call to  xdf_set_conf(3)  if  the
       file  is  open  for  writing.  If  the  file is opened for reading, the
       default are meaningful only for the fields XDF_CF_ARR*).  If a list  of
       data  formats is specified in curl brackets, it means that the field is
       supported only in those formats (no list means that all formats support
       the field):

       XDF_CF_ARRINDEX (int) [0]
              Specify  the  array  from/to  which  the channel value should be
              transfered. If the mode of the file is XDF_READ and the value is
              negative, the channel will not be read. If the mode is XDF_WRITE
              and the value is negative, the function will fail.

       XDF_CF_ARROFFSET (int) [0 for channel 0, packed channels for the rest]
              Specify the offset in the array from/to which the channel  value
              should be transfered.

       XDF_CF_ARRDIGITAL (int) [0 if writing, 1 if reading]
              Indicate  that  the  data in the array from/to which the channel
              value should be transfered is provided  in  digital  unit.  This
              means  in  practice  that  no  scaling  is  performed during the
              transfer from/to the disk (non zero indicate no scaling).

       XDF_CF_ARRTYPE (enum xdftype) [same as XDF_CF_STOTYPE]
              specify the type in  the  channel  should  casted  to/from  when
              accessed in the array.

       XDF_CF_PMIN (double) [min of XDF_CF_ARRTYPE]
              Set/get  the minimal value that a physical value can get. Cannot
              be set if XDF_READ.

       XDF_CF_PMAX (double) [max of XDF_CF_ARRTYPE]
              Set/get the maximal value that a physical value can get.  Cannot
              be set if XDF_READ.

       XDF_CF_STOTYPE (enum xdftype) [any datatype supported by file type]
              Specify the type stored in the file of the channel value. If the
              XDF file has been opened in XDF_READ, this field cannot be  set.
              If  this  field  is  successfully  set,  it will set as well the
              digital  minimum   (XDF_CF_DMIN)   and   the   digital   maximum
              (XDF_CF_MAX)  to  the  minimum and maximum values allowed by the
              data type.

       XDF_CF_DMIN (double) [min of XDF_CF_STOTYPE]
              Set/get the minimal value that a digital value can  get.  Cannot
              be   set   if  XDF_READ.  This  is  also  automatically  set  by
              XDF_CF_STOTYPE.

       XDF_CF_DMAX (double) [min of XDF_CF_STOTYPE]
              Set/get the maximal value that a digital value can  get.  Cannot
              be   set   if  XDF_READ.  This  is  also  automatically  set  by
              XDF_CF_STOTYPE.

       XDF_CF_LABEL (const char*) [""]
              Set/get the label of the channel. Cannot be set if XDF_READ.

       XDF_CF_UNIT (const char*) [""] {EDF BDF GDF}
              Set/get the unit of the channel. Cannot be set if XDF_READ.

       XDF_CF_TRANSDUCTER (const char*) [""] {EDF BDF GDF}
              Set/get the type of sensor used for this channel. Cannot be  set
              if XDF_READ.

       XDF_CF_PREFILTERING (const char*) [""] {EDF BDF GDF}
              Set/get  the  information  about  the filters already applied on
              channel data.  Cannot be set if XDF_READ.

       XDF_CF_ELECPOS (double[3]) [0,0,0] {GDF}
              Position of the sensor/electrode expressed in  X,Y,Z  components
              Cannot be set if XDF_READ.

       XDF_CF_IMPEDANCE (double) [0] {GDF}
              Impedance of the sensor/electrode. Cannot be set if XDF_READ.

RETURN VALUE

       The  two  functions  returns  0  in  case  of  success. Otherwise -1 is
       returned and errno is set appropriately.

ERROR

       EINVAL ch is NULL or field is not a proper  value  of  the  enumeration
              xdffield

       EPERM  The  request  submitted  to  xdf_set_chconf() is not allowed for
              this channel or is forbidden  for  file  opened  with  the  mode
              XDF_READ.

       EDOM   The value set in xdf_set_chconf() as digital or physical min/max
              (fields  XDF_CF_{D/P}{MIN/MAX})  goes  beyond  the   limits   of
              respectively the stored or array data type.

EXAMPLES

       Example of usage of xdf_set_chconf():

              /* Assume xdf referenced an XDF file opened for writing */
              unsigned int iarray = 2, offset = 0;
              const char label[] = "Channel EEG";

              hchxdf ch = xdf_add_channel(xdf);
              xdf_set_chconf(ch, XDF_CF_ARRINDEX, iarray,
                                      XDF_CF_ARROFFSET, offset,
                                      XDF_CF_LABEL, label,
                                      XDF_NOF);

       Example of usage of xdf_get_chconf():

              /* Assume xdf referenced an XDF file opened for reading */
              unsigned int iarray, offset;
              const char label[128];

              hchxdf ch = xdf_get_channel(xdf, 1);
              xdf_get_chconf(ch, XDF_CF_ARRINDEX, &iarray,
                                      XDF_CF_ARROFFSET, &offset,
                                      XDF_CF_LABEL, &label,
                                      XDF_NOF);

              printf("iarray = %u
", iarray);
              printf("offset = %u
", offset);
              printf("label = %s
", label);

SEE ALSO

       xdf_copy_chconf(3)



  All copyrights belong to their respective owners. Other content (c) 2014-2018, GNU.WIKI. Please report site errors to webmaster@gnu.wiki.
Page load time: 0.113 seconds. Last modified: November 04 2018 12:49:43.