From ba48d97c2b0fbfbdebe73b90a780866220771fc5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Felix=20Wei=C3=9F?=
<72068105+Sandoun@users.noreply.github.com>
Date: Mon, 20 Jun 2022 17:09:48 +0200
Subject: [PATCH] Added missing async write methods
- refactoring
---
Examples/Program.cs | 6 +-
Examples/TestRegisters.cs | 2 +-
MewtocolNet/Mewtocol/CpuInfo.cs | 96 ++++++++++
MewtocolNet/Mewtocol/DynamicInterface.cs | 30 +++-
MewtocolNet/Mewtocol/LinkedLists.cs | 4 +-
MewtocolNet/Mewtocol/MewtocolHelpers.cs | 8 +-
MewtocolNet/Mewtocol/MewtocolInterface.cs | 41 +++--
.../Mewtocol/MewtocolInterfaceRequests.cs | 2 +-
MewtocolNet/Mewtocol/PLCInfo.cs | 43 +++++
MewtocolNet/Mewtocol/PLCMode.cs | 67 +++++++
MewtocolNet/Mewtocol/RegisterEnums.cs | 14 ++
MewtocolNet/Mewtocol/Responses.cs | 167 ++----------------
.../Mewtocol/Subregisters/BRegister.cs | 2 +-
.../Mewtocol/Subregisters/BRegisterResult.cs | 2 +-
.../Mewtocol/Subregisters/NRegister.cs | 2 +-
.../Mewtocol/Subregisters/NRegisterResult.cs | 2 +-
MewtocolNet/Mewtocol/Subregisters/Register.cs | 2 +-
.../Mewtocol/Subregisters/SRegister.cs | 2 +-
.../Mewtocol/Subregisters/SRegisterResult.cs | 2 +-
19 files changed, 314 insertions(+), 180 deletions(-)
create mode 100644 MewtocolNet/Mewtocol/CpuInfo.cs
create mode 100644 MewtocolNet/Mewtocol/PLCInfo.cs
create mode 100644 MewtocolNet/Mewtocol/PLCMode.cs
diff --git a/Examples/Program.cs b/Examples/Program.cs
index f707c6a..de1c005 100644
--- a/Examples/Program.cs
+++ b/Examples/Program.cs
@@ -34,8 +34,12 @@ namespace Examples {
Task.Factory.StartNew(async () => {
await Task.Delay(2000);
+
//inverts the boolean register
- interf.SetRegister(nameof(registers.TestBool1), !registers.TestBool1);
+ await interf.SetRegisterAsync(nameof(registers.TestBool1), !registers.TestBool1);
+
+ Console.WriteLine("Testregister was toggled");
+
//adds 10 each time the plc connects to the PLCs INT regíster
interf.SetRegister(nameof(registers.TestInt16), (short)(registers.TestInt16 + 10));
//adds 1 each time the plc connects to the PLCs DINT regíster
diff --git a/Examples/TestRegisters.cs b/Examples/TestRegisters.cs
index 1e0a21b..101b80d 100644
--- a/Examples/TestRegisters.cs
+++ b/Examples/TestRegisters.cs
@@ -10,7 +10,7 @@ namespace Examples {
[Register(100, RegisterType.R)]
public bool TestBool1 { get; private set; }
- //corresponds to a R100 boolean register in the PLC
+ //corresponds to a XD input of the PLC
[Register(RegisterType.X, SpecialAddress.D)]
public bool TestBoolInputXD { get; private set; }
diff --git a/MewtocolNet/Mewtocol/CpuInfo.cs b/MewtocolNet/Mewtocol/CpuInfo.cs
new file mode 100644
index 0000000..ff6ecc8
--- /dev/null
+++ b/MewtocolNet/Mewtocol/CpuInfo.cs
@@ -0,0 +1,96 @@
+using System;
+
+namespace MewtocolNet.Registers {
+ public class CpuInfo {
+ ///
+ /// CPU type of the PLC
+ ///
+ public enum CpuType {
+ ///
+ /// FP 0 / FP 2.7K
+ ///
+ FP0_FP1_2_7K,
+ ///
+ /// FP0 / FP1, 5K / 10K
+ ///
+ FP0_FP1_5K_10K,
+ ///
+ /// FP1 M 0.9K
+ ///
+ FP1_M_0_9K,
+ ///
+ /// FP2 16k / 32k
+ ///
+ FP2_16K_32K,
+ ///
+ /// FP3 C 10K
+ ///
+ FP3_C_10K,
+ ///
+ /// FP3 C 16K
+ ///
+ FP3_C_16K,
+ ///
+ /// FP5 16K
+ ///
+ FP5_16K,
+ ///
+ /// FP 5 24K
+ ///
+ FP5_24K,
+ ///
+ /// Includes panasonic FPX, FPX-H, Sigma
+ ///
+ FP_Sigma_X_H_30K_60K_120K
+
+ }
+
+ public CpuType Cputype { get; set; }
+ public int ProgramCapacity { get; set; }
+ public string CpuVersion { get; set; }
+
+
+ public static CpuInfo BuildFromHexString (string _cpuType, string _cpuVersion, string _progCapacity) {
+
+ CpuInfo retInf = new CpuInfo();
+
+ switch (_cpuType) {
+ case "02":
+ retInf.Cputype = CpuType.FP5_16K;
+ break;
+ case "03":
+ retInf.Cputype = CpuType.FP3_C_10K;
+ break;
+ case "04":
+ retInf.Cputype = CpuType.FP1_M_0_9K;
+ break;
+ case "05":
+ retInf.Cputype = CpuType.FP0_FP1_2_7K;
+ break;
+ case "06":
+ retInf.Cputype = CpuType.FP0_FP1_5K_10K;
+ break;
+ case "12":
+ retInf.Cputype = CpuType.FP5_24K;
+ break;
+ case "13":
+ retInf.Cputype = CpuType.FP3_C_16K;
+ break;
+ case "20":
+ retInf.Cputype = CpuType.FP_Sigma_X_H_30K_60K_120K;
+ break;
+ case "50":
+ retInf.Cputype = CpuType.FP2_16K_32K;
+ break;
+ }
+
+ retInf.ProgramCapacity = Convert.ToInt32(_progCapacity);
+ retInf.CpuVersion = _cpuVersion.Insert(1, ".");
+ return retInf;
+
+ }
+ }
+
+
+
+}
\ No newline at end of file
diff --git a/MewtocolNet/Mewtocol/DynamicInterface.cs b/MewtocolNet/Mewtocol/DynamicInterface.cs
index 513c1b9..266fee9 100644
--- a/MewtocolNet/Mewtocol/DynamicInterface.cs
+++ b/MewtocolNet/Mewtocol/DynamicInterface.cs
@@ -5,7 +5,7 @@ using System.Text;
using System.Threading;
using System.Threading.Tasks;
using MewtocolNet.Logging;
-using MewtocolNet.Responses;
+using MewtocolNet.Registers;
namespace MewtocolNet {
@@ -296,6 +296,34 @@ namespace MewtocolNet {
#endregion
+ #region Register accessing
+
+ ///
+ /// Gets a register that was added by its name
+ ///
+ ///
+ public Register GetRegister (string name) {
+
+ return Registers.FirstOrDefault(x => x.Value.Name == name).Value;
+
+ }
+
+ ///
+ /// Gets a register that was added by its name
+ ///
+ /// The type of register
+ /// A casted register or the default value
+ public T GetRegister (string name) where T : Register {
+ try {
+ var reg = Registers.FirstOrDefault(x => x.Value.Name == name);
+ return reg.Value as T;
+ } catch (InvalidCastException) {
+ return default(T);
+ }
+ }
+
+ #endregion
+
#region Register Reading
///
diff --git a/MewtocolNet/Mewtocol/LinkedLists.cs b/MewtocolNet/Mewtocol/LinkedLists.cs
index 9924761..5554330 100644
--- a/MewtocolNet/Mewtocol/LinkedLists.cs
+++ b/MewtocolNet/Mewtocol/LinkedLists.cs
@@ -3,9 +3,9 @@ using System.Collections.Generic;
namespace MewtocolNet.Links {
- public class LinkedData {
+ internal class LinkedData {
- public static Dictionary ErrorCodes = new System.Collections.Generic.Dictionary {
+ internal static Dictionary ErrorCodes = new System.Collections.Generic.Dictionary {
{21, "NACK error"},
{22, "WACK error"},
diff --git a/MewtocolNet/Mewtocol/MewtocolHelpers.cs b/MewtocolNet/Mewtocol/MewtocolHelpers.cs
index 9743194..ae1dbb1 100644
--- a/MewtocolNet/Mewtocol/MewtocolHelpers.cs
+++ b/MewtocolNet/Mewtocol/MewtocolHelpers.cs
@@ -3,10 +3,14 @@ using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Collections.Generic;
-using MewtocolNet.Responses;
+using MewtocolNet.Registers;
using System.Collections;
namespace MewtocolNet {
+
+ ///
+ /// Contains helper methods
+ ///
public static class MewtocolHelpers {
///
@@ -20,7 +24,7 @@ namespace MewtocolNet {
}
- public static byte[] ToHexASCIIBytes (this string _str) {
+ internal static byte[] ToHexASCIIBytes (this string _str) {
ASCIIEncoding ascii = new ASCIIEncoding();
byte[] bytes = ascii.GetBytes(_str.ToUpper());
return bytes;
diff --git a/MewtocolNet/Mewtocol/MewtocolInterface.cs b/MewtocolNet/Mewtocol/MewtocolInterface.cs
index 050ef51..5092e07 100644
--- a/MewtocolNet/Mewtocol/MewtocolInterface.cs
+++ b/MewtocolNet/Mewtocol/MewtocolInterface.cs
@@ -4,15 +4,12 @@ using System.Net.Sockets;
using System.Text;
using System.Text.RegularExpressions;
using System.Collections.Generic;
-using System.Threading;
using System.Threading.Tasks;
using System.Linq;
-using MewtocolNet.Responses;
+using MewtocolNet.Registers;
using MewtocolNet.RegisterAttributes;
using MewtocolNet.Logging;
using System.Collections;
-using System.Reflection;
-using MewtocolNet.Logging;
using System.Diagnostics;
namespace MewtocolNet {
@@ -372,6 +369,22 @@ namespace MewtocolNet {
/// The value to write to the register
public void SetRegister (string registerName, object value) {
+ var foundRegister = GetAllRegisters().FirstOrDefault(x => x.Name == registerName);
+
+ if (foundRegister == null) {
+ throw new Exception($"Register with the name {registerName} was not found");
+ }
+
+ _ = SetRegisterAsync(registerName, value);
+
+ }
+
+ ///
+ /// Sets a register in the PLCs memory asynchronously, returns the result status from the PLC
+ ///
+ /// The name the register was given to or a property name from the RegisterCollection class
+ /// The value to write to the register
+ public async Task SetRegisterAsync (string registerName, object value) {
var foundRegister = GetAllRegisters().FirstOrDefault(x => x.Name == registerName);
@@ -381,52 +394,54 @@ namespace MewtocolNet {
if (foundRegister.GetType() == typeof(BRegister)) {
- _ = WriteBoolRegister((BRegister)foundRegister, (bool)value, StationNumber);
+ return await WriteBoolRegister((BRegister)foundRegister, (bool)value, StationNumber);
}
if (foundRegister.GetType() == typeof(NRegister)) {
- _ = WriteNumRegister((NRegister)foundRegister, (short)value, StationNumber);
-
+ return await WriteNumRegister((NRegister)foundRegister, (short)value, StationNumber);
+
}
if (foundRegister.GetType() == typeof(NRegister)) {
- _ = WriteNumRegister((NRegister)foundRegister, (ushort)value, StationNumber);
+ return await WriteNumRegister((NRegister)foundRegister, (ushort)value, StationNumber);
}
if (foundRegister.GetType() == typeof(NRegister)) {
- _ = WriteNumRegister((NRegister)foundRegister, (int)value, StationNumber);
+ return await WriteNumRegister((NRegister)foundRegister, (int)value, StationNumber);
}
if (foundRegister.GetType() == typeof(NRegister)) {
- _ = WriteNumRegister((NRegister)foundRegister, (uint)value, StationNumber);
+ return await WriteNumRegister((NRegister)foundRegister, (uint)value, StationNumber);
}
if (foundRegister.GetType() == typeof(NRegister)) {
- _ = WriteNumRegister((NRegister)foundRegister, (float)value, StationNumber);
+ return await WriteNumRegister((NRegister)foundRegister, (float)value, StationNumber);
}
if (foundRegister.GetType() == typeof(NRegister)) {
- _ = WriteNumRegister((NRegister)foundRegister, (TimeSpan)value, StationNumber);
+ return await WriteNumRegister((NRegister)foundRegister, (TimeSpan)value, StationNumber);
}
if (foundRegister.GetType() == typeof(SRegister)) {
- _ = WriteStringRegister((SRegister)foundRegister, (string)value, StationNumber);
+ return await WriteStringRegister((SRegister)foundRegister, (string)value, StationNumber);
}
+ return false;
+
}
#endregion
diff --git a/MewtocolNet/Mewtocol/MewtocolInterfaceRequests.cs b/MewtocolNet/Mewtocol/MewtocolInterfaceRequests.cs
index 59db7e8..37433fc 100644
--- a/MewtocolNet/Mewtocol/MewtocolInterfaceRequests.cs
+++ b/MewtocolNet/Mewtocol/MewtocolInterfaceRequests.cs
@@ -5,7 +5,7 @@ using System.Text;
using System.Collections.Generic;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
-using MewtocolNet.Responses;
+using MewtocolNet.Registers;
using System.Linq;
using System.Globalization;
diff --git a/MewtocolNet/Mewtocol/PLCInfo.cs b/MewtocolNet/Mewtocol/PLCInfo.cs
new file mode 100644
index 0000000..c89748e
--- /dev/null
+++ b/MewtocolNet/Mewtocol/PLCInfo.cs
@@ -0,0 +1,43 @@
+namespace MewtocolNet.Registers {
+ ///
+ /// Contains generic information about the plc
+ ///
+ public class PLCInfo {
+
+ ///
+ /// Contains information about the PLCs cpu
+ ///
+ public CpuInfo CpuInformation {get;set;}
+ ///
+ /// Contains information about the PLCs operation modes
+ ///
+ public PLCMode OperationMode {get;set;}
+ ///
+ /// Current error code of the PLC
+ ///
+ public string ErrorCode {get;set;}
+
+ ///
+ /// Current station number of the PLC
+ ///
+ public int StationNumber { get;set;}
+
+ ///
+ /// Generates a string containing some of the most important informations
+ ///
+ ///
+ public override string ToString () {
+
+ return $"Type: {CpuInformation.Cputype},\n" +
+ $"Capacity: {CpuInformation.ProgramCapacity}k\n" +
+ $"CPU v: {CpuInformation.CpuVersion}\n" +
+ $"Station Num: {StationNumber}\n" +
+ $"--------------------------------\n" +
+ $"OP Mode: {(OperationMode.RunMode ? "Run" : "Prog")}\n" +
+ $"Error Code: {ErrorCode}";
+
+ }
+
+ }
+
+}
\ No newline at end of file
diff --git a/MewtocolNet/Mewtocol/PLCMode.cs b/MewtocolNet/Mewtocol/PLCMode.cs
new file mode 100644
index 0000000..f3b0e58
--- /dev/null
+++ b/MewtocolNet/Mewtocol/PLCMode.cs
@@ -0,0 +1,67 @@
+using System;
+
+namespace MewtocolNet.Registers {
+
+ ///
+ /// All modes
+ ///
+ public class PLCMode {
+ public bool RunMode { get; set; }
+ public bool TestRunMode { get; set; }
+ public bool BreakExcecuting { get; set; }
+ public bool BreakValid { get; set; }
+ public bool OutputEnabled { get; set; }
+ public bool StepRunMode { get; set; }
+ public bool MessageExecuting { get; set; }
+ public bool RemoteMode { get; set; }
+
+ ///
+ /// Gets operation mode from 2 digit hex number
+ ///
+ internal static PLCMode BuildFromHex (string _hexString) {
+
+ string lower = Convert.ToString(Convert.ToInt32(_hexString.Substring(0, 1)), 2).PadLeft(4, '0');
+ string higher = Convert.ToString(Convert.ToInt32(_hexString.Substring(1, 1)), 2).PadLeft(4, '0');
+ string combined = lower + higher;
+
+ var retMode = new PLCMode();
+
+ for (int i = 0; i < 8; i++) {
+ char digit = combined[i];
+ bool state = false;
+ if (digit.ToString() == "1")
+ state = true;
+ switch (i) {
+ case 0:
+ retMode.RunMode = state;
+ break;
+ case 1:
+ retMode.TestRunMode = state;
+ break;
+ case 2:
+ retMode.BreakExcecuting = state;
+ break;
+ case 3:
+ retMode.BreakValid = state;
+ break;
+ case 4:
+ retMode.OutputEnabled = state;
+ break;
+ case 5:
+ retMode.StepRunMode = state;
+ break;
+ case 6:
+ retMode.MessageExecuting = state;
+ break;
+ case 7:
+ retMode.RemoteMode = state;
+ break;
+ }
+ }
+
+ return retMode;
+
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/MewtocolNet/Mewtocol/RegisterEnums.cs b/MewtocolNet/Mewtocol/RegisterEnums.cs
index d640f5a..66f7582 100644
--- a/MewtocolNet/Mewtocol/RegisterEnums.cs
+++ b/MewtocolNet/Mewtocol/RegisterEnums.cs
@@ -5,6 +5,10 @@ using System.Text;
using System.Threading.Tasks;
namespace MewtocolNet {
+
+ ///
+ /// The special register type
+ ///
public enum RegisterType {
///
@@ -42,8 +46,16 @@ namespace MewtocolNet {
}
+ ///
+ /// The special input / output channel address
+ ///
public enum SpecialAddress {
+ #pragma warning disable CS1591
+
+ ///
+ /// No defined
+ ///
None,
A = -10,
B = -11,
@@ -52,6 +64,8 @@ namespace MewtocolNet {
E = -14,
F = -15,
+ #pragma warning restore
+
}
}
diff --git a/MewtocolNet/Mewtocol/Responses.cs b/MewtocolNet/Mewtocol/Responses.cs
index 2a79361..b9b2289 100644
--- a/MewtocolNet/Mewtocol/Responses.cs
+++ b/MewtocolNet/Mewtocol/Responses.cs
@@ -1,170 +1,33 @@
-using System;
using System.Collections.Generic;
using System.Text.RegularExpressions;
using System.Linq;
using System.Text;
using System.ComponentModel;
-namespace MewtocolNet.Responses {
-
+namespace MewtocolNet.Registers {
+
///
/// The formatted result of a ascii command
///
public struct CommandResult {
+
+ ///
+ /// Success state of the message
+ ///
public bool Success {get;set;}
+ ///
+ /// Response text of the message
+ ///
public string Response {get;set;}
+ ///
+ /// Error code of the message
+ ///
public string Error {get;set;}
+ ///
+ /// Error text of the message
+ ///
public string ErrorDescription {get;set;}
- public override string ToString() {
- string errmsg = Success ? "" : ErrorDescription;
- return $"Success: {Success}, Response: {Response} {errmsg}";
- }
}
-
-
- ///
- /// Contains generic information about the plc
- ///
- public class PLCInfo {
-
- public class PLCMode {
- public bool RunMode {get;set;}
- public bool TestRunMode {get;set;}
- public bool BreakExcecuting {get;set;}
- public bool BreakValid {get;set;}
- public bool OutputEnabled {get;set;}
- public bool StepRunMode {get;set;}
- public bool MessageExecuting {get;set;}
- public bool RemoteMode {get;set;}
-
- ///
- /// Gets operation mode from 2 digit hex number
- ///
- public static PLCMode BuildFromHex (string _hexString) {
-
- string lower = Convert.ToString(Convert.ToInt32(_hexString.Substring(0, 1)), 2).PadLeft(4, '0');
- string higher = Convert.ToString(Convert.ToInt32(_hexString.Substring(1, 1)), 2).PadLeft(4, '0');
- string combined = lower + higher;
-
- var retMode = new PLCMode();
-
- for (int i = 0; i < 8; i++) {
- char digit = combined[i];
- bool state = false;
- if(digit.ToString() == "1") state = true;
- switch (i) {
- case 0 :
- retMode.RunMode = state;
- break;
- case 1 :
- retMode.TestRunMode = state;
- break;
- case 2 :
- retMode.BreakExcecuting = state;
- break;
- case 3 :
- retMode.BreakValid = state;
- break;
- case 4 :
- retMode.OutputEnabled = state;
- break;
- case 5 :
- retMode.StepRunMode = state;
- break;
- case 6 :
- retMode.MessageExecuting = state;
- break;
- case 7 :
- retMode.RemoteMode = state;
- break;
- }
- }
-
- return retMode;
-
- }
- }
-
- public class CpuInfo {
- public enum CpuType {
- FP0_FP1_2_7K,
- FP0_FP1_5K_10K,
- FP1_M_0_9K,
- FP2_16K_32K,
- FP3_C_10K,
- FP3_C_16K,
- FP5_16K,
- FP5_24K,
- FP_Sigma_X_H_30K_60K_120K
-
- }
-
- public CpuType Cputype {get;set;}
- public int ProgramCapacity {get;set;}
- public string CpuVersion {get;set;}
-
-
- public static CpuInfo BuildFromHexString (string _cpuType, string _cpuVersion, string _progCapacity) {
-
- CpuInfo retInf = new CpuInfo();
-
- switch (_cpuType) {
- case "02":
- retInf.Cputype = CpuType.FP5_16K;
- break;
- case "03":
- retInf.Cputype = CpuType.FP3_C_10K;
- break;
- case "04":
- retInf.Cputype = CpuType.FP1_M_0_9K;
- break;
- case "05":
- retInf.Cputype = CpuType.FP0_FP1_2_7K;
- break;
- case "06":
- retInf.Cputype = CpuType.FP0_FP1_5K_10K;
- break;
- case "12":
- retInf.Cputype = CpuType.FP5_24K;
- break;
- case "13":
- retInf.Cputype = CpuType.FP3_C_16K;
- break;
- case "20":
- retInf.Cputype = CpuType.FP_Sigma_X_H_30K_60K_120K;
- break;
- case "50":
- retInf.Cputype = CpuType.FP2_16K_32K;
- break;
- }
-
- retInf.ProgramCapacity = Convert.ToInt32(_progCapacity);
- retInf.CpuVersion = _cpuVersion.Insert(1, ".");
- return retInf;
-
- }
- }
-
- public CpuInfo CpuInformation {get;set;}
- public PLCMode OperationMode {get;set;}
- public string ErrorCode {get;set;}
- public int StationNumber { get;set;}
-
- public override string ToString () {
-
- return $"Type: {CpuInformation.Cputype},\n" +
- $"Capacity: {CpuInformation.ProgramCapacity}k\n" +
- $"CPU v: {CpuInformation.CpuVersion}\n" +
- $"Station Num: {StationNumber}\n" +
- $"--------------------------------\n" +
- $"OP Mode: {(OperationMode.RunMode ? "Run" : "Prog")}\n" +
- $"Error Code: {ErrorCode}";
-
- }
-
- }
-
-
}
\ No newline at end of file
diff --git a/MewtocolNet/Mewtocol/Subregisters/BRegister.cs b/MewtocolNet/Mewtocol/Subregisters/BRegister.cs
index ee83e94..146e3b0 100644
--- a/MewtocolNet/Mewtocol/Subregisters/BRegister.cs
+++ b/MewtocolNet/Mewtocol/Subregisters/BRegister.cs
@@ -2,7 +2,7 @@
using System.Text;
using MewtocolNet;
-namespace MewtocolNet.Responses {
+namespace MewtocolNet.Registers {
///
/// Defines a register containing a boolean
diff --git a/MewtocolNet/Mewtocol/Subregisters/BRegisterResult.cs b/MewtocolNet/Mewtocol/Subregisters/BRegisterResult.cs
index 17e8f36..62d1c8a 100644
--- a/MewtocolNet/Mewtocol/Subregisters/BRegisterResult.cs
+++ b/MewtocolNet/Mewtocol/Subregisters/BRegisterResult.cs
@@ -1,4 +1,4 @@
-namespace MewtocolNet.Responses {
+namespace MewtocolNet.Registers {
public class BRegisterResult {
public CommandResult Result { get; set; }
diff --git a/MewtocolNet/Mewtocol/Subregisters/NRegister.cs b/MewtocolNet/Mewtocol/Subregisters/NRegister.cs
index 3232711..6381cf6 100644
--- a/MewtocolNet/Mewtocol/Subregisters/NRegister.cs
+++ b/MewtocolNet/Mewtocol/Subregisters/NRegister.cs
@@ -1,6 +1,6 @@
using System;
-namespace MewtocolNet.Responses {
+namespace MewtocolNet.Registers {
///
/// Defines a register containing a number
///
diff --git a/MewtocolNet/Mewtocol/Subregisters/NRegisterResult.cs b/MewtocolNet/Mewtocol/Subregisters/NRegisterResult.cs
index e76f1d1..66b381c 100644
--- a/MewtocolNet/Mewtocol/Subregisters/NRegisterResult.cs
+++ b/MewtocolNet/Mewtocol/Subregisters/NRegisterResult.cs
@@ -1,4 +1,4 @@
-namespace MewtocolNet.Responses {
+namespace MewtocolNet.Registers {
///
/// Result for a read/write operation
///
diff --git a/MewtocolNet/Mewtocol/Subregisters/Register.cs b/MewtocolNet/Mewtocol/Subregisters/Register.cs
index 2cd6b6b..83a6620 100644
--- a/MewtocolNet/Mewtocol/Subregisters/Register.cs
+++ b/MewtocolNet/Mewtocol/Subregisters/Register.cs
@@ -6,7 +6,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
-namespace MewtocolNet.Responses {
+namespace MewtocolNet.Registers {
///
/// A class describing a register
diff --git a/MewtocolNet/Mewtocol/Subregisters/SRegister.cs b/MewtocolNet/Mewtocol/Subregisters/SRegister.cs
index 6da8b4d..9414caa 100644
--- a/MewtocolNet/Mewtocol/Subregisters/SRegister.cs
+++ b/MewtocolNet/Mewtocol/Subregisters/SRegister.cs
@@ -1,7 +1,7 @@
using System;
using System.Text;
-namespace MewtocolNet.Responses {
+namespace MewtocolNet.Registers {
///
/// Defines a register containing a string
///
diff --git a/MewtocolNet/Mewtocol/Subregisters/SRegisterResult.cs b/MewtocolNet/Mewtocol/Subregisters/SRegisterResult.cs
index c7ad14c..f3cc1bf 100644
--- a/MewtocolNet/Mewtocol/Subregisters/SRegisterResult.cs
+++ b/MewtocolNet/Mewtocol/Subregisters/SRegisterResult.cs
@@ -1,4 +1,4 @@
-namespace MewtocolNet.Responses {
+namespace MewtocolNet.Registers {
public class SRegisterResult {
public CommandResult Result { get; set; }
public SRegister Register { get; set; }