Skip to main content

AmfiTrack extension for Amfiprot

Project description

AmfiTrack extensions for the Amfiprot package.

Installation

Install (or update) with pip:

pip install -U amfiprot-amfitrack

Usage example

Instead of creating a generic amfiprot.Device, create an amfitrack.Device to get access to AmfiTrack specific functionality and payload interpretation:

import amfiprot
import amfiprot_amfitrack as amfitrack

VENDOR_ID = 0xC17
PRODUCT_ID_SENSOR = 0xD12
PRODUCT_ID_SOURCE = 0xD01

if __name__ == "__main__":
    conn = None
    try:
        conn = amfiprot.USBConnection(VENDOR_ID, PRODUCT_ID_SENSOR)
    except:
        try:
            conn = amfiprot.USBConnection(VENDOR_ID, PRODUCT_ID_SOURCE)
        except:
            print("No Amfitrack device found")
            exit()
            
    nodes = conn.find_nodes()
    Devs = []

    print(f"Found {len(nodes)} node(s).")
    for node in nodes:
        print(f"[{node.tx_id}] {node.name}")
        Devs.append(amfitrack.Device(node))

    conn.start()

    while True:
        for idx, Dev in enumerate(Devs):
            if Dev.packet_available():
                packet = Dev.get_packet()
                if type(packet.payload) == amfitrack.payload.EmfImuFrameIdPayload:
                    # Sensor measurement package 
                    payload: amfitrack.payload.EmfImuFrameIdPayload = packet.payload
                    print(payload.emf) # emf contains position and orientation
                elif type(packet.payload) == amfitrack.payload.SourceMeasurementPayload:
                    # Source measurement package
                    payload: amfitrack.payload.SourceMeasurementPayload = packet.payload
                    print("Source current:" + str(payload.current))
                elif type(packet.payload) == amfitrack.payload.SourceCalibrationPayload:
                    # Source calibration package (sent at 5Hz)
                    payload: amfitrack.payload.SourceCalibrationPayload = packet.payload
                    print("Source frequency:" + str(payload.frequency))
                else:
                    print(packet)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

amfiprot_amfitrack-0.0.1a15.tar.gz (7.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

amfiprot_amfitrack-0.0.1a15-py3-none-any.whl (7.3 kB view details)

Uploaded Python 3

File details

Details for the file amfiprot_amfitrack-0.0.1a15.tar.gz.

File metadata

  • Download URL: amfiprot_amfitrack-0.0.1a15.tar.gz
  • Upload date:
  • Size: 7.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.1

File hashes

Hashes for amfiprot_amfitrack-0.0.1a15.tar.gz
Algorithm Hash digest
SHA256 bc006373646e4f56fe6356f9decda8d4cbad6e5f6bdf809ada949ee62267d4ed
MD5 10ee99a98a8f0d37fe7fa07b47ae7c7e
BLAKE2b-256 f76487ada58ffdc95c6cb5e5a2b8a45bda7f7f22a5d9d2f70786f2747b19bb84

See more details on using hashes here.

File details

Details for the file amfiprot_amfitrack-0.0.1a15-py3-none-any.whl.

File metadata

File hashes

Hashes for amfiprot_amfitrack-0.0.1a15-py3-none-any.whl
Algorithm Hash digest
SHA256 1fb125526f8ed9acfd22f6ce3daa66e313c353c9ae699526eb133ac91af9d627
MD5 653c900eb22d25b0970984d02f6662b8
BLAKE2b-256 16745a8115993da073aaf7e49ee65bf1a65c66774974691266bc16b6a807bc1e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page