Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Duet3D/RepRapFirmware.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/src/CAN
diff options
context:
space:
mode:
authorDavid Crocker <dcrocker@eschertech.com>2021-03-09 19:10:30 +0300
committerDavid Crocker <dcrocker@eschertech.com>2021-03-09 19:10:30 +0300
commit8c8b48d30f37d92351d03ab3787dd4dbd1506415 (patch)
tree860b2fb4b03289d7c04330c75996d98528cdad26 /src/CAN
parent4481135c99124a38eee3fcbb6955e6846df6bd42 (diff)
Tided up CAN Tx buffer allocation
Diffstat (limited to 'src/CAN')
-rw-r--r--src/CAN/CanInterface.cpp15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/CAN/CanInterface.cpp b/src/CAN/CanInterface.cpp
index 3182e457..15df4626 100644
--- a/src/CAN/CanInterface.cpp
+++ b/src/CAN/CanInterface.cpp
@@ -92,7 +92,7 @@ static bool inExpansionMode = false;
constexpr CanDevice::Config Can0Config =
{
.dataSize = 64,
- .numTxBuffers = 6,
+ .numTxBuffers = 5,
.txFifoSize = 16,
.numRxBuffers = 0,
.rxFifo0Size = 16,
@@ -137,16 +137,15 @@ static CanDevice *can1dev = nullptr;
#endif
-// Transmit buffer usage
+// Transmit buffer usage. All dedicated buffer numbers must be < Can0Config.numTxBuffers.
constexpr auto TxBufferIndexUrgent = CanDevice::TxBufferNumber::buffer0;
constexpr auto TxBufferIndexTimeSync = CanDevice::TxBufferNumber::buffer1;
-constexpr auto TxBufferIndexMotion = CanDevice::TxBufferNumber::fifo;
-// We should probably use a FIFO or a queue for the remainder, but for now each has its own message buffer
-constexpr auto TxBufferIndexRequest = CanDevice::TxBufferNumber::buffer3;
-constexpr auto TxBufferIndexResponse = CanDevice::TxBufferNumber::buffer4;
-constexpr auto TxBufferIndexBroadcast = CanDevice::TxBufferNumber::buffer5;
+constexpr auto TxBufferIndexRequest = CanDevice::TxBufferNumber::buffer2;
+constexpr auto TxBufferIndexResponse = CanDevice::TxBufferNumber::buffer3;
+constexpr auto TxBufferIndexBroadcast = CanDevice::TxBufferNumber::buffer4;
+constexpr auto TxBufferIndexMotion = CanDevice::TxBufferNumber::fifo; // we send lots of movement messages so use the FIFO for them
-// Receive buffer/FIFO usage
+// Receive buffer/FIFO usage. All dedicated buffer numbers must be < Can0Config.numRxBuffers.
constexpr auto RxBufferIndexBroadcast = CanDevice::RxBufferNumber::fifo0;
constexpr auto RxBufferIndexRequest = CanDevice::RxBufferNumber::fifo0;
constexpr auto RxBufferIndexResponse = CanDevice::RxBufferNumber::fifo1;