#include "radio.h"
#include "dy_utils/dy_common.h"

int DEBUG_INFO = 0;

int main (int argc, char *argv[]) {

    int rst_pin = 0, spidev = 0;
    int ret = 1;
    const char *board_name = NULL;

    if (argc < 3) 
        return ret;

    rst_pin = atoi(argv[1]);

    spidev = atoi(argv[2]);

    if (rst_pin < 0 || rst_pin > 40) 
        return ret;
    
    board_name = get_board_name();
    printf("board name is %s!!!\n", board_name);

    radiodev *loradev;
    loradev = (radiodev *) malloc(sizeof(radiodev));
    loradev->nss = 15;
    loradev->rst = rst_pin;
    loradev->dio[1] = 6;
    loradev->dio[2] = 0;	
    strncpy(loradev->desc, "LG02 detect", sizeof(loradev->desc));	
    loradev->desc[sizeof(loradev->desc)-1]='\0';

    if (strcmp(board_name, BOARD_WOOLINK_MT7621) == 0)
    {
        if (spidev)
        {
            loradev->spiport = lgw_spi_open("/dev/spidev0.1");
            loradev->dio[0] = 4;
        }
        else
        {
            loradev->spiport = lgw_spi_open("/dev/spidev0.0");
            loradev->dio[0] = 32;
        }
    }
    else
    {
        if (spidev)
        {
            loradev->spiport = lgw_spi_open("/dev/spidev2.0");
            loradev->dio[0] = 1;
        }
        else
        {
            loradev->spiport = lgw_spi_open("/dev/spidev0.0");
            loradev->dio[0] = 85;
        }
    }


    if (get_radio_version(loradev)) {  
        ret = 0;
    }

    close(loradev->spiport);

    free(loradev);

    return ret;

}
