caribou_setup and release update

bug_fixes_integration_tx
meexmachina 2021-09-07 14:59:01 +03:00
rodzic f2a5e501e3
commit 4be1724215
4 zmienionych plików z 211 dodań i 23 usunięć

Wyświetl plik

@ -6,21 +6,185 @@
#IncludeRegexTransform:
/home/pi/projects/cariboulite/software/libcariboulite/src/at86rf215/at86rf215.h
at86rf215_common.h
/home/pi/projects/cariboulite/software/libcariboulite/src/at86rf215/at86rf215_common.h
/home/pi/projects/cariboulite/software/libcariboulite/src/at86rf215/at86rf215_common.h
stdio.h
-
stdint.h
-
math.h
-
string.h
-
stdbool.h
-
stdio.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_regs.h
/home/pi/projects/cariboulite/software/libcariboulite/src/at86rf215/at86rf215_regs.h
/home/pi/projects/cariboulite/software/libcariboulite/src/at86rf215/at86rf215_regs.h
/home/pi/projects/cariboulite/software/libcariboulite/src/caribou_fpga/caribou_fpga.h
stdio.h
-
stdint.h
-
io_utils/io_utils.h
/home/pi/projects/cariboulite/software/libcariboulite/src/caribou_fpga/io_utils/io_utils.h
io_utils/io_utils_spi.h
/home/pi/projects/cariboulite/software/libcariboulite/src/caribou_fpga/io_utils/io_utils_spi.h
/home/pi/projects/cariboulite/software/libcariboulite/src/caribou_smi/caribou_smi.h
pthread.h
-
stdint.h
-
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_events.c
zf_log/zf_log.h
/home/pi/projects/cariboulite/software/libcariboulite/src/zf_log/zf_log.h
cariboulite_events.h
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_events.h
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_events.h
caribou_smi/caribou_smi.h
/home/pi/projects/cariboulite/software/libcariboulite/src/caribou_smi/caribou_smi.h
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_setup.c
zf_log/zf_log.h
/home/pi/projects/cariboulite/software/libcariboulite/src/zf_log/zf_log.h
stdio.h
-
cariboulite_setup.h
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_setup.h
cariboulite_events.h
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_events.h
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_setup.h
latticeice40/latticeice40.h
/home/pi/projects/cariboulite/software/libcariboulite/src/latticeice40/latticeice40.h
caribou_fpga/caribou_fpga.h
/home/pi/projects/cariboulite/software/libcariboulite/src/caribou_fpga/caribou_fpga.h
at86rf215/at86rf215.h
/home/pi/projects/cariboulite/software/libcariboulite/src/at86rf215/at86rf215.h
rffc507x/rffc507x.h
/home/pi/projects/cariboulite/software/libcariboulite/src/rffc507x/rffc507x.h
caribou_smi/caribou_smi.h
/home/pi/projects/cariboulite/software/libcariboulite/src/caribou_smi/caribou_smi.h
io_utils/io_utils.h
/home/pi/projects/cariboulite/software/libcariboulite/src/io_utils/io_utils.h
io_utils/io_utils_spi.h
/home/pi/projects/cariboulite/software/libcariboulite/src/io_utils/io_utils_spi.h
io_utils/io_utils_sys_info.h
/home/pi/projects/cariboulite/software/libcariboulite/src/io_utils/io_utils_sys_info.h
ustimer/ustimer.h
/home/pi/projects/cariboulite/software/libcariboulite/src/ustimer/ustimer.h
/home/pi/projects/cariboulite/software/libcariboulite/src/io_utils/io_utils.h
stdio.h
-
string.h
-
stdint.h
-
stdlib.h
-
pigpio/pigpio.h
/home/pi/projects/cariboulite/software/libcariboulite/src/io_utils/pigpio/pigpio.h
/home/pi/projects/cariboulite/software/libcariboulite/src/io_utils/io_utils_spi.h
stdio.h
-
stdint.h
-
pthread.h
-
io_utils.h
/home/pi/projects/cariboulite/software/libcariboulite/src/io_utils/io_utils.h
/home/pi/projects/cariboulite/software/libcariboulite/src/io_utils/io_utils_sys_info.h
stdio.h
-
string.h
-
stdint.h
-
stdlib.h
-
unistd.h
-
fcntl.h
-
signal.h
-
string.h
-
sys/ioctl.h
-
sys/mman.h
-
/home/pi/projects/cariboulite/software/libcariboulite/src/io_utils/pigpio/pigpio.h
stddef.h
-
stdint.h
-
pthread.h
-
stdio.h
-
pigpio.h
-
stdio.h
-
pigpio.h
/home/pi/projects/cariboulite/software/libcariboulite/src/io_utils/pigpio/pigpio.h
stdio.h
-
pigpio.h
-
stdio.h
-
pigpio.h
-
stdio.h
-
pigpio.h
-
/home/pi/projects/cariboulite/software/libcariboulite/src/latticeice40/latticeice40.h
stdint.h
-
linux/types.h
-
io_utils/io_utils.h
/home/pi/projects/cariboulite/software/libcariboulite/src/latticeice40/io_utils/io_utils.h
io_utils/io_utils_spi.h
/home/pi/projects/cariboulite/software/libcariboulite/src/latticeice40/io_utils/io_utils_spi.h
/home/pi/projects/cariboulite/software/libcariboulite/src/rffc507x/rffc507x.h
stdio.h
-
stdint.h
-
io_utils/io_utils.h
/home/pi/projects/cariboulite/software/libcariboulite/src/rffc507x/io_utils/io_utils.h
io_utils/io_utils_spi.h
/home/pi/projects/cariboulite/software/libcariboulite/src/rffc507x/io_utils/io_utils_spi.h
/home/pi/projects/cariboulite/software/libcariboulite/src/ustimer/ustimer.h
stdlib.h
-
unistd.h
-
stdio.h
-
signal.h
-
time.h
-
/home/pi/projects/cariboulite/software/libcariboulite/src/zf_log/zf_log.h

Plik binarny nie jest wyświetlany.

Plik binarny nie jest wyświetlany.

Wyświetl plik

@ -83,9 +83,10 @@ cariboulite_st sys =
//=======================================================================================
int cariboulite_setup_io ()
{
ZF_LOGI("Setting up board I/Os");
if (io_utils_setup() < 0)
{
printf("Error setting up io_utils\n");
ZF_LOGE("Error setting up io_utils");
return -1;
}
@ -96,7 +97,7 @@ int cariboulite_setup_io ()
if (io_utils_spi_init(&sys.spi_dev) < 0)
{
printf("Error setting up io_utils_spi\n");
ZF_LOGE("Error setting up io_utils_spi");
io_utils_cleanup();
return -1;
}
@ -125,6 +126,7 @@ int cariboulite_setup_io ()
//=======================================================================================
int cariboulite_release_io ()
{
ZF_LOGI("Releasing board I/Os");
io_utils_spi_close(&sys.spi_dev);
io_utils_cleanup();
return 0;
@ -135,11 +137,13 @@ int cariboulite_configure_fpga (char* fpga_bin_path)
{
int res = 0;
ZF_LOGI("Configuring the FPGA from '%s'", fpga_bin_path);
// Init FPGA programming
res = latticeice40_init(&sys.ice40, &sys.spi_dev);
if (res < 0)
{
printf("ERROR @ cariboulite_configure_fpga: lattice ice40 init failed\n");
ZF_LOGE("lattice ice40 init failed");
return -1;
}
@ -147,7 +151,7 @@ int cariboulite_configure_fpga (char* fpga_bin_path)
res = latticeice40_configure(&sys.ice40, fpga_bin_path);
if (res < 0)
{
printf("ERROR @ cariboulite_configure_fpga: lattice ice40 configuration failed\n");
ZF_LOGE("lattice ice40 configuration failed");
// do not exit the function - releasing resources is needed anyway
}
@ -155,7 +159,7 @@ int cariboulite_configure_fpga (char* fpga_bin_path)
res = latticeice40_release(&sys.ice40);
if (res < 0)
{
printf("ERROR @ cariboulite_configure_fpga: lattice ice40 release failed\n");
ZF_LOGE("lattice ice40 release failed");
return -1;
}
@ -166,16 +170,16 @@ int cariboulite_configure_fpga (char* fpga_bin_path)
int cariboulite_init_submodules ()
{
int res = 0;
printf("INFO @ cariboulite_init_submodules: initializing submodules.\n");
ZF_LOGI("initializing submodules");
// FPGA Init
//------------------------------------------------------
printf("INFO @ cariboulite_init_submodules: init FPGA communication\n");
ZF_LOGD("INIT FPGA SPI communication");
res = caribou_fpga_init(&sys.fpga, &sys.spi_dev);
if (res < 0)
{
printf("ERROR @ cariboulite_init_submodules: FPGA init failed\n");
return -1;
ZF_LOGE("FPGA communication init failed");
goto cariboulite_init_submodules_fail;
}
// read out version information from the FPGA
caribou_fpga_get_versions (&sys.fpga, &sys.fpga_versions);
@ -184,19 +188,29 @@ int cariboulite_init_submodules ()
// SMI Init
//------------------------------------------------------
ZF_LOGD("INIT FPGA SMI communication");
if (caribou_smi_init(&sys.smi, caribou_smi_error_event, &sys) < 0)
{
printf("Error setting up io_utils_spi\n");
io_utils_cleanup();
io_utils_spi_close(&sys.spi_dev);
return -1;
ZF_LOGE("Error setting up io_utils_spi");
goto cariboulite_init_submodules_fail;
}
// AT86RF215
//------------------------------------------------------
ZF_LOGD("INIT MODEM - AT86RF215");
// TBD
// RFFC5072
//------------------------------------------------------
ZF_LOGD("INIT MIXER - RFFC5072");
// TBD
ZF_LOGI("Cariboulite submodules successfully initialized");
return 0;
cariboulite_init_submodules_fail:
printf("ERROR @ cariboulite_init_submodules\n");
// release the resources
cariboulite_release_submodules();
return -1;
}
@ -207,15 +221,26 @@ int cariboulite_release_submodules()
// SMI Module
//------------------------------------------------------
ZF_LOGD("CLOSE SMI");
caribou_smi_close(&sys.smi);
// AT86RF215
//------------------------------------------------------
ZF_LOGD("CLOSE MODEM - AT86RF215");
// TBD
// RFFC5072
//------------------------------------------------------
ZF_LOGD("CLOSE MIXER - RFFC5072");
// TBD
// FPGA Module
//------------------------------------------------------
printf("INFO @ cariboulite_release_submodules: releasing FPGA communication\n");
printf("CLOSE FPGA communication");
res = caribou_fpga_close(&sys.fpga);
if (res < 0)
{
printf("ERROR @ cariboulite_release_submodules: FPGA release failed\n");
ZF_LOGE("FPGA communication release failed (%d)", res);
return -1;
}
//------------------------------------------------------
@ -223,6 +248,5 @@ int cariboulite_release_submodules()
return 0;
cariboulite_release_submodules_lg_fail:
printf("ERROR @ cariboulite_release_submodules\n");
return -1;
}