" write() syscalls)\n");
fprintf(stderr, " -x (disable local loopback of "
"generated CAN frames)\n");
+ fprintf(stderr, " -R (send RTR frame)\n");
fprintf(stderr, " -v (increment verbose level for "
"printing sent CAN frames)\n\n");
fprintf(stderr, "Generation modes:\n");
unsigned char dlc_mode = MODE_RANDOM;
unsigned char loopback_disable = 0;
unsigned char verbose = 0;
+ unsigned char rtr_frame = 0;
int count = 0;
uint64_t incdata = 0;
signal(SIGHUP, sigterm);
signal(SIGINT, sigterm);
- while ((opt = getopt(argc, argv, "ig:eI:L:D:xp:n:vh?")) != -1) {
+ while ((opt = getopt(argc, argv, "ig:eI:L:D:xp:n:vRh?")) != -1) {
switch (opt) {
case 'i':
loopback_disable = 1;
break;
+ case 'R':
+ rtr_frame = 1;
+ break;
+
case 'p':
polltimeout = strtoul(optarg, NULL, 10);
break;
frame.can_id &= CAN_SFF_MASK;
}
+ if (rtr_frame)
+ frame.can_id |= CAN_RTR_FLAG;
+
if (extended)
frame.can_id |= CAN_EFF_FLAG;