From e584f0dba4fa7751a45b7dd67b417ac7cb41b8db Mon Sep 17 00:00:00 2001 From: David Crocker Date: Tue, 22 Feb 2022 17:09:29 +0000 Subject: [PATCH] Populate boards[].name for expansion boards --- src/CAN/ExpansionManager.cpp | 3 ++- src/ObjectModel/ObjectModel.cpp | 3 +++ src/ObjectModel/ObjectModel.h | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/CAN/ExpansionManager.cpp b/src/CAN/ExpansionManager.cpp index 60ca48af29..7e78157fda 100644 --- a/src/CAN/ExpansionManager.cpp +++ b/src/CAN/ExpansionManager.cpp @@ -35,6 +35,7 @@ constexpr ObjectModelTableEntry ExpansionManager::objectModelTable[] = { "firmwareVersion", OBJECT_MODEL_FUNC(self->FindIndexedBoard(context.GetLastIndex()).typeName, ExpansionDetail::firmwareVersion), ObjectModelEntryFlags::none }, { "maxMotors", OBJECT_MODEL_FUNC((int32_t)self->FindIndexedBoard(context.GetLastIndex()).numDrivers), ObjectModelEntryFlags::none }, { "mcuTemp", OBJECT_MODEL_FUNC_IF(self->FindIndexedBoard(context.GetLastIndex()).hasMcuTemp, self, 1), ObjectModelEntryFlags::live }, + { "name", OBJECT_MODEL_FUNC(self->FindIndexedBoard(context.GetLastIndex()).typeName, ExpansionDetail::longName), ObjectModelEntryFlags::none }, { "shortName", OBJECT_MODEL_FUNC(self->FindIndexedBoard(context.GetLastIndex()).typeName, ExpansionDetail::shortName), ObjectModelEntryFlags::none }, { "state", OBJECT_MODEL_FUNC(self->FindIndexedBoard(context.GetLastIndex()).state.ToString()), ObjectModelEntryFlags::none }, { "uniqueId", OBJECT_MODEL_FUNC_IF(self->FindIndexedBoard(context.GetLastIndex()).uniqueId.IsValid(), @@ -69,7 +70,7 @@ constexpr ObjectModelTableEntry ExpansionManager::objectModelTable[] = constexpr uint8_t ExpansionManager::objectModelTableDescriptor[] = { 6, // number of sections - 13, // section 0: boards[] + 14, // section 0: boards[] 3, // section 1: mcuTemp 3, // section 2: vIn 3, // section 3: v12 diff --git a/src/ObjectModel/ObjectModel.cpp b/src/ObjectModel/ObjectModel.cpp index 714f4470f5..6376f1e3fb 100644 --- a/src/ObjectModel/ObjectModel.cpp +++ b/src/ObjectModel/ObjectModel.cpp @@ -213,6 +213,9 @@ void ExpressionValue::ExtractRequestedPart(const StringRef& rslt) const noexcept switch((ExpansionDetail)param) { + case ExpansionDetail::longName: + rslt.cat("Duet 3 Expansion "); + // no break case ExpansionDetail::shortName: rslt.catn(sVal, indexOfDivider1); break; diff --git a/src/ObjectModel/ObjectModel.h b/src/ObjectModel/ObjectModel.h index 5a9227f21f..a957aff6dc 100644 --- a/src/ObjectModel/ObjectModel.h +++ b/src/ObjectModel/ObjectModel.h @@ -56,7 +56,7 @@ class CanExpansionBoardDetails; enum class ExpansionDetail : uint32_t { - shortName, firmwareVersion, firmwareFileName, firmwareDate + shortName, firmwareVersion, firmwareFileName, firmwareDate, longName }; #endif