diff --git a/g2core/planner.cpp b/g2core/planner.cpp index de03a894..662d3fd8 100644 --- a/g2core/planner.cpp +++ b/g2core/planner.cpp @@ -701,12 +701,12 @@ static inline void _clear_buffer(mpBuf_t *bf) bf->clear(); } -void _init_buffers(mpBuf_t *base, uint8_t size) +void _init_buffer_pool(mpBuf_t *base, uint8_t size) { mpBuf_t *pv, *nx; uint8_t i, nx_i; -// memset(base, 0, sizeof(mpBuf_t * size)); // clear all buffers in pool + memset(base, 0, sizeof(mpBuf_t)*size); // clear all buffers in pool mb.bf = base; // link the buffer pool first mb.w = mb.bf; // init all buffer pointers mb.r = mb.bf; @@ -715,8 +715,7 @@ void _init_buffers(mpBuf_t *base, uint8_t size) pv = &mb.bf[size-1]; for (i=0; i < size-1; i++) { - mb.bf[i].buffer_number = i; //+++++ number it for diagnostics only (otherwise not used) - + mb.bf[i].buffer_number = i; // number is for diagnostics only (otherwise not used) nx_i = ((ipv); -} -mpBuf_t * mp_get_next_buffer(const mpBuf_t *bf) -{ - return (bf->nx); -} +mpBuf_t * mp_get_prev_buffer(const mpBuf_t *bf) { return (bf->pv); } +mpBuf_t * mp_get_next_buffer(const mpBuf_t *bf) { return (bf->nx); } */ mpBuf_t * mp_get_write_buffer() // get & clear a buffer diff --git a/g2core/planner.h b/g2core/planner.h index 04923c3f..f817480c 100644 --- a/g2core/planner.h +++ b/g2core/planner.h @@ -242,18 +242,7 @@ typedef struct mpBuffer : mpBuffer_to_clear { // See Planning Velocity Notes for struct mpBuffer *nx; // static pointer to next buffer uint8_t buffer_number; //+++++ DIAGNOSTIC for easier debugging } mpBuf_t; -/* -typedef struct mpBufferPool { // ring buffer for sub-moves - magic_t magic_start; // magic number to test memory integrity - mpBuf_t *r; // run buffer pointer - mpBuf_t *w; // write buffer pointer - uint8_t buffers_available; // running count of available buffers - mpBuf_t bf[PLANNER_BUFFER_POOL_SIZE];// buffer storage - - magic_t magic_end; -} mpBufferPool_t; -*/ typedef struct mpBufferPool { // one or more planner buffer queues magic_t magic_start; // magic number to test memory integrity