snickerdoodle Platform Controller
firmware for STM32F0 platform controller
sd_buffer.h
Go to the documentation of this file.
1 
46 #ifndef __SD_BUFFER_H
47 #define __SD_BUFFER_H
48 #ifdef __cplusplus
49 extern "C" {
50 #endif
51 
67  SD_BUFF_SUCCESS = 0x4A0D,
73 };
74 
84 };
85 
90 struct sd_doub_buff {
91  uint8_t **buff;
92  uint8_t idx;
93  uint32_t in;
94  uint32_t len;
95  uint32_t size;
96  volatile enum sd_buff_state state;
97 };
98 
103 struct sd_cbuf {
104  uint8_t *buff;
105  uint32_t in;
106  uint32_t out;
107  uint32_t len;
108  uint32_t size;
109  volatile enum sd_buff_state state;
110 };
121 enum sd_buff_err sd_char_buff_init (struct sd_cbuf *buff,
122  uint32_t size,
123  uint8_t *pbuff);
124 enum sd_buff_err sd_doub_buff_init (struct sd_doub_buff *buff,
125  uint32_t size,
126  uint8_t *pbuff[]);
127 enum sd_buff_err sd_char_buff_putc (struct sd_cbuf *buff,
128  uint8_t data);
129 enum sd_buff_err sd_char_buff_putc_to (struct sd_cbuf *buff,
130  uint8_t data,
131  uint32_t timeout);
132 enum sd_buff_err sd_char_buff_write (struct sd_cbuf *buff,
133  uint8_t *data,
134  uint32_t len);
135 enum sd_buff_err sd_char_buff_read (struct sd_cbuf *buff,
136  uint8_t *data,
137  uint32_t *len);
138 enum sd_buff_err sd_char_buff_getc (struct sd_cbuf *buff,
139  uint8_t *data);
140 enum sd_buff_err sd_char_buff_getc_to (struct sd_cbuf *buff,
141  uint8_t *data,
142  uint32_t timeout);
143 void sd_char_write_end_cb (struct sd_cbuf *buff);
144 void sd_char_read_end_cb (struct sd_cbuf *buff);
153 #ifdef __cplusplus
154 }
155 #endif
156 #else
157 #error "Multiple inclusion of sd_buffer.h"
158 #endif /* __SD_BUFFER_H */
159 
160 /*
161  * END OF FILE [sd_buffer.h]
162  */
uint32_t size
Definition: sd_buffer.h:107
Definition: sd_buffer.h:80
uint8_t * buff
Definition: sd_buffer.h:103
enum sd_buff_state state
Definition: sd_buffer.h:95
uint32_t in
Definition: sd_buffer.h:104
enum sd_buff_err sd_char_buff_getc_to(struct sd_cbuf *buff, uint8_t *data, uint32_t timeout)
Get Character from Buffer with Timeout Get a single character from the buffer with a timeout if the b...
Definition: sd_buffer.c:386
Definition: sd_buffer.h:66
enum sd_buff_state state
Definition: sd_buffer.h:108
Character buffer structure.
Definition: sd_buffer.h:102
enum sd_buff_err sd_char_buff_getc(struct sd_cbuf *buff, uint8_t *data)
Get Character from Buffer Get a single character from the buffer.
Definition: sd_buffer.c:323
sd_buff_err
Buffer error enumeration.
Definition: sd_buffer.h:65
Definition: sd_buffer.h:68
enum sd_buff_err sd_char_buff_init(struct sd_cbuf *buff, uint32_t size, uint8_t *pbuff)
Initialize Character Buffer.
Definition: sd_buffer.c:72
uint8_t ** buff
Definition: sd_buffer.h:90
enum sd_buff_err sd_char_buff_write(struct sd_cbuf *buffer, uint8_t *data, uint32_t len)
Write Data to Buffer Write a specified length of characters from a data pointer to the buffer...
Definition: sd_buffer.c:203
Double character buffer structure.
Definition: sd_buffer.h:89
uint32_t len
Definition: sd_buffer.h:93
Definition: sd_buffer.h:69
Definition: sd_buffer.h:70
enum sd_buff_err sd_char_buff_putc(struct sd_cbuf *buffer, uint8_t data)
Put Character in Buffer Write a character to the buffer.
Definition: sd_buffer.c:120
uint32_t in
Definition: sd_buffer.h:92
Definition: sd_buffer.h:79
__weak void sd_char_write_end_cb(struct sd_cbuf *buff)
Write Command End Callback User defined function executed when a write operation is completed...
Definition: sd_buffer.c:466
enum sd_buff_err sd_doub_buff_init(struct sd_doub_buff *buff, uint32_t size, uint8_t **pbuff)
Initialize Double Buffer.
Definition: sd_buffer.c:99
Definition: sd_buffer.h:81
sd_buff_state
Buffer state enumeration.
Definition: sd_buffer.h:78
__weak void sd_char_read_end_cb(struct sd_cbuf *buff)
Read Command End Callback User defined function executed when a read operation is completed...
Definition: sd_buffer.c:484
uint32_t out
Definition: sd_buffer.h:105
uint32_t size
Definition: sd_buffer.h:94
enum sd_buff_err sd_char_buff_read(struct sd_cbuf *buff, uint8_t *data, uint32_t *len)
Read Length of Characters from Buffer Copy a specified length of the buffer to a pointer.
Definition: sd_buffer.c:256
enum sd_buff_err sd_char_buff_putc_to(struct sd_cbuf *buffer, uint8_t data, uint32_t timeout)
Put Character in Buffer with Timeout Write a character to the buffer with a timeout.
Definition: sd_buffer.c:158
Definition: sd_buffer.h:71
Definition: sd_buffer.h:82
uint8_t idx
Definition: sd_buffer.h:91
Definition: sd_buffer.h:67
uint32_t len
Definition: sd_buffer.h:106