GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Check for unused subsystem signals in InterconnectedSystem by roryyorke · Pull Request #652 · python-control/python-control

Conversation

@roryyorke

@roryyorke roryyorke commented Sep 11, 2021

Copy link
Copy Markdown
Contributor

Add capability to check for unused signals in InterconnectedSystem;
this check is invoked by default by interconnect.

This would have saved me a few hours when I made three typos in signal names, and I couldn't figure out why my time and frequency responses were all wrong.

Some questions:

  • is check_unused=True a reasonable default? I think it is; it won't take long to scan the unused signals, and, if necessary, add them to the ignore_* lists
  • are the ignore_* names reasonable? I initially called them dropped_inputs and dropped_outputs, but I decided against that. known_unused_inputs is more explicit, but a bit long.
  • should this be in the InterconnectedSystem constructor, rather than in interconnect ?

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
roryyorke added 2 commits September 11, 2021 12:13
@roryyorke
Check for unused subsystem signals in InterconnectedSystem
78b3349
Add capability to check for unused signals in InterconnectedSystem;
this check is invoked by default by `interconnect`.
@roryyorke
Handle matrix warnings in test_interconnect_unused_{input,output}
2224ea5
Ignore warnings with match string from conftest.py's `matrixfilter`
warning filter.
@coveralls

coveralls commented Sep 11, 2021 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown

Coverage Status

Coverage increased (+0.08%) to 90.006% when pulling faf3145 on roryyorke:rory/check-interconnect-signals into 5ab0a1c on python-control:master.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@murrayrm

murrayrm commented Sep 11, 2021

Copy link
Copy Markdown
Member

Quick responses on a few things, based on a quick read:

  • I really like this functionality and completely agree we should include it!

  • I think it would be OK to put this in the interconnect() function rather than the InterconnectedSystem constructor. The intent of interconnect() was to provide some additional processing and a more user-friendly interface.

  • It looks like there are some glitches in the documentation (ignore_inputs appears twice).

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@roryyorke
Fix doc string for interconnect
faf3145
@roryyorke

roryyorke commented Sep 12, 2021

Copy link
Copy Markdown
Contributor Author

Thanks for the feedback. I've fixed the docstring.

think it would be OK to put this in the interconnect()

OK, good. If InterconnectedSystem is used directly, check_unused_signals is available to be called after mappings have been set up. I also made unused_signals public, though I don't know what applications it could have.

While writing this, it occurred to me it wouldn't be all that hard to output a Graphviz dot file, or, possibly, a data structure that could be fed into NetworkX, to allow respectively visualization and graph-theoretic analysis of the signal flow, but I don't have time for any of that at the moment.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@sawyerbfuller

sawyerbfuller commented Sep 14, 2021

Copy link
Copy Markdown
Contributor

Connecting @petercorke into this discussion because he is working on a nice-looking graphical renderer for this kind of interconnection. Not sure it is released yet though.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@petercorke

petercorke commented Sep 15, 2021 via email

Copy link
Copy Markdown
It’s kind of released, just not publicised at the moment. If you pip install bdsim, then it is available as bdedit.py
…
On 15 Sep 2021, at 6:10 am, sawyerbfuller ***@***.***> wrote: Connecting @petercorke <https://github.com/petercorke> into this discussion because he is working on a nice-looking graphical renderer for this kind of interconnection. Not sure it is released yet though. — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub <#652 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AC2BIUTJMJFBZIRWI6N7TDDUB6T4FANCNFSM5D22EYMA>.
All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@sawyerbfuller
sawyerbfuller merged commit ce20b24 into python-control:master Nov 6, 2021
@roryyorke
roryyorke deleted the rory/check-interconnect-signals branch November 8, 2021 18:04
@murrayrm murrayrm added this to the 0.9.1 milestone Dec 30, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

No reviews

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

0.9.1

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

5 participants

@roryyorke @coveralls @murrayrm @sawyerbfuller @petercorke
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.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.