Loading...
Searching...
No Matches
HardwareTrigger

Contains the representation of the ADALM2000 trigger system. More...

## Classes

class | libm2k::M2kHardwareTrigger
| Controls the hardware trigger for ADALM2000. More...

## Functions

virtual int | libm2k::M2kHardwareTrigger::getAnalogLevelRaw (unsigned int chnIdx)=0
| Get the raw analog trigger level for one channel.
virtual void | libm2k::M2kHardwareTrigger::setAnalogLevelRaw (unsigned int chnIdx, int level)=0
| Set the raw analog trigger level for one channel.
virtual void | libm2k::M2kHardwareTrigger::setAnalogLevel (unsigned int chnIdx, double v_level)=0
| Set the analog trigger level for one channel.
virtual double | libm2k::M2kHardwareTrigger::getAnalogLevel (unsigned int chnIdx)=0
| Get the analog trigger level for one channel.
virtual double | libm2k::M2kHardwareTrigger::getAnalogHysteresis (unsigned int chnIdx)=0
| Get the analog hysteresis value for one channel.
virtual void | libm2k::M2kHardwareTrigger::setAnalogHysteresis (unsigned int chnIdx, double hysteresis)=0
| Set the analog hysteresis value for one channel.
virtual M2K_TRIGGER_CONDITION_ANALOG | libm2k::M2kHardwareTrigger::getAnalogCondition (unsigned int chnIdx)=0
| Get the trigger condition for the analog trigger on a specific channel.
virtual void | libm2k::M2kHardwareTrigger::setAnalogCondition (unsigned int chnIdx, M2K_TRIGGER_CONDITION_ANALOG cond)=0
| Set the trigger condition for the analog trigger on a specific channel.
virtual M2K_TRIGGER_CONDITION_DIGITAL | libm2k::M2kHardwareTrigger::getDigitalCondition (unsigned int chnIdx)=0
| Get the trigger condition for the digital trigger on a specific channel.
virtual M2K_TRIGGER_CONDITION_DIGITAL | libm2k::M2kHardwareTrigger::getDigitalCondition (libm2k::digital::DIO_CHANNEL chnIdx)=0
| Get the trigger condition for the digital trigger on a specific channel.
virtual void | libm2k::M2kHardwareTrigger::setDigitalCondition (unsigned int chnIdx, M2K_TRIGGER_CONDITION_DIGITAL cond)=0
| Set the trigger condition for the digital trigger on a specific channel.
virtual void | libm2k::M2kHardwareTrigger::setDigitalCondition (libm2k::digital::DIO_CHANNEL chnIdx, M2K_TRIGGER_CONDITION_DIGITAL cond)=0
| Set the trigger condition for the digital trigger on a specific channel.
virtual M2K_TRIGGER_MODE | libm2k::M2kHardwareTrigger::getAnalogMode (unsigned int chnIdx)=0
| Get the mode for the analog trigger on a specific channel.
virtual void | libm2k::M2kHardwareTrigger::setAnalogMode (unsigned int chnIdx, M2K_TRIGGER_MODE mode)=0
| Set the mode for the analog trigger on a specific channel.
virtual libm2k::digital::DIO_TRIGGER_MODE | libm2k::M2kHardwareTrigger::getDigitalMode ()=0
| Get the mode for the digital trigger.
virtual void | libm2k::M2kHardwareTrigger::setDigitalMode (libm2k::digital::DIO_TRIGGER_MODE mode)=0
| Set the mode for the digital trigger.
virtual M2K_TRIGGER_SOURCE_ANALOG | libm2k::M2kHardwareTrigger::getAnalogSource ()=0
| Get the source of the analog trigger.
virtual void | libm2k::M2kHardwareTrigger::setAnalogSource (M2K_TRIGGER_SOURCE_ANALOG src)=0
| Set the source of the analog trigger.
virtual int | libm2k::M2kHardwareTrigger::getAnalogSourceChannel ()=0
| Get the channel source of the analog trigger.
virtual void | libm2k::M2kHardwareTrigger::setAnalogSourceChannel (unsigned int chnIdx)=0
| Set the channel source of the analog trigger.
virtual int | libm2k::M2kHardwareTrigger::getAnalogDelay () const =0
| Get the analog trigger delay.
virtual void | libm2k::M2kHardwareTrigger::setAnalogDelay (int delay)=0
| Set the analog trigger delay.
virtual int | libm2k::M2kHardwareTrigger::getDigitalDelay () const =0
| Get the digital trigger delay.
virtual void | libm2k::M2kHardwareTrigger::setDigitalDelay (int delay)=0
| Set the digital trigger delay.
virtual void | libm2k::M2kHardwareTrigger::setAnalogStreamingFlag (bool enable)=0
| Set the streaming flag for the analog part.
virtual bool | libm2k::M2kHardwareTrigger::getAnalogStreamingFlag ()=0
| Get the streaming flag for the analog part.
virtual void | libm2k::M2kHardwareTrigger::setDigitalStreamingFlag (bool enable)=0
| Set the streaming flag for the digital part.
virtual bool | libm2k::M2kHardwareTrigger::getDigitalStreamingFlag ()=0
| Get the streaming flag for the digital part.
virtual M2K_TRIGGER_CONDITION_DIGITAL | libm2k::M2kHardwareTrigger::getAnalogExternalCondition (unsigned int chnIdx)=0
| getAnalogExternalCondition
virtual void | libm2k::M2kHardwareTrigger::setAnalogExternalCondition (unsigned int chnIdx, M2K_TRIGGER_CONDITION_DIGITAL cond)=0
| setAnalogExternalCondition
virtual M2K_TRIGGER_CONDITION_DIGITAL | libm2k::M2kHardwareTrigger::getDigitalExternalCondition () const =0
| getDigitalExternalCondition
virtual void | libm2k::M2kHardwareTrigger::setDigitalExternalCondition (M2K_TRIGGER_CONDITION_DIGITAL cond)=0
| setDigitalExternalCondition
virtual void | libm2k::M2kHardwareTrigger::setAnalogExternalOutSelect (M2K_TRIGGER_OUT_SELECT output_select)
| Select what should be redirected on the TO (trigger out) pin. The options are (none, trigger in, digital in, analog in). .
virtual M2K_TRIGGER_OUT_SELECT | libm2k::M2kHardwareTrigger::getAnalogExternalOutSelect ()
| Check which trigger events are forwarded on the TO (trigger out) pin.
virtual void | libm2k::M2kHardwareTrigger::setDigitalSource (M2K_TRIGGER_SOURCE_DIGITAL external_src)
| Select which interface triggers the DigitalIn.
virtual M2K_TRIGGER_SOURCE_DIGITAL | libm2k::M2kHardwareTrigger::getDigitalSource () const
| Check which is the source of the DigitalIn interface trigger event.
virtual void | libm2k::M2kHardwareTrigger::setAnalogOutTriggerSource (M2K_TRIGGER_SOURCE_OUT src)=0
| Select which interface triggers the AnalogOut.
virtual M2K_TRIGGER_SOURCE_OUT | libm2k::M2kHardwareTrigger::getAnalogOutTriggerSource () const =0
| Returns the source of the AnalogOut trigger event.
virtual void | libm2k::M2kHardwareTrigger::setAnalogOutTriggerCondition (M2K_TRIGGER_CONDITION_OUT condition)=0
| Configures the triggering condition when the source of the AnalogOut trigger event is set to TRIGGER_TI_0.
virtual M2K_TRIGGER_CONDITION_OUT | libm2k::M2kHardwareTrigger::getAnalogOutTriggerCondition () const =0
| Returns the condition of the AnalogOut trigger event when the source is TI.
virtual void | libm2k::M2kHardwareTrigger::setAnalogOutTriggerStatus (M2K_TRIGGER_STATUS_ANALOG_OUT status)=0
| Defines the action to be performed when a trigger event occurs.
virtual M2K_TRIGGER_STATUS_ANALOG_OUT | libm2k::M2kHardwareTrigger::getAnalogOutTriggerStatus () const =0
| Returns the action that is performed when a trigger event occurs.

## Detailed Description

Contains the representation of the ADALM2000 trigger system.

## Function Documentation

## getAnalogCondition()

virtual M2K_TRIGGER_CONDITION_ANALOG libm2k::M2kHardwareTrigger::getAnalogCondition | ( | unsigned int | chnIdx | ) |

pure virtual

Get the trigger condition for the analog trigger on a specific channel.

Parameters

  chnIdx | the required channel

Returns
  the trigger condition

## getAnalogDelay()

virtual int libm2k::M2kHardwareTrigger::getAnalogDelay | ( |  | ) | const

pure virtual

Get the analog trigger delay.

Returns
  the value of the delay

Note
  the delay can have negative values The negative values are used to place the trigger inside the buffer The value of the delay represents the number of samples in buffer before the triggered sample If the value is 0, the triggered sample will be the first one in the buffer For a buffer of 1000 samples, in order to have the trigger at the middle, you need to set it to -500 The minimum negative value is -8192
  the delay can have positive values TBD

## getAnalogExternalCondition()

virtual M2K_TRIGGER_CONDITION_DIGITAL libm2k::M2kHardwareTrigger::getAnalogExternalCondition | ( | unsigned int | chnIdx | ) |

pure virtual

getAnalogExternalCondition

Parameters

  chnIdx | : integer - the index of the required channel

Returns
  M2K_TRIGGER_CONDITION_DIGITAL

## getAnalogExternalOutSelect()

virtual M2K_TRIGGER_OUT_SELECT libm2k::M2kHardwareTrigger::getAnalogExternalOutSelect | ( |  | ) |

virtual

Check which trigger events are forwarded on the TO (trigger out) pin.

Returns
  M2K_TRIGGER_OUT_SELECT :
  SELECT_NONE;
  SELECT_TRIGGER_IN;
  SELECT_DIGITAL_IN;
  SELECT_ANALOG_IN;

Note
  Only available from firmware v0.24.

## getAnalogHysteresis()

virtual double libm2k::M2kHardwareTrigger::getAnalogHysteresis | ( | unsigned int | chnIdx | ) |

pure virtual

Get the analog hysteresis value for one channel.

Parameters

  chnIdx | the required channel

Returns
  the value of the hysteresis in Volts

## getAnalogLevel()

virtual double libm2k::M2kHardwareTrigger::getAnalogLevel | ( | unsigned int | chnIdx | ) |

pure virtual

Get the analog trigger level for one channel.

Parameters

  chnIdx | the required channel

Returns
  the analog trigger level in volts

## getAnalogLevelRaw()

virtual int libm2k::M2kHardwareTrigger::getAnalogLevelRaw | ( | unsigned int | chnIdx | ) |

pure virtual

Get the raw analog trigger level for one channel.

Parameters

  chnIdx | the required channel

Returns
  the raw analog trigger level

## getAnalogMode()

virtual M2K_TRIGGER_MODE libm2k::M2kHardwareTrigger::getAnalogMode | ( | unsigned int | chnIdx | ) |

pure virtual

Get the mode for the analog trigger on a specific channel.

Parameters

  chnIdx | the required channel

Returns
  the analog trigger mode

## getAnalogOutTriggerCondition()

virtual M2K_TRIGGER_CONDITION_OUT libm2k::M2kHardwareTrigger::getAnalogOutTriggerCondition | ( |  | ) | const

pure virtual

Returns the condition of the AnalogOut trigger event when the source is TI.

Returns
  M2K_TRIGGER_CONDITION_OUT :
  NONE_OUT - disabled;
  LOW_LEVEL_OUT;
  HIGH_LEVEL_OUT;
  ANY_EDGE_OUT;
  RISING_EDGE_OUT;
  FALLING_EDGE_OUT;

Note
  Only available from firmware v0.33.

## getAnalogOutTriggerSource()

virtual M2K_TRIGGER_SOURCE_OUT libm2k::M2kHardwareTrigger::getAnalogOutTriggerSource | ( |  | ) | const

pure virtual

Returns the source of the AnalogOut trigger event.

Returns
  M2K_TRIGGER_SOURCE_OUT :
  TRIGGER_NONE;
  TRIGGER_TI;
  TRIGGER_ADC;
  TRIGGER_LA;

Note
  Only available from firmware v0.33.

## getAnalogOutTriggerStatus()

virtual M2K_TRIGGER_STATUS_ANALOG_OUT libm2k::M2kHardwareTrigger::getAnalogOutTriggerStatus | ( |  | ) | const

pure virtual

Returns the action that is performed when a trigger event occurs.

Returns
  M2K_TRIGGER_STATUS_ANALOG_OUT :
  DISABLED;
  START;
  STOP;

Note
  Only available from firmware v0.33.

## getAnalogSource()

virtual M2K_TRIGGER_SOURCE_ANALOG libm2k::M2kHardwareTrigger::getAnalogSource | ( |  | ) |

pure virtual

Get the source of the analog trigger.

Returns
  analog trigger source (channel1, channel2, etc)

## getAnalogSourceChannel()

virtual int libm2k::M2kHardwareTrigger::getAnalogSourceChannel | ( |  | ) |

pure virtual

Get the channel source of the analog trigger.

Returns
  analog trigger channel source (channel1, channel2)

## getAnalogStreamingFlag()

virtual bool libm2k::M2kHardwareTrigger::getAnalogStreamingFlag | ( |  | ) |

pure virtual

Get the streaming flag for the analog part.

Returns
  whether the streaming is enabled (true/false)

## getDigitalCondition() [1/2]

virtual M2K_TRIGGER_CONDITION_DIGITAL libm2k::M2kHardwareTrigger::getDigitalCondition | ( | libm2k::digital::DIO_CHANNEL | chnIdx | ) |

pure virtual

Get the trigger condition for the digital trigger on a specific channel.

Parameters

  chnIdx | An enumerator corresponding to the index of the required channel

Returns
  The trigger condition

## getDigitalCondition() [2/2]

virtual M2K_TRIGGER_CONDITION_DIGITAL libm2k::M2kHardwareTrigger::getDigitalCondition | ( | unsigned int | chnIdx | ) |

pure virtual

Get the trigger condition for the digital trigger on a specific channel.

Parameters

  chnIdx | The index of the required channel

Returns
  The trigger condition

## getDigitalDelay()

virtual int libm2k::M2kHardwareTrigger::getDigitalDelay | ( |  | ) | const

pure virtual

Get the digital trigger delay.

Returns
  the value of the digital delay

Note
  the delay can have negative values The negative values are used to place the trigger inside the buffer The value of the delay represents the number of samples in buffer before the triggered sample If the value is 0, the triggered sample will be the first one in the buffer For a buffer of 1000 samples, in order to have the trigger at the middle, you need to set it to -500 The minimum negative value is -8192
  the delay can have positive values TBD

## getDigitalExternalCondition()

virtual M2K_TRIGGER_CONDITION_DIGITAL libm2k::M2kHardwareTrigger::getDigitalExternalCondition | ( |  | ) | const

pure virtual

getDigitalExternalCondition

Returns
  M2K_TRIGGER_CONDITION_DIGITAL

## getDigitalMode()

virtual libm2k::digital::DIO_TRIGGER_MODE libm2k::M2kHardwareTrigger::getDigitalMode | ( |  | ) |

pure virtual

Get the mode for the digital trigger.

Returns
  the digital trigger mode (DIO_OR/DIO_AND)

## getDigitalSource()

virtual M2K_TRIGGER_SOURCE_DIGITAL libm2k::M2kHardwareTrigger::getDigitalSource | ( |  | ) | const

virtual

Check which is the source of the DigitalIn interface trigger event.

Returns
  M2K_TRIGGER_SOURCE_DIGITAL :
  SRC_TRIGGER_IN;
  SRC_ANALOG_IN;
  SRC_NONE;

Note
  Only available from firmware v0.24.

## getDigitalStreamingFlag()

virtual bool libm2k::M2kHardwareTrigger::getDigitalStreamingFlag | ( |  | ) |

pure virtual

Get the streaming flag for the digital part.

Returns
  whether the streaming is enabled (true/false)

## setAnalogCondition()

virtual void libm2k::M2kHardwareTrigger::setAnalogCondition | ( | unsigned int | chnIdx,
|  | M2K_TRIGGER_CONDITION_ANALOG | cond
| ) |  |

pure virtual

Set the trigger condition for the analog trigger on a specific channel.

Parameters

  chnIdx | the required channel
  cond | the specific trigger condition

## setAnalogDelay()

virtual void libm2k::M2kHardwareTrigger::setAnalogDelay | ( | int | delay | ) |

pure virtual

Set the analog trigger delay.

Parameters

  delay | the value of the analog delay

Note
  the delay can have negative values The negative values are used to place the trigger inside the buffer The value of the delay represents the number of samples in buffer before the triggered sample If the value is 0, the triggered sample will be the first one in the buffer For a buffer of 1000 samples, in order to have the trigger at the middle, you need to set it to -500 The minimum negative value is -8192
  the delay can have positive values TBD

## setAnalogExternalCondition()

virtual void libm2k::M2kHardwareTrigger::setAnalogExternalCondition | ( | unsigned int | chnIdx,
|  | M2K_TRIGGER_CONDITION_DIGITAL | cond
| ) |  |

pure virtual

setAnalogExternalCondition

Parameters

  chnIdx | : integer - the index of the required channel
  cond | : M2K_TRIGGER_CONDITION_DIGITAL

## setAnalogExternalOutSelect()

virtual void libm2k::M2kHardwareTrigger::setAnalogExternalOutSelect | ( | M2K_TRIGGER_OUT_SELECT | output_select | ) |

virtual

Select what should be redirected on the TO (trigger out) pin.
The options are (none, trigger in, digital in, analog in).
.

Parameters

  output_select | : of type M2K_TRIGGER_OUT_SELECT: SELECT_TRIGGER_IN - forwards trigger events from TI pin(trigger in); SELECT_DIGITAL_IN - forwards trigger events from DigitalIn interface; SELECT_ANALOG_IN - forwards trigger events from AnalogIn interface; SELECT_NONE - no trigger event is forwarded;

Note
  Only available from firmware v0.24.

## setAnalogHysteresis()

virtual void libm2k::M2kHardwareTrigger::setAnalogHysteresis | ( | unsigned int | chnIdx,
|  | double | hysteresis
| ) |  |

pure virtual

Set the analog hysteresis value for one channel.

Parameters

  chnIdx | the required channel
  hysteresis | in Volts

## setAnalogLevel()

virtual void libm2k::M2kHardwareTrigger::setAnalogLevel | ( | unsigned int | chnIdx,
|  | double | v_level
| ) |  |

pure virtual

Set the analog trigger level for one channel.

Parameters

  chnIdx | the required channel
  v_level | the analog trigger level in volts

## setAnalogLevelRaw()

virtual void libm2k::M2kHardwareTrigger::setAnalogLevelRaw | ( | unsigned int | chnIdx,
|  | int | level
| ) |  |

pure virtual

Set the raw analog trigger level for one channel.

Parameters

  chnIdx | the required channel
  level | the raw analog trigger level

## setAnalogMode()

virtual void libm2k::M2kHardwareTrigger::setAnalogMode | ( | unsigned int | chnIdx,
|  | M2K_TRIGGER_MODE | mode
| ) |  |

pure virtual

Set the mode for the analog trigger on a specific channel.

Parameters

  chnIdx | the required channel
  mode | the analog trigger mode

## setAnalogOutTriggerCondition()

virtual void libm2k::M2kHardwareTrigger::setAnalogOutTriggerCondition | ( | M2K_TRIGGER_CONDITION_OUT | condition | ) |

pure virtual

Configures the triggering condition when the source of the AnalogOut trigger event is set to TRIGGER_TI_0.

Parameters

  condition | of type M2K_TRIGGER_CONDITION_OUT: NONE_OUT - disabled; LOW_LEVEL_OUT; HIGH_LEVEL_OUT; ANY_EDGE_OUT; RISING_EDGE_OUT; FALLING_EDGE_OUT;

Note
  For the other sources this condition is ignored, the configuration is forwarded by the corresponding interface.
  Only available from firmware v0.33.

## setAnalogOutTriggerSource()

virtual void libm2k::M2kHardwareTrigger::setAnalogOutTriggerSource | ( | M2K_TRIGGER_SOURCE_OUT | src | ) |

pure virtual

Select which interface triggers the AnalogOut.

Parameters

  src | of type M2K_TRIGGER_SOURCE_OUT: TRIGGER_NONE - trigger events are disabled; TRIGGER_TI - trigger events on the TI pin will trigger the AnalogOut interface; TRIGGER_ADC - trigger events on the AnalogIn interface will trigger the AnalogOut interface; TRIGGER_LA - trigger events on the DigitalIn interface will trigger the AnalogOut interface;

Note
  Only available from firmware v0.33.

## setAnalogOutTriggerStatus()

virtual void libm2k::M2kHardwareTrigger::setAnalogOutTriggerStatus | ( | M2K_TRIGGER_STATUS_ANALOG_OUT | status | ) |

pure virtual

Defines the action to be performed when a trigger event occurs.

Parameters

  status | of type M2K_TRIGGER_STATUS_ANALOG_OUT: DISABLED - no action is performed when a trigger event occurs; START - the AnalogOut interface starts outputting samples; STOP - the AnalogOut interface stops outputting samples;

Note
  Only available from firmware v0.33.

## setAnalogSource()

virtual void libm2k::M2kHardwareTrigger::setAnalogSource | ( | M2K_TRIGGER_SOURCE_ANALOG | src | ) |

pure virtual

Set the source of the analog trigger.

Parameters

  src | analog trigger source (channel1, channel2, etc)

## setAnalogSourceChannel()

virtual void libm2k::M2kHardwareTrigger::setAnalogSourceChannel | ( | unsigned int | chnIdx | ) |

pure virtual

Set the channel source of the analog trigger.

Parameters

  chnIdx | the index of the channel that should be used

## setAnalogStreamingFlag()

virtual void libm2k::M2kHardwareTrigger::setAnalogStreamingFlag | ( | bool | enable | ) |

pure virtual

Set the streaming flag for the analog part.

Parameters

  enable | the streaming

## setDigitalCondition() [1/2]

virtual void libm2k::M2kHardwareTrigger::setDigitalCondition | ( | libm2k::digital::DIO_CHANNEL | chnIdx,
|  | M2K_TRIGGER_CONDITION_DIGITAL | cond
| ) |  |

pure virtual

Set the trigger condition for the digital trigger on a specific channel.

Parameters

  chnIdx | An enumerator corresponding to the index of the required channel
  cond | the specific trigger condition

## setDigitalCondition() [2/2]

virtual void libm2k::M2kHardwareTrigger::setDigitalCondition | ( | unsigned int | chnIdx,
|  | M2K_TRIGGER_CONDITION_DIGITAL | cond
| ) |  |

pure virtual

Set the trigger condition for the digital trigger on a specific channel.

Parameters

  chnIdx | The index of the required channel
  cond | the specific trigger condition

## setDigitalDelay()

virtual void libm2k::M2kHardwareTrigger::setDigitalDelay | ( | int | delay | ) |

pure virtual

Set the digital trigger delay.

Parameters

  delay | the value of the digital delay

Note
  the delay can have negative values The negative values are used to place the trigger inside the buffer The value of the delay represents the number of samples in buffer before the triggered sample If the value is 0, the triggered sample will be the first one in the buffer For a buffer of 1000 samples, in order to have the trigger at the middle, you need to set it to -500 The minimum negative value is -8192
  the delay can have positive values TBD

## setDigitalExternalCondition()

virtual void libm2k::M2kHardwareTrigger::setDigitalExternalCondition | ( | M2K_TRIGGER_CONDITION_DIGITAL | cond | ) |

pure virtual

setDigitalExternalCondition

Parameters

  cond | : M2K_TRIGGER_CONDITION_DIGITAL

## setDigitalMode()

virtual void libm2k::M2kHardwareTrigger::setDigitalMode | ( | libm2k::digital::DIO_TRIGGER_MODE | mode | ) |

pure virtual

Set the mode for the digital trigger.

Parameters

  mode | the digital trigger mode (DIO_OR/DIO_AND)

## setDigitalSource()

virtual void libm2k::M2kHardwareTrigger::setDigitalSource | ( | M2K_TRIGGER_SOURCE_DIGITAL | external_src | ) |

virtual

Select which interface triggers the DigitalIn.

Parameters

  external_src | of type M2K_TRIGGER_SOURCE_DIGITAL: SRC_TRIGGER_IN - trigger events on the TI(trigger in) pin trigger the DigitalIn interface; SRC_ANALOG_IN - trigger events on the AnalogIn interface trigger the DigitalIn interface; SRC_NONE - trigger events on the DigitalIn are conditioned by the internal digital trigger structure;

Note
  Only available from firmware v0.24.

## setDigitalStreamingFlag()

virtual void libm2k::M2kHardwareTrigger::setDigitalStreamingFlag | ( | bool | enable | ) |

pure virtual

Set the streaming flag for the digital part.

Parameters

  enable | the streaming

Note
  The digital condition needs to be set before setting the digital streaming flag to true, otherwise after setting the streaming flag to true, a trigger might occur on the old condition.