analogdevicesinc / TMC-API

TRINAMIC's IC API
MIT License
188 stars 83 forks source link

TMC-API

The TMC-API is a portable C library for working with Trinamic ICs in embedded projects. It is CPU-independent and self-contained (no external dependencies).

The TMC-API is getting a rework of its core structure. This will include new mechanisms for reading and writing the registers. The new mechanism is designed to provide easy access to the registers of Trinamic ICs. It offers convenient read and write functions along with registers and their bitfields definitions that simplify the process of interacting with the registers. Users can quickly and effortlessly retrieve information from registers or modify their values with just a few lines of code. These functions greatly simplify the process of working with IC registers, allowing developers to harness the full potential of the ICs' capabilities and save valuable developer time.

To further aid developers in utilizing our API, we have started to include an examples folder for each IC. This folder contains a collection of functions that showcase specific functionalities of the IC. Each example serves as a sample code, helping developers understand how to utilize the API for different purposes. It also serves as a comprehensive resource that accelerates the learning curve and assists in building robust applications.

For the details on which ICs currently feature the new mechanism as well as the details on upcoming releases, please consult the migration page.

New Mechanism

The new mechanism makes the register access simpler while still allowing higher level functionality.For details of the migration to the new mechanism, see here.

Installation

To set up your project, first consult the README page of the particular IC. For the ICs with the old mechanism, simply copy the source files you need:

For the ICs with the new implementation, please consult their README page.

Usage

For a reference usage of the TMC-API, visit the TMC-Evalsystem

To use the new feature of TMC-API, please refer to the specific IC's README page.

For the old implementation, perform the following steps in your code:

Changelog

Version 3.10.3: (Released)

Version 3.10.2: (Released)

Version 3.10.1: (Released)

Version 3.10: (Released)