player

Examples

Random numbers

"""Example of playing random signal."""
import os
import sys
sys.path.insert(0, os.path.abspath('.'))
from dsplab.player import RandomDataProducer, SignalPlayer


def main():
    """Entry point."""
    data_producer = RandomDataProducer(interval=(1, 100))
    player = SignalPlayer(interval=0.02)
    player.set_data_producer(data_producer)
    player.start()
    while True:
        try:
            sample = player.get_sample()
            print(sample)
        except KeyboardInterrupt:
            break
    player.stop()


if __name__ == "__main__":
    main()

CSV-file

"""Example of playing signal from CSV file."""
import os
import sys
sys.path.insert(0, os.path.abspath('.'))
from dsplab.player import CsvDataProducer, SignalPlayer


def main():
    """Play CSV file."""
    data_producer = CsvDataProducer(file_name="demo/player/test.csv", delimiter=',')
    data_producer.select_columns(['F', 'Ua1'])
    # data_producer.select_columns([0, 1]) # <--- It's all right too
    player = SignalPlayer(interval=0.02)
    player.set_data_producer(data_producer)
    player.start()
    while True:
        try:
            sample = player.get_sample()
            print(sample)
        except KeyboardInterrupt:
            break
    player.stop()


if __name__ == "__main__":
    main()

Members

Playing signal from file. Online mode for offline data.

class dsplab.player.CsvDataProducer(file_name=None, delimiter=';', encoding='utf-8', columns=None)[source]

Bases: dsplab.player.DataProducer

Produces sample from headered CSV file.

delimiter

delimiter in CSV file.

get_delimiter()[source]

Return delimiter.

get_sample()[source]

Return sample.

select_columns(keys)[source]

Select returned columns. Numbers or names of columns can be used.

set_delimiter(delimiter)[source]

Set delimiter.

set_file(file_name, delimiter=None, encoding='utf-8')[source]

Set file for reading.

start()[source]

Init reader.

class dsplab.player.DataProducer[source]

Bases: object

Base class for adapters for data producer.

get_sample()[source]

Return sample.

start()[source]

Do some operations in producer when player starts.

stop()[source]

Do some operations in producer when player stops.

class dsplab.player.RandomDataProducer(interval)[source]

Bases: dsplab.player.DataProducer

Data producer with random values on output.

get_sample()[source]

Return sample.

class dsplab.player.RepeatedTimer(interval, function, *args, **kwargs)[source]

Bases: object

Timer.

get_interval()[source]

Get interval.

interval

Timeout interval (sec)

set_interval(interval)[source]

Set interval.

start()[source]

Start timer.

stop()[source]

Stop timer.

class dsplab.player.SignalPlayer(interval)[source]

Bases: object

Class for playing text file as stream.

get_sample()[source]

Return sample.

set_data_producer(data_producer)[source]

Set adapter with get_sample() method.

start()[source]

Start player.

stop()[source]

Stop player.