NAV

Import the package

You can import hardiocore as usual with PID. In the root CMakelists.txt file of your package, after the package declaration you have to write something like:

PID_Dependency(hardiocore)

It will try to install last version of the package.

If you want a specific version (recommended), for instance the currently last released version:

PID_Dependency(hardiocore VERSION 2.1)

Components

core

This is a shared library (set of header files and a shared binary object).

exported dependencies:

include directive :

Not specified (dangerous). You can try including any or all of these headers:

#include <hardio/boards/extension_board.h>
#include <hardio/boards/io_board.h>
#include <hardio/common/interface.h>
#include <hardio/common/interface_group.h>
#include <hardio/common/io.h>
#include <hardio/common/protocol.h>
#include <hardio/core.h>
#include <hardio/devices/esc.h>
#include <hardio/devices/led.h>
#include <hardio/devices/light.h>
#include <hardio/impl/can_protocol_base.h>
#include <hardio/impl/i2c_protocol_base.h>
#include <hardio/impl/spi_protocol_base.h>
#include <hardio/impl/uart_protocol_base.h>
#include <hardio/interfaces/can_slave.h>
#include <hardio/interfaces/i2c_slave.h>
#include <hardio/interfaces/ip.h>
#include <hardio/interfaces/modbus_slave.h>
#include <hardio/interfaces/pinio.h>
#include <hardio/interfaces/serial.h>
#include <hardio/interfaces/spi_slave.h>
#include <hardio/interfaces/tcp.h>
#include <hardio/interfaces/udp.h>
#include <hardio/interfaces/usb.h>
#include <hardio/ios/can.h>
#include <hardio/ios/ethernet.h>
#include <hardio/ios/i2c.h>
#include <hardio/ios/pin.h>
#include <hardio/ios/serial.h>
#include <hardio/ios/spi.h>
#include <hardio/ios/usb.h>
#include <hardio/ios/wifi.h>
#include <hardio/protocols/can.h>
#include <hardio/protocols/i2c.h>
#include <hardio/protocols/ip.h>
#include <hardio/protocols/modbus.h>
#include <hardio/protocols/modbus/modbus.h>
#include <hardio/protocols/modbus/modbus_exceptions.h>
#include <hardio/protocols/modbus/modbus_slave.h>
#include <hardio/protocols/modbus/safe_map.h>
#include <hardio/protocols/pin_access.h>
#include <hardio/protocols/serial.h>
#include <hardio/protocols/spi.h>
#include <hardio/protocols/tcp.h>
#include <hardio/protocols/udp.h>
#include <hardio/protocols/usb.h>
#include <pid/log/hardiocore_core.h>

CMake usage :

In the CMakeLists.txt files of your applications and tests, or those of your libraries that do not export the dependency:

PID_Component_Dependency(
				COMPONENT	your component name
				DEPEND	core
				PACKAGE	hardiocore)

In the CMakeLists.txt files of libraries exporting the dependency :

PID_Component_Dependency(
				COMPONENT	your component name
				EXPORT	core
				PACKAGE	hardiocore)

testutils

This is a shared library (set of header files and a shared binary object).

exported dependencies:

include directive :

Not specified (dangerous). You can try including any or all of these headers:

#include <hardio/impl/forward_serial_over_tcp.h>
#include <hardio/impl/mock_pin_access.h>
#include <hardio/impl/mock_serial_protocol.h>
#include <hardio/impl/mock_tcp_protocol.h>
#include <hardio/impl/mock_udp_protocol.h>
#include <hardio/test/mock_message_interface.h>
#include <hardio/test/mock_pin_endpoint.h>
#include <hardio/test/mock_remote_endpoints_manager.h>
#include <hardio/testutils.h>

CMake usage :

In the CMakeLists.txt files of your applications and tests, or those of your libraries that do not export the dependency:

PID_Component_Dependency(
				COMPONENT	your component name
				DEPEND	testutils
				PACKAGE	hardiocore)

In the CMakeLists.txt files of libraries exporting the dependency :

PID_Component_Dependency(
				COMPONENT	your component name
				EXPORT	testutils
				PACKAGE	hardiocore)