Restructured files

- householding
This commit is contained in:
Felix Weiß
2023-06-23 15:40:34 +02:00
parent ebee8a0623
commit 88ad175145
31 changed files with 485 additions and 306 deletions

View File

@@ -1,7 +1,6 @@
using System;
using System.Collections.Generic; using System.Collections.Generic;
namespace MewtocolNet.Links { namespace MewtocolNet {
internal class CodeDescriptions { internal class CodeDescriptions {
@@ -40,7 +39,6 @@ namespace MewtocolNet.Links {
}; };
} }
} }

View File

@@ -1,6 +1,7 @@
using System; using MewtocolNet.PLCEnums;
using System;
namespace MewtocolNet.Registers { namespace MewtocolNet {
/// <summary> /// <summary>
/// Contains information about the plc and its cpu /// Contains information about the plc and its cpu

View File

@@ -1,14 +1,10 @@
using System; using MewtocolNet.Logging;
using MewtocolNet.Subregisters;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Data;
using System.Linq; using System.Linq;
using System.Reflection; using System.Reflection;
using System.Text;
using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using MewtocolNet.Logging;
using MewtocolNet.RegisterAttributes;
using MewtocolNet.Registers;
namespace MewtocolNet { namespace MewtocolNet {
@@ -327,4 +323,5 @@ namespace MewtocolNet {
#endregion #endregion
} }
} }

View File

@@ -1,7 +1,4 @@
using System; using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
namespace MewtocolNet { namespace MewtocolNet {

View File

@@ -1,6 +1,4 @@
using System; using System;
using System.Collections.Generic;
using System.Text;
namespace MewtocolNet.Logging { namespace MewtocolNet.Logging {

View File

@@ -1,8 +1,4 @@
using System; namespace MewtocolNet.Logging {
using System.Collections.Generic;
using System.Text;
namespace MewtocolNet.Logging {
/// <summary> /// <summary>
/// The loglevel of the logging module /// The loglevel of the logging module

View File

@@ -1,10 +1,9 @@
using System; using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using System.Collections.Generic;
using MewtocolNet.Registers;
using System.Collections;
namespace MewtocolNet { namespace MewtocolNet {

View File

@@ -1,27 +1,21 @@
using MewtocolNet.Logging;
using MewtocolNet.Queue;
using MewtocolNet.RegisterAttributes;
using MewtocolNet.Subregisters;
using System; using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.IO; using System.IO;
using System.Linq;
using System.Net;
using System.Net.Sockets; using System.Net.Sockets;
using System.Text; using System.Text;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using System.Collections.Generic;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Linq;
using MewtocolNet.Registers;
using MewtocolNet.RegisterAttributes;
using MewtocolNet.Logging;
using System.Collections;
using System.Diagnostics;
using System.ComponentModel;
using System.Net;
using System.Threading;
using MewtocolNet.Queue;
using System.Reflection;
using System.Timers;
using System.Data;
using System.Xml.Linq;
namespace MewtocolNet namespace MewtocolNet {
{
/// <summary> /// <summary>
/// The PLC com interface class /// The PLC com interface class
@@ -739,7 +733,7 @@ namespace MewtocolNet
Match m = errorcheck.Match(response.ToString()); Match m = errorcheck.Match(response.ToString());
if (m.Success) { if (m.Success) {
string eCode = m.Groups[1].Value; string eCode = m.Groups[1].Value;
string eDes = Links.CodeDescriptions.Error[Convert.ToInt32(eCode)]; string eDes = CodeDescriptions.Error[Convert.ToInt32(eCode)];
Console.ForegroundColor = ConsoleColor.Red; Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine($"Response is: {response}"); Console.WriteLine($"Response is: {response}");
Logger.Log($"Error on command {_msg.Replace("\r", "")} the PLC returned error code: {eCode}, {eDes}", LogLevel.Error); Logger.Log($"Error on command {_msg.Replace("\r", "")} the PLC returned error code: {eCode}, {eDes}", LogLevel.Error);
@@ -901,5 +895,4 @@ namespace MewtocolNet
} }
} }

View File

@@ -1,14 +1,12 @@
using MewtocolNet.Logging;
using MewtocolNet.PLCEnums;
using MewtocolNet.Subregisters;
using System; using System;
using System.IO;
using System.Net.Sockets;
using System.Text;
using System.Collections.Generic; using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using System.Threading.Tasks; using System.Threading.Tasks;
using MewtocolNet.Registers;
using System.Linq;
using System.Globalization;
using MewtocolNet.Logging;
namespace MewtocolNet { namespace MewtocolNet {

View File

@@ -1,4 +1,4 @@
namespace MewtocolNet { namespace MewtocolNet.PLCEnums {
/// <summary> /// <summary>
/// CPU type of the PLC /// CPU type of the PLC

View File

@@ -1,8 +1,4 @@
using System; namespace MewtocolNet.PLCEnums {
using System.Collections.Generic;
using System.Text;
namespace MewtocolNet {
/// <summary> /// <summary>
/// CPU type of the PLC /// CPU type of the PLC

View File

@@ -1,4 +1,4 @@
namespace MewtocolNet.Registers { namespace MewtocolNet {
/// <summary> /// <summary>
/// Contains generic information about the plc /// Contains generic information about the plc
/// </summary> /// </summary>

View File

@@ -1,6 +1,6 @@
using System; using System;
namespace MewtocolNet.Registers { namespace MewtocolNet {
/// <summary> /// <summary>
/// All modes /// All modes
@@ -87,6 +87,7 @@ namespace MewtocolNet.Registers {
return retMode; return retMode;
} }
} }
} }

View File

@@ -0,0 +1,16 @@
namespace MewtocolNet.RegisterAttributes {
/// <summary>
/// The size of the bitwise register
/// </summary>
public enum BitCount {
/// <summary>
/// 16 bit
/// </summary>
B16,
/// <summary>
/// 32 bit
/// </summary>
B32
}
}

View File

@@ -1,25 +1,7 @@
using System; using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MewtocolNet.RegisterAttributes { namespace MewtocolNet.RegisterAttributes {
/// <summary>
/// The size of the bitwise register
/// </summary>
public enum BitCount {
/// <summary>
/// 16 bit
/// </summary>
B16,
/// <summary>
/// 32 bit
/// </summary>
B32
}
/// <summary> /// <summary>
/// Defines the behavior of a register property /// Defines the behavior of a register property
/// </summary> /// </summary>

View File

@@ -1,15 +1,7 @@
using System; using System.ComponentModel;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.Linq;
using System.Runtime.CompilerServices; using System.Runtime.CompilerServices;
using System.Text;
using System.Threading.Tasks;
namespace MewtocolNet.RegisterAttributes namespace MewtocolNet.RegisterAttributes {
{
/// <summary> /// <summary>
/// A register collection base with full auto read and notification support built in /// A register collection base with full auto read and notification support built in

View File

@@ -1,8 +1,4 @@
using System; namespace MewtocolNet.RegisterBuilding {
using System.Collections.Generic;
using System.Text;
namespace MewtocolNet.Mewtocol {
/// <summary> /// <summary>
/// Contains useful tools for register creation /// Contains useful tools for register creation
@@ -15,11 +11,13 @@ namespace MewtocolNet.Mewtocol {
/// <param name="name">The name, fe. DT100</param> /// <param name="name">The name, fe. DT100</param>
/// <param name="reg">An <see cref="IRegister"/> or null if </param> /// <param name="reg">An <see cref="IRegister"/> or null if </param>
/// <returns>True if successfully parsed</returns> /// <returns>True if successfully parsed</returns>
//public static bool TryBuildFromName (string name, out IRegister reg) { public static bool TryBuildFromName(string name, out IRegister reg) {
reg = null;
return false;
//}
}
} }

View File

@@ -1,10 +1,4 @@
using System; namespace MewtocolNet {
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MewtocolNet {
/// <summary> /// <summary>
/// The register prefixed type /// The register prefixed type

View File

@@ -1,10 +1,4 @@
using System.Collections.Generic; namespace MewtocolNet {
using System.Text.RegularExpressions;
using System.Linq;
using System.Text;
using System.ComponentModel;
namespace MewtocolNet.Registers {
/// <summary> /// <summary>
/// The formatted result of a ascii command /// The formatted result of a ascii command

View File

@@ -1,10 +1,8 @@
using System; using System;
using System.ComponentModel; using System.ComponentModel;
using System.Data;
using System.Text; using System.Text;
using MewtocolNet;
namespace MewtocolNet.Registers { namespace MewtocolNet.Subregisters {
/// <summary> /// <summary>
/// Defines a register containing a boolean /// Defines a register containing a boolean
@@ -78,7 +76,7 @@ namespace MewtocolNet.Registers {
if (_spAddress > 0xF) if (_spAddress > 0xF)
throw new NotSupportedException("Special address cant be greater 15 or 0xF"); throw new NotSupportedException("Special address cant be greater 15 or 0xF");
memoryAddress = (int)_areaAdress; memoryAddress = _areaAdress;
specialAddress = _spAddress; specialAddress = _spAddress;
name = _name; name = _name;

View File

@@ -1,4 +1,4 @@
namespace MewtocolNet.Registers { namespace MewtocolNet.Subregisters {
/// <summary> /// <summary>
/// Result for a boolean register /// Result for a boolean register

View File

@@ -2,10 +2,9 @@
using System.Collections; using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel; using System.ComponentModel;
using System.Reflection;
using System.Text; using System.Text;
namespace MewtocolNet.Registers { namespace MewtocolNet.Subregisters {
/// <summary> /// <summary>
/// Defines a register containing a number /// Defines a register containing a number
@@ -132,7 +131,7 @@ namespace MewtocolNet.Registers {
} }
public string GetStartingMemoryArea () => this.MemoryAddress.ToString(); public string GetStartingMemoryArea() => MemoryAddress.ToString();
public Type GetCollectionType() => CollectionType; public Type GetCollectionType() => CollectionType;

View File

@@ -1,6 +1,4 @@
using System; namespace MewtocolNet.Subregisters {
namespace MewtocolNet.Registers {
/// <summary> /// <summary>
/// Result for a read/write operation /// Result for a read/write operation
/// </summary> /// </summary>
@@ -26,7 +24,7 @@ namespace MewtocolNet.Registers {
value = (T)Register.Value; value = (T)Register.Value;
return true; return true;
} }
value = default(T); value = default;
return false; return false;
} }

View File

@@ -2,7 +2,7 @@
using System.ComponentModel; using System.ComponentModel;
using System.Text; using System.Text;
namespace MewtocolNet.Registers { namespace MewtocolNet.Subregisters {
/// <summary> /// <summary>
/// Defines a register containing a string /// Defines a register containing a string
/// </summary> /// </summary>
@@ -117,7 +117,7 @@ namespace MewtocolNet.Registers {
} }
public string GetStartingMemoryArea() => this.MemoryAddress.ToString(); public string GetStartingMemoryArea() => MemoryAddress.ToString();
public string GetValueString() => Value?.ToString() ?? ""; public string GetValueString() => Value?.ToString() ?? "";

View File

@@ -1,4 +1,4 @@
namespace MewtocolNet.Registers { namespace MewtocolNet.Subregisters {
/// <summary> /// <summary>
/// The results of a string register operation /// The results of a string register operation

View File

@@ -1,14 +1,15 @@
using Xunit; using Xunit;
using MewtocolNet; using MewtocolNet;
using MewtocolNet.Registers;
using System.Diagnostics; using System.Diagnostics;
using Xunit.Abstractions; using Xunit.Abstractions;
using System.Collections; using System.Collections;
using MewtocolNet.RegisterAttributes; using MewtocolNet.RegisterAttributes;
using Microsoft.Win32; using Microsoft.Win32;
using MewtocolNet.Subregisters;
namespace MewtocolTests { namespace MewtocolTests
{
public class AutomatedPropertyRegisters { public class AutomatedPropertyRegisters {

View File

@@ -3,9 +3,9 @@ using Xunit;
using MewtocolNet; using MewtocolNet;
using MewtocolNet.Registers; using MewtocolNet.Registers;
using Xunit.Abstractions; using Xunit.Abstractions;
using MewtocolNet.Links;
namespace MewtocolTests { namespace MewtocolTests
{
public class TestLinkedLists { public class TestLinkedLists {

View File

@@ -1,5 +1,6 @@
using MewtocolNet; using MewtocolNet;
using MewtocolNet.Logging; using MewtocolNet.Logging;
using MewtocolNet.PLCEnums;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
@@ -8,7 +9,8 @@ using System.Threading.Tasks;
using Xunit; using Xunit;
using Xunit.Abstractions; using Xunit.Abstractions;
namespace MewtocolTests { namespace MewtocolTests
{
public class TestLivePLC { public class TestLivePLC {

View File

@@ -61,6 +61,7 @@ namespace MewtocolTests {
//boolean //boolean
new BRegister(IOType.R, 0, 100), new BRegister(IOType.R, 0, 100),
new BRegister(IOType.R, 0, 0),
new BRegister(IOType.X, 5), new BRegister(IOType.X, 5),
new BRegister(IOType.X, 0xA), new BRegister(IOType.X, 0xA),
new BRegister(IOType.X, 0xF, 109), new BRegister(IOType.X, 0xF, 109),
@@ -82,6 +83,7 @@ namespace MewtocolTests {
//boolean //boolean
"R100", "R100",
"R0",
"X5", "X5",
"XA", "XA",
"X109F", "X109F",

229
formatting_settings Normal file
View File

@@ -0,0 +1,229 @@
# Entfernen Sie die folgende Zeile, wenn Sie EDITORCONFIG-Einstellungen von höheren Verzeichnissen vererben möchten.
root = true
# C#-Dateien
[*.cs]
#### Wichtige EditorConfig-Optionen ####
# Einzüge und Abstände
indent_size = 4
indent_style = space
tab_width = 4
# Einstellungen für neue Zeilen
end_of_line = crlf
insert_final_newline = false
#### .NET-Codierungskonventionen ####
# Using-Direktiven organisieren
dotnet_separate_import_directive_groups = false
dotnet_sort_system_directives_first = false
file_header_template = unset
# this.- und Me.-Einstellungen
dotnet_style_qualification_for_event = false
dotnet_style_qualification_for_field = false
dotnet_style_qualification_for_method = false
dotnet_style_qualification_for_property = false
# Einstellungen für Sprachschlüsselwörter und BCL-Typen
dotnet_style_predefined_type_for_locals_parameters_members = true
dotnet_style_predefined_type_for_member_access = true
# Einstellungen für Klammern
dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity
dotnet_style_parentheses_in_other_binary_operators = always_for_clarity
dotnet_style_parentheses_in_other_operators = never_if_unnecessary
dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity
# Einstellungen für Modifizierer
dotnet_style_require_accessibility_modifiers = for_non_interface_members
# Einstellungen für Ausdrucksebene
dotnet_style_coalesce_expression = true
dotnet_style_collection_initializer = true
dotnet_style_explicit_tuple_names = true
dotnet_style_namespace_match_folder = true
dotnet_style_null_propagation = true
dotnet_style_object_initializer = true
dotnet_style_operator_placement_when_wrapping = beginning_of_line
dotnet_style_prefer_auto_properties = true
dotnet_style_prefer_compound_assignment = true
dotnet_style_prefer_conditional_expression_over_assignment = true
dotnet_style_prefer_conditional_expression_over_return = true
dotnet_style_prefer_foreach_explicit_cast_in_source = when_strongly_typed
dotnet_style_prefer_inferred_anonymous_type_member_names = true
dotnet_style_prefer_inferred_tuple_names = true
dotnet_style_prefer_is_null_check_over_reference_equality_method = true
dotnet_style_prefer_simplified_boolean_expressions = true
dotnet_style_prefer_simplified_interpolation = true
# Einstellungen für Felder
dotnet_style_readonly_field = true
# Einstellungen für Parameter
dotnet_code_quality_unused_parameters = all
# Unterdrückungseinstellungen
dotnet_remove_unnecessary_suppression_exclusions = none
# Einstellungen für neue Zeilen
dotnet_style_allow_multiple_blank_lines_experimental = true
dotnet_style_allow_statement_immediately_after_block_experimental = true
#### C#-Codierungskonventionen ####
# Var-Einstellungen
csharp_style_var_elsewhere = false
csharp_style_var_for_built_in_types = false
csharp_style_var_when_type_is_apparent = false
# Ausdruckskörpermember
csharp_style_expression_bodied_accessors = true
csharp_style_expression_bodied_constructors = false
csharp_style_expression_bodied_indexers = true
csharp_style_expression_bodied_lambdas = true
csharp_style_expression_bodied_local_functions = false
csharp_style_expression_bodied_methods = false
csharp_style_expression_bodied_operators = false
csharp_style_expression_bodied_properties = true
# Einstellungen für den Musterabgleich
csharp_style_pattern_matching_over_as_with_null_check = true
csharp_style_pattern_matching_over_is_with_cast_check = true
csharp_style_prefer_extended_property_pattern = true
csharp_style_prefer_not_pattern = true
csharp_style_prefer_pattern_matching = true
csharp_style_prefer_switch_expression = true
# Einstellungen für NULL-Überprüfung
csharp_style_conditional_delegate_call = true
# Einstellungen für Modifizierer
csharp_prefer_static_local_function = true
csharp_preferred_modifier_order = public,private,protected,internal,file,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,required,volatile,async
csharp_style_prefer_readonly_struct = true
csharp_style_prefer_readonly_struct_member = true
# Einstellungen für Codeblöcke
csharp_prefer_braces = true
csharp_prefer_simple_using_statement = true
csharp_style_namespace_declarations = file_scoped
csharp_style_prefer_method_group_conversion = true
csharp_style_prefer_top_level_statements = true
# Einstellungen für Ausdrucksebene
csharp_prefer_simple_default_expression = true
csharp_style_deconstructed_variable_declaration = true
csharp_style_implicit_object_creation_when_type_is_apparent = true
csharp_style_inlined_variable_declaration = true
csharp_style_prefer_index_operator = true
csharp_style_prefer_local_over_anonymous_function = true
csharp_style_prefer_null_check_over_type_check = true
csharp_style_prefer_range_operator = true
csharp_style_prefer_tuple_swap = true
csharp_style_prefer_utf8_string_literals = true
csharp_style_throw_expression = true
csharp_style_unused_value_assignment_preference = discard_variable
csharp_style_unused_value_expression_statement_preference = discard_variable
# Einstellungen für using-Anweisungen
csharp_using_directive_placement = outside_namespace
# Einstellungen für neue Zeilen
csharp_style_allow_blank_line_after_colon_in_constructor_initializer_experimental = true
csharp_style_allow_blank_line_after_token_in_arrow_expression_clause_experimental = true
csharp_style_allow_blank_line_after_token_in_conditional_expression_experimental = true
csharp_style_allow_blank_lines_between_consecutive_braces_experimental = true
csharp_style_allow_embedded_statements_on_same_line_experimental = true
#### C#-Formatierungsregeln ####
# Einstellungen für neue Zeilen
csharp_new_line_before_catch = false
csharp_new_line_before_else = false
csharp_new_line_before_finally = false
csharp_new_line_before_members_in_anonymous_types = true
csharp_new_line_before_members_in_object_initializers = true
csharp_new_line_before_open_brace = none
csharp_new_line_between_query_expression_clauses = true
# Einstellungen für Einrückung
csharp_indent_block_contents = true
csharp_indent_braces = false
csharp_indent_case_contents = false
csharp_indent_case_contents_when_block = false
csharp_indent_labels = one_less_than_current
csharp_indent_switch_labels = true
# Einstellungen für Abstände
csharp_space_after_cast = false
csharp_space_after_colon_in_inheritance_clause = true
csharp_space_after_comma = true
csharp_space_after_dot = false
csharp_space_after_keywords_in_control_flow_statements = true
csharp_space_after_semicolon_in_for_statement = true
csharp_space_around_binary_operators = before_and_after
csharp_space_around_declaration_statements = false
csharp_space_before_colon_in_inheritance_clause = true
csharp_space_before_comma = false
csharp_space_before_dot = false
csharp_space_before_open_square_brackets = false
csharp_space_before_semicolon_in_for_statement = false
csharp_space_between_empty_square_brackets = false
csharp_space_between_method_call_empty_parameter_list_parentheses = false
csharp_space_between_method_call_name_and_opening_parenthesis = false
csharp_space_between_method_call_parameter_list_parentheses = false
csharp_space_between_method_declaration_empty_parameter_list_parentheses = false
csharp_space_between_method_declaration_name_and_open_parenthesis = false
csharp_space_between_method_declaration_parameter_list_parentheses = false
csharp_space_between_parentheses = false
csharp_space_between_square_brackets = false
# Umbrucheinstellungen
csharp_preserve_single_line_blocks = true
csharp_preserve_single_line_statements = true
#### Benennungsstile ####
# Benennungsregeln
dotnet_naming_rule.interface_should_be_begins_with_i.severity = suggestion
dotnet_naming_rule.interface_should_be_begins_with_i.symbols = interface
dotnet_naming_rule.interface_should_be_begins_with_i.style = begins_with_i
dotnet_naming_rule.types_should_be_pascal_case.severity = suggestion
dotnet_naming_rule.types_should_be_pascal_case.symbols = types
dotnet_naming_rule.types_should_be_pascal_case.style = pascal_case
dotnet_naming_rule.non_field_members_should_be_pascal_case.severity = suggestion
dotnet_naming_rule.non_field_members_should_be_pascal_case.symbols = non_field_members
dotnet_naming_rule.non_field_members_should_be_pascal_case.style = pascal_case
# Symbolspezifikationen
dotnet_naming_symbols.interface.applicable_kinds = interface
dotnet_naming_symbols.interface.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.interface.required_modifiers =
dotnet_naming_symbols.types.applicable_kinds = class, struct, interface, enum
dotnet_naming_symbols.types.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.types.required_modifiers =
dotnet_naming_symbols.non_field_members.applicable_kinds = property, event, method
dotnet_naming_symbols.non_field_members.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.non_field_members.required_modifiers =
# Benennungsstile
dotnet_naming_style.pascal_case.required_prefix =
dotnet_naming_style.pascal_case.required_suffix =
dotnet_naming_style.pascal_case.word_separator =
dotnet_naming_style.pascal_case.capitalization = pascal_case
dotnet_naming_style.begins_with_i.required_prefix = I
dotnet_naming_style.begins_with_i.required_suffix =
dotnet_naming_style.begins_with_i.word_separator =
dotnet_naming_style.begins_with_i.capitalization = pascal_case