mirror of
https://github.com/eddyem/small_tel.git
synced 2026-03-20 00:31:00 +03:00
fixed for new vesrion of usefull_macros
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required(VERSION 3.0)
|
||||
cmake_minimum_required(VERSION 3.30)
|
||||
set(PROJ chkweather)
|
||||
set(MINOR_VERSION "1")
|
||||
set(MID_VERSION "0")
|
||||
|
||||
@@ -40,7 +40,7 @@ glob_pars const Gdefault = {
|
||||
* Define command line options by filling structure:
|
||||
* name has_arg flag val type argptr help
|
||||
*/
|
||||
static myoption cmdlnopts[] = {
|
||||
static sl_option_t cmdlnopts[] = {
|
||||
// set 1 to param despite of its repeating number:
|
||||
{"help", NO_ARGS, NULL, 'h', arg_int, APTR(&help), _("show this help")},
|
||||
{"speed", NEED_ARG, NULL, 's', arg_int, APTR(&G.speed), _("baudrate (default: 9600)")},
|
||||
@@ -59,10 +59,10 @@ static myoption cmdlnopts[] = {
|
||||
glob_pars *parse_args(int argc, char **argv){
|
||||
void *ptr = memcpy(&G, &Gdefault, sizeof(G)); assert(ptr);
|
||||
// format of help: "Usage: progname [args]\n"
|
||||
change_helpstring(_("Usage: %s [args]\n\n\tWhere args are:\n"));
|
||||
sl_helpstring(_("Usage: %s [args]\n\n\tWhere args are:\n"));
|
||||
// parse arguments
|
||||
parseargs(&argc, &argv, cmdlnopts);
|
||||
if(help) showhelp(-1, cmdlnopts);
|
||||
sl_parseargs(&argc, &argv, cmdlnopts);
|
||||
if(help) sl_showhelp(-1, cmdlnopts);
|
||||
if(argc > 0){
|
||||
WARNX("Wrong arguments:\n");
|
||||
for(int i = 0; i < argc; i++)
|
||||
|
||||
@@ -51,28 +51,28 @@ static int getpar(char *string, double *Val, char *Name){
|
||||
|
||||
int main(int argc, char **argv){
|
||||
glob_pars *G = NULL; // default parameters see in cmdlnopts.c
|
||||
initial_setup();
|
||||
sl_init();
|
||||
G = parse_args(argc, argv);
|
||||
TTY_descr *dev = new_tty(G->ttyname, G->speed, 64);
|
||||
sl_tty_t *dev = sl_tty_new(G->ttyname, G->speed, 64);
|
||||
if(!dev) return 1;
|
||||
size_t got, L = 0;
|
||||
char buff[BUFLEN], *ptr = buff;
|
||||
int errctr = 0;
|
||||
for(; errctr < ERRCTR_MAX; ++errctr){
|
||||
if(!tty_open(dev, 1)){
|
||||
if(!sl_tty_open(dev, 1)){
|
||||
sleep(1);
|
||||
continue;
|
||||
}
|
||||
while(read_tty(dev)); // clear buffer
|
||||
if(write_tty(dev->comfd, "?U\r\n", 3)){
|
||||
while(sl_tty_read(dev)); // clear buffer
|
||||
if(sl_tty_write(dev->comfd, "?U\r\n", 3)){
|
||||
WARNX("write_tty()");
|
||||
continue;
|
||||
}
|
||||
double t0 = dtime();
|
||||
while(dtime() - t0 < 10.){ // timeout - 10s
|
||||
got = read_tty(dev);
|
||||
double t0 = sl_dtime();
|
||||
while(sl_dtime() - t0 < 10.){ // timeout - 10s
|
||||
got = sl_tty_read(dev);
|
||||
if(got == 0) continue;
|
||||
t0 = dtime();
|
||||
t0 = sl_dtime();
|
||||
if(L + got > BUFLEN - 1) break;
|
||||
L += got;
|
||||
buff[L] = 0;
|
||||
@@ -92,8 +92,8 @@ int main(int argc, char **argv){
|
||||
continue;
|
||||
}else break;
|
||||
}
|
||||
while(read_tty(dev));
|
||||
close_tty(&dev);
|
||||
while(sl_tty_read(dev));
|
||||
sl_tty_close(&dev);
|
||||
if(errctr == ERRCTR_MAX){
|
||||
ERRX("No connection to meteostation");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user