-
Notifications
You must be signed in to change notification settings - Fork 15
SY-2178: Modbus Driver #1180
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
emilbon99
wants to merge
185
commits into
main
Choose a base branch
from
sy-2178-modbus-integration
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
SY-2178: Modbus Driver #1180
Conversation
This file contains 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
* [driver] - built embedded lua * [computron] remove computron, replace with lua interperter. roughly working but not fully tested * [computron] fails nested calcs rn * [driver] - sequences initial commit * check * checkpoint * checkpoint * rough impl * space * checkpoint * undo state source complexity * formatting * checkpoint * [driver] - improved sequence implementation * [driver] - fixed lua build * [driver] - adjusted build * temp remove installer * [driver] - fixed initialization order * [driver] - corrected WORKSPACE to build on windows * [ni] builds * [drift] - tuning to BUILD.bazel * [driver/ni] refactor channel parsing * [driver/ni] formatting * [driver/ni] missed public keyword * [driver/ni] writer tests * [driver/ni] format test * [driver/ni] - updated APIs to use function pointers * [driver] - extracted NI apis into a DLL * [driver] - adjusted daqmx libs * [driver] - adjusted ni build flags * [driver/ni] dig write test * [driver] - fixed linux build issues * [driver] - updated version * [driver] - updated version * [driver] - adjusted ubuntu version * [driver] - adjusted ubuntu version * [driver] - updated version * [driver] - updated version * updated linux version * [driver] -checkpoint * [driver] -checkpoint * [driver] - fixed windows build * [driver] - adjusted sequencing tools * [driver/ni] task * [driver] - fixed ubuntu build issues * [driver/ni] formatting * [driver] - cleaned up shared library implementations * [driver] - re-added labjack integration * [driver] - removed extra log * [synnax] - added sequence to embedded driver integrations * [synnax] - removed branch from synnax deploy * checkpoint * [driver/ni] fix some issues * [driver] - fixed synnax build on windows * [driver] - removed vs comunity from build * build issues * rename * [driver/ni] series * [driver] - cleaned up various ni implementations * [driver] - improved channel source and set operator implementations' * dedup state source * [driver/ni] - lots of code cleanup and cleanliness refactoring * [driver] - ubuntu build issues and improvements * [driver/ni] - fix test case compiling * [driver/ni] checkpoint * [driver] - added embedded state checking on bootup * [driver/ni] still state writing issue * [driver/ni] update test * [driver/ni] checkpoint * [driver/ni] checkpoint * [driver] - fixed issues with merge * [hardware] - fixed rack otg definitions * [synnax] - fixed rack ontology creation * [console] - allowed user to select control sequence rack * [checkpoint] working * [driver/sequence] - added tests for the channel set operator * [driver] - implemented updated specs for setting control authorities on channels * [driver/ni] moved writer related interfaces to writer.h * [driver/sequence] - added correct conversion from numeric to boolean values * [driver/ni] refactor writer and writer channel config parsing * [driver/ni] refactor channels code * [driver/ni] code dedup for sink and tasks * [driver/ni] white space * [driver/ni] format * [driver/ni] comments * [driver/ni] comment * checkpoint * checkpoint * checkpoint * checkpoint * checkpoint * checkpoint * [driver] - added daemon implementation for ni linux rt * updated gh release info * [driver] refactor default breaker config * checkpoint * checkpoint * [driver] - cleaned up daemon implementation s * checkpoint * [driver] - updated daemon commands * checkpoint * [driver] - added log tracking commands * [driver] - checkpoint * [driver] - cleaned up main program file * [synnax] - added modal prompting to name sequence * [driver] - resolved build issues with linking systemd * [driver] - improved log tailing functionality * [driver] - added better file system checks * [driver] - updated persisted state location * [driver] - updated persisted state storage path * [driver] - improved install and uninstall logic * [driver] - checkpoint * [driver/ni] update naming of devices * [driver/ni] missed a couple breaker configs * [driver] - updated daemon * [driver/ni] refactor some of the read code * [synnax/pkg/hardware] - improved rack documentation and APIs * [driver] - removed unneeded sys config property * [driver] - checkpoint * [driver] - fixed ni sys cfg prod implementation * [driver] - adjusted chassis filter properties * [driver] - fixed ni sys cfg prod implementation * [driver] - fixed ni sys cfg prod implementation * [driver] - checkpoint * [driver] - fixed filter property in sys cfg * [driver] - checkpoint * [driver] - checkpoint * checkpoint * checkpoint * [driver] pr touchups * [driver/ni] format * [driver/ni] todo * [driver] - fixed windows build and improved sequence state communication * [driver] missed some merge conflicts * [synnax/pkg/hardware] - added tests for embedded rack migrations * [synnax] - implemented tests for moving devices between racks * [driver] - finished refactoring sequence operators * [driver] merge conflict touchups * [driver] fix scanner.cpp * [driver] remove unnecessary logs * [driver] fix digital writes * [driver] - cleaned up sequencing code and test * [driver] - cleaned up pipeline tests * [sequence] - added channel receive tests * [driver/pipeline] - refactored pipeline headers for better test mocking * [client/cpp/telem/series] - cleaned up implementations * [ops/cpp] - fixed issues with test cases * [driver] - added version command * [driver] - fixed GLOG import * [driver] - fixed binary installation issues * [driver] - cached open62541 build * [client/py] - fixed task tests * [console] - fixed lint issues * [ops] - pr adjustments * [synnax] - fixed bazel genrul * [ops] - adjusted embedded driver build * [ops] - tuned github workflow * [ops] - tuned github workflow * [ops] - synnax. added nilinuxrt build * [ops] - synnax. added nilinuxrt build * [ops] - fixed build caching * [ops] - fixed synnax deploy script * [driver] pr touchups * [ops] - addressed PR comments * [console] - refactored task configure modal * [driver] - updated cpp statuses * [ops] - removed .bazelversion file * [ops] - bumped platform version * [driver] - added colorful output to init script logging * [driver] - checkpoint * PR Touchups * [ops] - added driver install script to deployment * [driver] - added colorful output to init script logging * checkpoint * checkpoint * checkpoint * checkpoint * checkpoint * checkpoint * [driver] - updated daemon to create pidfile if missing * [driver] - adjusted persisted state reading * checkpoint * checkpoint * checkpoint * checkpoint * checkpoint * checkpoint * [driver/opc] - adjusted reinterpret cast * [driver/opc] - fixed SAN value --------- Co-authored-by: emilbon99 <[email protected]> Co-authored-by: Emiliano Bonilla <[email protected]> Co-authored-by: pjdotson <[email protected]>
* [driver] - fixed index based series work * [client/cpp] - fixed formatting * [driver] - removed copt ignore * [client/cpp] - fixed series test * [driver] - fixed cpp type tests * [driver] - reverted config changes
* Change barrel exporting format * Remove unique `Chan` type, rename `Chan` to `Channel * checkpoint * more refactoring * client and ontology changes * rearrange hardware folders * checkpoint * change zod unions to zod enums * update opc configure layout * commit * checkpoint * Checkpoint * Analog Write Task Checkpoint * PR updates * Add support for automatically filling in device when a task is created from the ontology * checkpoint * Updated `useDesiredState.ts` * type assertions * Fix vitest * Changes * More touchups * Add Copy Buttons * Correct casing * Remove console.log * remove unneeded ts expect error * Rename ...props to ...rest * Add back fix * Apply task migrations for analog read * update analog read task schema * touchups * intermediate opc tasks * Edits and working opc tasks * Fix build issues * Update form files * collapse spacing * more touchups * cut lines in enriched.json * More touchups * touchups * updates * edit enable / disable button * checkpoint * More touchups * touchups * NI digital items * touch up digital types * more touchups * fixes * Remove setAltKey logic * Add rack creation logic * More touchups * Rename Configure.tsx to Sequence.tsx * Rename Ontology.BASE_SERVICE to Ontology.NOOP_SERVICE * Rename ontology.RootID to ontology.ROOT_ID * Add type hinting for devices * Rename noneSelectedElement to noneSelectedContent * Add parseWithoutKeyConversion utility function * Rename task generic type names to be more verbose * Change loading symbols to h4 * Add emptyContent checker to list component * Fix pluto build issue * Rename `generateEmpty` to `createEmptyService` * Add types for client ontology types * Add error handling for placing snapshots from range overview * Less verbose naming * Proper key for useCreate * Used component instead of render prop * Add common NULL_CLIENT_ERROR for error handling * Add copyright header * Fix typo * Keep a prop in the `rest` syntax * move COLUMNS to a constant * Naming issues * Add Issue ID to comment * Simplify getOpenPort * Rename `zeroProperties` to `initialProperties` * Use shorthands for analog / digital input / output * [console] - improved null client error' * [console] - css tuning of read tasks * [console] - fixed channel removal behavior * [console] - cleaned up task type definitions --------- Co-authored-by: pjdotson <[email protected]>
* Change barrel exporting format * Remove unique `Chan` type, rename `Chan` to `Channel * checkpoint * more refactoring * client and ontology changes * rearrange hardware folders * checkpoint * change zod unions to zod enums * update opc configure layout * commit * checkpoint * Checkpoint * Analog Write Task Checkpoint * PR updates * Add support for automatically filling in device when a task is created from the ontology * checkpoint * Updated `useDesiredState.ts` * type assertions * Fix vitest * Changes * More touchups * Add Copy Buttons * Correct casing * Remove console.log * remove unneeded ts expect error * Rename ...props to ...rest * Add back fix * Apply task migrations for analog read * update analog read task schema * touchups * intermediate opc tasks * Edits and working opc tasks * Fix build issues * Update form files * collapse spacing * more touchups * cut lines in enriched.json * More touchups * touchups * updates * edit enable / disable button * checkpoint * More touchups * touchups * NI digital items * touch up digital types * more touchups * fixes * Remove setAltKey logic * Add rack creation logic * More touchups * Rename Configure.tsx to Sequence.tsx * Rename Ontology.BASE_SERVICE to Ontology.NOOP_SERVICE * Rename ontology.RootID to ontology.ROOT_ID * Add type hinting for devices * Rename noneSelectedElement to noneSelectedContent * Add parseWithoutKeyConversion utility function * Rename task generic type names to be more verbose * Change loading symbols to h4 * Add emptyContent checker to list component * Fix pluto build issue * Rename `generateEmpty` to `createEmptyService` * Add types for client ontology types * Add error handling for placing snapshots from range overview * Less verbose naming * Proper key for useCreate * Used component instead of render prop * Add common NULL_CLIENT_ERROR for error handling * Add copyright header * Fix typo * Keep a prop in the `rest` syntax * move COLUMNS to a constant * Naming issues * Add Issue ID to comment * Simplify getOpenPort * Rename `zeroProperties` to `initialProperties` * Use shorthands for analog / digital input / output * [console] - improved null client error' * [console] - css tuning of read tasks * [console] - fixed channel removal behavior * [console] - cleaned up task type definitions * [ontology/tree] - fixed tree item location * [synnax] - added validation checks for racks with devices still attached * [synnax] - added rack deletion validation checks * [driver] - added transient channel checking to fgrpc * [driver] - checkpoint * [driver] - major refactor for code quality * [driver] - cleaned up config parsing * [driver] - improved task manager implementation * [ops/cpp] - removed usage of float_t * [driver] - fixed linux build issues * [driver] - corrected bazel build rule * [driver] - added cluster key validation * [driver] - fixed cluster identity change checks * [driver] - resolved merge conflicts with RC * [x/cpp] - fixed OS headers * [driver] - fixed embedded build * [driver] - fixed windows build * [driver] - added missing labjack deps * [driver] - fixed labjack windows build * [ops] - fixed formatting and linting issues * [driver] - added tests for x package * [cpp] - fixed freighter and x tests * [x/cpp] - improved flaky loop tests * [driver] - documented config package --------- Co-authored-by: pjdotson <[email protected]>
* [console] - cleaned up console channel name styles * [console] - increased element color contrast * [console] - re-commented CSS file * [console] - fixed accell sensitivity units field style * [console] - fixed task toolbar outlines * [console] - cleaned up overflow styles * [console] - fixed linting issues
…re Zod Warnings (#1100)
* [console] - cleaned up task details view * [console] - cleaned up channel list
* [console] - cleaned up console channel name styles * [console] - increased element color contrast * [console] - re-commented CSS file * [console] - fixed accell sensitivity units field style * [console] - fixed task toolbar outlines * [console] - cleaned up overflow styles * [synnax] - persist tast state * [synnax] - implemented persisted tracking for task state * [console] - removed unused import * [cesium] - made control tests more robust * [x/go] - improved PluralName and added specs * SY-1990 Task Manager Refactor, Fix Moving Cards Between Racks (#1102) * [driver] - added skipping of foreign racks * Fix Adding Channels to LabJack tasks, Improve Read Task Forms, Add More Zod Warnings (#1100) * Auto Update JSON File * [driver] - supplemented task manager tests * Replace useContext with use and <Context.Provider> with <Context> * [driver] - refactored task manager to the point where it's more sustainable * [driver] - added shutdown checking package * [driver] - implemented tests for task manager * [driver] - added heartbeat * [driver] - cleaned up heartbeat * [driver] - added tests to CI workflow * [driver] - added driver tests to CI * [driver] - fixed tests in CI * [driver] - removed labjack tests * Refactor status aggregator to use two different contexes * Fix effect key * Move schema definition outside of wrapped component * Better describe Form state * Revert commits that should not have gotten pushed * Auto Update JSON File * [driver] - fixed win32 winsock include issues * [driver] - cleaned up rack implementation * [driver] - cleaned up rack implementation * [driver] - switch fatal log to error log * [driver] - improved xshutdown handling * [x] - fixed linking issues with xshutdown package * [x/cpp] - cleaned up shutdown code * [driver] - improved startup logging * [ops/cpp] - fixed driver testing * [x] - fixed windows shutdown build and added maxium retry interval to breaker * [driver] - cleaned up code * [driver] - updated OPC UA ci builds * [driver] - uncommented OPC tests * [client/cpp] - cleaned up code and fixed out of memory bounds bug * [freighter] - cleaned up implementations * [x] - cleaned up breaker implementation * [driver] - cleaned up config tests * [driver] - cleand up config tests * [driver] - dropped base sequence control authority * [client/cpp] - fixed formattting issues --------- Co-authored-by: Patrick Dotson <[email protected]> Co-authored-by: pjdotson <[email protected]> Co-authored-by: pjdotson <[email protected]> Co-authored-by: Elham Islam <[email protected]> * [x/cpp] - fixed breaker tests * [freighter] - fixed tests * [client/cpp] - fixed framer test cases * [tracker] - fixed test timeout --------- Co-authored-by: Patrick Dotson <[email protected]> Co-authored-by: pjdotson <[email protected]> Co-authored-by: pjdotson <[email protected]> Co-authored-by: Elham Islam <[email protected]>
…uence Creation Options (#1107) * Auto Update JSON File * Rename error overlay module * Allow passing optional keys into layouts * Refactor channel layouts * Refactor cluster layouts * Refactor docs layout * Refactor label layouts * Update device layouts * Update task layouts * Update hardware layouts * Refactor visualization layouts * Refactor layouts in Layouts module * Update modal layouts * Update permissions layouts * Update user layouts * Update workspace layouts * Refactor range layouts * Update version layout * Add Visualization selector layout and refactor selectors * Add options for creating sequences from rack and from the command palette * Add setting alt keys to tasks * Minor touchups * Change Selector order * Naming changes * [console] - fixed typos --------- Co-authored-by: Emiliano Bonilla <[email protected]>
…8-modbus-integration
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.
Issue Pull Request
Key Information
Description
Basic Readiness
Backwards Compatibility
Data Structures
I have ensured that previous versions of stored data structures are properly migrated to new formats in the following projects:
API Changes
The following projects have backwards-compatible APIs:
Breaking Changes