factor out leaving the bootloader into own function
authorMichael Gernoth <michael@gernoth.net>
Sun, 18 Aug 2013 18:19:49 +0000 (20:19 +0200)
committerMichael Gernoth <michael@gernoth.net>
Sun, 18 Aug 2013 18:19:49 +0000 (20:19 +0200)
hmcfgusb.c
hmcfgusb.h
hmland.c

index 8261f13..d77c9d8 100644 (file)
@@ -497,6 +497,22 @@ void hmcfgusb_enter_bootloader(struct hmcfgusb_dev *dev)
        return;
 }
 
+void hmcfgusb_leave_bootloader(struct hmcfgusb_dev *dev)
+{
+       uint8_t out[ASYNC_SIZE];
+
+       if (!dev->bootloader) {
+               fprintf(stderr, "request for leaving bootloader mode, but device already in normal mode!\n");
+               return;
+       }
+
+       memset(out, 0, sizeof(out));
+       out[0] = 'K';
+       hmcfgusb_send(dev, out, sizeof(out), 1);
+
+       return;
+}
+
 void hmcfgusb_close(struct hmcfgusb_dev *dev)
 {
        int err;
index e438077..8172622 100644 (file)
@@ -39,5 +39,6 @@ struct hmcfgusb_dev *hmcfgusb_init(hmcfgusb_cb_fn cb, void *data);
 int hmcfgusb_add_pfd(struct hmcfgusb_dev *dev, int fd, short events);
 int hmcfgusb_poll(struct hmcfgusb_dev *dev, int timeout);
 void hmcfgusb_enter_bootloader(struct hmcfgusb_dev *dev);
+void hmcfgusb_leave_bootloader(struct hmcfgusb_dev *dev);
 void hmcfgusb_close(struct hmcfgusb_dev *dev);
 void hmcfgusb_set_debug(int d);
index 29ec7a1..d09b10b 100644 (file)
--- a/hmland.c
+++ b/hmland.c
@@ -442,10 +442,11 @@ static int comm(int fd_in, int fd_out, int master_socket, int flags)
        }
 
        if (dev->bootloader) {
-               fprintf(stderr, "HM-CFG-USB in bootloader mode, restarting in normal mode...\n");
-               memset(out, 0, sizeof(out));
-               out[0] = 'K';
-               hmcfgusb_send(dev, out, sizeof(out), 1);
+               if (verbose)
+                       fprintf(stderr, "HM-CFG-USB in bootloader mode, restarting in normal mode...\n");
+
+               hmcfgusb_leave_bootloader(dev);
+
                hmcfgusb_close(dev);
                sleep(1);
                return 0;
@@ -709,7 +710,7 @@ void hmlan_syntax(char *prog)
        fprintf(stderr, "\t-i\tinteractive mode (connect HM-CFG-USB to terminal)\n");
        fprintf(stderr, "\t-l ip\tlisten on given IP address only (for example 127.0.0.1)\n");
        fprintf(stderr, "\t-P\tcreate PID file " PID_FILE " in daemon mode\n");
-       fprintf(stderr, "\t-p n\tlisten on port n (default 1000)\n");
+       fprintf(stderr, "\t-p n\tlisten on port n (default: 1000)\n");
        fprintf(stderr, "\t-r n\treboot HM-CFG-USB after n seconds (0: no reboot, default: %u)\n", DEFAULT_REBOOT_SECONDS);
        fprintf(stderr, "\t-v\tverbose mode\n");
 
Impressum, Datenschutz