blob: 1d3b5d34eec2922452509e62c1c2fdfcdc4f74c3 [file] [log] [blame]
Zane Shelley465e0b32019-04-17 10:15:39 -05001#pragma once
2
Zane Shelley814b1e32019-06-17 20:55:04 -05003// The user application must define this header file with the following macros:
4//
5// Tracing (inputs same as printf() from <cstdio>):
6// HEI_INF( ... ) // Generic informational trace
7// HEI_ERR( ... ) // Error path trace
8//
9// Assertion (at a minimum should work like assert() from <cassert>):
10// HEI_ASSERT( expression )
11//
12#include <hei_user_defines.hpp>
Zane Shelley465e0b32019-04-17 10:15:39 -050013
Zane Shelley814b1e32019-06-17 20:55:04 -050014namespace libhei
15{
16
17/**
Zane Shelleya61f4c52019-08-01 13:58:49 -050018 * @brief Perform a hardware read operation.
19 * @param i_chip This is a pointer to a user application object that represents
20 * the target chip. The isolator does not know anything about this
21 * object or how to use it. It is provide by the user application
22 * via the Isolator APIs. The user application is responsible for
23 * knowing what to do with this parameter.
Zane Shelley814b1e32019-06-17 20:55:04 -050024 */
Zane Shelleya61f4c52019-08-01 13:58:49 -050025ReturnCode deviceRead( void * i_chip );
Zane Shelley814b1e32019-06-17 20:55:04 -050026
27#ifndef __HEI_READ_ONLY
28
29/**
Zane Shelleya61f4c52019-08-01 13:58:49 -050030 * @brief Perform a hardware write operation.
31 * @param i_chip This is a pointer to a user application object that represents
32 * the target chip. The isolator does not know anything about this
33 * object or how to use it. It is provide by the user application
34 * via the Isolator APIs. The user application is responsible for
35 * knowing what to do with this parameter.
Zane Shelley814b1e32019-06-17 20:55:04 -050036 */
Zane Shelleya61f4c52019-08-01 13:58:49 -050037ReturnCode deviceWrite( void * i_chip );
Zane Shelley814b1e32019-06-17 20:55:04 -050038
39#endif
40
41} // end namespace libhei
Zane Shelley465e0b32019-04-17 10:15:39 -050042