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.3.tar.gz (933.5 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.3-cp314-cp314-win_amd64.whl (326.0 kB view details)

Uploaded CPython 3.14Windows x86-64

florid_usb-0.2.3-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.3-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (363.0 kB view details)

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

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

Uploaded CPython 3.13Windows x86-64

florid_usb-0.2.3-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.3-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.3-cp312-cp312-win_amd64.whl (319.2 kB view details)

Uploaded CPython 3.12Windows x86-64

florid_usb-0.2.3-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.3-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.3-cp311-cp311-win_amd64.whl (316.9 kB view details)

Uploaded CPython 3.11Windows x86-64

florid_usb-0.2.3-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.3-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.3-cp310-cp310-win_amd64.whl (315.6 kB view details)

Uploaded CPython 3.10Windows x86-64

florid_usb-0.2.3-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.3-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.3.tar.gz.

File metadata

  • Download URL: florid_usb-0.2.3.tar.gz
  • Upload date:
  • Size: 933.5 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.3.tar.gz
Algorithm Hash digest
SHA256 39cade923b6441b4b50d75930db2d1dbef35f54a83e88be0ebbdf92608734e8d
MD5 fbcddf9025d68b40083c1a23f0b7ac1d
BLAKE2b-256 e1ab8762605e6b9ffc0d2db796b82274da47798df2f838f4b3b893ec0b51a63b

See more details on using hashes here.

Provenance

The following attestation bundles were made for florid_usb-0.2.3.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.3-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: florid_usb-0.2.3-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 326.0 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.3-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 45ef4263bedf21bc7cfce39a6a33137386ba6258354352892bdb66d833d5edc2
MD5 dc95d61e26d6c4cced75f6138fac2860
BLAKE2b-256 a8c1e158e50bb276c815c5e0af161ebfd4652f9e6e23824191ce5d0a5e4bf875

See more details on using hashes here.

Provenance

The following attestation bundles were made for florid_usb-0.2.3-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.3-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for florid_usb-0.2.3-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3c3a30642cdd6393812cc4f8da5309c7adb6ead587792c29200617625bfb716a
MD5 c8c66285c3e7caf4d79d108de91ba1cb
BLAKE2b-256 0a999d243105048066cd931d9b60ad20238ce612810aa17075b8f3a05afbdef3

See more details on using hashes here.

Provenance

The following attestation bundles were made for florid_usb-0.2.3-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.3-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for florid_usb-0.2.3-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ab541ce14e67bc6f1e44d86a4f97f919f9145872dfe432772f501cbb04e14e81
MD5 3646097033d8e5b7b80622e09566997b
BLAKE2b-256 6ac84bfd6068dab962734a0c2078099d6e322ffbcf2bbfacd29557d517aaf7e1

See more details on using hashes here.

Provenance

The following attestation bundles were made for florid_usb-0.2.3-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.3-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: florid_usb-0.2.3-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.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 d51c524313dd820c23deafce0e670995402d69f94ad05368a74c1e2cbd9db043
MD5 a97d547a51972e86c6f974dc23d77ae6
BLAKE2b-256 e8a1bd49f4e39b1b1a1dca7e993ccd45ae484ecd3db80d2ba916615192d188c0

See more details on using hashes here.

Provenance

The following attestation bundles were made for florid_usb-0.2.3-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.3-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for florid_usb-0.2.3-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 bb9b776ea1389456e8fdf158959773d2009ffff08d510c82968f4b2c0d1877bd
MD5 6620c8cc127d75366993bac0e8035b2c
BLAKE2b-256 a8d0ec974ac2e81c6a5c83044ead179f1fbdf6d3bed4d3acbb8bcc68bf6cf5e4

See more details on using hashes here.

Provenance

The following attestation bundles were made for florid_usb-0.2.3-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.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for florid_usb-0.2.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 bacb7f0f5ad2877bc974077c89e9bfbc69dec8812c6c1cc6f3516a58224a26a4
MD5 4947894af11ce48092ddb265c6df3730
BLAKE2b-256 08f32a95ddf2a56edfd5401c46f9bee09217abb120f4c12718c262d17d0b801d

See more details on using hashes here.

Provenance

The following attestation bundles were made for florid_usb-0.2.3-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.3-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: florid_usb-0.2.3-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.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 721b489ffec683fe1340e57f6ce8f417b95ebe62570ff025979ac977165a7f95
MD5 715d5b44af1c072cec5576b9c726a2c0
BLAKE2b-256 11861a1c0c9cb3a4193a4e8a04ae54d875ae68c01909ffdee12622ae2f4a5753

See more details on using hashes here.

Provenance

The following attestation bundles were made for florid_usb-0.2.3-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.3-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for florid_usb-0.2.3-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f105d746e1f647c60fec073e7440169e05630ebe524ba58bc4ee15d819286100
MD5 2d300e9f67d9f39a5cee89a4829346d7
BLAKE2b-256 84d821669e033f2f06ca5b7b188b20561f3c35eea643a2885c631495fbbaea22

See more details on using hashes here.

Provenance

The following attestation bundles were made for florid_usb-0.2.3-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.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for florid_usb-0.2.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 807bfb698bd594fd91b1d319a884bb5fda64145024f8283c6231cff5602037d8
MD5 57852d32d017cef73ef365a1299d2a61
BLAKE2b-256 478ac0c37a7ed8fdb0327c5d937460bb0e13e9f5760fb80c2ef935c72e55cd1a

See more details on using hashes here.

Provenance

The following attestation bundles were made for florid_usb-0.2.3-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.3-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: florid_usb-0.2.3-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 316.9 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.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 9bcb2dae2c484cdf2b28c0faa44448869647d582221a2b9c796e291312152920
MD5 479430f23a02590c62430c88a8b19c64
BLAKE2b-256 f1a9ffad3ac7dbafb075bbd24f22484a74a4f5e4ad9e9b994aeceb2ae6d8b094

See more details on using hashes here.

Provenance

The following attestation bundles were made for florid_usb-0.2.3-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.3-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for florid_usb-0.2.3-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b7a54ea610a65a36f127a766a3e37cd3c1ad770c626ea3ed39c5546f9235647f
MD5 74850f4c413cc6f3d1dc176d789b004c
BLAKE2b-256 22edd1ba0f77e7bbc1d6ad298acf35c69fef918d1863c325ee11c50736128213

See more details on using hashes here.

Provenance

The following attestation bundles were made for florid_usb-0.2.3-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.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for florid_usb-0.2.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1c4f0d15528bafb17028258373477e4640a3b07a3c452d1af1f06a89cbf00fca
MD5 2035813ea295c04cb93092d430726bde
BLAKE2b-256 713ac8359f649d259cf76b8663464cde7ab65d8b251ede887b63b549b2b2b6a4

See more details on using hashes here.

Provenance

The following attestation bundles were made for florid_usb-0.2.3-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.3-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: florid_usb-0.2.3-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 315.6 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.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 0916fd29f7b1528de75eeabe65f131040f4c1a077e577cd30a1a47ac54c53346
MD5 46a071ebdc768d40e57633f7f42b0515
BLAKE2b-256 6904f24e710a1bea5b6a61f5a3e399f71741427a91503b76621674343592c1e8

See more details on using hashes here.

Provenance

The following attestation bundles were made for florid_usb-0.2.3-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.3-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for florid_usb-0.2.3-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ddba41b8834c890602f2d57f1dcbebf4d2f68279084a8d6edbfd70f5ba44be21
MD5 a91177531a804734c29e397b68ad2cb1
BLAKE2b-256 8a908897e77d700b9c4267be6a57384e2a0e67b0d32336fbe1d10e04d23d1790

See more details on using hashes here.

Provenance

The following attestation bundles were made for florid_usb-0.2.3-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.3-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for florid_usb-0.2.3-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7749c877338e0dc734f7e2f3d00cdf2af03d963f87b385c318980a1b0eaa7708
MD5 76ea9e4d36499692be16f44775c0bcc1
BLAKE2b-256 4b2c687764125f10a1b4422e9a52258e1481b9bc54a37499d47ee7474f9873e1

See more details on using hashes here.

Provenance

The following attestation bundles were made for florid_usb-0.2.3-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