diff --git a/silecs-communication-cpp/src/silecs-communication/interface/equipment/SilecsRegister.cpp b/silecs-communication-cpp/src/silecs-communication/interface/equipment/SilecsRegister.cpp
index 86852839bbd224060498297e2dba6ae90880dc07..fb20dde4d040958b44d2bf83c8d9f2eee1374697 100644
--- a/silecs-communication-cpp/src/silecs-communication/interface/equipment/SilecsRegister.cpp
+++ b/silecs-communication-cpp/src/silecs-communication/interface/equipment/SilecsRegister.cpp
@@ -1285,6 +1285,8 @@ FormatType Register::whichFormatType(std::string type)
         return Float64;
     else if (type == "string")
         return String;
+    else if (type == "bool")
+        return Bool;
     else
         throw SilecsException(__FILE__, __LINE__, DATA_UNKNOWN_FORMAT_TYPE, type);
 }
diff --git a/silecs-communication-cpp/src/silecs-communication/interface/equipment/SilecsRegister.h b/silecs-communication-cpp/src/silecs-communication/interface/equipment/SilecsRegister.h
index 3bc083824fab9af9b812be76c2fdfd3264fdc59f..fcebaa1aa41cfb4425dbf0cb37432a430e5b892a 100644
--- a/silecs-communication-cpp/src/silecs-communication/interface/equipment/SilecsRegister.h
+++ b/silecs-communication-cpp/src/silecs-communication/interface/equipment/SilecsRegister.h
@@ -48,7 +48,8 @@ static const std::string FormatTypeString[] = { //!!Must be synchronized with Fo
 "uInt64", /*!<: 64-bits unsigned integer*/
 "Int64", /*!<: 64-bits integer*/
 "Float64", /*!<: 64-bits signed float*/
-"String" /*!<: String of ASCII characters*/
+"String", /*!<: String of ASCII characters*/
+"Bool"
 };
 
 /*!
@@ -78,8 +79,8 @@ typedef enum
     uInt64 = 8, /*!<: 64-bits unsigned integer*/
     Int64 = 9, /*!<: 64-bits integer*/
     Float64 = 10, /*!<: 64-bits signed float*/
-    String = 11
-
+    String = 11,
+    Bool = 12
 } FormatType;
 
 /*!