Skip to main content

Ragtime Florid USB SDK - MIT direct control over USB CDC

Project description

florid-usb-sdk

Ragtime 机械臂 USB 主机 SDK — 提供基于 USB CDC 的 MIT 直接控制,支持 C++Python

架构

用户代码
  │
  ▼
florid_usb (Arm 类)
  │  ├── ProtocolStack (序列化 / 反序列化 / 可靠会话)
  │  └── Astrial (USB 串口传输,基于 Asio)
  │
  ▼
STM32H7 固件 (USB CDC)
  • 固件内置重力补偿(CasADi 生成),tau 参数是在重力补偿之上的额外前馈力矩
  • dt_usseq 由 SDK 根据两次调用之间的壁钟时间自动计算
  • 两次调用间隔 > 200ms 视为新轨迹(dt_us = 1000µs

获取源码

git clone https://github.com/Ragtime-LAB/florid-usb-sdk.git
cd florid-usb-sdk

# 初始化所有子模块
git submodule update --init --recursive

如果 clone 时忘了加 --recursive,随时补跑即可。

系统依赖(需预先安装)

C++20 编译器

项目使用 C++20 特性,必须使用支持 C++20 的编译器(GCC >= 10 / Clang >= 10 / MSVC 2022+)。

Ubuntu 24.04 及以上自带 GCC 14,可以忽略这一步; Ubuntu 22.04 默认 GCC 版本不足,建议安装 GCC 13:

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update
sudo apt install gcc-13 g++-13
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 130 \
  --slave /usr/bin/g++ g++ /usr/bin/g++-13
# 如需切换回系统默认编译器:
sudo update-alternatives --config gcc

其他系统包

sudo apt install cmake

Python 绑定还需要:

sudo apt install python3-dev python3-numpy
用途 必需
GCC >= 10 / Clang >= 10 / MSVC 2022+(C++20) 编译
cmake(>= 3.21) 构建系统
python3-dev Python C 扩展 仅 Python 绑定
python3-numpy Python 数组接口 仅 Python 绑定

其余依赖由 CMake 自动获取(git submodule / FetchContent):

依赖 来源 用途
Astrial git submodule (3rdparty/astrial) USB 串口传输(基于 Asio,跨平台)
florid-usb-protocols git submodule (protocols/) 协议栈(ProtocolStack, ReliableSession, 包定义)
rpl 内置于 protocols/3rdparty/rpl RPL 序列化框架
unordered_dense CMake FetchContent 哈希表
pybind11 CMake FetchContent(仅 Python) C++/Python 绑定

C++ 快速开始

构建

cmake -B build -S . -DCMAKE_BUILD_TYPE=Release -DBUILD_PYTHON=ON
cmake --build build

BUILD_PYTHON=ON 表示同时构建 Python 绑定库;如果只需要 C++ 库可以去掉此选项。

使用

#include <florid/usb/Arm.hpp>

using namespace florid::usb;
using namespace std::chrono_literals;

Arm::Config cfg;
cfg.device = "/dev/ttyACM0";
cfg.baud_rate = 115200;

Arm arm(cfg);
arm.connect();

// 启动 USB 会话(阻塞,等待固件确认)
arm.startSession(1s);

// 读取当前关节位置
auto status = arm.getArmStatus();

// 发送 MIT 位置指令(fire-and-forget,非阻塞)
float q[6]  = {0, 0, 0, 0, 0, 0.5};
float dq[6] = {};
float tau[6]= {};
float kp[6] = {8, 8, 8, 8, 8, 8};
float kd[6] = {0.7, 0.7, 0.7, 0.7, 0.7, 0.7};
arm.sendMitCommand(q, dq, tau, kp, kd);

// 停止会话
arm.stopSession(1s);

CMake 集成

add_subdirectory(path/to/florid-usb-sdk)

target_link_libraries(my_app PRIVATE florid_usb)

sdk/usb 目录下 protocols/ 子目录也会被自动构建。

C++ API 参考

Arm::Config

字段 默认值 说明
device /dev/ttyACM0 串口设备路径
baud_rate 115200 波特率
session_timeout 500ms 每个可靠请求的超时
max_retries 3 最大重试次数

Arm

方法 阻塞/非阻塞 说明
connect() 非阻塞 打开串口,启动后台工作线程
disconnect() 阻塞 关闭串口,停止线程
isConnected() 非阻塞 是否已连接且持续收到遥测
startSession(timeout) 阻塞 发送 UsbSessionStart 并等待响应
stopSession(timeout) 阻塞 发送 UsbSessionStop 并等待响应
sendMitCommand(q, dq, tau, kp, kd, mode) 非阻塞 MIT 直接控制(fire-and-forget)
setMotorControlMode(joint_id, mode, timeout) 阻塞 切换电机控制模式
sendPosVelCommand(q, dq, enabled_mask) 非阻塞 POSVEL 模式控制
sendVelocityCommand(dq, enabled_mask) 非阻塞 速度模式控制
sendHybridCommand(q, dq_limit, current_limit, enabled_mask) 非阻塞 混合力位控制
sendGripperCommand(q, dq, tau, kp, kd, mode) 非阻塞 夹爪 MIT 控制
emergencyStop() 非阻塞 急停(fire-and-forget)
getArmStatus() 非阻塞 获取缓存的机械臂状态
getGripperStatus() 非阻塞 获取缓存的夹爪状态
getMotorFeedback(timeout) 阻塞 请求电机详细反馈
homeAll(timeout) 阻塞 归零所有关节
clearFaults(timeout) 阻塞 清除所有故障
setZero(joint_id, timeout) 阻塞 将指定关节当前位置设为零点(DM 0xFE 帧)。joint_id 0..5 为臂关节,6 为夹爪

Python 快速开始

安装

pip install git+https://github.com/Ragtime-LAB/florid-usb-sdk.git

或从本地构建:

pip install -e .

使用

import numpy as np
from florid_usb import Arm, Config

# 创建配置
cfg = Config()
cfg.device = "/dev/ttyACM0"
cfg.baud_rate = 115200

# 连接
arm = Arm(cfg)
arm.connect()

# 启动会话
arm.start_session(timeout=1.0)

# 发送 MIT 指令
q  = np.zeros(6, dtype=np.float32)
dq = np.zeros(6, dtype=np.float32)
tau = np.zeros(6, dtype=np.float32)
kp = np.full(6, 8.0, dtype=np.float32)
kd = np.full(6, 0.7, dtype=np.float32)
q[5] = 0.5  # J5 偏转 0.5 rad

arm.send_mit_command(q, dq, tau, kp, kd, control_mode=1)

# 读取状态
status = arm.get_arm_status()
print(status["q"])       # numpy array, 6 floats
print(status["mode"])    # int: 0=INIT, 1=IDLE, 2=RUNNING, 3=FAULT, 4=ESTOP
print(status["gripper"]) # dict: q, dq, tau, temp_c, enabled

# 切换电机模式
arm.set_motor_control_mode(joint_id=0, mode="posvel", timeout=0.5)

# 停止
arm.stop_session()
arm.disconnect()

Python API 参考

florid_usb 模块导出 ArmConfig 两个类。

Config

属性 默认值 说明
device /dev/ttyACM0 串口设备路径
baud_rate 115200 波特率
session_timeout_ms 500 每个可靠请求的超时(毫秒)
max_retries 3 最大重试次数

Arm

方法 阻塞/非阻塞 说明
connect() 打开串口并启动通信
disconnect() 关闭串口
is_connected() 连接状态
start_session(timeout=0.5) 启动 USB 会话,timeout 单位秒
stop_session(timeout=0.5) 停止 USB 会话
send_mit_command(q, dq, tau, kp, kd, control_mode=1) MIT 控制,参数为长度为 6 的 numpy 数组
set_motor_control_mode(joint_id, mode, timeout=0.5) 切换电机模式。mode 可以是字符串 `'mit'
send_posvel_command(q, dq, enabled_mask=0x3f) POSVEL 控制
send_velocity_command(dq, enabled_mask=0x3f) 速度控制
send_hybrid_command(q, dq_limit, current_limit_norm, enabled_mask=0x3f) 混合力位控制
send_gripper_command(q, dq, tau, kp, kd, control_mode=1) 夹爪控制,参数为单个 float
emergency_stop() 急停
get_arm_status() 返回 dict,包含 mode, seq, timestamp_us, q, dq, tau, gripper
get_gripper_status() 返回 dict,包含 q, dq, tau, temp_c, enabled
get_motor_feedback(timeout=0.5) 返回 dict {motors: [...]},每个电机包含 joint_id, position_rad, speed_rad_s, torque_nm, temp_c
home_all(timeout=0.5) 归零
clear_faults(timeout=0.5) 清除故障
set_zero(joint_id, timeout=0.5) 将指定关节当前位置设为零点(DM 0xFE 帧)。joint_id 0..5 为臂关节,6 为夹爪;返回 True 表示固件已确认

Python 示例脚本

python/ 目录下提供了可直接运行的示例:

脚本 说明
example_simple.py MIT 控制,J5 斜坡运动 @ 500 Hz
example_gripper.py 夹爪开合控制
read_arm_status.py 持续读取并打印机械臂状态
read_dual_status.py 双机械臂状态读取
mit_pd_move_to_center.py MIT PD 控制移动到目标位置
tuning_ui.py Tkinter 调参 GUI
gripper_controller.py Tkinter 夹爪控制 GUI(连接串口、实时显示夹爪状态、回零按钮)
teleop_mit.py / teleop_posvel.py / teleop_hybrid.py 主从遥操作(MIT / POSVEL / HYBRID 模式)
gravity_compensation_control.py 重力补偿控制
computed_torque_sin_j12345.py 计算力矩 + 正弦轨迹
test_all_api.py 遍历所有 API 接口的自动化测试

CMake 构建后,通过设置 PYTHONPATH 运行:

PYTHONPATH=build/python python python/example_simple.py /dev/ttyACM0

或直接 pip install . 安装模块后运行:

pip install .
python python/example_simple.py /dev/ttyACM0

实机操作文档

详见此文档

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

florid_usb-0.2.1.tar.gz (933.3 kB view details)

Uploaded Source

Built Distributions

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

florid_usb-0.2.1-cp314-cp314-win_amd64.whl (325.9 kB view details)

Uploaded CPython 3.14Windows x86-64

florid_usb-0.2.1-cp314-cp314-musllinux_1_2_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

florid_usb-0.2.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (362.9 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

florid_usb-0.2.1-cp313-cp313-win_amd64.whl (319.2 kB view details)

Uploaded CPython 3.13Windows x86-64

florid_usb-0.2.1-cp313-cp313-musllinux_1_2_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

florid_usb-0.2.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (362.2 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

florid_usb-0.2.1-cp312-cp312-win_amd64.whl (319.2 kB view details)

Uploaded CPython 3.12Windows x86-64

florid_usb-0.2.1-cp312-cp312-musllinux_1_2_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

florid_usb-0.2.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (362.2 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

florid_usb-0.2.1-cp311-cp311-win_amd64.whl (316.8 kB view details)

Uploaded CPython 3.11Windows x86-64

florid_usb-0.2.1-cp311-cp311-musllinux_1_2_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

florid_usb-0.2.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (361.5 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

florid_usb-0.2.1-cp310-cp310-win_amd64.whl (315.5 kB view details)

Uploaded CPython 3.10Windows x86-64

florid_usb-0.2.1-cp310-cp310-musllinux_1_2_x86_64.whl (1.4 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

florid_usb-0.2.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (360.7 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

File details

Details for the file florid_usb-0.2.1.tar.gz.

File metadata

  • Download URL: florid_usb-0.2.1.tar.gz
  • Upload date:
  • Size: 933.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for florid_usb-0.2.1.tar.gz
Algorithm Hash digest
SHA256 e820aebcbdcc298d880aabf9c33d6121986775c7599d980d128501b0c26dcd07
MD5 54b86bdbca3eb01241b919efd18bd844
BLAKE2b-256 554da21aeeedecc9055528a994470487e4abd79f8567afcbd6462ffe8c370559

See more details on using hashes here.

Provenance

The following attestation bundles were made for florid_usb-0.2.1.tar.gz:

Publisher: publish-pypi.yml on Ragtime-LAB/florid-usb-sdk

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

File details

Details for the file florid_usb-0.2.1-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: florid_usb-0.2.1-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 325.9 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for florid_usb-0.2.1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 a80d0e138b5e8ce8c521b4ee95d70bbd7fac64e3a0819d9b5cfce5a51d056354
MD5 b838ef6d5ed0b5352cb06c44adddd370
BLAKE2b-256 84909cb3942186619c09da60282c732c02451cefaf29d47af9319419169a7787

See more details on using hashes here.

Provenance

The following attestation bundles were made for florid_usb-0.2.1-cp314-cp314-win_amd64.whl:

Publisher: publish-pypi.yml on Ragtime-LAB/florid-usb-sdk

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

File details

Details for the file florid_usb-0.2.1-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for florid_usb-0.2.1-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7c31706e4efadba4d5997b91ab6c516ee8cd38dee7ce00a0ce49da1a5007b179
MD5 8b45fb0d9b5e292055c242d68e7fe1d6
BLAKE2b-256 69d0f186e8403ff8e8407767bb89fa02dd9760b687d63b5099a332a4042b223e

See more details on using hashes here.

Provenance

The following attestation bundles were made for florid_usb-0.2.1-cp314-cp314-musllinux_1_2_x86_64.whl:

Publisher: publish-pypi.yml on Ragtime-LAB/florid-usb-sdk

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

File details

Details for the file florid_usb-0.2.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for florid_usb-0.2.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0d66c82e6b275a4fb2e03e853fb2c2e06e97db918bf39bfb1451d894c102c6b7
MD5 635bfcc1c5677626d90054433c7336ef
BLAKE2b-256 8195cc6abb278317f77dd1613337541bf6bb51bf4d6e516b23972a523e258021

See more details on using hashes here.

Provenance

The following attestation bundles were made for florid_usb-0.2.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish-pypi.yml on Ragtime-LAB/florid-usb-sdk

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

File details

Details for the file florid_usb-0.2.1-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: florid_usb-0.2.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 319.2 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for florid_usb-0.2.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 c1f98fd92f476a4c61ee6932edd2a6e2e51cbd696cb6a4e4a64e98c821e99230
MD5 3ec21190ee0e36321bc0e57442d23307
BLAKE2b-256 e9c84e94a531a9df5dddb38d727e89d2df362f6ad2bb636ca1a8259bd4ff2974

See more details on using hashes here.

Provenance

The following attestation bundles were made for florid_usb-0.2.1-cp313-cp313-win_amd64.whl:

Publisher: publish-pypi.yml on Ragtime-LAB/florid-usb-sdk

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

File details

Details for the file florid_usb-0.2.1-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for florid_usb-0.2.1-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 061b6ab19305415e46e3b5215de12694d45c9b64d6c718ea5db4bb73cc158e72
MD5 e3bb958f54e27a3a0d570084711ad104
BLAKE2b-256 b986f5e7a7b192395a7a16a7666eac64c60be39de40b0299bc928f1bb00fbe90

See more details on using hashes here.

Provenance

The following attestation bundles were made for florid_usb-0.2.1-cp313-cp313-musllinux_1_2_x86_64.whl:

Publisher: publish-pypi.yml on Ragtime-LAB/florid-usb-sdk

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

File details

Details for the file florid_usb-0.2.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for florid_usb-0.2.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 47e4cce29c8b04bb31b7f9b0eca52ba94bc9461486c6dc15972ed38074bdffaf
MD5 cb93e30757ec4ea0f503ab24ecc58ac6
BLAKE2b-256 c05ed1afb10800c58b12fcd85d0b351012a131386f2e89b7329dd90b5a794c82

See more details on using hashes here.

Provenance

The following attestation bundles were made for florid_usb-0.2.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish-pypi.yml on Ragtime-LAB/florid-usb-sdk

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

File details

Details for the file florid_usb-0.2.1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: florid_usb-0.2.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 319.2 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for florid_usb-0.2.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 8d38615debbdfac324ab705e491b92376413cf3198d075558558b0b55b93bdc3
MD5 979d626d732a310c803e064ba4c137cd
BLAKE2b-256 72279208783aae1be1d78a301d13cc73ab52a43e7ed8358c24bc0938384e0c59

See more details on using hashes here.

Provenance

The following attestation bundles were made for florid_usb-0.2.1-cp312-cp312-win_amd64.whl:

Publisher: publish-pypi.yml on Ragtime-LAB/florid-usb-sdk

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

File details

Details for the file florid_usb-0.2.1-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for florid_usb-0.2.1-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 44d05662ed66ee1e8920f78bc1e7a1810a6b5cde6be31517ab1bd0612f0464d2
MD5 974b50e7962e8fd3052969f60cca08d3
BLAKE2b-256 ed49e285ecb17d0dc959e919c7b2065b6b3125ca7302fb93f1aa62c41a158747

See more details on using hashes here.

Provenance

The following attestation bundles were made for florid_usb-0.2.1-cp312-cp312-musllinux_1_2_x86_64.whl:

Publisher: publish-pypi.yml on Ragtime-LAB/florid-usb-sdk

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

File details

Details for the file florid_usb-0.2.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for florid_usb-0.2.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e92c863ee4c88e98661bcc75ae78b96baff79e836330e3585111660acc38c4c3
MD5 f40b0093b387f8ea1072cf13a33d6447
BLAKE2b-256 90a895bbc3d887d0dab109199397024c050efce5ad48c06a4010fbc7af615333

See more details on using hashes here.

Provenance

The following attestation bundles were made for florid_usb-0.2.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish-pypi.yml on Ragtime-LAB/florid-usb-sdk

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

File details

Details for the file florid_usb-0.2.1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: florid_usb-0.2.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 316.8 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for florid_usb-0.2.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 101c1883f24f53e6a00df227de41d8b7cd1feb21462fca59cddae59593ec75ab
MD5 ba7448db537783909fe245e0f156c387
BLAKE2b-256 58e4f86eea992535b765659bf29c9e683dc68544ab35e71310f6fc74348004ea

See more details on using hashes here.

Provenance

The following attestation bundles were made for florid_usb-0.2.1-cp311-cp311-win_amd64.whl:

Publisher: publish-pypi.yml on Ragtime-LAB/florid-usb-sdk

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

File details

Details for the file florid_usb-0.2.1-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for florid_usb-0.2.1-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 494a64eb06b29c848c5a6faa55862c3963c1b5ec48a02d41e1cd665c3b821eb1
MD5 0449912e746f18a7c013f6b8ad38c2ad
BLAKE2b-256 0e682d08a76ff4b8e5371a3f92a4c90826d31472eef6a597b1abf33c505e134e

See more details on using hashes here.

Provenance

The following attestation bundles were made for florid_usb-0.2.1-cp311-cp311-musllinux_1_2_x86_64.whl:

Publisher: publish-pypi.yml on Ragtime-LAB/florid-usb-sdk

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

File details

Details for the file florid_usb-0.2.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for florid_usb-0.2.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2d27900608839ffa6581496d37c3fc80baee9f8637a84967a8e3f46597f783a6
MD5 1a0ef8010a44425f3f6200052d53b966
BLAKE2b-256 07b697f97ac94e874836ecf462a21768e85673b28407e85368d88412174084ad

See more details on using hashes here.

Provenance

The following attestation bundles were made for florid_usb-0.2.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish-pypi.yml on Ragtime-LAB/florid-usb-sdk

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

File details

Details for the file florid_usb-0.2.1-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: florid_usb-0.2.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 315.5 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for florid_usb-0.2.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 f929baa0150c0e46f05da097ef0c97cc8c753814d51d4db440402825c22ec56e
MD5 abc974525b10d21c4e00ffa4a4ff3874
BLAKE2b-256 edb49c9dc8b6663d8b0dc28a0fbf23a7fb2424b452b3db3cc99b492ac760bd4f

See more details on using hashes here.

Provenance

The following attestation bundles were made for florid_usb-0.2.1-cp310-cp310-win_amd64.whl:

Publisher: publish-pypi.yml on Ragtime-LAB/florid-usb-sdk

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

File details

Details for the file florid_usb-0.2.1-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for florid_usb-0.2.1-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 104689a56d78dd316c4a1cac249998e9853b9301d468f417862129b109323fd0
MD5 b23daf8ed0bd2f8dd822e55ac9471fdf
BLAKE2b-256 a3febffb4885636e31ac2b02da113197b12b4cfe8d6f545901c108f8f7281b98

See more details on using hashes here.

Provenance

The following attestation bundles were made for florid_usb-0.2.1-cp310-cp310-musllinux_1_2_x86_64.whl:

Publisher: publish-pypi.yml on Ragtime-LAB/florid-usb-sdk

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

File details

Details for the file florid_usb-0.2.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for florid_usb-0.2.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 afc08c49c27c891b67d2b436a0df0f5b823ac07fcc40f59bf95a504c859b0a9c
MD5 eb6ea68d192a23e22e02a1b30777794a
BLAKE2b-256 008a652783bea15ea8830269578ead34f97bc51efb27790cfafaf20a3690e4a1

See more details on using hashes here.

Provenance

The following attestation bundles were made for florid_usb-0.2.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish-pypi.yml on Ragtime-LAB/florid-usb-sdk

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