Menu

Home

Oliver Maye

Welcome to the ocapi wiki!

This is to introduce ocapi, answer the most urgent questions and point you to sources of further information.

What is ocapi?

ocapi is a low-level driver library for the MSP430 processor family by TI. It has a C-language API. Thus, ocapi supports you in writing software for this kind of processors and making use of the processor's build-in peripherals, such as UART, GPIO or ADC without diving into the register details. If the application is to run on the bare metal instead of using an OS, ocapi is the right choice.

ocapi comes with ports to MSP430 derivatives. Currently, the TNode v2 by IHP is supported and OpenMSP is foreseen. The actual target processor can be configured before building the library.

The core philosophy of this project is to focus on the capability of the raw processor and its built-in peripherals. So, hardware features provided by the board (PCB) or the system that this processor is part of, are not the focus of ocapi. That's why, the heart of ocapi will be low-level drivers for things like ADC, UART, DAC, GPIO or Timers. Drivers for LCD, joystick, microphone or speaker etc. will not be the main concern of this library. However, some of them might be included for convenience. If so, they are implemented as higher-level layers on top the low-level drivers mentioned before.

Intended Audience

This library is for software developers who write applications for the MSP430 or similar processors.

How to get started

Check out the source code from the code repository and read the readme file. Then, build the ocapi documentation and go on reading. This should enable you to configure and build ocapi. As a result of the build step, you will generate:

  • A static library file to be linked with your application
  • A set of object files that constitute this library. As an alternative to the library file, these can be linked with your application.
  • A set of header files declaring the API functions and data types. You'll have to include some of these headers in your application source files.
  • The API documentation

If you are in a very hurry or otherwise satisfied with a pre-built library, try downloading one of those. Some frequently used configurations have been built and the zipped result can be found in the download directory.

If you have questions, use the forum to either find a solution or ask your question. If, after trying all the above, you still need help, create a ticket or write an email to

Project Admins: