eRPC API Reference  Rev. 1.11.0
NXP Semiconductors
erpc_dspi_master_transport.hpp
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2014-2016, Freescale Semiconductor, Inc.
3  * Copyright 2016 NXP
4  * All rights reserved.
5  *
6  *
7  * SPDX-License-Identifier: BSD-3-Clause
8  */
9 
10 #ifndef _EMBEDDED_RPC__DSPI_MASTER_TRANSPORT_H_
11 #define _EMBEDDED_RPC__DSPI_MASTER_TRANSPORT_H_
12 
14 #include <cstdlib>
15 
16 extern "C" {
17 #include "fsl_dspi.h"
18 }
19 
26 // Classes
29 
30 namespace erpc {
37 {
38 public:
46  DspiMasterTransport(SPI_Type *spiBaseAddr, uint32_t baudRate, uint32_t srcClock_Hz);
47 
51  virtual ~DspiMasterTransport(void);
52 
58  virtual erpc_status_t init(void);
59 
60 protected:
61  SPI_Type *m_spiBaseAddr;
62  uint32_t m_baudRate;
63  uint32_t m_srcClock_Hz;
65 private:
75  virtual erpc_status_t underlyingReceive(uint8_t *data, uint32_t size);
76 
86  virtual erpc_status_t underlyingSend(const uint8_t *data, uint32_t size);
87 };
88 
89 } // namespace erpc
90 
93 #endif // _EMBEDDED_RPC__DSPI_MASTER_TRANSPORT_H_
Base class for framed transport layers.
Definition: erpc_framed_transport.hpp:56
enum _erpc_status erpc_status_t
Type used for all status and error return values.
Definition: erpc_common.h:85
virtual erpc_status_t init(void)
Initialize DSPI peripheral configuration structure with values specified in DspiTransport constructor...
Definition: erpc_dspi_master_transport.cpp:115
uint32_t m_srcClock_Hz
Definition: erpc_dspi_master_transport.hpp:63
DspiMasterTransport(SPI_Type *spiBaseAddr, uint32_t baudRate, uint32_t srcClock_Hz)
Constructor.
Definition: erpc_dspi_master_transport.cpp:103
SPI_Type * m_spiBaseAddr
Definition: erpc_dspi_master_transport.hpp:61
virtual ~DspiMasterTransport(void)
Destructor.
Definition: erpc_dspi_master_transport.cpp:110
Definition: erpc_arbitrated_client_manager.hpp:25
Very basic transport to send/receive messages via DSPI.
Definition: erpc_dspi_master_transport.hpp:36
uint32_t m_baudRate
Definition: erpc_dspi_master_transport.hpp:62