Merged
Conversation
…ned operations and a centralized `ImportPlan` approach. Updated `Controller` and `L5X` integration to support this enhanced system.
…clarity and consistency
- Development of ImportBuilder interface to configure specifics of how the import process will handle components, updates, and dependencies. - Some additional API methods for DataType - Implementation of Dependencies for all components. - Added some initial tests for import builder. - Minor regor of L5X/Controller/LogixInfo. - Made LogixInfo properties read-only and added normalization to that class. - Generic refactor and documentation fixes.
… `ImportTypeBuilder`) and introduced streamlined builders (`ImportBuilder`, `IImportSourceBuilder`, `IImportDefaultBuilder`). Improved handling of operations and dependencies with centralized `Import` model. Enhanced XML documentation and fixed `Scope` and related methods for consistency.
…ethods. - Split out Scope.cs to new classes with a single responsibility (getting scope). - Created new Reference.cs class to represent the XPath to a given entity element. - Replaced LogixScoped.cs with LogixEntity.cs to support both components and code with Reference and Scope property, along with required Usages (was References) and Dependencies methods for getting references in the current Document. - ILogixLookup.cs refinement and rework. - IReferenceBuilder.cs rework. - Import Builder design and testing. - Removal of CrossReference.cs - Actually finished implementations for Dependencies. - Lots of other reorg and updates to fix bugs, improve functionality, and clean up the codebase.
…code cleanup. - Deleted unused Diagram.cs and DiagramElement.cs files. - Removed core components like Line.cs and NeutralText.cs no longer required. - Deleted corresponding tests for eliminated classes. - Cleaned up related project file references. - Streamlined codebase by removing redundant and legacy elements. - Added initial CLI and Model projects.
…nctions on member calls to LogixElement.cs base class which removes reflection needs. Update LogixEnum.cs to not use assembly scanning. Removed LogixIndex.cs and all L5XOptions.cs and corresponding APIs to simplify codebased and functionality (indexing is not super helpful and can easily be accomplished externally from library).
… and making L5X use LogixIndex.cs for main API. Troublleshooting bug with analog data and stack overflow issues.
…g and improved clarity in overriding behavior.
This was referenced Dec 12, 2025
Closed
This was
linked to
issues
Dec 12, 2025
…n `TagNameTests` and `TagTests`, replace `Slice` with `Members`, align `Tag.Create` with `Tag.Named`, and add new test cases for member depth and parent relationship checks.
…ments for better coverage, including new assertions, new overloads, and additional scenarios like invalid tags and callback validations. Add `BasicClientTests`.
…xibility and reusability. Update tests and README for clarity and consistency with terminology and behavior changes.
…montitor` to `monitor`.
…ty: rename methods (`Member` to `GetMember`, `Update` to `UpdateData`, `Clear` to `ResetData`), add overloads to `RemoveMember` and `UpdateMember`, and introduce the `GetSize` method. Enhance `DataTypeMember` handling for array and structure-based definitions.
…LogixMemberInfo` and `LogixTypeInfo`. Introduce diagnostics for type definition and parsing errors. Update project to version 2.0.0.
…` for method consistency.
…methods for improved consistency and clarity. Update `Parameter` and `LogixMemberInfo` to account for `Parent` instead of `Instruction`. Improve documentation for `EventInfo` property.
…rt generation. Update project file with new test dependencies.
…ed dependencies, and migrated projects to .NET 10.0.
…IsValid` methods to public overrides, and incremented package version to `6.0.0-beta.10`.
…o Radix atomic value parse after encountering IND and negative unsigned atomic values. Updated versions
- Simplified `Argument` creation and parsing logic. - Enhanced `LogixElement` methods for handling nullable `DateTime` and other attributes. - Introduced `InMemoryModuleCatalog` for testing purposes with comprehensive test coverage. - Updated `Controller`, `AddOnInstruction`, and related classes with improved property handling and additional features. - Removed `LogicFor` method in `AddOnInstruction` due to redundant functionality. - Cleaned up test fixtures and adjusted for new class structures.
…Catalog` implementation with a fluent builder, replaced `InMemoryModuleCatalog` with `ModuleCatalog`, and updated test resources to align with the new structure.
…nstallation guide, usage examples, and requirements.
- Introduced `WithDefaultModules` in `ModuleCatalogBuilder` setup. - Expanded test coverage for `Create` and `Connect` methods in `ModuleCatalogTests`. - Cleaned up unused code and removed outdated commented tests.
…r`, and `Ping`. Added "ClearData" functionality to atomic types. Introduced `Routine` builders with support for fluent creation of ladder logic routines. Simplified adding `ILogixEntity` to `L5X` with improved scope handling.
…g rungs and comments validation. Updated project files with package metadata and `L5Sharp.Catalog` initialization.
… to `1.0.1`, and Catalog to `1.0.0`. Added `README.md` to `L5Sharp.Catalog` package.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Overall, a lot of updates but here are the main ones that comes to mind:
ILogixElementswith theLogixSerializerclass. This lets us remove reflection-based deserialization and reflection-based type instantiation so that others can use this library in source generators without compile time errors. This also should improve performance and make the library more extensible.ILogixSerializableorILogixParsable. Move some things to newILogixElementinterface, which is the new base interface for type system. Other base abstract classes also have interface abstractionsILogixObject,ILogixEntityetc. These are kept for pattern matching scenarios, and the abstract class implementation use generic type parameters to make various methds more type safe.ILogixParsableinterface. Most common types still have parse methods.ScopeandReferenceimplementation. Reference is now completely a wrapper aroundXPathExpressionthat allows faster lookup of components in XML tree.