-/*
- * $Id$
- */
-
/*
* asc2log.c - convert ASC logfile to compact CAN frame logfile
*
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
* DAMAGE.
*
- * Send feedback to <socketcan-users@lists.berlios.de>
+ * Send feedback to <linux-can@vger.kernel.org>
*
*/
void prframe(FILE *file, struct timeval *tv, int dev, struct can_frame *cf) {
fprintf(file, "(%ld.%06ld) ", tv->tv_sec, tv->tv_usec);
+
if (dev > 0)
fprintf(file, "can%d ", dev-1);
else
fprintf(file, "canX ");
- fprint_canframe(file, cf, "\n", 0);
+
+ /* no CAN FD support so far */
+ fprint_canframe(file, (struct canfd_frame *)cf, "\n", 0, CAN_MAX_DLEN);
}
void get_can_id(struct can_frame *cf, char *idstring, int base) {
if (dplace == 4) /* shift values having only 4 decimal places */
read_tv->tv_usec *= 100; /* and need for 6 */
+ if (dplace == 5) /* shift values having only 5 decimal places */
+ read_tv->tv_usec *= 10; /* and need for 6 */
+
if (timestamps == 'a') { /* absolute */
tv->tv_sec = date_tv->tv_sec + read_tv->tv_sec;
static struct timeval tv; /* current frame timestamp */
static struct timeval read_tv; /* frame timestamp from ASC file */
static struct timeval date_tv; /* date of the ASC file */
- static int dplace; /* decimal place 4 or 6 or uninitialized */
+ static int dplace; /* decimal place 4, 5 or 6 or uninitialized */
static char base; /* 'd'ec or 'h'ex */
static char timestamps; /* 'a'bsolute or 'r'elative */
dplace = strlen(tmp2);
if (verbose)
printf("decimal place %d, e.g. '%s'\n", dplace, tmp2);
- if ((dplace != 4) && (dplace != 6)) {
- printf("invalid dplace %d (must be 4 or 6)!\n", dplace);
+ if (dplace < 4 || dplace > 6) {
+ printf("invalid dplace %d (must be 4, 5 or 6)!\n", dplace);
return 1;
}
} else