mirror of
https://github.com/eddyem/small_tel.git
synced 2026-03-20 08:41:03 +03:00
fixed for new vesrion of usefull_macros
This commit is contained in:
@@ -54,7 +54,7 @@ glob_pars const Gdefault = {
|
||||
* Define command line options by filling structure:
|
||||
* name has_arg flag val type argptr help
|
||||
*/
|
||||
myoption cmdlnopts[] = {
|
||||
sl_option_t cmdlnopts[] = {
|
||||
// common options
|
||||
{"help", NO_ARGS, NULL, 'h', arg_int, APTR(&help), _("show this help")},
|
||||
{"device", NEED_ARG, NULL, 'i', arg_string, APTR(&G.device), _("serial device name (default: none)")},
|
||||
@@ -79,10 +79,10 @@ glob_pars *parse_args(int argc, char **argv){
|
||||
void *ptr;
|
||||
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){
|
||||
G.rest_pars_num = argc;
|
||||
G.rest_pars = calloc(argc, sizeof(char*));
|
||||
|
||||
@@ -30,14 +30,14 @@
|
||||
glob_pars *GP;
|
||||
|
||||
void signals(int signo){
|
||||
restore_console();
|
||||
if(ttydescr) close_tty(&ttydescr);
|
||||
sl_restore_con();
|
||||
if(ttydescr) sl_tty_close(&ttydescr);
|
||||
LOGERR("exit with status %d", signo);
|
||||
exit(signo);
|
||||
}
|
||||
|
||||
int main(int argc, char **argv){
|
||||
initial_setup();
|
||||
sl_init();
|
||||
signal(SIGTERM, signals); // kill (-15) - quit
|
||||
signal(SIGHUP, SIG_IGN); // hup - ignore
|
||||
signal(SIGINT, signals); // ctrl+C - quit
|
||||
@@ -52,7 +52,7 @@ int main(int argc, char **argv){
|
||||
signals(0); // never reached!
|
||||
}
|
||||
if(GP->logfile){
|
||||
sl_loglevel lvl = LOGLEVEL_ERR;
|
||||
sl_loglevel_e lvl = LOGLEVEL_ERR;
|
||||
for(; GP->verb && lvl < LOGLEVEL_ANY; --GP->verb) ++lvl;
|
||||
DBG("Loglevel: %d", lvl);
|
||||
if(!OPENLOG(GP->logfile, lvl, 1)) ERRX("Can't open log file");
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
|
||||
#define BUFLEN 1024
|
||||
|
||||
TTY_descr *ttydescr = NULL;
|
||||
sl_tty_t *ttydescr = NULL;
|
||||
|
||||
static char buf[BUFLEN];
|
||||
|
||||
@@ -50,14 +50,14 @@ static char *read_string(){
|
||||
return ptr;
|
||||
}
|
||||
ptr = buf;
|
||||
double d0 = dtime();
|
||||
double d0 = sl_dtime();
|
||||
do{
|
||||
if((l = read_tty(ttydescr))){
|
||||
if((l = sl_tty_read(ttydescr))){
|
||||
r += l; LL -= l; ptr += l;
|
||||
if(ptr[-1] == '\n') break;
|
||||
d0 = dtime();
|
||||
d0 = sl_dtime();
|
||||
}
|
||||
}while(dtime() - d0 < WAIT_TMOUT && LL);
|
||||
}while(sl_dtime() - d0 < WAIT_TMOUT && LL);
|
||||
if(r){
|
||||
buf[r] = 0;
|
||||
//DBG("r=%zd, got string: %s", r, buf);
|
||||
@@ -75,10 +75,10 @@ static char *read_string(){
|
||||
int try_connect(char *device, int baudrate){
|
||||
if(!device) return 0;
|
||||
fflush(stdout);
|
||||
ttydescr = new_tty(device, baudrate, 1024);
|
||||
if(ttydescr) ttydescr = tty_open(ttydescr, 1); // exclusive open
|
||||
ttydescr = sl_tty_new(device, baudrate, 1024);
|
||||
if(ttydescr) ttydescr = sl_tty_open(ttydescr, 1); // exclusive open
|
||||
if(!ttydescr) return 0;
|
||||
while(read_tty(ttydescr)); // clear rbuf
|
||||
while(sl_tty_read(ttydescr)); // clear rbuf
|
||||
LOGMSG("Connected to %s", device);
|
||||
return 1;
|
||||
}
|
||||
@@ -91,14 +91,14 @@ void run_terminal(){
|
||||
green(_("Work in terminal mode without echo\n"));
|
||||
int rb;
|
||||
size_t l;
|
||||
setup_con();
|
||||
sl_setup_con();
|
||||
while(1){
|
||||
if((l = read_tty(ttydescr))){
|
||||
if((l = sl_tty_read(ttydescr))){
|
||||
printf("%s", ttydescr->buf);
|
||||
}
|
||||
if((rb = read_console())){
|
||||
if((rb = sl_read_con())){
|
||||
char c = (char) rb;
|
||||
write_tty(ttydescr->comfd, &c, 1);
|
||||
sl_tty_write(ttydescr->comfd, &c, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -109,8 +109,8 @@ void run_terminal(){
|
||||
*/
|
||||
char *poll_device(){
|
||||
char *ans;
|
||||
double t0 = dtime();
|
||||
while(dtime() - t0 < T_POLLING_TMOUT){
|
||||
double t0 = sl_dtime();
|
||||
while(sl_dtime() - t0 < T_POLLING_TMOUT){
|
||||
if((ans = read_string())){ // parse new data
|
||||
DBG("got %s", ans);
|
||||
/*
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
// Terminal polling timeout - 1 second
|
||||
#define T_POLLING_TMOUT (1.0)
|
||||
|
||||
extern TTY_descr *ttydescr;
|
||||
extern sl_tty_t *ttydescr;
|
||||
void run_terminal();
|
||||
int try_connect(char *device, int baudrate);
|
||||
char *poll_device();
|
||||
|
||||
Reference in New Issue
Block a user