Skip to main content

Python control, recording and diagnostics tools for ME GSV-8 based measurement setups.

Project description

GSVpiko

GSVpiko is a Python package for configuring, reading, recording and diagnosing ME GSV-8 measurement amplifiers. GSV is short for the German term GleichSpannungsVerstärker.

It includes project-specific configuration files for multiple real GSV-8 devices, sensors and setups. The NPort Administrator is not required for the supported workflow.

More information about GSVpiko is available in docs/. Reference material for the GSV measurement amplifier is available in references/.

Installation

Choose one installation method.

PyPI

Recommended for normal use:

py -m pip install gsvpiko

On systems where python is available instead of the Windows py launcher:

python -m pip install gsvpiko

Check the installation:

gsvpiko-client-tcp --help

If the command is not found on Windows, the Python Scripts directory may not be in PATH. The package is still installed in the Python environment that ran pip.

GitHub

Install the current repository state:

py -m pip install "gsvpiko @ git+https://github.com/moriz-bot/gsvpiko.git"

Install a specific tagged version:

py -m pip install "gsvpiko @ git+https://github.com/moriz-bot/gsvpiko.git@v0.1.2"

Local checkout

Clone and install the local project:

git clone https://github.com/moriz-bot/gsvpiko.git
cd gsvpiko
py -m pip install .

For development:

py -m pip install -e .

-e means editable mode: local source-code changes are used directly without reinstalling.

Version check

py -c "import gsvpiko; print(gsvpiko.__version__)"

or directly from package metadata:

py -c "from importlib.metadata import version; print(version('gsvpiko'))"

Main features

  • setup-based configuration of ME GSV-8 measurement amplifiers
  • multiple GSV devices + multiple 3-axis sensors
  • real device, sensor and setup configuration files
  • sensor scaling and software-side crosstalk compensation
  • reading and recording measurement values
  • CSV and text-report generation
  • setup validation before measurement
  • connection, runtime-rate and GSV status diagnostics
  • external TCP control interface with a simple ASCII command protocol
  • manual TCP client for testing the external control interface
  • CSV plotting helper
  • NPort mode switching via transport_nport
    → no NPort Administrator required for the supported Real COM/TCP workflow
  • baudrate probing
    → automatic search for a working GSV-8 baudrate if the current device setting is unknown

Transport and NPort support

Typical hardware chain:

GSV-8 → serial interface → NPort → Ethernet → computer

Supported NPort operating modes:

NPort Real COM Mode   → GSVpiko transport: serial
NPort TCP Server Mode → GSVpiko transport: tcp

transport_nport can switch the NPort operating mode automatically. This is especially useful when moving between serial-style access and direct TCP access without manually changing the NPort configuration in a separate administration tool.

Baudrate probing

A GSV-8 connection can fail if the host uses a different baudrate than the device. GSVpiko includes baudrate probing utilities that test supported baudrates automatically until communication with the amplifier is established.

This is useful when the current GSV-8 baudrate is unknown or was changed previously.

Tested result for the used GSV-8/NPort setup:

accepted: 460800 bit/s
rejected: 921600 bit/s

Therefore, 460800 bit/s is the highest tested accepted baudrate for this setup.

Tested sample-rate limits

For one 3-channel sensor at 460800 bit/s, the conservative largest streamed datatype is float32.

Estimated communication limit for float32:

2880 Hz

Tested and GSV-accepted rounded-down operating value:

2400 Hz

Additional short-test values:

float32 → 2400 Hz
int24   → 3200 Hz
int16   → 4000 Hz

For conservative operation with one 3-channel sensor, float32 at 2400 Hz is the practical tested upper value.

Known hardware status observation

🔴 HARDWARE_ERROR_ANALOG_OUTPUT (0xFFFF)

On the tested hardware, this status can still occur on the affected GSV device and can cause the red MOD LED/button indication to blink.

It was observed even after setting the analog outputs inactive through SetAOutType-style configuration values:

AOutType_Mode = 0x02
AOutType_Enum = 0

and also with:

AOutType_Mode = 0x02
AOutType_Enum = 5

In the observed setup, this analog-output hardware status did not prevent measurement output or recording.

Repository structure

src/gsvpiko/       Python package source code
docs/              project documentation and diagrams
references/        public reference documents used during development
README.md          project overview and installation notes
pyproject.toml     Python packaging metadata
LICENSE            license file

Important package areas:

app/               command-line entry points
config/            device, sensor and setup configuration
coordination/      setup resolution, validation, recording and reporting logic
device/            GSV device abstraction
external/          external TCP control interface
features/          GSV feature groups
protocol/          frame building, parsing, payload coding and CRC
runtime/           runtime reading, routing and buffering
transport/         serial, TCP and NPort transport handling

Basic command examples

Validate a configured setup:

gsvpiko-setup-validation

Apply a configured setup:

gsvpiko-setup-application

Read values from a setup:

gsvpiko-read-values

Record values from a setup:

gsvpiko-record-values

Run the external TCP interface:

gsvpiko-external-tcp-interface

Run the manual TCP client:

gsvpiko-client-tcp

Plot a GSVpiko CSV file:

gsvpiko-plot-csv path\to\file.csv

License

GSVpiko is distributed under the MIT License. See LICENSE.

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

gsvpiko-0.1.2.tar.gz (206.9 kB view details)

Uploaded Source

Built Distribution

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

gsvpiko-0.1.2-py3-none-any.whl (286.1 kB view details)

Uploaded Python 3

File details

Details for the file gsvpiko-0.1.2.tar.gz.

File metadata

  • Download URL: gsvpiko-0.1.2.tar.gz
  • Upload date:
  • Size: 206.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for gsvpiko-0.1.2.tar.gz
Algorithm Hash digest
SHA256 3be49f2ea876ab8996a5e3c7eff98e1193af7f7eea928b790e5baec6c0e4c383
MD5 ffaf40d1c856c440d7fb84d5283ce8f5
BLAKE2b-256 c7cd130b4ffc8660e62b8bb46b1a75e8ea8b2a3804173181f971168df22f6d60

See more details on using hashes here.

Provenance

The following attestation bundles were made for gsvpiko-0.1.2.tar.gz:

Publisher: release.yml on moriz-bot/gsvpiko

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gsvpiko-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: gsvpiko-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 286.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for gsvpiko-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 cf2f0692b43f0cb9c5bb63239a849ae32e01af52ba1fdc2afbd4a3b22c25a416
MD5 20d5846fd208e4e50ec77cf50af54027
BLAKE2b-256 b21e1577c3cadf12ae9de737cfe913e272295107fb69bfd3ee3c1f28359d26a1

See more details on using hashes here.

Provenance

The following attestation bundles were made for gsvpiko-0.1.2-py3-none-any.whl:

Publisher: release.yml on moriz-bot/gsvpiko

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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