First step in changing the CAN frame format - introduced various transfer lengths per transfer type

This commit is contained in:
Pavel Kirienko
2015-04-28 11:27:01 +03:00
parent 1b75c48783
commit c159f9f7df
7 changed files with 44 additions and 14 deletions
@@ -124,7 +124,7 @@ template <typename DataStruct_,
class UAVCAN_EXPORT TransferListenerInstantiationHelper
{
enum { DataTypeMaxByteLen = BitLenToByteLen<DataStruct_::MaxBitLen>::Result };
enum { NeedsBuffer = int(DataTypeMaxByteLen) > int(MaxSingleFrameTransferPayloadLen) };
enum { NeedsBuffer = int(DataTypeMaxByteLen) > int(GuaranteedPayloadLenPerFrame) };
enum { BufferSize = NeedsBuffer ? DataTypeMaxByteLen : 0 };
#if UAVCAN_TINY
enum { NumStaticBufs = 0 };
@@ -46,7 +46,7 @@ public:
* This implementation provides the buffer large enough to
* serialize any UAVCAN data structure.
*/
template <unsigned MaxSize_ = MaxTransferPayloadLen>
template <unsigned MaxSize_ = MaxPossibleTransferPayloadLen>
class UAVCAN_EXPORT MarshalBufferProvider : public IMarshalBufferProvider
{
class Buffer : public IMarshalBuffer
+1 -1
View File
@@ -60,7 +60,7 @@ template <std::size_t MemPoolSize_,
unsigned OutgoingTransferMaxPayloadLen = 264
#else
unsigned OutgoingTransferRegistryStaticEntries = 10,
unsigned OutgoingTransferMaxPayloadLen = MaxTransferPayloadLen
unsigned OutgoingTransferMaxPayloadLen = MaxPossibleTransferPayloadLen
#endif
>
class UAVCAN_EXPORT Node : public INode