Skip to content

meatysolutions/pico-sdk-bindings

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pico-sdk-bindings

GitHub Workflow Status GitHub

Cross-platform, gap-free streaming from any Pico Technology oscilloscope

Note: These are not official Pico Technology packages

These packages wrap all current Pico oscilloscope drivers in a high-level, common API written in Rust. This API is compiled to native code and exposed to multiple programming languages through simple C bindings.

Rust

Crates.io docs.rs

Check out the Rust libraries in their own repository.

.NET

Nuget

Add the PicoSDK NuGet package:

dotnet add package PicoSDK

Check out the usage example in the dotnet README

Python

PyPI PyPI - Python Version

Install the pico_sdk package:

pip install pico_sdk

Check out the usage example in the Python README

Node.js

npm node-current

Add the pico-sdk package:

npm i pico-sdk

Check out the usage example in the node.js README

Issues, Feature Requests and Contributions

Until a 1.0 release, the libraries in this repository are considered a work in progress and do not follow semver semantics.

Please report any issues or feature requests in the issue tracker. Pull requests are welcome and encouraged!

Building & Packaging

The Rust code will build and test on any platform via cargo build and cargo test.

We pre-compile binaries for common platforms and architectures via GitHub Actions.

  • On Windows, macOS and Linux we run node scripts/build.js which compiles the Rust code to native libraries.
  • For the final step we run node scripts/bindings.js which copies the native libraries to the correct directories and builds/packages for each language.
  • On git tag creation, node scripts/publish.js publishes the packages to the respective package managers.

If you run the above steps manually, the resulting packages will only support your current platform. The dotnet build currently fails if any native artifacts are missing so you'll likely need to modify PicoSDK.csproj to build locally.

About

Cross-platform, gap-free streaming from Pico Technology oscilloscopes

Resources

License

Stars

Watchers

Forks

Releases

No releases published