fixed for new vesrion of usefull_macros

This commit is contained in:
2026-01-26 16:54:50 +03:00
parent 50cbaea550
commit a80347643f
25 changed files with 107 additions and 103 deletions

View File

@@ -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")

View File

@@ -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++)

View File

@@ -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");
}