#include <stdio.h>
#include <usb.h>
#include "ow-functions.h"

extern unsigned char *adapterSettings;

int main (int argc, char *argv[]) {
    unsigned int settingBytesInt[7];
    unsigned char settingBytesChar[7];
    int i;

    if (argc < 8) {
        fprintf (stderr, "ERROR: Expected: setup-adapter (7 setting bytes)\n");
        return EXIT_FAILURE;
    }

    for (i = 0; i < 7; i++) {
        sscanf (argv[i + 1], "%x", settingBytesInt + i);
        settingBytesChar[i] = settingBytesInt[i];
    }

    adapterSettings = settingBytesChar;

    if (acquireAdapter() < 0) {
        return EXIT_FAILURE;
    }

    if (resetAdapter() < 0) {
        releaseAdapter();
        return EXIT_FAILURE;
    }

    if (releaseAdapter() < 0) {
        return EXIT_FAILURE;
    }

    return 0;
}