The Kinisi motor controller firmware repository is a collection of software that controls the operations of Kinisi motor controllers. It includes the firmware source code, build scripts, and related documentation. The repository is designed to be a central hub for developers, hobbyists, and engineers who are looking to customize, extend, or debug their Kinisi motor controller systems. The firmware is written in C language and is optimized for performance and reliability. The repository is open-source and community-driven, allowing anyone to contribute their ideas and improvements to the codebase. Whether you're working on a custom robotics project or building a new consumer product, the Kinisi motor controller firmware repository is the perfect starting point for all your motor control needs.
Hardware project can be find here.
There are number of commands that can be send to the motor controller to control motor speed and direction as well as to read encoder values. There are also commands to set PID controller for the motor to control its speed and position. Commands can be send to the motor controller via serial port.
Discription of commands can be find here.
JavaScript code and client with UI interface to control motor controller can be find here.
Python code to control motor controller can be find here.
To generate commands from commands.json, follow these steps:
-
Ensure you have Python installed: The script requires Python 3.x to run.
-
Navigate to the
toolsdirectory: Open a terminal and navigate to thetoolsdirectory in your project. -
Run the
update-commands.pyscript: Execute the following command in the terminal:cd tools python update-commands.py
This script will:
- Generate the command file
commands.hfromcommands.jsonusing thegenerator.pyscript. - Generate the documentation file
commands.mdfromcommands.jsonusing thegenerator.pyscript.
To build the project for the genericSTM32F405RG configuration, follow these steps:
-
Ensure you have PlatformIO installed: The build process requires PlatformIO.
-
Navigate to the project directory: Open a terminal and navigate to the root directory of your project.
-
Run the build command: Execute the following command in the terminal:
pio run -e genericSTM32F405RG
This command will build the project for the genericSTM32F405RG configuration.
To run all the tests for the project, follow these steps:
-
Ensure you have PlatformIO installed: The testing process requires PlatformIO.
-
Navigate to the project directory: Open a terminal and navigate to the root directory of your project.
-
Run the test command: Execute the following command in the terminal:
pio test -e test_native -e test_platforms
This command will run:
- Unit tests for utilities, commands, and controller components under the
test_nativeenvironment - Platform-specific tests for omni, mecanum, and differential platforms under the
test_platformsenvironment
You can also run specific test suites by using the -f flag:
pio test -e test_native -f test_commands