/**@fn int8_t buf_putbyte(CircArr_InitTypeDef* arr, uint8_t c) * @brief buf_putbyte accepts a single byte c and puts it in the circular array. * @param arr a pointer to a circular array object * @param c an unsigned byte to be added to the array * @return */ uint8_t buf_putbyte(CircArr_InitTypeDef* arr, uint8_t c) { if ( buf_full(arr) ) { return (0); } //or just increment n_r and n_w? arr->buf[arr->n_w++ % arr->size] = c; return (1); }
bool buf_write(buf_t* buf, void* data) { bool success = false; if (!buf_full(buf)) { buf->buffer[ buf->writes % buf->size ] = data; buf->writes++; success = true; } return success; }