diff --git a/include/libsocketcan.h b/include/libsocketcan.h index 5ee8ab7..a92d33b 100644 --- a/include/libsocketcan.h +++ b/include/libsocketcan.h @@ -30,7 +30,8 @@ int can_do_start(const char *name); int can_set_restart_ms(const char *name, __u32 restart_ms); int can_set_bittiming(const char *name, struct can_bittiming *bt); int can_set_ctrlmode(const char *name, struct can_ctrlmode *cm); -int can_set_bitrate(const char *name, __u32 bitrate, __u32 sample_point); +int can_set_bitrate(const char *name, __u32 bitrate); +int can_set_bitrate_samplepoint(const char *name, __u32 bitrate, __u32 sample_point); int can_get_restart_ms(const char *name, __u32 *restart_ms); int can_get_bittiming(const char *name, struct can_bittiming *bt); diff --git a/src/libsocketcan.c b/src/libsocketcan.c index 94d6631..c3922f2 100644 --- a/src/libsocketcan.c +++ b/src/libsocketcan.c @@ -597,14 +597,24 @@ int can_set_bittiming(const char *name, struct can_bittiming *bt) return set_link(name, 0, &req_info); } -int can_set_bitrate(const char *name, __u32 bitrate, __u32 sample_point) +int can_set_bitrate(const char *name, __u32 bitrate) +{ + struct can_bittiming bt; + + memset(&bt, 0, sizeof(bt)); + bt.bitrate = bitrate; + + return can_set_bittiming(name, &bt); +} + +int can_set_bitrate_samplepoint(const char *name, __u32 bitrate, __u32 sample_point) { struct can_bittiming bt; memset(&bt, 0, sizeof(bt)); bt.bitrate = bitrate; bt.sample_point = sample_point; - + printf("%s: sample_point %u\n", __func__,bt.sample_point); return can_set_bittiming(name, &bt); }