pogona.ModulationOOK
- class pogona.ModulationOOK[source]
Bases:
Modulation
Attributes
Component name of the attached destructor.
Component name of the attached injector.
Component name of the attached pump.
Unique name of this component, unless it is "Generic component".
Duration of one injection in seconds.
Injection volume for each bit in litres.
Time in seconds to wait after an injection (with injection_duration) before injecting the next pulse or, if ascii_sequence or bit_sequence is given, the time to wait before injecting the next bit.
By default, the attached injector is turned on in every time step.
Methods
__init__
()finalize
(simulation_kernel)initialize
(simulation_kernel, init_stage)Use
InitStages
to initialize this Component instance.process_new_time_step
(simulation_kernel, ...)set_arguments
(**kwargs)Read arguments as key value pairs and set this component's member variables accordingly.
transmit_bitstream
(bitstream, ...)- finalize(simulation_kernel: SimulationKernel)
- initialize(simulation_kernel: SimulationKernel, init_stage: InitStages)[source]
Use
InitStages
to initialize this Component instance.
- process_new_time_step(simulation_kernel: SimulationKernel, notification_stage: NotificationStages)[source]
- set_arguments(**kwargs)
Read arguments as key value pairs and set this component’s member variables accordingly. Validity of the argument values will be checked in
initialize()
.
- transmit_bitstream(bitstream: str, simulation_kernel: SimulationKernel, finish_callback: Optional[Callable])
- attached_destructor = ''
Component name of the attached destructor.
- attached_injector = ''
Component name of the attached injector.
- attached_pump = ''
Component name of the attached pump. A pump is required for coordinating the timing of an injection. Consider using an ObjectPumpTimed if you are not dealing with injection volumes or fluid vector fields in general.
- component_name = 'Generic component'
Unique name of this component, unless it is “Generic component”.
- id
Unique integer component ID
- injection_duration = 0.0
Duration of one injection in seconds. If a bit stream is given, the injection_duration specifies the duration of the injection for each individual bit.
- injection_volume = 0.0
Injection volume for each bit in litres. If this is given, injection_duration should be 0 as it will be determined by the pump model. In this case, pause_duration will be equal to the cycle duration and independent of how long an injection takes. Take care to not let injections overlap.
- pause_duration = 0.0
Time in seconds to wait after an injection (with injection_duration) before injecting the next pulse or, if ascii_sequence or bit_sequence is given, the time to wait before injecting the next bit.
- property symbol_duration
- use_burst = False
By default, the attached injector is turned on in every time step. If use_burst is True, however, it will only be turned on at the beginning of an injection.