FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
python-can/examples/send_multiple.py at develop · feuerball/python-can · GitHub
feuerball
/
python-can
Public
forked from
hardbyte/python-can
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Pull requests
0
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
python-can
/
examples
/
send_multiple.py
Copy path
More file actions
More file actions
Latest commit
History
History
History
executable file
·
36 lines (26 loc) · 1.05 KB
Breadcrumbs
python-can
/
examples
/
send_multiple.py
Copy path
File metadata and controls
executable file
·
36 lines (26 loc) · 1.05 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#!/usr/bin/env python
"""
This demo creates multiple processes of producers to spam a socketcan bus.
"""
from
time
import
sleep
from
concurrent
.
futures
import
ProcessPoolExecutor
import
can
def
producer
(
thread_id
:
int
,
message_count
:
int
=
16
)
->
None
:
"""Spam the bus with messages including the data id.
:param thread_id: the id of the thread/process
:param message_count: the number of messages that shall be sent
"""
# this uses the default configuration (for example from environment variables, or a
# config file) see https://python-can.readthedocs.io/en/stable/configuration.html
with
can
.
Bus
()
as
bus
:
for
i
in
range
(
message_count
):
msg
=
can
.
Message
(
arbitration_id
=
0x0CF02200
+
thread_id
,
data
=
[
thread_id
,
i
,
0
,
1
,
3
,
1
,
4
,
1
],
)
bus
.
send
(
msg
)
sleep
(
1.0
)
print
(
f"Producer #
{
thread_id
}
finished sending
{
message_count
}
messages"
)
if
__name__
==
"__main__"
:
with
ProcessPoolExecutor
()
as
executor
:
executor
.
map
(
producer
,
range
(
5
))
Back
|
FazBrowse Home
|
New Git URL