nor1029-controller
Programmatically control the Norsonic Nor265 microphone boom / turntable
Install
pip install nor1029-controller
Usage
from nor1029_controller import Nor265
with Nor265('/dev/serial.0') as nor:
nor.rotate(180, speed=10, acceleration=2)
API
Nor265(port)
port
The serial port to connect to.
nor
Nor265 instance.
.angle
readonly
Optional parameters will default to whatever was previously set.
.rotate(angle, speed?, acceleration?)
.rotate_relative(angle, speed?, acceleration?)
.start_sweep(start_angle, stop_angle, period, acceleration?)
Oscillate between two angles.
.start_continuous_rotation(direction, speed?, acceleration?)
from nor1029_controller import Nor265, RotationDirection
import time
with Nor265() as nor:
nor.start_continuous_rotation(
direction=RotationDirection.CLOCKWISE,
speed=10,
acceleration=2
)
# Rotate for 5 seconds
time.sleep(5)
nor.stop()
.start_rotate(angle, speed?, acceleration?)
.start_rotate_relative(angle, speed?, acceleration?)
The start_* methods will return when the movement starts, while the regular methods will also wait for the movement to finish.
.stop()
Stop any ongoing movement.
.go_home()
Rotate back to the home position.
.is_moving
readonly
.close()
If you're not using a context manager, you should instead call this method when you are done.
from nor1029_controller import Nor265
nor = Nor265('/dev/serial.0')
nor.rotate(180, speed=10, acceleration=2)
nor.close()
.wait_stopped(timeout?, poll_interval?)
Wait until it is not moving.
.rotate() and .rotate_relative() do this automatically.
timeout
The maximum time to wait in seconds.
Default: None (no timeout)
poll_interval
The interval between each check in seconds.
Default: 0.01 (10 milliseconds)
from nor1029_controller import Nor265
with Nor265('/dev/serial.0') as nor:
nor.start_rotate(180, speed=10, acceleration=2)
# ...
nor.wait_stopped(timeout=10)
list_ports()
Scan for available serial ports (according to their description).
from nor1029_controller import Nor265, list_ports
# Pick first serial port
port = list_ports()[0].device
with Nor265(port) as nor:
nor.rotate(180, speed=10, acceleration=2)
RotationDirection
Enum
CLOCKWISECOUNTER_CLOCKWISE
Metadata
Release files for nor1029-controller 0.5.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| nor1029_controller-0.5.0.tar.gz | 12.1 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| nor1029_controller-0.5.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 17.9 kB
Release files / nor1029_controller-0.5.0.tar.gz
| Download URL | nor1029_controller-0.5.0.tar.gz |
|---|---|
| Size | 12.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
018c264070d8f887f9f32124436d2bc55d1b896b89003cb2ca1f228e00c514f1
|
|
BLAKE2b-256 checksum How to use checksums |
9b1d6ee581dae220ed2cff3cdc1bec8b019acdcbcf3bb57c439aea858c1ac40f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.7.13
|
Release files / nor1029_controller-0.5.0-py3-none-any.whl
| Download URL | nor1029_controller-0.5.0-py3-none-any.whl |
|---|---|
| Size | 5.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b2b472b54c97b0ea8885b9ec971b12b47f5dd4b98724cb82d4ee81c8e56fe4f7
|
|
BLAKE2b-256 checksum How to use checksums |
f6373426508c56f625981de7224b1ab431b9b77a5a4cb39e9540b931dc8383db
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.7.13
|
Security for nor1029-controller 0.5.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.