linux select problem tests

bug_fixes_integration_tx
meexmachina 2021-10-12 21:25:42 +03:00
rodzic 9a6db91a87
commit 72d6cca083
6 zmienionych plików z 32 dodań i 65 usunięć

Wyświetl plik

@ -88,32 +88,6 @@ at86rf215_common.h
at86rf215_radio.h
/home/pi/projects/cariboulite/software/libcariboulite/src/at86rf215/at86rf215_radio.h
/home/pi/projects/cariboulite/software/libcariboulite/src/at86rf215/at86rf215_baseband.c
stdint.h
-
math.h
-
string.h
-
stdbool.h
-
stdio.h
-
zf_log/zf_log.h
/home/pi/projects/cariboulite/software/libcariboulite/src/at86rf215/zf_log/zf_log.h
io_utils/io_utils.h
/home/pi/projects/cariboulite/software/libcariboulite/src/at86rf215/io_utils/io_utils.h
io_utils/io_utils_spi.h
/home/pi/projects/cariboulite/software/libcariboulite/src/at86rf215/io_utils/io_utils_spi.h
at86rf215_radio.h
/home/pi/projects/cariboulite/software/libcariboulite/src/at86rf215/at86rf215_radio.h
at86rf215_baseband.h
/home/pi/projects/cariboulite/software/libcariboulite/src/at86rf215/at86rf215_baseband.h
at86rf215_regs.h
/home/pi/projects/cariboulite/software/libcariboulite/src/at86rf215/at86rf215_regs.h
/home/pi/projects/cariboulite/software/libcariboulite/src/at86rf215/at86rf215_baseband.h
/home/pi/projects/cariboulite/software/libcariboulite/src/at86rf215/at86rf215_common.h
stdio.h
-
@ -134,36 +108,6 @@ io_utils/io_utils_spi.h
at86rf215_regs.h
/home/pi/projects/cariboulite/software/libcariboulite/src/at86rf215/at86rf215_regs.h
/home/pi/projects/cariboulite/software/libcariboulite/src/at86rf215/at86rf215_events.c
stdio.h
-
zf_log/zf_log.h
/home/pi/projects/cariboulite/software/libcariboulite/src/at86rf215/zf_log/zf_log.h
at86rf215_common.h
/home/pi/projects/cariboulite/software/libcariboulite/src/at86rf215/at86rf215_common.h
/home/pi/projects/cariboulite/software/libcariboulite/src/at86rf215/at86rf215_radio.c
stdint.h
-
math.h
-
string.h
-
stdbool.h
-
stdio.h
-
zf_log/zf_log.h
/home/pi/projects/cariboulite/software/libcariboulite/src/at86rf215/zf_log/zf_log.h
io_utils/io_utils.h
/home/pi/projects/cariboulite/software/libcariboulite/src/at86rf215/io_utils/io_utils.h
io_utils/io_utils_spi.h
/home/pi/projects/cariboulite/software/libcariboulite/src/at86rf215/io_utils/io_utils_spi.h
at86rf215_radio.h
/home/pi/projects/cariboulite/software/libcariboulite/src/at86rf215/at86rf215_radio.h
at86rf215_regs.h
/home/pi/projects/cariboulite/software/libcariboulite/src/at86rf215/at86rf215_regs.h
/home/pi/projects/cariboulite/software/libcariboulite/src/at86rf215/at86rf215_radio.h
stdio.h
-

Wyświetl plik

@ -167,7 +167,7 @@ int test_at86rf215_continues_iq_loopback (at86rf215_st* dev, at86rf215_rf_channe
#define TEST_VERSIONS 1
#define TEST_FREQ_SWEEP 0
#define TEST_IQ_RX_WIND 1
#define TEST_IQ_RX_WIND_RAD 1
#define TEST_IQ_RX_WIND_RAD 0
#define TEST_IQ_LB_WIND 0
// -----------------------------------------------------------------------------------------

Wyświetl plik

@ -123,7 +123,7 @@ int caribou_smi_timeout_read(caribou_smi_st* dev,
int timeout_num_millisec)
{
fd_set set;
struct timeval timeout;
struct timeval timeout = {0};
int rv;
// set the address
@ -147,17 +147,37 @@ int caribou_smi_timeout_read(caribou_smi_st* dev,
return -1;
}
FD_ZERO(&set); // clear the set
FD_SET(dev->filedesc, &set); // add our file descriptor to the set
FD_ZERO(&set); // clear the set mask
FD_SET(dev->filedesc, &set); // add our file descriptor to the set - and only it
int num_sec = timeout_num_millisec / 1000;
timeout.tv_sec = num_sec;
timeout.tv_usec = (timeout_num_millisec - num_sec*1000) * 1000;
again:
rv = select(dev->filedesc + 1, &set, NULL, NULL, &timeout);
if(rv == -1)
{
ZF_LOGE("smi fd select error");
int error = errno;
switch(error)
{
case EBADF: // An invalid file descriptor was given in one of the sets.
// (Perhaps a file descriptor that was already closed, or one on which an error has occurred.)
ZF_LOGE("SMI filedesc select error - invalid file descriptor in one of the sets");
break;
case EINTR: // A signal was caught.
ZF_LOGD("SMI filedesc select error - caught an interrupting signal");
goto again;
break;
case EINVAL: // nfds is negative or the value contained within timeout is invalid.
ZF_LOGE("SMI filedesc select error - nfds is negative or invalid timeout");
break;
case ENOMEM: // unable to allocate memory for internal tables.
ZF_LOGE("SMI filedesc select error - internal tables allocation failed");
break;
default: break;
};
return -1;
}
else if(rv == 0)
@ -165,8 +185,11 @@ int caribou_smi_timeout_read(caribou_smi_st* dev,
ZF_LOGD("smi fd timeout");
return 0;
}
return read(dev->filedesc, buffer, size_of_buf);
else if (FD_ISSET(dev->filedesc, &set))
{
return read(dev->filedesc, buffer, size_of_buf);
}
return -1;
}
//=========================================================================
@ -301,7 +324,7 @@ void* caribou_smi_thread(void *arg)
}
//ZF_LOGD("3");
int ret = caribou_smi_timeout_read(dev, st->addr, (char*)st->current_smi_buffer, st->batch_length, 10);
int ret = caribou_smi_timeout_read(dev, st->addr, (char*)st->current_smi_buffer, st->batch_length, 100);
if (ret < 0)
{
ZF_LOGE("caribou_smi_timeout_read failed");

Wyświetl plik

@ -136,7 +136,7 @@ void caribou_smi_error_event( void *ctx, caribou_smi_channel_en ch, caribou_smi_
ZF_LOGD("Error (from %s) occured in channel %d, err# %d (%s)\n", (char*)ctx, ch, err, caribou_smi_get_error_string(err));
}
#if 1
#if 0
caribou_smi_address_en address = caribou_smi_address_read_2400;
caribou_smi_channel_en channel = caribou_smi_channel_2400;
#else