Skip to content

Releases: szolotykh/ArduinoKinisi

v2.3.1 - Motor and platform position PID

Choose a tag to compare

@szolotykh szolotykh released this 07 Oct 06:24
4f0dd07

Add motor and platform position initialization, reset and target commands, motor position readback, and full position PID configuration with separate Kp, Ki and Kd.

Initialize velocity before position. Motor targets use continuous radians; platform targets use meters/meters/radians. Velocity initialization defaults to a 100% PWM integral contribution limit. Retune velocity gains when upgrading to firmware 2.3.1.

Connections accept protocol 2.1+. Position commands require 2.2+, and full position PID initialization requires 2.3+.

Wire buffer: full platform position PID initialization requires a 100-byte transmit buffer; 128 bytes is recommended. Configure the board's actual buffer and set KINISI_WIRE_BUFFER_SIZE to match. Commands are not split across I2C transactions.

The attached ZIP can be installed with Arduino IDE's Add .ZIP Library command and includes a motor/platform position example.

Validation: 32/64/128-byte Wire tests, production firmware interoperability, generator checks and example syntax checks passed.

v2.1.0 — Heartbeats and odometry subscriptions

Choose a tag to compare

@szolotykh szolotykh released this 15 Sep 05:07
93079bb

Release Arduino SDK 2.1.0 with cooperative heartbeat monitoring and odometry subscriptions over I2C. Requires protocol 2.1 firmware for the new session features.

  • Call poll() frequently from loop() to service idle heartbeats and subscribed readings. begin() enables a 500 ms watchdog by default; explicit opt-out is available.
  • Cache timestamped encoder/platform samples while matching normal command responses. Arduino continues to use controller uptime for timestamps.
  • Preserve 32-byte Wire support for encoder streams; platform streams require at least 38 bytes and are rejected locally when the buffer is too small.
  • Update existing examples and keep generation compatible with evolving v2 schemas.

Validation: 32/64-byte Wire protocol tests, interoperability with production firmware session code, example syntax, and deterministic/future-schema generator checks.

v2.0.0 — Messages API 2.0.0

Choose a tag to compare

@szolotykh szolotykh released this 14 Sep 20:06
47b69ce

ArduinoKinisi 2.0.0 for Kinisi Messages API 2.0.0 over Wire.

Changes

  • begin() exchanges INIT/READY and exposes board identity.
  • Message IDs match replies to requests; setters wait for ACKs and lastError() reports failures.
  • Encoder and platform odometry return timestamped sample structs.
  • Portable binary64/uint64 codecs support AVR and wider platforms.
  • Wire size checks reject unsupported frames before sending commands.

Compatibility

Requires API 2.0.0 firmware with padded I2C replies. This Arduino client uses controller uptime and does not perform wall-clock synchronization.

A default 32-byte Wire buffer supports initialization, encoder odometry, and many basic commands. All commands require at least 64-byte TX and RX buffers; setting KINISI_WIRE_BUFFER_SIZE alone does not enlarge the core's buffers.

Validation: 32/64-byte native protocol tests, production-C firmware interoperability, deterministic regeneration and example checks pass. Arduino Uno compilation passes. Physical I2C testing remains required on the target board/core.

Protocol guide

v1.0.6

Choose a tag to compare

@szolotykh szolotykh released this 31 Jul 05:57

Regenerate the Arduino SDK from firmware protocol v1.4.0.

What's new

  • Controller/odometry loop-frequency commands: get_controller_frequency / set_controller_frequency and get_odometry_frequency / set_odometry_frequency (uint16 Hz, valid range 1-1000).
  • reset_motor_controller, brake_platform, and coast_platform commands.
  • New examples/loop-frequency sketch demonstrating reading and setting the loop frequencies.

Generated from firmware commands.json v1.4.0. Aligns the Arduino library version with the firmware and Python SDK v1.0.6 releases.

v1.0.0

Choose a tag to compare

@szolotykh szolotykh released this 05 Nov 19:41
  • Initial version of the library
  • Support of the Kinisi Commands version 1.0.1