ISF  2.1
Intelligent Sensing Framework for Kinetis with Processor Expert
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
isf_dm_protocol.c
Go to the documentation of this file.
1 /*
2  * isf_dm_protocol.c
3  *
4  @file isf_dm_protocol.c
5 * @brief \b isf_dm_protocol.c defines the protocol tables and its types.
6  */
7 #include "isf_protocol_adapter.h"
8 #include <isf_sysconf_types.h>
9 
10 #include "isf_i2c_master_adapter.h"
11 #include "isf_uart_adapter.h"
12 #include "isf_spi_master_adapter.h"
13 
14 
15 /**
16  * @brief Lookup table to find protocol-specific functions and properties.
17  * Indexed by ::sys_protocolType_t
18  *
19  * @details This table contains one entry for each type of supported protocol.
20  *
21  *
22 */
23 const protocol_t PROTOCOL[] = {
24  {
29  .fnStart = (fnStart_t) &i2c_master_adapter_start,
30  .fnStop = (fnStop_t) &i2c_master_adapter_stop,
35  .fnRead = (fnRead_t) &i2c_master_adapter_read,
36  .fnWrite = (fnWrite_t) &i2c_master_adapter_write,
37  },
38  {
39  .fnInit = (fnInit_t) &uart_adapter_init,
40  .fnGetState = (fnGetState_t) &uart_adapter_get_state,
41  .fnGetConfig = (fnGetConfig_t) &uart_adapter_get_config,
42  .fnConfigure = (fnConfigure_t) &uart_adapter_configure,
43  .fnStart = (fnStart_t) &uart_adapter_start,
44  .fnStop = (fnStop_t) &uart_adapter_stop,
47  .fnAcquireLock = (fnAcquireLock_t) &uart_adapter_acquire_lock,
48  .fnReleaseLock = (fnReleaseLock_t) &uart_adapter_release_lock,
49  .fnRead = (fnRead_t) &uart_adapter_read,
50  .fnWrite = (fnWrite_t) &uart_adapter_write,
51  },
52  {
53  .fnInit = (fnInit_t) &spi_master_adapter_init,
57  .fnStart = (fnStart_t) &spi_master_adapter_start,
58  .fnStop = (fnStop_t) &spi_master_adapter_stop,
63  .fnRead = (fnRead_t) &spi_master_adapter_read,
64  .fnWrite = (fnWrite_t) &spi_master_adapter_write,
65  },
66 };
67 
68 
69 
isf_status_t spi_master_adapter_configure(busHandle_t *apBusHandle, spi_master_busConfig_t *apBusConfig)
This function reconfigures an already initialized bus.
isf_status_t spi_master_adapter_get_config(busHandle_t *apBusHandle, void *apBusConfig)
This function returns the current bus configuration.
isf_status_t i2c_master_adapter_release_endpoint(i2c_Endpoint_t *apEndpoint)
This function closes a particular endpoint.
isf_status_t spi_master_adapter_read(void *apEndpointHandle, int32 offset, void *apReadBuffer, uint32 aBuffsize, uint32 aNbyteRead, spi_master_readFlags_t aFlags)
This function reads from a spi device.
isf_status_t(* fnWrite_t)(void *apEndpointHandle, int32 offset, uint8 *pWriteBuffer, uint32 buffsize, uint32 nBytesWrite, comm_Flags_t aFlags)
This is the the function pointer signature for writing the data to a specified device.
comm_State_t uart_adapter_get_state(busHandle_t *apBusHandle)
This function returns the current bus state.
isf_status_t uart_adapter_write(void *apEndpointHandle, int32 offset, void *apWriteBuffer, uint32 aBuffsize, uint32 aNbyteWrite, uart_writeFlags_t aFlags)
This function writes to a uart device.
This structure contains protocol-specific function pointers and properties.
isf_status_t uart_adapter_configure(busHandle_t *apBusHandle, uart_config_t *apBusConfig)
This function reconfigures an already initialized bus.
isf_status_t i2c_master_adapter_get_config(busHandle_t *apBusHandle, void *apBusConfig)
This function returns the current bus configuration.
isf_status_t i2c_master_adapter_release_lock(busHandle_t *apBusHandle)
This function releases exclusive bus access.
const protocol_t PROTOCOL[]
Lookup table to find protocol-specific functions and properties. Indexed by sys_protocolType_t.
isf_status_t uart_adapter_get_endpoint(busHandle_t *apBusHandle, void *apDevice, void **apEndpointHandle)
This function creates a endpoint at a already initialized bus.
isf_status_t(* fnDisconnectEndpoint_t)(void *apEndpointHandle)
This is the function pointer signature for closing the Endpoint.
isf_status_t(* fnStart_t)(void *apBusHandle)
This is the function pointer signature for starting the bus.
isf_status_t(* fnConnectToEndpoint_t)(void *apBusHandle, void *apDevice, void **apEndpointHandle)
This is the function pointer signature for getting the Endpoint handle.
isf_spi_master_adapter.h defines the API definitions and types for the spi master protocol adapter...
isf_status_t i2c_master_adapter_stop(busHandle_t *apBusHandle)
This function stops the given i2c bus.
isf_status_t uart_adapter_stop(busHandle_t *apBusHandle)
This function stops the given uart bus.
comm_State_t(* fnGetState_t)(void *apBusHandle)
This is the function pointer signature for getting the state of the bus.
isf_status_t uart_adapter_release_endpoint(uart_Endpoint_t *apEndpoint)
This function closes a particular endpoint.
isf_status_t spi_master_adapter_release_endpoint(spi_master_Endpoint_t *apEndpoint)
This function closes a particular endpoint.
comm_State_t spi_master_adapter_get_state(busHandle_t *apBusHandle)
This function returns the current bus state.
isf_status_t i2c_master_adapter_configure(busHandle_t *apBusHandle, void *apBusConfig)
This function reconfigures an already initialized bus.
isf_status_t i2c_master_adapter_get_endpoint(busHandle_t *apBusHandle, void *apDevice, void **apEndpointHandle)
This function creates a endpoint for a device at a specified bus address.
isf_status_t spi_master_adapter_init(comm_Id_t aBusId, busHandle_t *apBusHandle)
This function initializes a spi bus.
isf_status_t uart_adapter_acquire_lock(busHandle_t *apBusHandle, isf_duration_t aTimeout)
This function locks the bus for exclusive access.
comm_State_t i2c_master_adapter_get_state(busHandle_t *apBusHandle)
This function returns the current bus state.
isf_status_t i2c_master_adapter_acquire_lock(busHandle_t *apBusHandle, isf_duration_t aTimeout)
This function locks the bus for exclusive access.
isf_status_t(* fnInit_t)(comm_Id_t aBusId, void *apBusHandle)
This is the function pointer signature for bus initialization.
isf_status_t(* fnStop_t)(void *apBusHandle, isf_duration_t aTimeout)
This is the function pointer signature for stopping the bus.
isf_status_t(* fnReleaseLock_t)(void *apBusHandle)
This is the function pointer signature for releasing the lock for a particular bus.
isf_protocol_adapter.h defines the general interface definition for the protocol adapter.
isf_status_t spi_master_adapter_release_lock(busHandle_t *apBusHandle)
This function releases exclusive bus access.
isf_status_t i2c_master_adapter_start(busHandle_t *apBusHandle)
This function starts a bus.
isf_i2c_master_adapter.h defines the API definitions and types for the i2c master protocol adapter...
isf_status_t spi_master_adapter_write(void *apEndpointHandle, int32 offset, void *apWriteBuffer, uint32 aBuffsize, uint32 aNbyteWrite, spi_master_writeFlags_t aFlags)
This function writes to a spi device.
isf_status_t uart_adapter_init(comm_Id_t aBusId, busHandle_t *apBusHandle)
This function initializes a uart bus.
isf_status_t spi_master_adapter_stop(busHandle_t *apBusHandle)
This function stops the given spi bus.
isf_status_t uart_adapter_get_config(busHandle_t *apBusHandle, void *apBusConfig)
This function returns the current bus configuration.
isf_status_t uart_adapter_release_lock(busHandle_t *apBusHandle)
This function releases exclusive bus access.
isf_status_t uart_adapter_start(busHandle_t *apBusHandle)
This function starts a bus.
isf_status_t i2c_master_adapter_write(void *apEndpointHandle, int32 offset, void *apWriteBuffer, uint32 aBuffsize, uint32 aNbyteWrite, i2c_writeFlags_t aFlags)
This function writes to a i2c device.
isf_status_t(* fnConfigure_t)(void *apBusHandle, void *apBusConfig)
This is the function pointer signature for setting the configuration of the bus.
isf_status_t i2c_master_adapter_init(comm_Id_t aBusId, busHandle_t *apBusHandle)
This function initializes a i2c bus.
isf_status_t(* fnRead_t)(void *apEndpointHandle, int32 offset, void *apReadBuffer, uint32 buffsize, uint32 nBytesRead, comm_Flags_t aFlags)
This is the function pointer signature for reading the data from a specified device.
isf_status_t spi_master_adapter_acquire_lock(busHandle_t *apBusHandle, isf_duration_t aTimeout)
This function locks the bus for exclusive access.
isf_status_t spi_master_adapter_get_endpoint(busHandle_t *apBusHandle, void *apDevice, void **apEndpointHandle)
This function creates a endpoint for a device at a specified bus address.
isf_uart_adapter.h defines the API definitions and types for the uart protocol adapter.
isf_status_t spi_master_adapter_start(busHandle_t *apBusHandle)
This function starts a bus.
isf_status_t uart_adapter_read(void *apEndpointHandle, int32 offset, void *apReadBuffer, uint32 aBuffsize, uint32 aNbyteRead, uart_readFlags_t aFlags)
This function reads from a uart device.
This file defines the configuration types and structures for the system communication channel...
isf_status_t i2c_master_adapter_read(void *apEndpointHandle, int32 offset, void *apReadBuffer, uint32 aBuffsize, uint32 aNbyteRead, i2c_readFlags_t aFlags)
This function reads from a i2c device.
isf_status_t(* fnAcquireLock_t)(void *apBusHandle, isf_duration_t aTimeout)
This is the function pointer signature for acquiring the lock for a particular bus.
isf_status_t(* fnGetConfig_t)(void *apBusHandle, void *apBusConfig)
This is the function pointer signature for getting the configuration of the bus.