oscilloscope 0.0.4

Creator: railscoder56

Last updated:

Add to Cart

Description:

oscilloscope 0.0.4

Oscilloscope
An oscilloscope for python that just works™
Features
Simple to use
This
import random
from time import sleep

from oscilloscope import Osc

osc = Osc()


@osc.signal
def simple_random_signal(state):
while True:
state.draw(random.random())
sleep(0.1)


osc.start()

Gives you this

Parallel compute
Each osc.signal gets it's own process.
This
import random
from time import sleep

from oscilloscope import Osc


osc = Osc(nrows=2, ncols=3)


@osc.signal
def signal1(state):
while True:
state.draw((random.random())
sleep(0.1)


@osc.signal
def signal2(state):
while True:
state.draw(random.random(), row=1, col=2)
sleep(0.1)


osc.start()

Gives you this

P.S. Don't worry about race conditions, state.draw() is atomic. (See zproc)
Dynamic axis scale
The Y-axis's scale is dynamic, meaning that the graph's y axis scales with your signal.
This
import random
from time import sleep

from oscilloscope import Osc


# adjust window_sec and intensity to improve visibility
osc = Osc(window_sec=10, intensity=1)


@osc.signal
def increasing_signal(state):
delta = 1

while True:
state.draw(random.randint(-delta, delta))
delta += 5
sleep(0.01)


osc.start()

Gives you this

Automatic normalization
This
import random
from time import sleep

from oscilloscope import Osc


# turn on normalization
osc = Osc(normalize=True)


@osc.signal
def increasing_signal(state):
delta = 1

while True:
state.draw(random.randint(-delta, delta))
delta += 5
sleep(0.01)


osc.start()

Gives you this

This was the same signal as the [earlier](#Automatic normalization) one,
but it looks a lot like the simple example, because we turned on normalization!
The Y-axis will now show, % max-amplitude encountered at the time, not the raw value.
Install

pip install oscilloscope
MIT Licence
Python 3.6+ only.

🐍🏕️

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.