int MX370x__TransducerInitAndStartSequence ( xsd__unsignedLong  ulTransducerSelection,
xsd__unsignedLong  ulNbrOfChannel,
struct MX370x__unsignedLong16FixedArray pulChannelList,
xsd__unsignedLong  ulDivisionFactor,
xsd__unsignedLong  ulNbrOfSequence,
xsd__unsignedLong  ulNbrMaxSequenceToTransfer,
xsd__unsignedLong  ulDelayMode,
xsd__unsignedLong  ulDelayTimeUnit,
xsd__unsignedLong  ulDelayValue,
xsd__unsignedLong  ulTriggerAction,
xsd__unsignedLong  ulHardwareTriggerCount,
xsd__unsignedLong  ulHardwareTriggerFilterTime,
xsd__unsignedLong  ulByTriggerNbrOfSeqToAcquire,
xsd__unsignedLong  ulOption1,
xsd__unsignedLong  ulOption2,
xsd__unsignedLong  ulOption3,
xsd__unsignedLong  ulOption4,
struct MX370x__Response Response 
)
Parameters:
[in] ulTransducerSelection : Transducer type selection
[in] ulNbrOfChannel : Number of channel in the sequence
[in] pulChannelList : List of the channel index (0 to MaxChannel-1) who compose the sequence. This parameter is an array.
For a sequence that contains two channels (let say channel 0 and channel 1), you will have:

  • pulChannelList[0] = 0
  • pulChannelList[1] = 1
[in] ulDivisionFactor : Division factor (min: 5, max: 255)
The division factor sets the switching time from one channel to another (the channels of the system are multiplexed). When the multiplexer switches from one channel to the next one, you need to wait for a certain time (settling time) before acquiring the measurement value of the transducer. If the division factor is too low (< 10), the measurement can be distorted.
The switching time between two channels equals to the product of the division factor and the exciting signal period of the transducer .
Example: If a transducer connected to channel 0 uses a 10 kHz nominal frequency and the division factor is set to 12, the switching time from channel 0 to the next one is: 12 * (1 / 10000) = 1.2 ms.
[in] ulNbrOfSequence : Number of sequence to acquire :

  • 0 : continuous mode
  • > 0 : number of sequence
[in] ulNbrMaxSequenceToTransfer : This parameter defined the minimal number of sequences to acquired between each send of data by the system.
Warning : They are two possibilities that the number of sequences sent doesn't reach the minimal number:

  • By the end of the acquisition.
  • If the memory capacity is not big enough.
[in] ulDelayMode : Delay Mode :

  • ADDIDATA_DELAY_NOT_USED 0 : Delay is not used.
  • ADDIDATA_DELAY_MODE1_USED 1 : The delay time defines the time between 2 sequence beginnings.
  • ADDIDATA_DELAY_MODE2_USED 2 : The delay time defines the time between the end of a sequence until the beginning of the next sequence.
[in] ulDelayTimeUnit : Selection of the unit of ulDelayValue

  • 0: ms
  • 1: s
[in] ulDelayValue : Delay Value (max value: 65535)
[in] ulTriggerAction : Trigger action :
Hardware Trigger Start D0 - D7
Bit 3,2,1,0 : Define the trigger mode

  • 0000 : Trigger disabled
  • 0001 : One shot trigger : After the software start, the module is waiting for a trigger signal to start the acquisition. After this the trigger signal is ignored.
  • 0010 : Sequence trigger : After the software start the module is waiting for the trigger signal and acquires x sequences (also adjustable) and then wait again.

Bit 7,6 : define the active front (Only if hardware trigger selected)

  • 01 : rising front (Only if hardware trigger selected)
  • 10 : falling front (Only if hardware trigger selected)
  • 11 : Both front (Only if hardware trigger selected)

Synchronisation Trigger Start : D8-D15
Bit 11,10,9,8 : Define the trigger mode

  • 0000 : trigger disabled
  • 0001 : One shot trigger : After the software start, the module is waiting for a trigger signal to start the acquisition. After this the trigger signal is ignored.
  • 0010 : Sequence trigger : After the software start the module is waiting for the trigger signal and acquires x sequences (also adjustable) and then wait again.

Hardware Trigger Stop D16 - D19
The hardware trigger stop can only be activated when :

  • The hardware trigger start is not used.
  • The hardware trigger start is used in one shot mode.

The stop of the acquisition is really do at the end of a sequence acquisition(to avoid that the acquisition is stop in the middle of a sequence).
Bit 16 : Define the trigger stop is enable or not

  • 0 : Stop trigger disabled
  • 1 : Stop trigger enabled.

Bit 18,17 : define the active front (Only if hardware trigger stop selected)

  • 01 : rising front (Only if hardware trigger stop selected)
  • 10 : falling front (Only if hardware trigger stop selected)
  • 11 : Both front (Only if hardware trigger stop selected)

Bit 19 : define if the hardware trigger stop use the ulHardwareTriggerCount (Only if hardware trigger stop selected)

  • 0 : ulHardwareTriggerCount not used : First hardware trigger stop will stop the acquisition
  • 1 : ulHardwareTriggerCount is used : The ulHardwareTriggerCount hardware trigger will stop the acquisition
[in] ulHardwareTriggerCount : Define the number of trigger events before the trigger action occur

  • 0 or 1 : all trigger event start the trigger action
  • max value : 65535
[in] ulHardwareTriggerFilterTime : Filter time for the hardware trigger (= multiplier from 250 ns step)

  • max value : 65535
[in] ulByTriggerNbrOfSeqToAcquire : define the number of sequence to acquire by each trigger event
[in] ulOption1 : Data format option
D0 : Time stamp information

  • 0 : no time stamp information
  • 1 : timestamp information

D1 : Sequence counter information

  • 0 : No sequence counter information
  • 1 : Sequence counter information

D2 : Data format

  • 0 : Digital value
  • 1 : Analog value (in mm)

D3 : invert value

  • 0 : don't invert the channel value
  • 1 : invert the channel value (-2 mm -> + 2mm)

D4 : receive a relative Time Stamp (first acquisition => time stamp=0) instead of absolute time stamp

  • 0 : No relative time stamp information
  • 1 : Relative time stamp information

D5 : receive the hardware trigger information

  • 0 : no hardware trigger information
  • 1 : hardware trigger information
[in] ulOption2 : Reserved
[in] ulOption3 : Reserved
[in] ulOption4 : Reserved
[out] Response :
iReturnValue :

  • 0 : success
  • -1: means an system error occurred
  • -2: Tranducer selection error
  • -3: Number of channel error
  • -4: Channel array selection error
  • -5: Division factor error
  • -6: Incorrect value for Hardware Trigger Mode
  • -7: Incorrect value for Hardware Trigger Front
  • -8: Incorrect value for Synchro Trigger Mode
  • -9: Incorrect value for Hardware Trigger Count
  • -10: Incorrect value for Hardware Trigger filter time
  • -11: Incorrect value for "trigger number of sequence to acquire"
  • -12: Delay Mode selection error
  • -13: Delay time unit selection error
  • -14: Delay value
  • -15: Wrong data format parameter (ulOption1)
  • -16: A value for Hardware Trigger front was defined but Hardware Trigger Mode is not set
  • -17: Cannot use both triggers at the same time
  • -18: Incorrect value for the hardware trigger stop front
  • -19: Hardware trigger stop can not be used by this configuration of hardware trigger start
  • -100: TransducerInit kernel function error
  • -101: InitConvertTimeDivisionFactor kernel function error
  • -102: InitEnableDisableSequenceDelay kernel function error
  • -103: InitDigitalInputFilter kernel function error
  • -104: InitEnableDisableHardwareTrigger kernel function error
  • -105: InitEnableSynchroTrigger kernel function error
  • -106: DisableSynchroTrigger kernel function error
  • -107: SetTriggerSequenceCount kernel function error
  • -108: InitSequence kernel function error
  • -109: StartStopSequence kernel function error
    syserrno : System-error code (the value of the libc "errno" code)
    Its value is significant only when the iReturnValue returned an error (-1 or <= -100)
    Give this value to the MXCommon_Strerror to get the string describing the error number.
Returns:
  • 0: SOAP_OK
  • <> 0: See SOAP error