From 6fe0f45c278e51b4a54a7f3a105edcafaad9f89a Mon Sep 17 00:00:00 2001 From: "Robin.Mueller" Date: Sat, 18 Jan 2020 16:48:33 +0100 Subject: [PATCH] SerialBufferAdapter new setBuffer function Serial Fixed Array List Adapter documentation adapted SinglyLinkedList setEnd() function added --- container/SinglyLinkedList.h | 5 +++++ serialize/SerialBufferAdapter.cpp | 5 +++++ serialize/SerialBufferAdapter.h | 1 + serialize/SerialFixedArrayListAdapter.h | 2 +- 4 files changed, 12 insertions(+), 1 deletion(-) diff --git a/container/SinglyLinkedList.h b/container/SinglyLinkedList.h index 0a2e0531..5c9de6cf 100644 --- a/container/SinglyLinkedList.h +++ b/container/SinglyLinkedList.h @@ -58,6 +58,11 @@ public: virtual void setNext(LinkedElement* next) { this->next = next; } + + void setEnd() { + this->next = NULL; + } + LinkedElement* begin() { return this; } diff --git a/serialize/SerialBufferAdapter.cpp b/serialize/SerialBufferAdapter.cpp index ab9dae07..6ac2894f 100644 --- a/serialize/SerialBufferAdapter.cpp +++ b/serialize/SerialBufferAdapter.cpp @@ -123,6 +123,11 @@ void SerialBufferAdapter::setBuffer(uint8_t * buffer_, T bufferLength_) { bufferLength = bufferLength_; } +template +void SerialBufferAdapter::setBuffer(uint32_t * buffer_, T bufferLength_) { + buffer = reinterpret_cast(buffer_); + bufferLength = 4 * bufferLength_; +} //forward Template declaration for linker template class SerialBufferAdapter; diff --git a/serialize/SerialBufferAdapter.h b/serialize/SerialBufferAdapter.h index 53c5dc72..600bd692 100644 --- a/serialize/SerialBufferAdapter.h +++ b/serialize/SerialBufferAdapter.h @@ -59,6 +59,7 @@ public: uint8_t * getBuffer(); const uint8_t * getConstBuffer(); void setBuffer(uint8_t * buffer_, T bufferLength_); + void setBuffer(uint32_t * buffer_, T bufferLength_); private: enum bufferType { diff --git a/serialize/SerialFixedArrayListAdapter.h b/serialize/SerialFixedArrayListAdapter.h index e6db56e1..18a970b8 100644 --- a/serialize/SerialFixedArrayListAdapter.h +++ b/serialize/SerialFixedArrayListAdapter.h @@ -15,7 +15,7 @@ * * 1. Buffers with a size header inside that class can be declared with * SerialFixedArrayListAdapter. - * 2. MAX_BUFFER_LENGTH specifies the maximum allowed value for the buffer size. + * 2. MAX_BUFFER_LENGTH specifies the maximum allowed number of elements in FixedArrayList * 3. LENGTH_FIELD_TYPE specifies the data type of the buffer header containing the buffer size * (defaults to 1 byte length field) that follows *