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.
Check out the Rust libraries in their own repository.
Add the PicoSDK
NuGet package:
dotnet add package PicoSDK
Check out the usage example in the dotnet README
Install the pico_sdk
package:
pip install pico_sdk
Check out the usage example in the Python README
Add the pico-sdk
package:
npm i pico-sdk
Check out the usage example in the node.js README
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!
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.