Skip to content

Bus.send_periodic() should not start automatically #1848

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

Closed
SWolfSchunk opened this issue Aug 30, 2024 · 0 comments
Closed

Bus.send_periodic() should not start automatically #1848

SWolfSchunk opened this issue Aug 30, 2024 · 0 comments

Comments

@SWolfSchunk
Copy link
Contributor

Is your feature request related to a problem? Please describe.

I am writing an UI with a button to start and stop a can send task that initially should not send. Stopping the task immediately after creating leads to a single sending of the message(s).

Describe the solution you'd like

An optional kwarg eg. "start_on_init: bool = True" would help out here to keep backward compatibility and i could set it to False.

Describe alternatives you've considered

There is no alternative else than changing the package itself in broadcastmanager.py and commenting out self.start() in init of ThreadBasedCyclicSendTask.

Additional context

I have no additional context so far

zariiii9003 pushed a commit that referenced this issue Oct 8, 2024
* Add autostart option (kwarg) to BusABC.send_periodic() to fix issue #1848

* Fix for #1849 (PCAN fails when PCAN_ERROR_ILLDATA is read via ReadFD) (#1850)

* When there is an invalid frame on CAN bus (in our case CAN FD), PCAN first reports result PCAN_ERROR_ILLDATA and then it send the error frame. If the PCAN_ERROR_ILLDATA is not ignored, python-can throws an exception.

This fix add the ignore on the PCAN_ERROR_ILLDATA.

* Fix for ruff error `can/interfaces/pcan/pcan.py:5:1: I001 [*] Import block is un-sorted or un-formatted`
Added comment explaining why to ignore the PCAN_ERROR_ILLDATA.

* Format with black to pass checks

* Do not ignore autostart parameter for Bus.send_periodic() on IXXAT devices

* Do not ignore autostart parameter for Bis.send_periodic() on socketcan devices

* Fix double start socketcan periodic

* Fix link methods in docstring for start() methods of  the tasks can.broadcastmanager.CyclicTask.start

* Change the behaviour of autostart parameter in socketcan implementation of  CyclicSendTask to not call _tx_setup() method instead of adding a parameter to it.

* Fix code style (max 100 chars per line)
Fix wrong docstring reference.

---------

Co-authored-by: Tomas Bures <bures@d3s.mff.cuni.cz>
Co-authored-by: Sebastian Wolf <Sebastian.Wolf@pace-systems.de>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant