diff options
author | David Crocker <dcrocker@eschertech.com> | 2020-01-22 23:46:13 +0300 |
---|---|---|
committer | David Crocker <dcrocker@eschertech.com> | 2020-01-22 23:46:13 +0300 |
commit | f11710c9cb9f16901437f39b5e07326f3d1ad6bf (patch) | |
tree | 27b6c95c661a56e3a5c3d24b85e934616697cf6b /src/ObjectModel/ObjectModel.h | |
parent | ee1ccb5074a1824175c29e3e28fc47d888c15091 (diff) |
Bug fix and more Object Model fields
Fixed bad JSON in M408 reports when no fans are configured
Added more object model fields: kinematics, machine coordinates
Refactored code that generates M408 responses
Diffstat (limited to 'src/ObjectModel/ObjectModel.h')
-rw-r--r-- | src/ObjectModel/ObjectModel.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/ObjectModel/ObjectModel.h b/src/ObjectModel/ObjectModel.h index 3d73d7d9..ad404be4 100644 --- a/src/ObjectModel/ObjectModel.h +++ b/src/ObjectModel/ObjectModel.h @@ -109,7 +109,7 @@ struct ExpressionValue uint64_t Get56BitValue() const noexcept { return ((uint64_t)param << 32) | uVal; } // Get the format string to use assuming this is a floating point number - const char *GetFloatFormatString() const noexcept; + const char *GetFloatFormatString() const noexcept { return ::GetFloatFormatString(param); } }; // Flags field of a table entry @@ -263,6 +263,9 @@ public: static const ObjectModelTableEntry objectModelTable[]; \ static const uint8_t objectModelTableDescriptor[]; +#define DECLARE_OBJECT_MODEL_VIRTUAL \ + virtual const ObjectModelTableEntry *GetObjectModelTable(const uint8_t*& descriptor) const noexcept override = 0; + #define DESCRIPTOR_OK(_class) (ARRAY_SIZE(_class::objectModelTableDescriptor) == _class::objectModelTableDescriptor[0] + 1) #define OMT_SIZE_OK(_class) (ARRAY_SIZE(_class::objectModelTable) == ArraySum(_class::objectModelTableDescriptor + 1, ARRAY_SIZE(_class::objectModelTableDescriptor) - 1)) #define OMT_ORDERING_OK(_class) (ObjectModelTableEntry::IsOrdered(_class::objectModelTableDescriptor, _class::objectModelTable)) @@ -288,6 +291,7 @@ public: #define INHERIT_OBJECT_MODEL // nothing #define DECLARE_OBJECT_MODEL // nothing +#define DECLARE_OBJECT_MODEL_VIRTUAL // nothing #define DEFINE_GET_OBJECT_MODEL_TABLE // nothing #define OBJECT_MODEL_ARRAY(_name) // nothing |