can_messenger 1.2.0 → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +2 -2
- data/lib/can_messenger/messenger.rb +4 -0
- data/lib/can_messenger/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d47c9c4b19c40337cb6b58f380e9a3f07554144a14d23ef4c2589060fd25942e
|
4
|
+
data.tar.gz: 66f58f8fab19fb73ab5124e4036313459ae032282bdd07613dc6156ef86a1379
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a55c719faf6f813ff4aef9004b4b32065297773498bf92291019002520b43c940e304fa5a0244635f42c9152ab3729cbeaa8534d809b2790878ebc9ef9a00244
|
7
|
+
data.tar.gz: '014168fa0419b78aa966c4d1d9a415c2e8e70650323df2c1a4328354099ffacf038cd52ef1c1fc371334e312a91538e985b7ec98727863739aa70c88e449d4d3'
|
data/README.md
CHANGED
@@ -51,13 +51,13 @@ messenger.send_can_message(id: 0x123, data: [0xDE, 0xAD, 0xBE, 0xEF])
|
|
51
51
|
|
52
52
|
> **Note:** Under the hood, the gem now writes CAN frames to a raw socket instead of calling `cansend`. No external dependencies are required beyond raw-socket permissions.
|
53
53
|
|
54
|
-
If you need to send an extended CAN frame (29-bit ID), set extended_id: true. The gem then sets the Extended Frame Format (EFF) bit automatically
|
54
|
+
If you need to send an extended CAN frame (29-bit ID), set extended_id: true. The gem then sets the Extended Frame Format (EFF) bit automatically:
|
55
55
|
|
56
56
|
```ruby
|
57
57
|
messenger.send_can_message(id: 0x123456, data: [0x01, 0x02, 0x03], extended_id: true)
|
58
58
|
```
|
59
59
|
|
60
|
-
###
|
60
|
+
### Receiving CAN Messages
|
61
61
|
|
62
62
|
To listen for incoming messages, set up a listener:
|
63
63
|
|
@@ -43,6 +43,8 @@ module CanMessenger
|
|
43
43
|
frame = build_can_frame(id: id, data: data, extended_id: extended_id)
|
44
44
|
socket.write(frame)
|
45
45
|
end
|
46
|
+
rescue ArgumentError
|
47
|
+
raise
|
46
48
|
rescue StandardError => e
|
47
49
|
@logger.error("Error sending CAN message (ID: #{id}): #{e}")
|
48
50
|
end
|
@@ -63,6 +65,8 @@ module CanMessenger
|
|
63
65
|
def start_listening(filter: nil, &block)
|
64
66
|
return @logger.error("No block provided to handle messages.") unless block_given?
|
65
67
|
|
68
|
+
@listening = true
|
69
|
+
|
66
70
|
with_socket do |socket|
|
67
71
|
@logger.info("Started listening on #{@interface_name}")
|
68
72
|
process_message(socket, filter, &block) while @listening
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: can_messenger
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- fk1018
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-
|
11
|
+
date: 2025-06-05 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: CanMessenger provides an interface to send and receive messages over
|
14
14
|
the CAN bus, useful for applications requiring CAN communication in Ruby.
|