RUI3 (RAK Unified Interface 3) - RAK4631
udrv_spimst.h
Go to the documentation of this file.
1 
9 #ifndef _UDRV_SPIMST_H_
10 #define _UDRV_SPIMST_H_
11 
12 #ifdef __cplusplus
13 extern "C" {
14 #endif
15 
16 #include <stdint.h>
17 #include <stdbool.h>
18 #include "board_basic.h"
19 
20 typedef enum {
27 
28 typedef enum {
32 
33 typedef enum {
37 
38 //The structure of SPI master function
40  void (*SPIMST_INIT) (udrv_spimst_port port);
42  void (*SPIMST_SETUP_FREQ) (udrv_spimst_port port, uint32_t clk_Hz);
43  void (*SPIMST_SETUP_BYTE_ORDER) (udrv_spimst_port port, bool msb_first);
45  int8_t (*SPIMST_TRX) (udrv_spimst_port port, uint8_t *write_data, uint32_t write_length, uint8_t *read_data, uint32_t read_length, uint32_t csn);
46  void (*SPIMST_SUSPEND) (void);
47  void (*SPIMST_RESUME) (void);
48 };
49 
57 
71 
79 void udrv_spimst_setup_freq(udrv_spimst_port port, uint32_t clk_Hz);
80 
88 void udrv_spimst_setup_byte_order(udrv_spimst_port port, bool msb_first);
89 
96 
110 int8_t udrv_spimst_trx(udrv_spimst_port port, uint8_t *write_data, uint32_t write_length, uint8_t *read_data, uint32_t read_length, uint32_t csn);
111 
116 void udrv_spimst_suspend();
117 
122 void udrv_spimst_resume();
123 
124 #ifdef __cplusplus
125 }
126 #endif
127 
128 #endif // _UDRV_SPIMST_H_
void(* SPIMST_SETUP_BYTE_ORDER)(udrv_spimst_port port, bool msb_first)
Definition: udrv_spimst.h:43
ENUM_SPI_MST_CPHA_T
Definition: udrv_spimst.h:28
ENUM_SPI_MST_CPOL_T
Definition: udrv_spimst.h:33
void udrv_spimst_suspend()
Suspend SPI master hardware before entering sleep mode.
Definition: udrv_spimst.h:24
void udrv_spimst_deinit(udrv_spimst_port port)
Definition: udrv_spimst.h:34
void udrv_spimst_resume()
Resume SPI master hardware after leaving sleep mode.
udrv_spimst_port
Definition: udrv_spimst.h:20
Definition: udrv_spimst.h:39
void(* SPIMST_SUSPEND)(void)
Definition: udrv_spimst.h:46
Definition: udrv_spimst.h:35
int8_t(* SPIMST_TRX)(udrv_spimst_port port, uint8_t *write_data, uint32_t write_length, uint8_t *read_data, uint32_t read_length, uint32_t csn)
Definition: udrv_spimst.h:45
Definition: udrv_spimst.h:29
void udrv_spimst_setup_byte_order(udrv_spimst_port port, bool msb_first)
int8_t udrv_spimst_trx(udrv_spimst_port port, uint8_t *write_data, uint32_t write_length, uint8_t *read_data, uint32_t read_length, uint32_t csn)
void(* SPIMST_RESUME)(void)
Definition: udrv_spimst.h:47
void udrv_spimst_setup_mode(udrv_spimst_port port, ENUM_SPI_MST_CPHA_T CPHA, ENUM_SPI_MST_CPOL_T CPOL)
void(* SPIMST_DEINIT)(udrv_spimst_port port)
Definition: udrv_spimst.h:44
Definition: udrv_spimst.h:21
Definition: udrv_spimst.h:30
void udrv_spimst_init(udrv_spimst_port port)
void(* SPIMST_SETUP_FREQ)(udrv_spimst_port port, uint32_t clk_Hz)
Definition: udrv_spimst.h:42
Definition: udrv_spimst.h:23
Definition: udrv_spimst.h:22
void(* SPIMST_SETUP_MODE)(udrv_spimst_port port, ENUM_SPI_MST_CPHA_T CPHA, ENUM_SPI_MST_CPOL_T CPOL)
Definition: udrv_spimst.h:41
void udrv_spimst_setup_freq(udrv_spimst_port port, uint32_t clk_Hz)
void(* SPIMST_INIT)(udrv_spimst_port port)
Definition: udrv_spimst.h:40
Definition: udrv_spimst.h:25