This shows you the differences between two versions of the page.
— | sdk:scripts:serial-read [2015/05/05 15:04] (current) – created - external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== SDK Script serial-read.are ====== | ||
+ | <code c serial-read.are> | ||
+ | /* DESC: This script can be used to read messages from the serial port. | ||
+ | * Copyright (C) 2012 NetModule AG, Switzerland | ||
+ | */ | ||
+ | |||
+ | DEV = " | ||
+ | READ_TIMEOUT = 5; /* seconds */ | ||
+ | |||
+ | void usage() | ||
+ | { | ||
+ | printf(" | ||
+ | exit(1); | ||
+ | } | ||
+ | |||
+ | /* check serial port config */ | ||
+ | st = nb_config_get(" | ||
+ | if (st != " | ||
+ | nb_syslog(" | ||
+ | exit(1); | ||
+ | } | ||
+ | |||
+ | |||
+ | /* set attributes */ | ||
+ | ret = nb_serial_setattr(DEV, | ||
+ | |||
+ | if (ret != 0) { | ||
+ | printf(" | ||
+ | exit(1); | ||
+ | } | ||
+ | |||
+ | |||
+ | /* open serial port */ | ||
+ | fd = nb_serial_open(DEV); | ||
+ | if (fd < 0) { | ||
+ | printf(" | ||
+ | exit(1); | ||
+ | } | ||
+ | |||
+ | while (1) { | ||
+ | rc = select(fd, READ_TIMEOUT); | ||
+ | if (rc == -1) { | ||
+ | printf(" | ||
+ | close(fd); | ||
+ | exit(1); | ||
+ | } else if (rc == 0) { | ||
+ | /* nothing received */ | ||
+ | printf(" | ||
+ | } else { | ||
+ | /* received something */ | ||
+ | msg = read(fd, 1024); | ||
+ | if (msg) { | ||
+ | printf(" | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | close(fd); | ||
+ | |||
+ | exit(0); | ||
+ | |||
+ | </ | ||