8 #include "RtosBuffer.hpp"
9 #include "RtosHeap.hpp"
28 RtosBuffer::~RtosBuffer() {
42 uint8_t* src = (uint8_t*) buffer;
70 internalWakeUpWaitingToTake();
83 int count = mMaxCount - mCurrentCount;
90 internalWakeUpWaitingToTake();
103 uint8_t* dst = (uint8_t*) buffer;
131 internalWakeUpWaitingToGive();
144 if (len > mCurrentCount) {
148 mCurrentCount -= len;
150 internalWakeUpWaitingToGive();
161 const uint8_t* src = (
const uint8_t*) buffer;
162 if (mIdxIn + len > mMaxCount) {
163 int left = mMaxCount - mIdxIn;
164 memcpy(&mBuffer[mIdxIn], src, left);
167 memcpy(&mBuffer[0], src, left);
171 memcpy(&mBuffer[mIdxIn], src, len);
182 uint8_t* dst = (uint8_t*) buffer;
183 if (mIdxOut + len > mMaxCount) {
184 int left = mMaxCount - mIdxOut;
185 memcpy(dst, &mBuffer[mIdxOut], left);
188 memcpy(dst, &mBuffer[0], left);
192 memcpy(dst, &mBuffer[mIdxOut], len);