Beispiel #1
0
int test_get_set_pan(void)
{
    uint16_t pan = 0x0000, new_pan;

    new_pan = at86rf231_set_address(pan);

    if (new_pan != pan) {
        printf("new_pan [%d] != pan [%d] after set_address\n", new_pan, pan);
        return 0;
    }

    new_pan = at86rf231_get_address();

    if (new_pan != pan) {
        printf("new_pan [%d] != pan [%d] after get_address\n", new_pan, pan);
        return 0;
    }

    pan = 0xffff;
    new_pan = at86rf231_set_address(pan);

    if (new_pan != pan) {
        printf("new_pan [%d] != pan [%d] after set_address\n", new_pan, pan);
        return 0;
    }

    new_pan = at86rf231_get_address();

    if (new_pan != pan) {
        printf("new_pan [%d] != pan [%d] after get_address\n", new_pan, pan);
        return 0;
    }

    pan = 0x0004; /* randomly chosen by fair dice roll ;-) */
    new_pan = at86rf231_set_address(pan);

    if (new_pan != pan) {
        printf("new_pan [%d] != pan [%d] after set_address\n", new_pan, pan);
        return 0;
    }

    new_pan = at86rf231_get_address();

    if (new_pan != pan) {
        printf("new_pan [%d] != pan [%d] after get_address\n", new_pan, pan);
        return 0;
    }

    return 1;
}
Beispiel #2
0
int test_get_set_address(void)
{
    uint16_t addr = 0x0000, new_addr;

    new_addr = at86rf231_set_address(addr);

    if (new_addr != addr) {
        printf("new_addr [%d] != addr [%d] after set_address\n", new_addr, addr);
        return 0;
    }

    new_addr = at86rf231_get_address();

    if (new_addr != addr) {
        printf("new_addr [%d] != addr [%d] after get_address\n", new_addr, addr);
        return 0;
    }

    addr = 0xffff;
    new_addr = at86rf231_set_address(addr);

    if (new_addr != addr) {
        printf("new_addr [%d] != addr [%d] after set_address\n", new_addr, addr);
        return 0;
    }

    new_addr = at86rf231_get_address();

    if (new_addr != addr) {
        printf("new_addr [%d] != addr [%d] after get_address\n", new_addr, addr);
        return 0;
    }

    addr = 0x0004; /* randomly chosen by fair dice roll ;-) */
    new_addr = at86rf231_set_address(addr);

    if (new_addr != addr) {
        printf("new_addr [%d] != addr [%d] after set_address\n", new_addr, addr);
        return 0;
    }

    new_addr = at86rf231_get_address();

    if (new_addr != addr) {
        printf("new_addr [%d] != addr [%d] after get_address\n", new_addr, addr);
        return 0;
    }

    return 1;
}
Beispiel #3
0
int test_get_set_address_long(void)
{
    uint64_t addr = 0x0000000000000000, new_addr;

    new_addr = at86rf231_set_address(addr);

    if (new_addr != addr) {
        printf("new_addr [%" PRIu64 "] != addr [%" PRIu64 "] after set_address\n", new_addr, addr);
        return 0;
    }

    new_addr = at86rf231_get_address();

    if (new_addr != addr) {
        printf("new_addr [%" PRIu64 "] != addr [%" PRIu64 "] after get_address\n", new_addr, addr);
        return 0;
    }

    addr = 0xffffffffffffffff;
    new_addr = at86rf231_set_address(addr);

    if (new_addr != addr) {
        printf("new_addr [%" PRIu64 "] != addr [%" PRIu64 "] after set_address\n", new_addr, addr);
        return 0;
    }

    new_addr = at86rf231_get_address();

    if (new_addr != addr) {
        printf("new_addr [%" PRIu64 "] != addr [%" PRIu64 "] after get_address\n", new_addr, addr);
        return 0;
    }

    addr = 0x0000000002bb3f52; /* randomly chosen by fair dice roll ;-) */
    new_addr = at86rf231_set_address(addr);

    if (new_addr != addr) {
        printf("new_addr [%" PRIu64 "] != addr [%" PRIu64 "] after set_address\n", new_addr, addr);
        return 0;
    }

    new_addr = at86rf231_get_address();

    if (new_addr != addr) {
        printf("new_addr [%" PRIu64 "] != addr [%" PRIu64 "] after get_address\n", new_addr, addr);
        return 0;
    }

    return 1;
}
Beispiel #4
0
/*
 * @brief Set the address of the transceiver device
 *
 * @param t         The transceiver device
 * @param address   Generic pointer to the address to set
 *
 * @return  The new radio address of the device
 *
 * TODO: define error behavior
 */
static radio_address_t set_address(transceiver_type_t t, void *address)
{
    /* cppcheck: addr is read depending on enabled modules */
    /* cppcheck-suppress unreadVariable */
    radio_address_t addr = *((radio_address_t *)address);

    switch (t) {
        case TRANSCEIVER_CC1100:
#if (defined(MODULE_CC110X) || defined(MODULE_CC110X_LEGACY))
            return cc110x_set_address(addr);
#elif MODULE_CC110X_LEGACY_CSMA
            return cc1100_set_address(addr);
#else
            return 0; /* XXX see TODO above */
#endif
#ifdef MODULE_CC2420

        case TRANSCEIVER_CC2420:
            return cc2420_set_address(addr);
#endif
#ifdef MODULE_MC1322X

        case TRANSCEIVER_MC1322X:
            return maca_set_address(addr);
#endif
#ifdef MODULE_NATIVENET

        case TRANSCEIVER_NATIVE:
            return nativenet_set_address(addr);
#endif
#ifdef MODULE_AT86RF231

        case TRANSCEIVER_AT86RF231:
            return at86rf231_set_address(addr);
#endif

        default:
            return 0; /* XXX see TODO above */
    }
}