diff options
Diffstat (limited to 'commandline/library')
-rw-r--r-- | commandline/library/micronucleus_lib.c | 8 | ||||
-rw-r--r-- | commandline/library/micronucleus_lib.h | 9 |
2 files changed, 14 insertions, 3 deletions
diff --git a/commandline/library/micronucleus_lib.c b/commandline/library/micronucleus_lib.c index 2e63425..1c3c179 100644 --- a/commandline/library/micronucleus_lib.c +++ b/commandline/library/micronucleus_lib.c @@ -47,6 +47,14 @@ micronucleus* micronucleus_connect() { nucleus = malloc(sizeof(micronucleus)); nucleus->version.major = (dev->descriptor.bcdUSB >> 8) & 0xFF; nucleus->version.minor = dev->descriptor.bcdUSB & 0xFF; + + if (nucleus->version.major > MICRONUCLEUS_MAX_MAJOR_VERSION) { + fprintf(stderr, "Warning: device with unknown new version of Micronucleus detected.\n"); + fprintf(stderr, "This tool doesn't know how to upload to this new device. Updates may be available.\n"); + fprintf(stderr, "Device reports version as: %d.%d\n", nucleus->version.major, nucleus->version.minor); + return NULL; + } + nucleus->device = usb_open(dev); // get nucleus info diff --git a/commandline/library/micronucleus_lib.h b/commandline/library/micronucleus_lib.h index d022877..9118ace 100644 --- a/commandline/library/micronucleus_lib.h +++ b/commandline/library/micronucleus_lib.h @@ -34,14 +34,17 @@ #endif //#include "opendevice.h" // common code moved to separate module #include <assert.h> +#include <stdio.h> +#include <stdlib.h> /*******************************************************************************/ /******************************************************************************** * USB details ********************************************************************************/ -#define MICRONUCLEUS_VENDOR_ID 0x16D0 -#define MICRONUCLEUS_PRODUCT_ID 0x0753 -#define MICRONUCLEUS_USB_TIMEOUT 0xFFFF +#define MICRONUCLEUS_VENDOR_ID 0x16D0 +#define MICRONUCLEUS_PRODUCT_ID 0x0753 +#define MICRONUCLEUS_USB_TIMEOUT 0xFFFF +#define MICRONUCLEUS_MAX_MAJOR_VERSION 1 /*******************************************************************************/ /******************************************************************************** |