Please read the install page before following this tutorial, in order to configure your project.

In this page you will find a list of useful tutorials splited into two main themes:

  • How to use hardio and its components
  • How to expand hardio

The first section will be targetting users of the framework and will not go into a lot of details about the inner workings of the hardio framework. It will however give all of the necessary knowledge to use the hardio framework properly and will help understand the design choices behind each component. It is therefore strongly recommended to read the usage tutorials first even if you intend to expand the hardio framework.

Quick access list

Here are all the tutorials that are accessible through this page, in a convenient list:

How to use hardio and its components

The hardio framework is split into three main parts:

  • IOBoards: Each model of onboard computer (raspberry pi, upboard, etc) has its own implementation of IOBoard. It basically consists in a description of IOs available for this specific board. This provides the base decription on top of which the protocol stask is defined. Please read this tutorial helps you understand of to use IOBoards.

  • Protocols and interfaces: Protocols put in place communication with electronic devices using specific interfaces provided either by Boards (i.e. IOs) or other protocol (i.e. virtual interfaces). Knowing how to use protocols is mandatory for any project that uses hardio, this tutorial is made for that.

  • Drivers: Drivers use interfaces to communicate with sensors, actuators and more generally any kind of electronic device. As a hardio framework user, you mainly manage drivers, this tutorial will teach you how to use drivers.

How to expand hardio

This section contains all information about how to add various components to hardio :

  • IOBoards: You might need to implement a new board if no implementation exists for your specific board yet. The tutorial about implementing an IOBoard covers everything you need to know for providing an implementation for any board.

  • Protocols and interfaces: The main part of implementing an IOBoard is actually implementing its suopported protocols, this tutorial is therefore essential if you plan on providing a new IOBoard implementation, as well as if you want to add a new type of protocol in hardio. The implementing protocols explains how to provide new implementations for existing protocols. Another tutorial explains how to define new protocols and interfaces.

  • Drivers: Any time you want to support a new electronic device in hardio, you have to implement a new driver. The way drivers work in hardio allows developpers to only write a driver once and have the driver work on any IOBoard as long as it provides the correct protocol. The creating a driver tutorial covers all step to implement driver.

Other topics

Some other topics are covered in the advanced section of the documentation.