This is an automated email from the ASF dual-hosted git repository.

xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx-apps.git


The following commit(s) were added to refs/heads/master by this push:
     new 8d89d73bb canutils: use bps units for bitrate in SocketCAN interfaces.
8d89d73bb is described below

commit 8d89d73bb8e56859ff961381fd975597d90c1196
Author: Carlos Sanchez <carlossanc...@geotab.com>
AuthorDate: Wed Apr 16 10:36:43 2025 +0200

    canutils: use bps units for bitrate in SocketCAN interfaces.
    
    This matches PR https://github.com/apache/nuttx/pull/16225 in Nuttx where
    units for SocketCAN bitrate ioctls were changed.
---
 canutils/lely-canopen/0005-add-NuttX-support.patch | 6 +++---
 canutils/slcan/slcan.c                             | 4 +---
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/canutils/lely-canopen/0005-add-NuttX-support.patch 
b/canutils/lely-canopen/0005-add-NuttX-support.patch
index 11b6198f5..c33b5c104 100644
--- a/canutils/lely-canopen/0005-add-NuttX-support.patch
+++ b/canutils/lely-canopen/0005-add-NuttX-support.patch
@@ -120,7 +120,7 @@ index ca7e7d95..fed1ae16 100644
 +              return -1;
 +      }
 +
-+  *pbitrate = ifr.ifr_ifru.ifru_can_data.arbi_bitrate * 1000;
++  *pbitrate = ifr.ifr_ifru.ifru_can_data.arbi_bitrate;
 +
 +  return 0;
 +}
@@ -141,8 +141,8 @@ index ca7e7d95..fed1ae16 100644
 +  struct ifreq ifr;
 +  if_indextoname(can->ifindex, ifr.ifr_name);
 +
-+  ifr.ifr_ifru.ifru_can_data.arbi_bitrate = bitrate / 1000;
-+  ifr.ifr_ifru.ifru_can_data.data_bitrate = bitrate / 1000;
++  ifr.ifr_ifru.ifru_can_data.arbi_bitrate = bitrate;
++  ifr.ifr_ifru.ifru_can_data.data_bitrate = bitrate;
 +  ifr.ifr_ifru.ifru_can_data.arbi_samplep = 0;
 +  ifr.ifr_ifru.ifru_can_data.data_samplep = 0;
 +
diff --git a/canutils/slcan/slcan.c b/canutils/slcan/slcan.c
index f6b6c4e3c..84d7a1399 100644
--- a/canutils/slcan/slcan.c
+++ b/canutils/slcan/slcan.c
@@ -363,9 +363,7 @@ int main(int argc, char *argv[])
                           /* set the device name */
 
                           strlcpy(ifr.ifr_name, argv[1], IFNAMSIZ);
-
-                          ifr.ifr_ifru.ifru_can_data.arbi_bitrate =
-                            canspeed / 1000; /* Convert bit/s to kbit/s */
+                          ifr.ifr_ifru.ifru_can_data.arbi_bitrate = canspeed;
                           ifr.ifr_ifru.ifru_can_data.arbi_samplep = 80;
 
                           if (ioctl(s, SIOCSCANBITRATE, &ifr) < 0)

Reply via email to