kopia lustrzana https://github.com/cariboulabs/cariboulite
major radio update and soapy
rodzic
b07f3c8ab9
commit
952ed8c26d
|
@ -9,7 +9,7 @@ include_directories(${PROJECT_SOURCE_DIR}/src)
|
|||
# ------------------------------------
|
||||
# MAIN - Source files for main library
|
||||
# ------------------------------------
|
||||
set(SOURCES_LIB src/cariboulite_setup.c src/cariboulite_events.c)
|
||||
set(SOURCES_LIB src/cariboulite_setup.c src/cariboulite_events.c src/cariboulite_radios.c)
|
||||
|
||||
# Add internal project dependencies
|
||||
add_subdirectory(src/datatypes EXCLUDE_FROM_ALL)
|
||||
|
|
|
@ -340,12 +340,12 @@ CMakeFiles/cariboulite.dir/all: src/cariboulite_eeprom/CMakeFiles/cariboulite_ee
|
|||
CMakeFiles/cariboulite.dir/all: src/zf_log/CMakeFiles/zf_log.dir/all
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/cariboulite.dir/build.make CMakeFiles/cariboulite.dir/depend
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/cariboulite.dir/build.make CMakeFiles/cariboulite.dir/build
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles --progress-num=14,15,16 "Built target cariboulite"
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles --progress-num=14,15,16,17 "Built target cariboulite"
|
||||
.PHONY : CMakeFiles/cariboulite.dir/all
|
||||
|
||||
# Build rule for subdir invocation for target.
|
||||
CMakeFiles/cariboulite.dir/rule: cmake_check_build_system
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles 33
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles 34
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/cariboulite.dir/all
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles 0
|
||||
.PHONY : CMakeFiles/cariboulite.dir/rule
|
||||
|
@ -378,12 +378,12 @@ CMakeFiles/cariboulite_app.dir/all: src/cariboulite_eeprom/CMakeFiles/cariboulit
|
|||
CMakeFiles/cariboulite_app.dir/all: src/zf_log/CMakeFiles/zf_log.dir/all
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/cariboulite_app.dir/build.make CMakeFiles/cariboulite_app.dir/depend
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/cariboulite_app.dir/build.make CMakeFiles/cariboulite_app.dir/build
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles --progress-num=17,18 "Built target cariboulite_app"
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles --progress-num=18,19 "Built target cariboulite_app"
|
||||
.PHONY : CMakeFiles/cariboulite_app.dir/all
|
||||
|
||||
# Build rule for subdir invocation for target.
|
||||
CMakeFiles/cariboulite_app.dir/rule: cmake_check_build_system
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles 35
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles 36
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/cariboulite_app.dir/all
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles 0
|
||||
.PHONY : CMakeFiles/cariboulite_app.dir/rule
|
||||
|
@ -416,12 +416,12 @@ CMakeFiles/ice40programmer.dir/all: src/cariboulite_eeprom/CMakeFiles/cariboulit
|
|||
CMakeFiles/ice40programmer.dir/all: src/zf_log/CMakeFiles/zf_log.dir/all
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/ice40programmer.dir/build.make CMakeFiles/ice40programmer.dir/depend
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/ice40programmer.dir/build.make CMakeFiles/ice40programmer.dir/build
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles --progress-num=28,29 "Built target ice40programmer"
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles --progress-num=29,30 "Built target ice40programmer"
|
||||
.PHONY : CMakeFiles/ice40programmer.dir/all
|
||||
|
||||
# Build rule for subdir invocation for target.
|
||||
CMakeFiles/ice40programmer.dir/rule: cmake_check_build_system
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles 35
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles 36
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/ice40programmer.dir/all
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles 0
|
||||
.PHONY : CMakeFiles/ice40programmer.dir/rule
|
||||
|
@ -454,12 +454,12 @@ CMakeFiles/fpgacomm.dir/all: src/cariboulite_eeprom/CMakeFiles/cariboulite_eepro
|
|||
CMakeFiles/fpgacomm.dir/all: src/zf_log/CMakeFiles/zf_log.dir/all
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fpgacomm.dir/build.make CMakeFiles/fpgacomm.dir/depend
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/fpgacomm.dir/build.make CMakeFiles/fpgacomm.dir/build
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles --progress-num=26,27 "Built target fpgacomm"
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles --progress-num=27,28 "Built target fpgacomm"
|
||||
.PHONY : CMakeFiles/fpgacomm.dir/all
|
||||
|
||||
# Build rule for subdir invocation for target.
|
||||
CMakeFiles/fpgacomm.dir/rule: cmake_check_build_system
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles 35
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles 36
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/fpgacomm.dir/all
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles 0
|
||||
.PHONY : CMakeFiles/fpgacomm.dir/rule
|
||||
|
@ -497,7 +497,7 @@ CMakeFiles/SoapyCariboulite.dir/all: src/zf_log/CMakeFiles/zf_log.dir/all
|
|||
|
||||
# Build rule for subdir invocation for target.
|
||||
CMakeFiles/SoapyCariboulite.dir/rule: cmake_check_build_system
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles 37
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles 38
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/SoapyCariboulite.dir/all
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles 0
|
||||
.PHONY : CMakeFiles/SoapyCariboulite.dir/rule
|
||||
|
@ -519,7 +519,7 @@ CMakeFiles/SoapyCariboulite.dir/clean:
|
|||
src/datatypes/CMakeFiles/test_tsqueue.dir/all: src/datatypes/CMakeFiles/datatypes.dir/all
|
||||
$(MAKE) $(MAKESILENT) -f src/datatypes/CMakeFiles/test_tsqueue.dir/build.make src/datatypes/CMakeFiles/test_tsqueue.dir/depend
|
||||
$(MAKE) $(MAKESILENT) -f src/datatypes/CMakeFiles/test_tsqueue.dir/build.make src/datatypes/CMakeFiles/test_tsqueue.dir/build
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles --progress-num=65,66 "Built target test_tsqueue"
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles --progress-num=66,67 "Built target test_tsqueue"
|
||||
.PHONY : src/datatypes/CMakeFiles/test_tsqueue.dir/all
|
||||
|
||||
# Build rule for subdir invocation for target.
|
||||
|
@ -546,7 +546,7 @@ src/datatypes/CMakeFiles/test_tsqueue.dir/clean:
|
|||
src/datatypes/CMakeFiles/datatypes.dir/all:
|
||||
$(MAKE) $(MAKESILENT) -f src/datatypes/CMakeFiles/datatypes.dir/build.make src/datatypes/CMakeFiles/datatypes.dir/depend
|
||||
$(MAKE) $(MAKESILENT) -f src/datatypes/CMakeFiles/datatypes.dir/build.make src/datatypes/CMakeFiles/datatypes.dir/build
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles --progress-num=23,24,25 "Built target datatypes"
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles --progress-num=24,25,26 "Built target datatypes"
|
||||
.PHONY : src/datatypes/CMakeFiles/datatypes.dir/all
|
||||
|
||||
# Build rule for subdir invocation for target.
|
||||
|
@ -573,7 +573,7 @@ src/datatypes/CMakeFiles/datatypes.dir/clean:
|
|||
src/datatypes/CMakeFiles/test_tiny_list.dir/all: src/datatypes/CMakeFiles/datatypes.dir/all
|
||||
$(MAKE) $(MAKESILENT) -f src/datatypes/CMakeFiles/test_tiny_list.dir/build.make src/datatypes/CMakeFiles/test_tiny_list.dir/depend
|
||||
$(MAKE) $(MAKESILENT) -f src/datatypes/CMakeFiles/test_tiny_list.dir/build.make src/datatypes/CMakeFiles/test_tiny_list.dir/build
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles --progress-num=63,64 "Built target test_tiny_list"
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles --progress-num=64,65 "Built target test_tiny_list"
|
||||
.PHONY : src/datatypes/CMakeFiles/test_tiny_list.dir/all
|
||||
|
||||
# Build rule for subdir invocation for target.
|
||||
|
@ -600,7 +600,7 @@ src/datatypes/CMakeFiles/test_tiny_list.dir/clean:
|
|||
src/ustimer/CMakeFiles/test_ustimer.dir/all: src/ustimer/CMakeFiles/ustimer.dir/all
|
||||
$(MAKE) $(MAKESILENT) -f src/ustimer/CMakeFiles/test_ustimer.dir/build.make src/ustimer/CMakeFiles/test_ustimer.dir/depend
|
||||
$(MAKE) $(MAKESILENT) -f src/ustimer/CMakeFiles/test_ustimer.dir/build.make src/ustimer/CMakeFiles/test_ustimer.dir/build
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles --progress-num=67,68 "Built target test_ustimer"
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles --progress-num=68,69 "Built target test_ustimer"
|
||||
.PHONY : src/ustimer/CMakeFiles/test_ustimer.dir/all
|
||||
|
||||
# Build rule for subdir invocation for target.
|
||||
|
@ -627,7 +627,7 @@ src/ustimer/CMakeFiles/test_ustimer.dir/clean:
|
|||
src/ustimer/CMakeFiles/ustimer.dir/all:
|
||||
$(MAKE) $(MAKESILENT) -f src/ustimer/CMakeFiles/ustimer.dir/build.make src/ustimer/CMakeFiles/ustimer.dir/depend
|
||||
$(MAKE) $(MAKESILENT) -f src/ustimer/CMakeFiles/ustimer.dir/build.make src/ustimer/CMakeFiles/ustimer.dir/build
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles --progress-num=69,70 "Built target ustimer"
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles --progress-num=70,71 "Built target ustimer"
|
||||
.PHONY : src/ustimer/CMakeFiles/ustimer.dir/all
|
||||
|
||||
# Build rule for subdir invocation for target.
|
||||
|
@ -654,7 +654,7 @@ src/ustimer/CMakeFiles/ustimer.dir/clean:
|
|||
src/caribou_fpga/CMakeFiles/test_caribou_fpga.dir/all:
|
||||
$(MAKE) $(MAKESILENT) -f src/caribou_fpga/CMakeFiles/test_caribou_fpga.dir/build.make src/caribou_fpga/CMakeFiles/test_caribou_fpga.dir/depend
|
||||
$(MAKE) $(MAKESILENT) -f src/caribou_fpga/CMakeFiles/test_caribou_fpga.dir/build.make src/caribou_fpga/CMakeFiles/test_caribou_fpga.dir/build
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles --progress-num=46,47,48 "Built target test_caribou_fpga"
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles --progress-num=47,48,49 "Built target test_caribou_fpga"
|
||||
.PHONY : src/caribou_fpga/CMakeFiles/test_caribou_fpga.dir/all
|
||||
|
||||
# Build rule for subdir invocation for target.
|
||||
|
@ -708,7 +708,7 @@ src/caribou_fpga/CMakeFiles/caribou_fpga.dir/clean:
|
|||
src/at86rf215/CMakeFiles/test_at86rf215.dir/all:
|
||||
$(MAKE) $(MAKESILENT) -f src/at86rf215/CMakeFiles/test_at86rf215.dir/build.make src/at86rf215/CMakeFiles/test_at86rf215.dir/depend
|
||||
$(MAKE) $(MAKESILENT) -f src/at86rf215/CMakeFiles/test_at86rf215.dir/build.make src/at86rf215/CMakeFiles/test_at86rf215.dir/build
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles --progress-num=40,41,42,43,44,45 "Built target test_at86rf215"
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles --progress-num=41,42,43,44,45,46 "Built target test_at86rf215"
|
||||
.PHONY : src/at86rf215/CMakeFiles/test_at86rf215.dir/all
|
||||
|
||||
# Build rule for subdir invocation for target.
|
||||
|
@ -762,7 +762,7 @@ src/at86rf215/CMakeFiles/at86rf215.dir/clean:
|
|||
src/caribou_smi/CMakeFiles/test_caribou_smi.dir/all:
|
||||
$(MAKE) $(MAKESILENT) -f src/caribou_smi/CMakeFiles/test_caribou_smi.dir/build.make src/caribou_smi/CMakeFiles/test_caribou_smi.dir/depend
|
||||
$(MAKE) $(MAKESILENT) -f src/caribou_smi/CMakeFiles/test_caribou_smi.dir/build.make src/caribou_smi/CMakeFiles/test_caribou_smi.dir/build
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles --progress-num=49,50,51 "Built target test_caribou_smi"
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles --progress-num=50,51,52 "Built target test_caribou_smi"
|
||||
.PHONY : src/caribou_smi/CMakeFiles/test_caribou_smi.dir/all
|
||||
|
||||
# Build rule for subdir invocation for target.
|
||||
|
@ -816,7 +816,7 @@ src/caribou_smi/CMakeFiles/caribou_smi.dir/clean:
|
|||
src/latticeice40/CMakeFiles/latticeice40.dir/all:
|
||||
$(MAKE) $(MAKESILENT) -f src/latticeice40/CMakeFiles/latticeice40.dir/build.make src/latticeice40/CMakeFiles/latticeice40.dir/depend
|
||||
$(MAKE) $(MAKESILENT) -f src/latticeice40/CMakeFiles/latticeice40.dir/build.make src/latticeice40/CMakeFiles/latticeice40.dir/build
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles --progress-num=36,37 "Built target latticeice40"
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles --progress-num=37,38 "Built target latticeice40"
|
||||
.PHONY : src/latticeice40/CMakeFiles/latticeice40.dir/all
|
||||
|
||||
# Build rule for subdir invocation for target.
|
||||
|
@ -843,7 +843,7 @@ src/latticeice40/CMakeFiles/latticeice40.dir/clean:
|
|||
src/io_utils/CMakeFiles/test_io_utils.dir/all: src/io_utils/CMakeFiles/io_utils.dir/all
|
||||
$(MAKE) $(MAKESILENT) -f src/io_utils/CMakeFiles/test_io_utils.dir/build.make src/io_utils/CMakeFiles/test_io_utils.dir/depend
|
||||
$(MAKE) $(MAKESILENT) -f src/io_utils/CMakeFiles/test_io_utils.dir/build.make src/io_utils/CMakeFiles/test_io_utils.dir/build
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles --progress-num=58,59 "Built target test_io_utils"
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles --progress-num=59,60 "Built target test_io_utils"
|
||||
.PHONY : src/io_utils/CMakeFiles/test_io_utils.dir/all
|
||||
|
||||
# Build rule for subdir invocation for target.
|
||||
|
@ -870,7 +870,7 @@ src/io_utils/CMakeFiles/test_io_utils.dir/clean:
|
|||
src/io_utils/CMakeFiles/io_utils.dir/all:
|
||||
$(MAKE) $(MAKESILENT) -f src/io_utils/CMakeFiles/io_utils.dir/build.make src/io_utils/CMakeFiles/io_utils.dir/depend
|
||||
$(MAKE) $(MAKESILENT) -f src/io_utils/CMakeFiles/io_utils.dir/build.make src/io_utils/CMakeFiles/io_utils.dir/build
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles --progress-num=30,31,32,33,34,35 "Built target io_utils"
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles --progress-num=31,32,33,34,35,36 "Built target io_utils"
|
||||
.PHONY : src/io_utils/CMakeFiles/io_utils.dir/all
|
||||
|
||||
# Build rule for subdir invocation for target.
|
||||
|
@ -897,7 +897,7 @@ src/io_utils/CMakeFiles/io_utils.dir/clean:
|
|||
src/rffc507x/CMakeFiles/test_rffc507x.dir/all:
|
||||
$(MAKE) $(MAKESILENT) -f src/rffc507x/CMakeFiles/test_rffc507x.dir/build.make src/rffc507x/CMakeFiles/test_rffc507x.dir/depend
|
||||
$(MAKE) $(MAKESILENT) -f src/rffc507x/CMakeFiles/test_rffc507x.dir/build.make src/rffc507x/CMakeFiles/test_rffc507x.dir/build
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles --progress-num=60,61,62 "Built target test_rffc507x"
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles --progress-num=61,62,63 "Built target test_rffc507x"
|
||||
.PHONY : src/rffc507x/CMakeFiles/test_rffc507x.dir/all
|
||||
|
||||
# Build rule for subdir invocation for target.
|
||||
|
@ -924,7 +924,7 @@ src/rffc507x/CMakeFiles/test_rffc507x.dir/clean:
|
|||
src/rffc507x/CMakeFiles/rffc507x.dir/all:
|
||||
$(MAKE) $(MAKESILENT) -f src/rffc507x/CMakeFiles/rffc507x.dir/build.make src/rffc507x/CMakeFiles/rffc507x.dir/depend
|
||||
$(MAKE) $(MAKESILENT) -f src/rffc507x/CMakeFiles/rffc507x.dir/build.make src/rffc507x/CMakeFiles/rffc507x.dir/build
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles --progress-num=38,39 "Built target rffc507x"
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles --progress-num=39,40 "Built target rffc507x"
|
||||
.PHONY : src/rffc507x/CMakeFiles/rffc507x.dir/all
|
||||
|
||||
# Build rule for subdir invocation for target.
|
||||
|
@ -951,7 +951,7 @@ src/rffc507x/CMakeFiles/rffc507x.dir/clean:
|
|||
src/cariboulite_config/CMakeFiles/cariboulite_config.dir/all:
|
||||
$(MAKE) $(MAKESILENT) -f src/cariboulite_config/CMakeFiles/cariboulite_config.dir/build.make src/cariboulite_config/CMakeFiles/cariboulite_config.dir/depend
|
||||
$(MAKE) $(MAKESILENT) -f src/cariboulite_config/CMakeFiles/cariboulite_config.dir/build.make src/cariboulite_config/CMakeFiles/cariboulite_config.dir/build
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles --progress-num=19,20 "Built target cariboulite_config"
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles --progress-num=20,21 "Built target cariboulite_config"
|
||||
.PHONY : src/cariboulite_config/CMakeFiles/cariboulite_config.dir/all
|
||||
|
||||
# Build rule for subdir invocation for target.
|
||||
|
@ -978,7 +978,7 @@ src/cariboulite_config/CMakeFiles/cariboulite_config.dir/clean:
|
|||
src/cariboulite_config/CMakeFiles/test_cariboulite_config.dir/all:
|
||||
$(MAKE) $(MAKESILENT) -f src/cariboulite_config/CMakeFiles/test_cariboulite_config.dir/build.make src/cariboulite_config/CMakeFiles/test_cariboulite_config.dir/depend
|
||||
$(MAKE) $(MAKESILENT) -f src/cariboulite_config/CMakeFiles/test_cariboulite_config.dir/build.make src/cariboulite_config/CMakeFiles/test_cariboulite_config.dir/build
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles --progress-num=52,53,54 "Built target test_cariboulite_config"
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles --progress-num=53,54,55 "Built target test_cariboulite_config"
|
||||
.PHONY : src/cariboulite_config/CMakeFiles/test_cariboulite_config.dir/all
|
||||
|
||||
# Build rule for subdir invocation for target.
|
||||
|
@ -1005,7 +1005,7 @@ src/cariboulite_config/CMakeFiles/test_cariboulite_config.dir/clean:
|
|||
src/cariboulite_eeprom/CMakeFiles/cariboulite_eeprom.dir/all:
|
||||
$(MAKE) $(MAKESILENT) -f src/cariboulite_eeprom/CMakeFiles/cariboulite_eeprom.dir/build.make src/cariboulite_eeprom/CMakeFiles/cariboulite_eeprom.dir/depend
|
||||
$(MAKE) $(MAKESILENT) -f src/cariboulite_eeprom/CMakeFiles/cariboulite_eeprom.dir/build.make src/cariboulite_eeprom/CMakeFiles/cariboulite_eeprom.dir/build
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles --progress-num=21,22 "Built target cariboulite_eeprom"
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles --progress-num=22,23 "Built target cariboulite_eeprom"
|
||||
.PHONY : src/cariboulite_eeprom/CMakeFiles/cariboulite_eeprom.dir/all
|
||||
|
||||
# Build rule for subdir invocation for target.
|
||||
|
@ -1032,7 +1032,7 @@ src/cariboulite_eeprom/CMakeFiles/cariboulite_eeprom.dir/clean:
|
|||
src/cariboulite_eeprom/CMakeFiles/test_cariboulite_eeprom.dir/all:
|
||||
$(MAKE) $(MAKESILENT) -f src/cariboulite_eeprom/CMakeFiles/test_cariboulite_eeprom.dir/build.make src/cariboulite_eeprom/CMakeFiles/test_cariboulite_eeprom.dir/depend
|
||||
$(MAKE) $(MAKESILENT) -f src/cariboulite_eeprom/CMakeFiles/test_cariboulite_eeprom.dir/build.make src/cariboulite_eeprom/CMakeFiles/test_cariboulite_eeprom.dir/build
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles --progress-num=55,56,57 "Built target test_cariboulite_eeprom"
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles --progress-num=56,57,58 "Built target test_cariboulite_eeprom"
|
||||
.PHONY : src/cariboulite_eeprom/CMakeFiles/test_cariboulite_eeprom.dir/all
|
||||
|
||||
# Build rule for subdir invocation for target.
|
||||
|
@ -1059,7 +1059,7 @@ src/cariboulite_eeprom/CMakeFiles/test_cariboulite_eeprom.dir/clean:
|
|||
src/zf_log/CMakeFiles/zf_log.dir/all:
|
||||
$(MAKE) $(MAKESILENT) -f src/zf_log/CMakeFiles/zf_log.dir/build.make src/zf_log/CMakeFiles/zf_log.dir/depend
|
||||
$(MAKE) $(MAKESILENT) -f src/zf_log/CMakeFiles/zf_log.dir/build.make src/zf_log/CMakeFiles/zf_log.dir/build
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles --progress-num=71,72 "Built target zf_log"
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles --progress-num=72,73 "Built target zf_log"
|
||||
.PHONY : src/zf_log/CMakeFiles/zf_log.dir/all
|
||||
|
||||
# Build rule for subdir invocation for target.
|
||||
|
|
|
@ -82,7 +82,15 @@ ustimer/ustimer.h
|
|||
cariboulite_config.h
|
||||
../src/cariboulite_config/cariboulite_config.h
|
||||
|
||||
../src/cariboulite_radios.h
|
||||
cariboulite_config/cariboulite_config.h
|
||||
../src/cariboulite_config/cariboulite_config.h
|
||||
at86rf215/at86rf215.h
|
||||
../src/at86rf215/at86rf215.h
|
||||
|
||||
../src/cariboulite_setup.h
|
||||
cariboulite_radios.h
|
||||
../src/cariboulite_radios.h
|
||||
latticeice40/latticeice40.h
|
||||
../src/latticeice40/latticeice40.h
|
||||
caribou_fpga/caribou_fpga.h
|
||||
|
@ -209,6 +217,8 @@ time.h
|
|||
-
|
||||
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/soapy_api/Cariboulite.cpp
|
||||
math.h
|
||||
-
|
||||
Cariboulite.hpp
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/soapy_api/Cariboulite.hpp
|
||||
cariboulite_config/cariboulite_config_default.h
|
||||
|
@ -241,18 +251,6 @@ atomic
|
|||
-
|
||||
cariboulite_setup.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/soapy_api/cariboulite_setup.h
|
||||
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/soapy_api/CaribouliteStream.cpp
|
||||
Cariboulite.hpp
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/soapy_api/Cariboulite.hpp
|
||||
cariboulite_config/cariboulite_config_default.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/soapy_api/cariboulite_config/cariboulite_config_default.h
|
||||
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/soapy_api/SoapyCariboulite.cpp
|
||||
SoapySDR/Device.hpp
|
||||
-
|
||||
SoapySDR/Registry.hpp
|
||||
-
|
||||
Cariboulite.hpp
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/soapy_api/Cariboulite.hpp
|
||||
cariboulite_radios.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/soapy_api/cariboulite_radios.h
|
||||
|
||||
|
|
|
@ -10,6 +10,7 @@ CMakeFiles/SoapyCariboulite.dir/src/soapy_api/Cariboulite.cpp.o
|
|||
../src/caribou_smi/caribou_smi.h
|
||||
../src/cariboulite_config/cariboulite_config.h
|
||||
../src/cariboulite_config/cariboulite_config_default.h
|
||||
../src/cariboulite_radios.h
|
||||
../src/cariboulite_setup.h
|
||||
../src/io_utils/io_utils.h
|
||||
../src/io_utils/io_utils_spi.h
|
||||
|
@ -29,6 +30,7 @@ CMakeFiles/SoapyCariboulite.dir/src/soapy_api/CaribouliteStream.cpp.o
|
|||
../src/caribou_smi/caribou_smi.h
|
||||
../src/cariboulite_config/cariboulite_config.h
|
||||
../src/cariboulite_config/cariboulite_config_default.h
|
||||
../src/cariboulite_radios.h
|
||||
../src/cariboulite_setup.h
|
||||
../src/io_utils/io_utils.h
|
||||
../src/io_utils/io_utils_spi.h
|
||||
|
@ -47,6 +49,7 @@ CMakeFiles/SoapyCariboulite.dir/src/soapy_api/SoapyCariboulite.cpp.o
|
|||
../src/caribou_fpga/caribou_fpga.h
|
||||
../src/caribou_smi/caribou_smi.h
|
||||
../src/cariboulite_config/cariboulite_config.h
|
||||
../src/cariboulite_radios.h
|
||||
../src/cariboulite_setup.h
|
||||
../src/io_utils/io_utils.h
|
||||
../src/io_utils/io_utils_spi.h
|
||||
|
|
|
@ -9,6 +9,7 @@ CMakeFiles/SoapyCariboulite.dir/src/soapy_api/Cariboulite.cpp.o: ../src/caribou_
|
|||
CMakeFiles/SoapyCariboulite.dir/src/soapy_api/Cariboulite.cpp.o: ../src/caribou_smi/caribou_smi.h
|
||||
CMakeFiles/SoapyCariboulite.dir/src/soapy_api/Cariboulite.cpp.o: ../src/cariboulite_config/cariboulite_config.h
|
||||
CMakeFiles/SoapyCariboulite.dir/src/soapy_api/Cariboulite.cpp.o: ../src/cariboulite_config/cariboulite_config_default.h
|
||||
CMakeFiles/SoapyCariboulite.dir/src/soapy_api/Cariboulite.cpp.o: ../src/cariboulite_radios.h
|
||||
CMakeFiles/SoapyCariboulite.dir/src/soapy_api/Cariboulite.cpp.o: ../src/cariboulite_setup.h
|
||||
CMakeFiles/SoapyCariboulite.dir/src/soapy_api/Cariboulite.cpp.o: ../src/io_utils/io_utils.h
|
||||
CMakeFiles/SoapyCariboulite.dir/src/soapy_api/Cariboulite.cpp.o: ../src/io_utils/io_utils_spi.h
|
||||
|
@ -28,6 +29,7 @@ CMakeFiles/SoapyCariboulite.dir/src/soapy_api/CaribouliteStream.cpp.o: ../src/ca
|
|||
CMakeFiles/SoapyCariboulite.dir/src/soapy_api/CaribouliteStream.cpp.o: ../src/caribou_smi/caribou_smi.h
|
||||
CMakeFiles/SoapyCariboulite.dir/src/soapy_api/CaribouliteStream.cpp.o: ../src/cariboulite_config/cariboulite_config.h
|
||||
CMakeFiles/SoapyCariboulite.dir/src/soapy_api/CaribouliteStream.cpp.o: ../src/cariboulite_config/cariboulite_config_default.h
|
||||
CMakeFiles/SoapyCariboulite.dir/src/soapy_api/CaribouliteStream.cpp.o: ../src/cariboulite_radios.h
|
||||
CMakeFiles/SoapyCariboulite.dir/src/soapy_api/CaribouliteStream.cpp.o: ../src/cariboulite_setup.h
|
||||
CMakeFiles/SoapyCariboulite.dir/src/soapy_api/CaribouliteStream.cpp.o: ../src/io_utils/io_utils.h
|
||||
CMakeFiles/SoapyCariboulite.dir/src/soapy_api/CaribouliteStream.cpp.o: ../src/io_utils/io_utils_spi.h
|
||||
|
@ -46,6 +48,7 @@ CMakeFiles/SoapyCariboulite.dir/src/soapy_api/SoapyCariboulite.cpp.o: ../src/at8
|
|||
CMakeFiles/SoapyCariboulite.dir/src/soapy_api/SoapyCariboulite.cpp.o: ../src/caribou_fpga/caribou_fpga.h
|
||||
CMakeFiles/SoapyCariboulite.dir/src/soapy_api/SoapyCariboulite.cpp.o: ../src/caribou_smi/caribou_smi.h
|
||||
CMakeFiles/SoapyCariboulite.dir/src/soapy_api/SoapyCariboulite.cpp.o: ../src/cariboulite_config/cariboulite_config.h
|
||||
CMakeFiles/SoapyCariboulite.dir/src/soapy_api/SoapyCariboulite.cpp.o: ../src/cariboulite_radios.h
|
||||
CMakeFiles/SoapyCariboulite.dir/src/soapy_api/SoapyCariboulite.cpp.o: ../src/cariboulite_setup.h
|
||||
CMakeFiles/SoapyCariboulite.dir/src/soapy_api/SoapyCariboulite.cpp.o: ../src/io_utils/io_utils.h
|
||||
CMakeFiles/SoapyCariboulite.dir/src/soapy_api/SoapyCariboulite.cpp.o: ../src/io_utils/io_utils_spi.h
|
||||
|
|
|
@ -6,6 +6,162 @@
|
|||
|
||||
#IncludeRegexTransform:
|
||||
|
||||
../src/at86rf215/at86rf215.h
|
||||
at86rf215_common.h
|
||||
../src/at86rf215/at86rf215_common.h
|
||||
at86rf215_radio.h
|
||||
../src/at86rf215/at86rf215_radio.h
|
||||
|
||||
../src/at86rf215/at86rf215_common.h
|
||||
stdio.h
|
||||
-
|
||||
stdint.h
|
||||
-
|
||||
math.h
|
||||
-
|
||||
string.h
|
||||
-
|
||||
stdbool.h
|
||||
-
|
||||
stdio.h
|
||||
-
|
||||
io_utils/io_utils.h
|
||||
../src/at86rf215/io_utils/io_utils.h
|
||||
io_utils/io_utils_spi.h
|
||||
../src/at86rf215/io_utils/io_utils_spi.h
|
||||
at86rf215_regs.h
|
||||
../src/at86rf215/at86rf215_regs.h
|
||||
|
||||
../src/at86rf215/at86rf215_radio.h
|
||||
stdio.h
|
||||
-
|
||||
stdint.h
|
||||
-
|
||||
at86rf215_common.h
|
||||
../src/at86rf215/at86rf215_common.h
|
||||
|
||||
../src/at86rf215/at86rf215_regs.h
|
||||
|
||||
../src/caribou_fpga/caribou_fpga.h
|
||||
stdio.h
|
||||
-
|
||||
stdint.h
|
||||
-
|
||||
io_utils/io_utils.h
|
||||
../src/caribou_fpga/io_utils/io_utils.h
|
||||
io_utils/io_utils_spi.h
|
||||
../src/caribou_fpga/io_utils/io_utils_spi.h
|
||||
|
||||
../src/caribou_smi/caribou_smi.h
|
||||
pthread.h
|
||||
-
|
||||
stdint.h
|
||||
-
|
||||
|
||||
../src/io_utils/io_utils.h
|
||||
stdio.h
|
||||
-
|
||||
string.h
|
||||
-
|
||||
stdint.h
|
||||
-
|
||||
stdlib.h
|
||||
-
|
||||
pigpio/pigpio.h
|
||||
../src/io_utils/pigpio/pigpio.h
|
||||
|
||||
../src/io_utils/io_utils_spi.h
|
||||
stdio.h
|
||||
-
|
||||
stdint.h
|
||||
-
|
||||
pthread.h
|
||||
-
|
||||
io_utils.h
|
||||
../src/io_utils/io_utils.h
|
||||
|
||||
../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
|
||||
-
|
||||
|
||||
../src/io_utils/pigpio/pigpio.h
|
||||
stddef.h
|
||||
-
|
||||
stdint.h
|
||||
-
|
||||
pthread.h
|
||||
-
|
||||
stdio.h
|
||||
-
|
||||
pigpio.h
|
||||
-
|
||||
stdio.h
|
||||
-
|
||||
pigpio.h
|
||||
../src/io_utils/pigpio/pigpio.h
|
||||
stdio.h
|
||||
-
|
||||
pigpio.h
|
||||
-
|
||||
stdio.h
|
||||
-
|
||||
pigpio.h
|
||||
-
|
||||
stdio.h
|
||||
-
|
||||
pigpio.h
|
||||
-
|
||||
|
||||
../src/latticeice40/latticeice40.h
|
||||
stdint.h
|
||||
-
|
||||
linux/types.h
|
||||
-
|
||||
io_utils/io_utils.h
|
||||
../src/latticeice40/io_utils/io_utils.h
|
||||
io_utils/io_utils_spi.h
|
||||
../src/latticeice40/io_utils/io_utils_spi.h
|
||||
|
||||
../src/rffc507x/rffc507x.h
|
||||
stdio.h
|
||||
-
|
||||
stdint.h
|
||||
-
|
||||
io_utils/io_utils.h
|
||||
../src/rffc507x/io_utils/io_utils.h
|
||||
io_utils/io_utils_spi.h
|
||||
../src/rffc507x/io_utils/io_utils_spi.h
|
||||
|
||||
../src/ustimer/ustimer.h
|
||||
stdlib.h
|
||||
-
|
||||
unistd.h
|
||||
-
|
||||
stdio.h
|
||||
-
|
||||
signal.h
|
||||
-
|
||||
time.h
|
||||
-
|
||||
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/at86rf215/at86rf215.h
|
||||
at86rf215_common.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/at86rf215/at86rf215_common.h
|
||||
|
@ -78,6 +234,18 @@ io_utils/io_utils_sys_info.h
|
|||
ustimer/ustimer.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_config/ustimer/ustimer.h
|
||||
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_config/cariboulite_config_default.h
|
||||
cariboulite_config.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_config/cariboulite_config.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_config/cariboulite_config_default.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_config/cariboulite_config_default.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
|
||||
|
@ -90,6 +258,32 @@ stdint.h
|
|||
time.h
|
||||
-
|
||||
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_radios.c
|
||||
zf_log/zf_log.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/zf_log/zf_log.h
|
||||
stdio.h
|
||||
-
|
||||
stdlib.h
|
||||
-
|
||||
unistd.h
|
||||
-
|
||||
fcntl.h
|
||||
-
|
||||
string.h
|
||||
-
|
||||
linux/random.h
|
||||
-
|
||||
sys/ioctl.h
|
||||
-
|
||||
cariboulite_radios.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_radios.h
|
||||
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_radios.h
|
||||
cariboulite_config/cariboulite_config.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_config/cariboulite_config.h
|
||||
at86rf215/at86rf215.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/at86rf215/at86rf215.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
|
||||
|
@ -103,6 +297,8 @@ cariboulite_fpga_firmware.h
|
|||
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_fpga_firmware.h
|
||||
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_setup.h
|
||||
cariboulite_radios.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_radios.h
|
||||
latticeice40/latticeice40.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/latticeice40/latticeice40.h
|
||||
caribou_fpga/caribou_fpga.h
|
||||
|
|
|
@ -5,6 +5,7 @@ set(CMAKE_DEPENDS_LANGUAGES
|
|||
# The set of files for implicit dependencies of each language:
|
||||
set(CMAKE_DEPENDS_CHECK_C
|
||||
"/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_events.c" "/home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles/cariboulite.dir/src/cariboulite_events.c.o"
|
||||
"/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_radios.c" "/home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles/cariboulite.dir/src/cariboulite_radios.c.o"
|
||||
"/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_setup.c" "/home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles/cariboulite.dir/src/cariboulite_setup.c.o"
|
||||
)
|
||||
set(CMAKE_C_COMPILER_ID "GNU")
|
||||
|
|
|
@ -102,19 +102,34 @@ CMakeFiles/cariboulite.dir/src/cariboulite_events.c.s: cmake_force
|
|||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/cariboulite.dir/src/cariboulite_events.c.s"
|
||||
/usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_events.c -o CMakeFiles/cariboulite.dir/src/cariboulite_events.c.s
|
||||
|
||||
CMakeFiles/cariboulite.dir/src/cariboulite_radios.c.o: CMakeFiles/cariboulite.dir/flags.make
|
||||
CMakeFiles/cariboulite.dir/src/cariboulite_radios.c.o: ../src/cariboulite_radios.c
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building C object CMakeFiles/cariboulite.dir/src/cariboulite_radios.c.o"
|
||||
/usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/cariboulite.dir/src/cariboulite_radios.c.o -c /home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_radios.c
|
||||
|
||||
CMakeFiles/cariboulite.dir/src/cariboulite_radios.c.i: cmake_force
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/cariboulite.dir/src/cariboulite_radios.c.i"
|
||||
/usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_radios.c > CMakeFiles/cariboulite.dir/src/cariboulite_radios.c.i
|
||||
|
||||
CMakeFiles/cariboulite.dir/src/cariboulite_radios.c.s: cmake_force
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/cariboulite.dir/src/cariboulite_radios.c.s"
|
||||
/usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_radios.c -o CMakeFiles/cariboulite.dir/src/cariboulite_radios.c.s
|
||||
|
||||
# Object files for target cariboulite
|
||||
cariboulite_OBJECTS = \
|
||||
"CMakeFiles/cariboulite.dir/src/cariboulite_setup.c.o" \
|
||||
"CMakeFiles/cariboulite.dir/src/cariboulite_events.c.o"
|
||||
"CMakeFiles/cariboulite.dir/src/cariboulite_events.c.o" \
|
||||
"CMakeFiles/cariboulite.dir/src/cariboulite_radios.c.o"
|
||||
|
||||
# External object files for target cariboulite
|
||||
cariboulite_EXTERNAL_OBJECTS =
|
||||
|
||||
libcariboulite.a: CMakeFiles/cariboulite.dir/src/cariboulite_setup.c.o
|
||||
libcariboulite.a: CMakeFiles/cariboulite.dir/src/cariboulite_events.c.o
|
||||
libcariboulite.a: CMakeFiles/cariboulite.dir/src/cariboulite_radios.c.o
|
||||
libcariboulite.a: CMakeFiles/cariboulite.dir/build.make
|
||||
libcariboulite.a: CMakeFiles/cariboulite.dir/link.txt
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Linking C static library libcariboulite.a"
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/pi/projects/cariboulite/software/libcariboulite/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Linking C static library libcariboulite.a"
|
||||
$(CMAKE_COMMAND) -P CMakeFiles/cariboulite.dir/cmake_clean_target.cmake
|
||||
$(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/cariboulite.dir/link.txt --verbose=$(VERBOSE)
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
file(REMOVE_RECURSE
|
||||
"CMakeFiles/cariboulite.dir/src/cariboulite_events.c.o"
|
||||
"CMakeFiles/cariboulite.dir/src/cariboulite_radios.c.o"
|
||||
"CMakeFiles/cariboulite.dir/src/cariboulite_setup.c.o"
|
||||
"libcariboulite.a"
|
||||
"libcariboulite.pdb"
|
||||
|
|
|
@ -20,6 +20,24 @@ CMakeFiles/cariboulite.dir/src/cariboulite_events.c.o
|
|||
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_events.c
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_events.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/zf_log/zf_log.h
|
||||
CMakeFiles/cariboulite.dir/src/cariboulite_radios.c.o
|
||||
../src/caribou_fpga/caribou_fpga.h
|
||||
../src/caribou_smi/caribou_smi.h
|
||||
../src/io_utils/io_utils.h
|
||||
../src/io_utils/io_utils_spi.h
|
||||
../src/io_utils/io_utils_sys_info.h
|
||||
../src/io_utils/pigpio/pigpio.h
|
||||
../src/latticeice40/latticeice40.h
|
||||
../src/rffc507x/rffc507x.h
|
||||
../src/ustimer/ustimer.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/at86rf215/at86rf215.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/at86rf215/at86rf215_common.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/at86rf215/at86rf215_radio.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/at86rf215/at86rf215_regs.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_config/cariboulite_config.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_radios.c
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_radios.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/zf_log/zf_log.h
|
||||
CMakeFiles/cariboulite.dir/src/cariboulite_setup.c.o
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/at86rf215/at86rf215.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/at86rf215/at86rf215_common.h
|
||||
|
@ -30,6 +48,7 @@ CMakeFiles/cariboulite.dir/src/cariboulite_setup.c.o
|
|||
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_config/cariboulite_config.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_events.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_fpga_firmware.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_radios.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_setup.c
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_setup.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/io_utils/io_utils.h
|
||||
|
|
|
@ -20,6 +20,24 @@ CMakeFiles/cariboulite.dir/src/cariboulite_events.c.o: ../src/cariboulite_events
|
|||
CMakeFiles/cariboulite.dir/src/cariboulite_events.c.o: ../src/cariboulite_events.h
|
||||
CMakeFiles/cariboulite.dir/src/cariboulite_events.c.o: ../src/zf_log/zf_log.h
|
||||
|
||||
CMakeFiles/cariboulite.dir/src/cariboulite_radios.c.o: ../src/caribou_fpga/caribou_fpga.h
|
||||
CMakeFiles/cariboulite.dir/src/cariboulite_radios.c.o: ../src/caribou_smi/caribou_smi.h
|
||||
CMakeFiles/cariboulite.dir/src/cariboulite_radios.c.o: ../src/io_utils/io_utils.h
|
||||
CMakeFiles/cariboulite.dir/src/cariboulite_radios.c.o: ../src/io_utils/io_utils_spi.h
|
||||
CMakeFiles/cariboulite.dir/src/cariboulite_radios.c.o: ../src/io_utils/io_utils_sys_info.h
|
||||
CMakeFiles/cariboulite.dir/src/cariboulite_radios.c.o: ../src/io_utils/pigpio/pigpio.h
|
||||
CMakeFiles/cariboulite.dir/src/cariboulite_radios.c.o: ../src/latticeice40/latticeice40.h
|
||||
CMakeFiles/cariboulite.dir/src/cariboulite_radios.c.o: ../src/rffc507x/rffc507x.h
|
||||
CMakeFiles/cariboulite.dir/src/cariboulite_radios.c.o: ../src/ustimer/ustimer.h
|
||||
CMakeFiles/cariboulite.dir/src/cariboulite_radios.c.o: ../src/at86rf215/at86rf215.h
|
||||
CMakeFiles/cariboulite.dir/src/cariboulite_radios.c.o: ../src/at86rf215/at86rf215_common.h
|
||||
CMakeFiles/cariboulite.dir/src/cariboulite_radios.c.o: ../src/at86rf215/at86rf215_radio.h
|
||||
CMakeFiles/cariboulite.dir/src/cariboulite_radios.c.o: ../src/at86rf215/at86rf215_regs.h
|
||||
CMakeFiles/cariboulite.dir/src/cariboulite_radios.c.o: ../src/cariboulite_config/cariboulite_config.h
|
||||
CMakeFiles/cariboulite.dir/src/cariboulite_radios.c.o: ../src/cariboulite_radios.c
|
||||
CMakeFiles/cariboulite.dir/src/cariboulite_radios.c.o: ../src/cariboulite_radios.h
|
||||
CMakeFiles/cariboulite.dir/src/cariboulite_radios.c.o: ../src/zf_log/zf_log.h
|
||||
|
||||
CMakeFiles/cariboulite.dir/src/cariboulite_setup.c.o: ../src/at86rf215/at86rf215.h
|
||||
CMakeFiles/cariboulite.dir/src/cariboulite_setup.c.o: ../src/at86rf215/at86rf215_common.h
|
||||
CMakeFiles/cariboulite.dir/src/cariboulite_setup.c.o: ../src/at86rf215/at86rf215_radio.h
|
||||
|
@ -29,6 +47,7 @@ CMakeFiles/cariboulite.dir/src/cariboulite_setup.c.o: ../src/caribou_smi/caribou
|
|||
CMakeFiles/cariboulite.dir/src/cariboulite_setup.c.o: ../src/cariboulite_config/cariboulite_config.h
|
||||
CMakeFiles/cariboulite.dir/src/cariboulite_setup.c.o: ../src/cariboulite_events.h
|
||||
CMakeFiles/cariboulite.dir/src/cariboulite_setup.c.o: ../src/cariboulite_fpga_firmware.h
|
||||
CMakeFiles/cariboulite.dir/src/cariboulite_setup.c.o: ../src/cariboulite_radios.h
|
||||
CMakeFiles/cariboulite.dir/src/cariboulite_setup.c.o: ../src/cariboulite_setup.c
|
||||
CMakeFiles/cariboulite.dir/src/cariboulite_setup.c.o: ../src/cariboulite_setup.h
|
||||
CMakeFiles/cariboulite.dir/src/cariboulite_setup.c.o: ../src/io_utils/io_utils.h
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
/usr/bin/ar qc libcariboulite.a CMakeFiles/cariboulite.dir/src/cariboulite_setup.c.o CMakeFiles/cariboulite.dir/src/cariboulite_events.c.o
|
||||
/usr/bin/ar qc libcariboulite.a CMakeFiles/cariboulite.dir/src/cariboulite_setup.c.o CMakeFiles/cariboulite.dir/src/cariboulite_events.c.o CMakeFiles/cariboulite.dir/src/cariboulite_radios.c.o
|
||||
/usr/bin/ranlib libcariboulite.a
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
CMAKE_PROGRESS_1 = 14
|
||||
CMAKE_PROGRESS_2 = 15
|
||||
CMAKE_PROGRESS_3 = 16
|
||||
CMAKE_PROGRESS_4 = 17
|
||||
|
||||
|
|
|
@ -67,6 +67,8 @@ cariboulite_events.h
|
|||
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_events.h
|
||||
cariboulite.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite.h
|
||||
cariboulite_eeprom/cariboulite_eeprom.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_eeprom/cariboulite_eeprom.h
|
||||
stdio.h
|
||||
-
|
||||
signal.h
|
||||
|
@ -104,11 +106,23 @@ ustimer/ustimer.h
|
|||
cariboulite_config.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_config/cariboulite_config.h
|
||||
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_eeprom/cariboulite_eeprom.h
|
||||
stdint.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_radios.h
|
||||
cariboulite_config/cariboulite_config.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_config/cariboulite_config.h
|
||||
at86rf215/at86rf215.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/at86rf215/at86rf215.h
|
||||
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_setup.h
|
||||
cariboulite_radios.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_radios.h
|
||||
latticeice40/latticeice40.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/latticeice40/latticeice40.h
|
||||
caribou_fpga/caribou_fpga.h
|
||||
|
|
|
@ -12,7 +12,9 @@ CMakeFiles/cariboulite_app.dir/src/cariboulite.c.o
|
|||
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_config/cariboulite_config.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_config/cariboulite_config_default.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_eeprom/cariboulite_eeprom.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_events.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_radios.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/cariboulite_setup.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/io_utils/io_utils.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/io_utils/io_utils_spi.h
|
||||
|
|
|
@ -11,7 +11,9 @@ CMakeFiles/cariboulite_app.dir/src/cariboulite.c.o: ../src/cariboulite.c
|
|||
CMakeFiles/cariboulite_app.dir/src/cariboulite.c.o: ../src/cariboulite.h
|
||||
CMakeFiles/cariboulite_app.dir/src/cariboulite.c.o: ../src/cariboulite_config/cariboulite_config.h
|
||||
CMakeFiles/cariboulite_app.dir/src/cariboulite.c.o: ../src/cariboulite_config/cariboulite_config_default.h
|
||||
CMakeFiles/cariboulite_app.dir/src/cariboulite.c.o: ../src/cariboulite_eeprom/cariboulite_eeprom.h
|
||||
CMakeFiles/cariboulite_app.dir/src/cariboulite.c.o: ../src/cariboulite_events.h
|
||||
CMakeFiles/cariboulite_app.dir/src/cariboulite.c.o: ../src/cariboulite_radios.h
|
||||
CMakeFiles/cariboulite_app.dir/src/cariboulite.c.o: ../src/cariboulite_setup.h
|
||||
CMakeFiles/cariboulite_app.dir/src/cariboulite.c.o: ../src/io_utils/io_utils.h
|
||||
CMakeFiles/cariboulite_app.dir/src/cariboulite.c.o: ../src/io_utils/io_utils_spi.h
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
CMAKE_PROGRESS_1 = 17
|
||||
CMAKE_PROGRESS_2 = 18
|
||||
CMAKE_PROGRESS_1 = 18
|
||||
CMAKE_PROGRESS_2 = 19
|
||||
|
||||
|
|
|
@ -84,7 +84,15 @@ ustimer/ustimer.h
|
|||
cariboulite_config.h
|
||||
../src/cariboulite_config/cariboulite_config.h
|
||||
|
||||
../src/cariboulite_radios.h
|
||||
cariboulite_config/cariboulite_config.h
|
||||
../src/cariboulite_config/cariboulite_config.h
|
||||
at86rf215/at86rf215.h
|
||||
../src/at86rf215/at86rf215.h
|
||||
|
||||
../src/cariboulite_setup.h
|
||||
cariboulite_radios.h
|
||||
../src/cariboulite_radios.h
|
||||
latticeice40/latticeice40.h
|
||||
../src/latticeice40/latticeice40.h
|
||||
caribou_fpga/caribou_fpga.h
|
||||
|
|
|
@ -11,6 +11,7 @@ CMakeFiles/fpgacomm.dir/test/fpga_comm_test.c.o
|
|||
../src/caribou_smi/caribou_smi.h
|
||||
../src/cariboulite_config/cariboulite_config.h
|
||||
../src/cariboulite_config/cariboulite_config_default.h
|
||||
../src/cariboulite_radios.h
|
||||
../src/cariboulite_setup.h
|
||||
../src/io_utils/io_utils.h
|
||||
../src/io_utils/io_utils_spi.h
|
||||
|
|
|
@ -10,6 +10,7 @@ CMakeFiles/fpgacomm.dir/test/fpga_comm_test.c.o: ../src/caribou_fpga/caribou_fpg
|
|||
CMakeFiles/fpgacomm.dir/test/fpga_comm_test.c.o: ../src/caribou_smi/caribou_smi.h
|
||||
CMakeFiles/fpgacomm.dir/test/fpga_comm_test.c.o: ../src/cariboulite_config/cariboulite_config.h
|
||||
CMakeFiles/fpgacomm.dir/test/fpga_comm_test.c.o: ../src/cariboulite_config/cariboulite_config_default.h
|
||||
CMakeFiles/fpgacomm.dir/test/fpga_comm_test.c.o: ../src/cariboulite_radios.h
|
||||
CMakeFiles/fpgacomm.dir/test/fpga_comm_test.c.o: ../src/cariboulite_setup.h
|
||||
CMakeFiles/fpgacomm.dir/test/fpga_comm_test.c.o: ../src/io_utils/io_utils.h
|
||||
CMakeFiles/fpgacomm.dir/test/fpga_comm_test.c.o: ../src/io_utils/io_utils_spi.h
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
CMAKE_PROGRESS_1 = 26
|
||||
CMAKE_PROGRESS_2 = 27
|
||||
CMAKE_PROGRESS_1 = 27
|
||||
CMAKE_PROGRESS_2 = 28
|
||||
|
||||
|
|
|
@ -84,7 +84,15 @@ ustimer/ustimer.h
|
|||
cariboulite_config.h
|
||||
../src/cariboulite_config/cariboulite_config.h
|
||||
|
||||
../src/cariboulite_radios.h
|
||||
cariboulite_config/cariboulite_config.h
|
||||
../src/cariboulite_config/cariboulite_config.h
|
||||
at86rf215/at86rf215.h
|
||||
../src/at86rf215/at86rf215.h
|
||||
|
||||
../src/cariboulite_setup.h
|
||||
cariboulite_radios.h
|
||||
../src/cariboulite_radios.h
|
||||
latticeice40/latticeice40.h
|
||||
../src/latticeice40/latticeice40.h
|
||||
caribou_fpga/caribou_fpga.h
|
||||
|
|
|
@ -11,6 +11,7 @@ CMakeFiles/ice40programmer.dir/test/ice40_programmer.c.o
|
|||
../src/caribou_smi/caribou_smi.h
|
||||
../src/cariboulite_config/cariboulite_config.h
|
||||
../src/cariboulite_config/cariboulite_config_default.h
|
||||
../src/cariboulite_radios.h
|
||||
../src/cariboulite_setup.h
|
||||
../src/io_utils/io_utils.h
|
||||
../src/io_utils/io_utils_spi.h
|
||||
|
|
|
@ -10,6 +10,7 @@ CMakeFiles/ice40programmer.dir/test/ice40_programmer.c.o: ../src/caribou_fpga/ca
|
|||
CMakeFiles/ice40programmer.dir/test/ice40_programmer.c.o: ../src/caribou_smi/caribou_smi.h
|
||||
CMakeFiles/ice40programmer.dir/test/ice40_programmer.c.o: ../src/cariboulite_config/cariboulite_config.h
|
||||
CMakeFiles/ice40programmer.dir/test/ice40_programmer.c.o: ../src/cariboulite_config/cariboulite_config_default.h
|
||||
CMakeFiles/ice40programmer.dir/test/ice40_programmer.c.o: ../src/cariboulite_radios.h
|
||||
CMakeFiles/ice40programmer.dir/test/ice40_programmer.c.o: ../src/cariboulite_setup.h
|
||||
CMakeFiles/ice40programmer.dir/test/ice40_programmer.c.o: ../src/io_utils/io_utils.h
|
||||
CMakeFiles/ice40programmer.dir/test/ice40_programmer.c.o: ../src/io_utils/io_utils_spi.h
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
CMAKE_PROGRESS_1 = 28
|
||||
CMAKE_PROGRESS_2 = 29
|
||||
CMAKE_PROGRESS_1 = 29
|
||||
CMAKE_PROGRESS_2 = 30
|
||||
|
||||
|
|
|
@ -1 +1 @@
|
|||
43
|
||||
44
|
||||
|
|
|
@ -567,6 +567,33 @@ src/cariboulite_events.c.s:
|
|||
$(MAKE) $(MAKESILENT) -f CMakeFiles/cariboulite.dir/build.make CMakeFiles/cariboulite.dir/src/cariboulite_events.c.s
|
||||
.PHONY : src/cariboulite_events.c.s
|
||||
|
||||
src/cariboulite_radios.o: src/cariboulite_radios.c.o
|
||||
|
||||
.PHONY : src/cariboulite_radios.o
|
||||
|
||||
# target to build an object file
|
||||
src/cariboulite_radios.c.o:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/cariboulite.dir/build.make CMakeFiles/cariboulite.dir/src/cariboulite_radios.c.o
|
||||
.PHONY : src/cariboulite_radios.c.o
|
||||
|
||||
src/cariboulite_radios.i: src/cariboulite_radios.c.i
|
||||
|
||||
.PHONY : src/cariboulite_radios.i
|
||||
|
||||
# target to preprocess a source file
|
||||
src/cariboulite_radios.c.i:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/cariboulite.dir/build.make CMakeFiles/cariboulite.dir/src/cariboulite_radios.c.i
|
||||
.PHONY : src/cariboulite_radios.c.i
|
||||
|
||||
src/cariboulite_radios.s: src/cariboulite_radios.c.s
|
||||
|
||||
.PHONY : src/cariboulite_radios.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
src/cariboulite_radios.c.s:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/cariboulite.dir/build.make CMakeFiles/cariboulite.dir/src/cariboulite_radios.c.s
|
||||
.PHONY : src/cariboulite_radios.c.s
|
||||
|
||||
src/cariboulite_setup.o: src/cariboulite_setup.c.o
|
||||
|
||||
.PHONY : src/cariboulite_setup.o
|
||||
|
@ -773,6 +800,9 @@ help:
|
|||
@echo "... src/cariboulite_events.o"
|
||||
@echo "... src/cariboulite_events.i"
|
||||
@echo "... src/cariboulite_events.s"
|
||||
@echo "... src/cariboulite_radios.o"
|
||||
@echo "... src/cariboulite_radios.i"
|
||||
@echo "... src/cariboulite_radios.s"
|
||||
@echo "... src/cariboulite_setup.o"
|
||||
@echo "... src/cariboulite_setup.i"
|
||||
@echo "... src/cariboulite_setup.s"
|
||||
|
|
Plik binarny nie jest wyświetlany.
|
@ -88,6 +88,32 @@ 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
|
||||
-
|
||||
|
@ -108,6 +134,36 @@ 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
|
||||
-
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
CMAKE_PROGRESS_1 = 40
|
||||
CMAKE_PROGRESS_2 = 41
|
||||
CMAKE_PROGRESS_3 = 42
|
||||
CMAKE_PROGRESS_4 = 43
|
||||
CMAKE_PROGRESS_5 = 44
|
||||
CMAKE_PROGRESS_6 = 45
|
||||
CMAKE_PROGRESS_1 = 41
|
||||
CMAKE_PROGRESS_2 = 42
|
||||
CMAKE_PROGRESS_3 = 43
|
||||
CMAKE_PROGRESS_4 = 44
|
||||
CMAKE_PROGRESS_5 = 45
|
||||
CMAKE_PROGRESS_6 = 46
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
CMAKE_PROGRESS_1 = 46
|
||||
CMAKE_PROGRESS_2 = 47
|
||||
CMAKE_PROGRESS_3 = 48
|
||||
CMAKE_PROGRESS_1 = 47
|
||||
CMAKE_PROGRESS_2 = 48
|
||||
CMAKE_PROGRESS_3 = 49
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
CMAKE_PROGRESS_1 = 49
|
||||
CMAKE_PROGRESS_2 = 50
|
||||
CMAKE_PROGRESS_3 = 51
|
||||
CMAKE_PROGRESS_1 = 50
|
||||
CMAKE_PROGRESS_2 = 51
|
||||
CMAKE_PROGRESS_3 = 52
|
||||
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
CMAKE_PROGRESS_1 = 19
|
||||
CMAKE_PROGRESS_2 = 20
|
||||
CMAKE_PROGRESS_1 = 20
|
||||
CMAKE_PROGRESS_2 = 21
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
CMAKE_PROGRESS_1 = 52
|
||||
CMAKE_PROGRESS_2 = 53
|
||||
CMAKE_PROGRESS_3 = 54
|
||||
CMAKE_PROGRESS_1 = 53
|
||||
CMAKE_PROGRESS_2 = 54
|
||||
CMAKE_PROGRESS_3 = 55
|
||||
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
CMAKE_PROGRESS_1 = 21
|
||||
CMAKE_PROGRESS_2 = 22
|
||||
CMAKE_PROGRESS_1 = 22
|
||||
CMAKE_PROGRESS_2 = 23
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
CMAKE_PROGRESS_1 = 55
|
||||
CMAKE_PROGRESS_2 = 56
|
||||
CMAKE_PROGRESS_3 = 57
|
||||
CMAKE_PROGRESS_1 = 56
|
||||
CMAKE_PROGRESS_2 = 57
|
||||
CMAKE_PROGRESS_3 = 58
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
CMAKE_PROGRESS_1 = 23
|
||||
CMAKE_PROGRESS_2 = 24
|
||||
CMAKE_PROGRESS_3 = 25
|
||||
CMAKE_PROGRESS_1 = 24
|
||||
CMAKE_PROGRESS_2 = 25
|
||||
CMAKE_PROGRESS_3 = 26
|
||||
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
CMAKE_PROGRESS_1 = 63
|
||||
CMAKE_PROGRESS_2 = 64
|
||||
CMAKE_PROGRESS_1 = 64
|
||||
CMAKE_PROGRESS_2 = 65
|
||||
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
CMAKE_PROGRESS_1 = 65
|
||||
CMAKE_PROGRESS_2 = 66
|
||||
CMAKE_PROGRESS_1 = 66
|
||||
CMAKE_PROGRESS_2 = 67
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
CMAKE_PROGRESS_1 = 30
|
||||
CMAKE_PROGRESS_2 = 31
|
||||
CMAKE_PROGRESS_3 = 32
|
||||
CMAKE_PROGRESS_4 = 33
|
||||
CMAKE_PROGRESS_5 = 34
|
||||
CMAKE_PROGRESS_6 = 35
|
||||
CMAKE_PROGRESS_1 = 31
|
||||
CMAKE_PROGRESS_2 = 32
|
||||
CMAKE_PROGRESS_3 = 33
|
||||
CMAKE_PROGRESS_4 = 34
|
||||
CMAKE_PROGRESS_5 = 35
|
||||
CMAKE_PROGRESS_6 = 36
|
||||
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
CMAKE_PROGRESS_1 = 58
|
||||
CMAKE_PROGRESS_2 = 59
|
||||
CMAKE_PROGRESS_1 = 59
|
||||
CMAKE_PROGRESS_2 = 60
|
||||
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
CMAKE_PROGRESS_1 = 36
|
||||
CMAKE_PROGRESS_2 = 37
|
||||
CMAKE_PROGRESS_1 = 37
|
||||
CMAKE_PROGRESS_2 = 38
|
||||
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
CMAKE_PROGRESS_1 = 38
|
||||
CMAKE_PROGRESS_2 = 39
|
||||
CMAKE_PROGRESS_1 = 39
|
||||
CMAKE_PROGRESS_2 = 40
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
CMAKE_PROGRESS_1 = 60
|
||||
CMAKE_PROGRESS_2 = 61
|
||||
CMAKE_PROGRESS_3 = 62
|
||||
CMAKE_PROGRESS_1 = 61
|
||||
CMAKE_PROGRESS_2 = 62
|
||||
CMAKE_PROGRESS_3 = 63
|
||||
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
CMAKE_PROGRESS_1 = 67
|
||||
CMAKE_PROGRESS_2 = 68
|
||||
CMAKE_PROGRESS_1 = 68
|
||||
CMAKE_PROGRESS_2 = 69
|
||||
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
CMAKE_PROGRESS_1 = 69
|
||||
CMAKE_PROGRESS_2 = 70
|
||||
CMAKE_PROGRESS_1 = 70
|
||||
CMAKE_PROGRESS_2 = 71
|
||||
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
CMAKE_PROGRESS_1 = 71
|
||||
CMAKE_PROGRESS_2 = 72
|
||||
CMAKE_PROGRESS_1 = 72
|
||||
CMAKE_PROGRESS_2 = 73
|
||||
|
||||
|
|
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
|
@ -528,6 +528,34 @@ void at86rf215_setup_iq_radio_continues_tx (at86rf215_st* dev, at86rf215_rf_chan
|
|||
// to 0, the transmission stops once the current PSDU transmission is completed
|
||||
}
|
||||
|
||||
void at86rf215_setup_iq_radio_dac_value_override_no_freq (at86rf215_st* dev,
|
||||
at86rf215_rf_channel_en ch,
|
||||
uint8_t tx_power)
|
||||
{
|
||||
at86rf215_radio_state_cmd_en state = at86rf215_radio_get_state(dev, ch);
|
||||
if (state != at86rf215_radio_state_cmd_trx_off)
|
||||
{
|
||||
at86rf215_radio_set_state(dev, ch, at86rf215_radio_state_cmd_trx_off);
|
||||
}
|
||||
at86rf215_radio_set_state(dev, ch, at86rf215_radio_state_cmd_tx_prep);
|
||||
|
||||
at86rf215_radio_tx_ctrl_st tx_config =
|
||||
{
|
||||
.pa_ramping_time = at86rf215_radio_tx_pa_ramp_32usec,
|
||||
.current_reduction = at86rf215_radio_pa_current_reduction_0ma,
|
||||
.tx_power = tx_power,
|
||||
.analog_bw = at86rf215_radio_tx_cut_off_80khz,
|
||||
.digital_bw = at86rf215_radio_rx_f_cut_half_fs,
|
||||
.fs = at86rf215_radio_rx_sample_rate_4000khz,
|
||||
.direct_modulation = 0,
|
||||
};
|
||||
at86rf215_radio_setup_tx_ctrl(dev, ch, &tx_config);
|
||||
|
||||
at86rf215_radio_set_tx_dac_input_iq(dev, ch, 1, 0x7E, 1, 0x3F);
|
||||
at86rf215_radio_set_state(dev, ch, at86rf215_radio_state_cmd_tx);
|
||||
}
|
||||
|
||||
|
||||
void at86rf215_setup_iq_radio_dac_value_override (at86rf215_st* dev,
|
||||
at86rf215_rf_channel_en ch,
|
||||
uint32_t freq_hz,
|
||||
|
|
|
@ -31,6 +31,9 @@ void at86rf215_setup_iq_radio_continues_tx (at86rf215_st* dev, at86rf215_rf_chan
|
|||
void at86rf215_setup_iq_radio_dac_value_override (at86rf215_st* dev, at86rf215_rf_channel_en ch,
|
||||
uint32_t freq_hz,
|
||||
uint8_t tx_power );
|
||||
void at86rf215_setup_iq_radio_dac_value_override_no_freq (at86rf215_st* dev,
|
||||
at86rf215_rf_channel_en ch,
|
||||
uint8_t tx_power);
|
||||
int64_t at86rf215_setup_channel ( at86rf215_st* dev, at86rf215_rf_channel_en ch, uint32_t freq_hz );
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
|
|
@ -85,6 +85,8 @@ at86rf215_regs.h
|
|||
/home/pi/projects/cariboulite/software/libcariboulite/src/at86rf215/at86rf215.h
|
||||
at86rf215_common.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/at86rf215/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
|
||||
|
|
|
@ -56,61 +56,11 @@ stdio.h
|
|||
pigpio.h
|
||||
-
|
||||
|
||||
../../zf_log/zf_log.h
|
||||
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/at86rf215/at86rf215.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
|
||||
at86rf215.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/at86rf215/at86rf215.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.h
|
||||
at86rf215_common.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/at86rf215/at86rf215_common.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
|
||||
|
@ -132,36 +82,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
|
||||
-
|
||||
|
|
Plik binarny nie jest wyświetlany.
|
@ -58,6 +58,34 @@ int test_at86rf215_read_chip_vn_pn(at86rf215_st* dev)
|
|||
printf("TEST:AT86RF215:VERSIONS:PASS=%d\n", pass);
|
||||
printf("TEST:AT86RF215:VERSIONS:INFO=The component PN is %s (0x%02X), Version %d\n", pn_st, pn, vn);
|
||||
|
||||
at86rf215_set_clock_output(dev, at86rf215_drive_current_2ma, at86rf215_clock_out_freq_1mhz);
|
||||
printf("Clock output 1MHz@2mA... Press enter to stop\n");
|
||||
getchar();
|
||||
|
||||
at86rf215_set_clock_output(dev, at86rf215_drive_current_4ma, at86rf215_clock_out_freq_1mhz);
|
||||
printf("Clock output 1MHz@4mA... Press enter to stop\n");
|
||||
getchar();
|
||||
|
||||
at86rf215_set_clock_output(dev, at86rf215_drive_current_6ma, at86rf215_clock_out_freq_1mhz);
|
||||
printf("Clock output 1MHz@6mA... Press enter to stop\n");
|
||||
getchar();
|
||||
|
||||
at86rf215_set_clock_output(dev, at86rf215_drive_current_8ma, at86rf215_clock_out_freq_1mhz);
|
||||
printf("Clock output 1MHz@8mA... Press enter to stop\n");
|
||||
getchar();
|
||||
|
||||
/*
|
||||
at86rf215_clock_out_freq_26mhz = 1,
|
||||
at86rf215_clock_out_freq_32mhz = 2,
|
||||
at86rf215_clock_out_freq_16mhz = 3,
|
||||
at86rf215_clock_out_freq_8mhz = 4,
|
||||
at86rf215_clock_out_freq_4mhz = 5,
|
||||
at86rf215_clock_out_freq_2mhz = 6,
|
||||
at86rf215_clock_out_freq_1mhz = 7,
|
||||
*/
|
||||
|
||||
at86rf215_set_clock_output(dev, at86rf215_drive_current_2ma, at86rf215_clock_out_freq_off);
|
||||
|
||||
return pass;
|
||||
}
|
||||
|
||||
|
@ -161,7 +189,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 0
|
||||
#define TEST_IQ_LB_WIND 1
|
||||
#define TEST_IQ_LB_WIND 0
|
||||
|
||||
// -----------------------------------------------------------------------------------------
|
||||
// MAIN
|
||||
|
|
|
@ -59,12 +59,12 @@ pigpio.h
|
|||
../../zf_log/zf_log.h
|
||||
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/caribou_fpga/caribou_fpga.c
|
||||
zf_log/zf_log.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/caribou_fpga/zf_log/zf_log.h
|
||||
stdio.h
|
||||
-
|
||||
string.h
|
||||
-
|
||||
zf_log/zf_log.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/caribou_fpga/zf_log/zf_log.h
|
||||
caribou_fpga.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/caribou_fpga/caribou_fpga.h
|
||||
|
||||
|
|
|
@ -56,18 +56,6 @@ stdio.h
|
|||
pigpio.h
|
||||
-
|
||||
|
||||
../../zf_log/zf_log.h
|
||||
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/caribou_fpga/caribou_fpga.c
|
||||
stdio.h
|
||||
-
|
||||
string.h
|
||||
-
|
||||
zf_log/zf_log.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/caribou_fpga/zf_log/zf_log.h
|
||||
caribou_fpga.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/caribou_fpga/caribou_fpga.h
|
||||
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/caribou_fpga/caribou_fpga.h
|
||||
stdio.h
|
||||
-
|
||||
|
@ -78,3 +66,9 @@ 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_fpga/test_caribou_fpga.c
|
||||
stdio.h
|
||||
-
|
||||
caribou_fpga.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/caribou_fpga/caribou_fpga.h
|
||||
|
||||
|
|
Plik binarny nie jest wyświetlany.
|
@ -31,7 +31,7 @@ int main ()
|
|||
printf("Hello from CaribouFPGA!\n");
|
||||
|
||||
// Init GPIOs and set FPGA on reset
|
||||
io_utils_setup();
|
||||
io_utils_setup(NULL);
|
||||
|
||||
// Init spi
|
||||
io_utils_spi_init(&io_spi_dev);
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
#include "cariboulite_setup.h"
|
||||
#include "cariboulite_events.h"
|
||||
#include "cariboulite.h"
|
||||
#include "cariboulite_eeprom/cariboulite_eeprom.h"
|
||||
|
||||
#include <stdio.h>
|
||||
#include <signal.h>
|
||||
|
@ -46,6 +47,8 @@ int sighandler(int signum)
|
|||
return 0;
|
||||
}
|
||||
|
||||
cariboulite_eeprom_st ee = { .i2c_address = 0x50, .eeprom_type = eeprom_type_24c32,};
|
||||
|
||||
//=================================================
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
|
@ -56,22 +59,37 @@ int main(int argc, char *argv[])
|
|||
if (cariboulite_init_driver(&cariboulite_sys, sighandler, NULL)!=0)
|
||||
{
|
||||
ZF_LOGE("driver init failed, terminating...");
|
||||
cariboulite_eeprom_init(&ee);
|
||||
return -1;
|
||||
}
|
||||
|
||||
// dummy loop
|
||||
double freq = 30e6;
|
||||
double step = 10e6;
|
||||
double freq = 1089e6;
|
||||
double step = 0.1e6;
|
||||
rffc507x_calibrate(&cariboulite_sys.mixer);
|
||||
sleep(1);
|
||||
while (program_running)
|
||||
{
|
||||
double set_freq = freq;
|
||||
cariboulite_setup_frequency(&cariboulite_sys,
|
||||
/*cariboulite_setup_frequency(&cariboulite_sys,
|
||||
cariboulite_channel_6g,
|
||||
cariboulite_channel_dir_rx,
|
||||
cariboulite_channel_dir_tx,
|
||||
&set_freq);
|
||||
|
||||
*/
|
||||
/*caribou_fpga_set_io_ctrl_mode (&cariboulite_sys.fpga, 0, caribou_fpga_io_ctrl_rfm_tx_lowpass);
|
||||
|
||||
rffc507x_set_frequency(&cariboulite_sys.mixer, set_freq);
|
||||
|
||||
rffc507x_device_status_st stat = {0};
|
||||
rffc507x_readback_status(&cariboulite_sys.mixer, NULL, &stat);
|
||||
rffc507x_print_stat(&stat);
|
||||
*/
|
||||
//sleep(1);
|
||||
freq += step;
|
||||
if (freq > 6000e6) freq = 30e6;
|
||||
sleep(1);
|
||||
//if (freq > 45e6) freq = 30e6;
|
||||
//io_utils_usleep(200000);
|
||||
getchar();
|
||||
}
|
||||
|
||||
// close the driver and release resources
|
||||
|
|
|
@ -0,0 +1,797 @@
|
|||
#define ZF_LOG_LEVEL ZF_LOG_VERBOSE
|
||||
#define ZF_LOG_DEF_SRCLOC ZF_LOG_SRCLOC_LONG
|
||||
#define ZF_LOG_TAG "CARIBOULITE Radios"
|
||||
#include "zf_log/zf_log.h"
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
#include <fcntl.h>
|
||||
#include <string.h>
|
||||
#include <linux/random.h>
|
||||
#include <sys/ioctl.h>
|
||||
|
||||
#include "cariboulite_radios.h"
|
||||
|
||||
|
||||
#define GET_RADIO_PTR(radio,chan) ((chan)==cariboulite_channel_s1g?&((radio)->radio_sub1g):&((radio)->radio_6g))
|
||||
#define GET_CH(rad_ch) ((rad_ch)==cariboulite_channel_s1g?at86rf215_rf_channel_900mhz:at86rf215_rf_channel_2400mhz)
|
||||
//======================================================================
|
||||
typedef struct {
|
||||
int bit_count; /* number of bits of entropy in data */
|
||||
int byte_count; /* number of bytes of data in array */
|
||||
unsigned char buf[1];
|
||||
} entropy_t;
|
||||
|
||||
static int add_entropy(uint8_t byte)
|
||||
{
|
||||
int rand_fid = open("/dev/urandom", O_RDWR);
|
||||
if (rand_fid != 0)
|
||||
{
|
||||
// error opening device
|
||||
ZF_LOGE("Opening /dev/urandom device file failed");
|
||||
return -1;
|
||||
}
|
||||
|
||||
entropy_t ent = {
|
||||
.bit_count = 8,
|
||||
.byte_count = 1,
|
||||
.buf = {byte},
|
||||
};
|
||||
|
||||
if (ioctl(rand_fid, RNDADDENTROPY, &ent) != 0)
|
||||
{
|
||||
ZF_LOGE("IOCTL to /dev/urandom device file failed");
|
||||
}
|
||||
|
||||
if (close(rand_fid) !=0 )
|
||||
{
|
||||
ZF_LOGE("Closing /dev/urandom device file failed");
|
||||
return -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
//======================================================================
|
||||
int cariboulite_init_radios(cariboulite_radios_st* radios, cariboulite_st *sys)
|
||||
{
|
||||
memset (radios, 0, sizeof(cariboulite_radios_st));
|
||||
|
||||
// Sub-1GHz
|
||||
radios->radio_sub1g.cariboulite_sys = sys;
|
||||
radios->radio_sub1g.active = true;
|
||||
radios->radio_sub1g.channel_direction = cariboulite_channel_dir_rx;
|
||||
radios->radio_sub1g.type = cariboulite_channel_s1g;
|
||||
radios->radio_sub1g.cw_output = false;
|
||||
radios->radio_sub1g.lo_output = false;
|
||||
|
||||
// Wide band channel
|
||||
radios->radio_6g.cariboulite_sys = sys;
|
||||
radios->radio_6g.active = true;
|
||||
radios->radio_6g.channel_direction = cariboulite_channel_dir_rx;
|
||||
radios->radio_6g.type = cariboulite_channel_6g;
|
||||
radios->radio_6g.cw_output = false;
|
||||
radios->radio_6g.lo_output = false;
|
||||
|
||||
cariboulite_sync_radio_information(radios);
|
||||
}
|
||||
|
||||
//======================================================================
|
||||
int cariboulite_dispose_radios(cariboulite_radios_st* radios)
|
||||
{
|
||||
radios->radio_sub1g.active = false;
|
||||
radios->radio_6g.active = false;
|
||||
|
||||
cariboulite_radio_state_st* rad_s1g = GET_RADIO_PTR(radios,cariboulite_channel_s1g);
|
||||
cariboulite_radio_state_st* rad_6g = GET_RADIO_PTR(radios,cariboulite_channel_6g);
|
||||
|
||||
at86rf215_radio_set_state( &rad_s1g->cariboulite_sys->modem,
|
||||
GET_CH(cariboulite_channel_s1g),
|
||||
at86rf215_radio_state_cmd_trx_off);
|
||||
rad_s1g->state = at86rf215_radio_state_cmd_trx_off;
|
||||
|
||||
at86rf215_radio_set_state( &rad_6g->cariboulite_sys->modem,
|
||||
GET_CH(cariboulite_channel_6g),
|
||||
at86rf215_radio_state_cmd_trx_off);
|
||||
rad_6g->state = at86rf215_radio_state_cmd_trx_off;
|
||||
|
||||
caribou_fpga_set_io_ctrl_mode (&rad_6g->cariboulite_sys->fpga, 0, caribou_fpga_io_ctrl_rfm_low_power);
|
||||
}
|
||||
|
||||
//======================================================================
|
||||
int cariboulite_sync_radio_information(cariboulite_radios_st* radios)
|
||||
{
|
||||
cariboulite_get_mod_state (radios, cariboulite_channel_s1g, NULL);
|
||||
cariboulite_get_mod_state (radios, cariboulite_channel_6g, NULL);
|
||||
|
||||
cariboulite_get_rx_gain_control(radios, cariboulite_channel_s1g, NULL, NULL);
|
||||
cariboulite_get_rx_gain_control(radios, cariboulite_channel_6g, NULL, NULL);
|
||||
|
||||
cariboulite_get_rx_bandwidth(radios, cariboulite_channel_s1g, NULL);
|
||||
cariboulite_get_rx_bandwidth(radios, cariboulite_channel_6g, NULL);
|
||||
|
||||
cariboulite_get_tx_power(radios, cariboulite_channel_s1g, NULL);
|
||||
cariboulite_get_tx_power(radios, cariboulite_channel_6g, NULL);
|
||||
|
||||
cariboulite_get_rssi(radios, cariboulite_channel_s1g, NULL);
|
||||
cariboulite_get_rssi(radios, cariboulite_channel_6g, NULL);
|
||||
|
||||
cariboulite_get_energy_det(radios, cariboulite_channel_s1g, NULL);
|
||||
cariboulite_get_energy_det(radios, cariboulite_channel_6g, NULL);
|
||||
}
|
||||
|
||||
//======================================================================
|
||||
int cariboulite_get_mod_state ( cariboulite_radios_st* radios,
|
||||
cariboulite_channel_en channel,
|
||||
at86rf215_radio_state_cmd_en *state)
|
||||
{
|
||||
cariboulite_radio_state_st* rad = GET_RADIO_PTR(radios,channel);
|
||||
rad->state = at86rf215_radio_get_state(&rad->cariboulite_sys->modem, GET_CH(channel));
|
||||
|
||||
if (state) *state = rad->state;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
//======================================================================
|
||||
int cariboulite_get_mod_intertupts (cariboulite_radios_st* radios,
|
||||
cariboulite_channel_en channel,
|
||||
at86rf215_radio_irq_st **irq_table)
|
||||
{
|
||||
at86rf215_irq_st irq = {0};
|
||||
cariboulite_radio_state_st* rad = GET_RADIO_PTR(radios,channel);
|
||||
at86rf215_get_irqs(&rad->cariboulite_sys->modem, &irq, 0);
|
||||
|
||||
if (channel == cariboulite_channel_s1g)
|
||||
{
|
||||
memcpy (&rad->interrupts, &irq.radio09, sizeof(at86rf215_radio_irq_st));
|
||||
if (irq_table) *irq_table = &irq.radio09;
|
||||
}
|
||||
else
|
||||
{
|
||||
memcpy (&rad->interrupts, &irq.radio24, sizeof(at86rf215_radio_irq_st));
|
||||
if (irq_table) *irq_table = &irq.radio24;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
//======================================================================
|
||||
int cariboulite_set_rx_gain_control(cariboulite_radios_st* radios,
|
||||
cariboulite_channel_en channel,
|
||||
bool rx_agc_on,
|
||||
int rx_gain_value_db)
|
||||
{
|
||||
cariboulite_radio_state_st* rad = GET_RADIO_PTR(radios,channel);
|
||||
|
||||
int control_gain_val = (int)roundf((float)(rx_gain_value_db) / 3.0f);
|
||||
if (control_gain_val < 0) control_gain_val = 0;
|
||||
if (control_gain_val > 23) control_gain_val = 23;
|
||||
|
||||
at86rf215_radio_agc_ctrl_st rx_gain_control =
|
||||
{
|
||||
.agc_measure_source_not_filtered = 1,
|
||||
.avg = at86rf215_radio_agc_averaging_32,
|
||||
.reset_cmd = 0,
|
||||
.freeze_cmd = 0,
|
||||
.enable_cmd = rx_agc_on,
|
||||
.att = at86rf215_radio_agc_relative_atten_21_db,
|
||||
.gain_control_word = control_gain_val,
|
||||
};
|
||||
|
||||
at86rf215_radio_setup_agc(&rad->cariboulite_sys->modem, GET_CH(channel), &rx_gain_control);
|
||||
rad->rx_agc_on = rx_agc_on;
|
||||
rad->rx_gain_value_db = rx_gain_value_db;
|
||||
return 0;
|
||||
}
|
||||
|
||||
//======================================================================
|
||||
int cariboulite_get_rx_gain_control(cariboulite_radios_st* radios,
|
||||
cariboulite_channel_en channel,
|
||||
bool *rx_agc_on,
|
||||
int *rx_gain_value_db)
|
||||
{
|
||||
cariboulite_radio_state_st* rad = GET_RADIO_PTR(radios,channel);
|
||||
at86rf215_radio_agc_ctrl_st agc_ctrl = {0};
|
||||
at86rf215_radio_get_agc(&rad->cariboulite_sys->modem, GET_CH(channel), &agc_ctrl);
|
||||
|
||||
rad->rx_agc_on = agc_ctrl.enable_cmd;
|
||||
rad->rx_gain_value_db = agc_ctrl.gain_control_word * 3;
|
||||
if (rx_agc_on) *rx_agc_on = rad->rx_agc_on;
|
||||
if (rx_gain_value_db) *rx_gain_value_db = rad->rx_gain_value_db;
|
||||
return 0;
|
||||
}
|
||||
|
||||
//======================================================================
|
||||
int cariboulite_get_rx_gain_limits(cariboulite_radios_st* radios,
|
||||
cariboulite_channel_en channel,
|
||||
int *rx_min_gain_value_db,
|
||||
int *rx_max_gain_value_db,
|
||||
int *rx_gain_value_resolution_db)
|
||||
{
|
||||
if (rx_min_gain_value_db) *rx_min_gain_value_db = 0;
|
||||
if (rx_max_gain_value_db) *rx_max_gain_value_db = 23*3;
|
||||
if (rx_gain_value_resolution_db) *rx_gain_value_resolution_db = 3;
|
||||
return 0;
|
||||
}
|
||||
|
||||
//======================================================================
|
||||
int cariboulite_set_rx_bandwidth(cariboulite_radios_st* radios,
|
||||
cariboulite_channel_en channel,
|
||||
at86rf215_radio_rx_bw_en rx_bw)
|
||||
{
|
||||
cariboulite_radio_state_st* rad = GET_RADIO_PTR(radios,channel);
|
||||
|
||||
at86rf215_radio_set_rx_bw_samp_st cfg =
|
||||
{
|
||||
.inverter_sign_if = 0,
|
||||
.shift_if_freq = 0, // A value of one configures the receiver to shift the IF frequency
|
||||
// by factor of 1.25. This is useful to place the image frequency according
|
||||
// to channel scheme.
|
||||
.bw = rx_bw,
|
||||
.fcut = rad->rx_fcut, // keep the same
|
||||
.fs = rad->rx_fs, // keep the same
|
||||
};
|
||||
at86rf215_radio_set_rx_bandwidth_sampling(&rad->cariboulite_sys->modem, GET_CH(channel), &cfg);
|
||||
rad->rx_bw = rx_bw;
|
||||
return 0;
|
||||
}
|
||||
|
||||
//======================================================================
|
||||
int cariboulite_get_rx_bandwidth(cariboulite_radios_st* radios,
|
||||
cariboulite_channel_en channel,
|
||||
at86rf215_radio_rx_bw_en *rx_bw)
|
||||
{
|
||||
cariboulite_radio_state_st* rad = GET_RADIO_PTR(radios,channel);
|
||||
at86rf215_radio_set_rx_bw_samp_st cfg = {0};
|
||||
at86rf215_radio_get_rx_bandwidth_sampling(&rad->cariboulite_sys->modem, GET_CH(channel), &cfg);
|
||||
rad->rx_bw = cfg.bw;
|
||||
rad->rx_fcut = cfg.fcut;
|
||||
rad->rx_fs = cfg.fs;
|
||||
if (rx_bw) *rx_bw = rad->rx_bw;
|
||||
return 0;
|
||||
}
|
||||
|
||||
//======================================================================
|
||||
int cariboulite_set_rx_samp_cutoff(cariboulite_radios_st* radios,
|
||||
cariboulite_channel_en channel,
|
||||
at86rf215_radio_sample_rate_en rx_sample_rate,
|
||||
at86rf215_radio_f_cut_en rx_cutoff)
|
||||
{
|
||||
cariboulite_radio_state_st* rad = GET_RADIO_PTR(radios,channel);
|
||||
|
||||
at86rf215_radio_set_rx_bw_samp_st cfg =
|
||||
{
|
||||
.inverter_sign_if = 0,
|
||||
.shift_if_freq = 0, // A value of one configures the receiver to shift the IF frequency
|
||||
// by factor of 1.25. This is useful to place the image frequency according
|
||||
// to channel scheme.
|
||||
.bw = rad->rx_bw, // keep the same
|
||||
.fcut = rx_cutoff,
|
||||
.fs = rx_sample_rate,
|
||||
};
|
||||
at86rf215_radio_set_rx_bandwidth_sampling(&rad->cariboulite_sys->modem, GET_CH(channel), &cfg);
|
||||
rad->rx_fs = rx_sample_rate;
|
||||
rad->rx_fcut = rx_cutoff;
|
||||
return 0;
|
||||
}
|
||||
|
||||
//======================================================================
|
||||
int cariboulite_get_rx_samp_cutoff(cariboulite_radios_st* radios,
|
||||
cariboulite_channel_en channel,
|
||||
at86rf215_radio_sample_rate_en *rx_sample_rate,
|
||||
at86rf215_radio_f_cut_en *rx_cutoff)
|
||||
{
|
||||
cariboulite_radio_state_st* rad = GET_RADIO_PTR(radios,channel);
|
||||
cariboulite_get_rx_bandwidth(radios, channel, NULL);
|
||||
if (rx_sample_rate) *rx_sample_rate = rad->rx_fs;
|
||||
if (rx_cutoff) *rx_cutoff = rad->rx_fcut;
|
||||
return 0;
|
||||
}
|
||||
|
||||
//======================================================================
|
||||
int cariboulite_set_tx_power(cariboulite_radios_st* radios,
|
||||
cariboulite_channel_en channel,
|
||||
int tx_power_dbm)
|
||||
{
|
||||
cariboulite_radio_state_st* rad = GET_RADIO_PTR(radios,channel);
|
||||
if (tx_power_dbm < -18) tx_power_dbm = -18;
|
||||
if (tx_power_dbm > 13) tx_power_dbm = 13;
|
||||
int tx_power_ctrl = 18 + tx_power_dbm;
|
||||
|
||||
at86rf215_radio_tx_ctrl_st cfg =
|
||||
{
|
||||
.pa_ramping_time = at86rf215_radio_tx_pa_ramp_16usec,
|
||||
.current_reduction = at86rf215_radio_pa_current_reduction_0ma, // we can use this to gain some more
|
||||
// granularity with the tx gain control
|
||||
.tx_power = tx_power_ctrl,
|
||||
.analog_bw = rad->tx_bw, // same as before
|
||||
.digital_bw = rad->tx_fcut, // same as before
|
||||
.fs = rad->tx_fs, // same as before
|
||||
.direct_modulation = 0,
|
||||
};
|
||||
|
||||
at86rf215_radio_setup_tx_ctrl(&rad->cariboulite_sys->modem, GET_CH(channel), &cfg);
|
||||
rad->tx_power = tx_power_dbm;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
//======================================================================
|
||||
int cariboulite_get_tx_power(cariboulite_radios_st* radios,
|
||||
cariboulite_channel_en channel,
|
||||
int *tx_power_dbm)
|
||||
{
|
||||
cariboulite_radio_state_st* rad = GET_RADIO_PTR(radios,channel);
|
||||
at86rf215_radio_tx_ctrl_st cfg = {0};
|
||||
at86rf215_radio_get_tx_ctrl(&rad->cariboulite_sys->modem, GET_CH(channel), &cfg);
|
||||
rad->tx_power = cfg.tx_power - 18;
|
||||
rad->tx_bw = cfg.analog_bw;
|
||||
rad->tx_fcut = cfg.digital_bw;
|
||||
rad->tx_fs = cfg.fs;
|
||||
|
||||
if (tx_power_dbm) *tx_power_dbm = rad->tx_power;
|
||||
return 0;
|
||||
}
|
||||
|
||||
//======================================================================
|
||||
int cariboulite_set_tx_bandwidth(cariboulite_radios_st* radios,
|
||||
cariboulite_channel_en channel,
|
||||
at86rf215_radio_tx_cut_off_en tx_bw)
|
||||
{
|
||||
cariboulite_radio_state_st* rad = GET_RADIO_PTR(radios,channel);
|
||||
at86rf215_radio_tx_ctrl_st cfg =
|
||||
{
|
||||
.pa_ramping_time = at86rf215_radio_tx_pa_ramp_16usec,
|
||||
.current_reduction = at86rf215_radio_pa_current_reduction_0ma, // we can use this to gain some more
|
||||
// granularity with the tx gain control
|
||||
.tx_power = 18 + rad->tx_power, // same as before
|
||||
.analog_bw = tx_bw,
|
||||
.digital_bw = rad->tx_fcut, // same as before
|
||||
.fs = rad->tx_fs, // same as before
|
||||
.direct_modulation = 0,
|
||||
};
|
||||
|
||||
at86rf215_radio_setup_tx_ctrl(&rad->cariboulite_sys->modem, GET_CH(channel), &cfg);
|
||||
rad->tx_bw = tx_bw;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
//======================================================================
|
||||
int cariboulite_get_tx_bandwidth(cariboulite_radios_st* radios,
|
||||
cariboulite_channel_en channel,
|
||||
at86rf215_radio_tx_cut_off_en *tx_bw)
|
||||
{
|
||||
cariboulite_radio_state_st* rad = GET_RADIO_PTR(radios,channel);
|
||||
cariboulite_get_tx_power(radios, channel, NULL);
|
||||
if (tx_bw) *tx_bw = rad->tx_bw;
|
||||
return 0;
|
||||
}
|
||||
|
||||
//======================================================================
|
||||
int cariboulite_set_tx_samp_cutoff(cariboulite_radios_st* radios,
|
||||
cariboulite_channel_en channel,
|
||||
at86rf215_radio_sample_rate_en tx_sample_rate,
|
||||
at86rf215_radio_f_cut_en tx_cutoff)
|
||||
{
|
||||
cariboulite_radio_state_st* rad = GET_RADIO_PTR(radios,channel);
|
||||
at86rf215_radio_tx_ctrl_st cfg =
|
||||
{
|
||||
.pa_ramping_time = at86rf215_radio_tx_pa_ramp_16usec,
|
||||
.current_reduction = at86rf215_radio_pa_current_reduction_0ma, // we can use this to gain some more
|
||||
// granularity with the tx gain control
|
||||
.tx_power = 18 + rad->tx_power, // same as before
|
||||
.analog_bw = rad->tx_bw, // same as before
|
||||
.digital_bw = tx_cutoff,
|
||||
.fs = tx_sample_rate,
|
||||
.direct_modulation = 0,
|
||||
};
|
||||
|
||||
at86rf215_radio_setup_tx_ctrl(&rad->cariboulite_sys->modem, GET_CH(channel), &cfg);
|
||||
rad->tx_fcut = tx_cutoff;
|
||||
rad->tx_fs = tx_sample_rate;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
//======================================================================
|
||||
int cariboulite_get_tx_samp_cutoff(cariboulite_radios_st* radios,
|
||||
cariboulite_channel_en channel,
|
||||
at86rf215_radio_sample_rate_en *tx_sample_rate,
|
||||
at86rf215_radio_f_cut_en *rx_cutoff)
|
||||
{
|
||||
cariboulite_radio_state_st* rad = GET_RADIO_PTR(radios,channel);
|
||||
cariboulite_get_tx_power(radios, channel, NULL);
|
||||
if (tx_sample_rate) *tx_sample_rate = rad->tx_fs;
|
||||
if (rx_cutoff) *rx_cutoff = rad->tx_fcut;
|
||||
return 0;
|
||||
}
|
||||
|
||||
//======================================================================
|
||||
int cariboulite_get_rssi(cariboulite_radios_st* radios, cariboulite_channel_en channel, float *rssi_dbm)
|
||||
{
|
||||
cariboulite_radio_state_st* rad = GET_RADIO_PTR(radios,channel);
|
||||
float rssi = at86rf215_radio_get_rssi_dbm(&rad->cariboulite_sys->modem, GET_CH(channel));
|
||||
if (rssi >= -127.0 && rssi <= -4) // register only valid values
|
||||
{
|
||||
rad->rx_rssi = rssi;
|
||||
if (rssi_dbm) *rssi_dbm = rssi;
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (rssi_dbm) *rssi_dbm = rad->rx_rssi;
|
||||
return -1;
|
||||
}
|
||||
|
||||
//======================================================================
|
||||
int cariboulite_get_energy_det(cariboulite_radios_st* radios, cariboulite_channel_en channel, float *energy_det_val)
|
||||
{
|
||||
cariboulite_radio_state_st* rad = GET_RADIO_PTR(radios,channel);
|
||||
at86rf215_radio_energy_detection_st det = {0};
|
||||
at86rf215_radio_get_energy_detection(&rad->cariboulite_sys->modem, GET_CH(channel), &det);
|
||||
|
||||
if (det.energy_detection_value >= -127.0 && det.energy_detection_value <= -4) // register only valid values
|
||||
{
|
||||
rad->rx_energy_detection_value = det.energy_detection_value;
|
||||
if (energy_det_val) *energy_det_val = rad->rx_energy_detection_value;
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (energy_det_val) *energy_det_val = rad->rx_energy_detection_value;
|
||||
return -1;
|
||||
}
|
||||
|
||||
//======================================================================
|
||||
int cariboulite_get_rand_val(cariboulite_radios_st* radios, cariboulite_channel_en channel, uint8_t *rnd)
|
||||
{
|
||||
cariboulite_radio_state_st* rad = GET_RADIO_PTR(radios,channel);
|
||||
rad->random_value = at86rf215_radio_get_random_value(&rad->cariboulite_sys->modem, GET_CH(channel));
|
||||
if (rnd) *rnd = rad->random_value;
|
||||
add_entropy(rad->random_value);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
//=================================================
|
||||
#define CARIBOULITE_MIN_MIX (20.0e6) // 30
|
||||
#define CARIBOULITE_MAX_MIX (6000.0e6) // 6000
|
||||
#define CARIBOULITE_MIN_LO (85.0e6)
|
||||
#define CARIBOULITE_MAX_LO (4200.0e6)
|
||||
#define CARIBOULITE_2G4_MIN (2380.0e6) // 2400
|
||||
#define CARIBOULITE_2G4_MAX (2495.0e6) // 2483.5
|
||||
#define CARIBOULITE_S1G_MIN1 (389.5e6)
|
||||
#define CARIBOULITE_S1G_MAX1 (510.0e6)
|
||||
#define CARIBOULITE_S1G_MIN2 (779.0e6)
|
||||
#define CARIBOULITE_S1G_MAX2 (1020.0e6)
|
||||
|
||||
typedef enum
|
||||
{
|
||||
conversion_dir_none = 0,
|
||||
conversion_dir_up = 1,
|
||||
conversion_dir_down = 2,
|
||||
} conversion_dir_en;
|
||||
|
||||
//=================================================
|
||||
bool cariboulite_wait_for_lock( cariboulite_radio_state_st* rad, bool *mod, bool *mix, int retries)
|
||||
{
|
||||
bool mix_lock = true, mod_lock = true;
|
||||
if (mix)
|
||||
{
|
||||
rffc507x_device_status_st stat = {0};
|
||||
int relock_retries = retries;
|
||||
do
|
||||
{
|
||||
rffc507x_readback_status(&rad->cariboulite_sys->mixer, NULL, &stat);
|
||||
rffc507x_print_stat(&stat);
|
||||
if (!stat.pll_lock) rffc507x_relock(&rad->cariboulite_sys->mixer);
|
||||
} while (!stat.pll_lock && relock_retries--);
|
||||
|
||||
*mix = stat.pll_lock;
|
||||
mix_lock = (bool)stat.pll_lock;
|
||||
}
|
||||
|
||||
if (mod)
|
||||
{
|
||||
at86rf215_radio_pll_ctrl_st cfg = {0};
|
||||
int relock_retries = retries;
|
||||
do
|
||||
{
|
||||
at86rf215_radio_get_pll_ctrl(&rad->cariboulite_sys->modem, at86rf215_rf_channel_900mhz, &cfg);
|
||||
} while (!cfg.pll_locked && relock_retries--);
|
||||
|
||||
*mod = cfg.pll_locked;
|
||||
mod_lock = (bool)cfg.pll_locked;
|
||||
}
|
||||
|
||||
return mix_lock && mod_lock;
|
||||
}
|
||||
|
||||
//=================================================
|
||||
int cariboulite_set_frequency( cariboulite_radios_st* radios,
|
||||
cariboulite_channel_en channel,
|
||||
bool break_before_make,
|
||||
double *freq)
|
||||
{
|
||||
cariboulite_radio_state_st* rad = GET_RADIO_PTR(radios,channel);
|
||||
|
||||
double f_rf = *freq;
|
||||
double modem_act_freq = 0.0;
|
||||
double lo_act_freq = 0.0;
|
||||
double act_freq = 0.0;
|
||||
int error = 0;
|
||||
conversion_dir_en conversion_direction = conversion_dir_none;
|
||||
|
||||
//--------------------------------------------------------------------------------
|
||||
// SUB 1GHZ CONFIGURATION
|
||||
//--------------------------------------------------------------------------------
|
||||
if (channel == cariboulite_channel_s1g)
|
||||
{
|
||||
if ( (f_rf >= CARIBOULITE_S1G_MIN1 && f_rf <= CARIBOULITE_S1G_MAX1) ||
|
||||
(f_rf >= CARIBOULITE_S1G_MIN2 && f_rf <= CARIBOULITE_S1G_MAX2) )
|
||||
{
|
||||
// setup modem frequency <= f_rf
|
||||
if (break_before_make)
|
||||
{
|
||||
at86rf215_radio_set_state( &rad->cariboulite_sys->modem,
|
||||
at86rf215_rf_channel_900mhz,
|
||||
at86rf215_radio_state_cmd_trx_off);
|
||||
rad->state = at86rf215_radio_state_cmd_trx_off;
|
||||
}
|
||||
|
||||
modem_act_freq = at86rf215_setup_channel (&rad->cariboulite_sys->modem,
|
||||
at86rf215_rf_channel_900mhz,
|
||||
(uint32_t)f_rf);
|
||||
|
||||
at86rf215_radio_pll_ctrl_st cfg = {0};
|
||||
at86rf215_radio_get_pll_ctrl(&rad->cariboulite_sys->modem, at86rf215_rf_channel_900mhz, &cfg);
|
||||
|
||||
rad->if_frequency = 0;
|
||||
rad->lo_pll_locked = 1;
|
||||
rad->modem_pll_locked = cfg.pll_locked;
|
||||
rad->if_frequency = modem_act_freq;
|
||||
rad->actual_rf_frequency = rad->if_frequency;
|
||||
rad->requested_rf_frequency = f_rf;
|
||||
rad->rf_frequency_error = rad->actual_rf_frequency - rad->requested_rf_frequency;
|
||||
|
||||
// return actual frequency
|
||||
*freq = rad->actual_rf_frequency;
|
||||
}
|
||||
else
|
||||
{
|
||||
// error - unsupported frequency for S1G channel
|
||||
ZF_LOGE("unsupported frequency for S1G channel - %.2f Hz", f_rf);
|
||||
error = 1;
|
||||
}
|
||||
}
|
||||
//--------------------------------------------------------------------------------
|
||||
// 30-6GHz CONFIGURATION
|
||||
//--------------------------------------------------------------------------------
|
||||
else if (channel == cariboulite_channel_6g)
|
||||
{
|
||||
// Changing the frequency may sometimes need to break RX / TX
|
||||
if (break_before_make)
|
||||
{
|
||||
// make sure that during the transition the modem is not transmitting and then
|
||||
// verify that the FE is in low power mode
|
||||
at86rf215_radio_set_state( &rad->cariboulite_sys->modem,
|
||||
at86rf215_rf_channel_2400mhz,
|
||||
at86rf215_radio_state_cmd_trx_off);
|
||||
rad->state = at86rf215_radio_state_cmd_trx_off;
|
||||
|
||||
caribou_fpga_set_io_ctrl_mode (&rad->cariboulite_sys->fpga, 0, caribou_fpga_io_ctrl_rfm_low_power);
|
||||
}
|
||||
|
||||
// Decide the conversion direction and IF/RF/LO
|
||||
//-------------------------------------
|
||||
if (f_rf >= CARIBOULITE_MIN_MIX &&
|
||||
f_rf <= (CARIBOULITE_2G4_MIN) )
|
||||
{
|
||||
// region #1 - UP CONVERSION
|
||||
// setup modem frequency <= CARIBOULITE_2G4_MAX
|
||||
modem_act_freq = (double)at86rf215_setup_channel (&rad->cariboulite_sys->modem,
|
||||
at86rf215_rf_channel_2400mhz,
|
||||
(uint32_t)(CARIBOULITE_2G4_MAX));
|
||||
|
||||
// setup mixer LO according to the actual modem frequency
|
||||
lo_act_freq = rffc507x_set_frequency(&rad->cariboulite_sys->mixer, modem_act_freq + f_rf);
|
||||
act_freq = modem_act_freq - lo_act_freq;
|
||||
|
||||
// setup fpga RFFE <= upconvert (tx / rx)
|
||||
conversion_direction = conversion_dir_up;
|
||||
}
|
||||
//-------------------------------------
|
||||
else if ( f_rf >= CARIBOULITE_2G4_MIN &&
|
||||
f_rf <= CARIBOULITE_2G4_MAX )
|
||||
{
|
||||
// region #2 - bypass mode
|
||||
// setup modem frequency <= f_rf
|
||||
modem_act_freq = (double)at86rf215_setup_channel (&rad->cariboulite_sys->modem,
|
||||
at86rf215_rf_channel_2400mhz,
|
||||
(uint32_t)f_rf);
|
||||
lo_act_freq = 0;
|
||||
act_freq = modem_act_freq;
|
||||
conversion_direction = conversion_dir_none;
|
||||
}
|
||||
//-------------------------------------
|
||||
else if ( f_rf > (CARIBOULITE_2G4_MAX) &&
|
||||
f_rf <= CARIBOULITE_MAX_MIX )
|
||||
{
|
||||
// region #3 - DOWN-CONVERSION
|
||||
// setup modem frequency <= CARIBOULITE_2G4_MIN
|
||||
modem_act_freq = (double)at86rf215_setup_channel (&rad->cariboulite_sys->modem,
|
||||
at86rf215_rf_channel_2400mhz,
|
||||
(uint32_t)(CARIBOULITE_2G4_MIN));
|
||||
|
||||
// setup mixer LO to according to actual modem frequency
|
||||
lo_act_freq = rffc507x_set_frequency(&rad->cariboulite_sys->mixer, f_rf + modem_act_freq);
|
||||
act_freq = modem_act_freq + lo_act_freq;
|
||||
|
||||
// setup fpga RFFE <= downconvert (tx / rx)
|
||||
conversion_direction = conversion_dir_down;
|
||||
}
|
||||
//-------------------------------------
|
||||
else
|
||||
{
|
||||
// error - unsupported frequency for 6G channel
|
||||
ZF_LOGE("unsupported frequency for 6GHz channel - %.2f Hz", f_rf);
|
||||
error = 1;
|
||||
}
|
||||
|
||||
// Setup the frontend
|
||||
// This step takes the current radio direction of communication
|
||||
// and the down/up conversion decision made before to setup the RF front-end
|
||||
switch (conversion_direction)
|
||||
{
|
||||
case conversion_dir_up:
|
||||
if (rad->channel_direction == cariboulite_channel_dir_rx)
|
||||
{
|
||||
caribou_fpga_set_io_ctrl_mode (&rad->cariboulite_sys->fpga, 0, caribou_fpga_io_ctrl_rfm_rx_lowpass);
|
||||
}
|
||||
else if (rad->channel_direction == cariboulite_channel_dir_tx)
|
||||
{
|
||||
caribou_fpga_set_io_ctrl_mode (&rad->cariboulite_sys->fpga, 0, caribou_fpga_io_ctrl_rfm_tx_lowpass);
|
||||
}
|
||||
break;
|
||||
case conversion_dir_none:
|
||||
caribou_fpga_set_io_ctrl_mode (&rad->cariboulite_sys->fpga, 0, caribou_fpga_io_ctrl_rfm_bypass);
|
||||
break;
|
||||
case conversion_dir_down:
|
||||
if (rad->channel_direction == cariboulite_channel_dir_rx)
|
||||
{
|
||||
caribou_fpga_set_io_ctrl_mode (&rad->cariboulite_sys->fpga, 0, caribou_fpga_io_ctrl_rfm_rx_hipass);
|
||||
}
|
||||
else if (rad->channel_direction == cariboulite_channel_dir_tx)
|
||||
{
|
||||
caribou_fpga_set_io_ctrl_mode (&rad->cariboulite_sys->fpga, 0, caribou_fpga_io_ctrl_rfm_tx_hipass);
|
||||
}
|
||||
break;
|
||||
default: break;
|
||||
}
|
||||
|
||||
// Make sure the LO and the IF PLLs are locked
|
||||
|
||||
if (!cariboulite_wait_for_lock(rad, &rad->modem_pll_locked, &rad->lo_pll_locked, 100))
|
||||
{
|
||||
if (!rad->lo_pll_locked) ZF_LOGE("PLL MIXER failed to lock LO frequency (%.2f Hz)", lo_act_freq);
|
||||
if (!rad->modem_pll_locked) ZF_LOGE("PLL MODEM failed to lock IF frequency (%.2f Hz)", modem_act_freq);
|
||||
error = 3;
|
||||
}
|
||||
|
||||
// Update the actual frequencies
|
||||
rad->lo_frequency = lo_act_freq;
|
||||
rad->if_frequency = modem_act_freq;
|
||||
rad->actual_rf_frequency = act_freq;
|
||||
rad->requested_rf_frequency = f_rf;
|
||||
rad->rf_frequency_error = rad->actual_rf_frequency - rad->requested_rf_frequency;
|
||||
if (freq) *freq = act_freq;
|
||||
|
||||
// activate the channel according to the new configuration
|
||||
cariboulite_activate_channel(radios, channel);
|
||||
}
|
||||
|
||||
if (error == 0)
|
||||
{
|
||||
ZF_LOGD("Frequency setting CH: %d, Wanted: %.2f Hz, Set: %.2f Hz (MOD: %.2f, MIX: %.2f)",
|
||||
channel, f_rf, act_freq, modem_act_freq, lo_act_freq);
|
||||
}
|
||||
|
||||
return -error;
|
||||
}
|
||||
|
||||
//======================================================================
|
||||
int cariboulite_get_frequency( cariboulite_radios_st* radios,
|
||||
cariboulite_channel_en channel,
|
||||
double *freq, double *lo, double* i_f)
|
||||
{
|
||||
cariboulite_radio_state_st* rad = GET_RADIO_PTR(radios,channel);
|
||||
if (freq) *freq = rad->actual_rf_frequency;
|
||||
if (lo) *lo = rad->lo_frequency;
|
||||
if (i_f) *i_f = rad->if_frequency;
|
||||
}
|
||||
|
||||
//======================================================================
|
||||
int cariboulite_activate_channel(cariboulite_radios_st* radios,
|
||||
cariboulite_channel_en channel)
|
||||
{
|
||||
cariboulite_radio_state_st* rad = GET_RADIO_PTR(radios,channel);
|
||||
|
||||
// if the channel state is active, turn it off before reactivating
|
||||
if (rad->state != at86rf215_radio_state_cmd_trx_off)
|
||||
{
|
||||
at86rf215_radio_set_state( &rad->cariboulite_sys->modem,
|
||||
GET_CH(channel),
|
||||
at86rf215_radio_state_cmd_trx_off);
|
||||
rad->state = at86rf215_radio_state_cmd_trx_off;
|
||||
}
|
||||
|
||||
// Activate the channel according to the configurations
|
||||
// RX on both channels looks the same
|
||||
if (rad->channel_direction == cariboulite_channel_dir_rx)
|
||||
{
|
||||
at86rf215_radio_set_state( &rad->cariboulite_sys->modem,
|
||||
GET_CH(channel),
|
||||
at86rf215_radio_state_cmd_rx);
|
||||
}
|
||||
else if (rad->channel_direction == cariboulite_channel_dir_tx)
|
||||
{
|
||||
// if its an LO frequency output from the mixer - no need for modem output
|
||||
// LO applicable only to the channel with the mixer
|
||||
if (rad->lo_output && channel == cariboulite_channel_6g)
|
||||
{
|
||||
// here we need to configure lo bypass on the mixer
|
||||
rffc507x_output_lo(&rad->cariboulite_sys->mixer, 1);
|
||||
}
|
||||
// otherwise we need the modem
|
||||
else
|
||||
{
|
||||
// make sure the mixer doesn't bypass the lo
|
||||
rffc507x_output_lo(&rad->cariboulite_sys->mixer, 0);
|
||||
|
||||
// TX preparation state - both channels need
|
||||
at86rf215_radio_set_state(&rad->cariboulite_sys->modem,
|
||||
GET_CH(channel),
|
||||
at86rf215_radio_state_cmd_tx_prep);
|
||||
|
||||
cariboulite_set_tx_bandwidth(radios, channel,
|
||||
rad->cw_output?at86rf215_radio_tx_cut_off_80khz:rad->tx_bw);
|
||||
|
||||
// CW output - constant I/Q values override
|
||||
at86rf215_radio_set_tx_dac_input_iq(&rad->cariboulite_sys->modem,
|
||||
GET_CH(channel),
|
||||
rad->cw_output, 0x7E,
|
||||
rad->cw_output, 0x3F);
|
||||
|
||||
// transition to state TX
|
||||
at86rf215_radio_set_state(&rad->cariboulite_sys->modem,
|
||||
GET_CH(channel),
|
||||
at86rf215_radio_state_cmd_tx);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
//======================================================================
|
||||
int cariboulite_setup_frequency_old( cariboulite_st *sys,
|
||||
cariboulite_channel_en ch,
|
||||
cariboulite_channel_dir_en dir,
|
||||
double *freq)
|
||||
{
|
||||
|
||||
/*// Activate the modem - this should be outside
|
||||
if (dir == 0)
|
||||
{
|
||||
at86rf215_radio_set_state( &sys->modem,
|
||||
at86rf215_rf_channel_2400mhz,
|
||||
at86rf215_radio_state_cmd_rx);
|
||||
}
|
||||
else
|
||||
{
|
||||
at86rf215_setup_iq_radio_dac_value_override_no_freq (&sys->modem,
|
||||
at86rf215_rf_channel_2400mhz,
|
||||
31);
|
||||
}*/
|
||||
}
|
|
@ -0,0 +1,174 @@
|
|||
#ifndef __CARIBOULABS_RADIOS_H__
|
||||
#define __CARIBOULABS_RADIOS_H__
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "cariboulite_config/cariboulite_config.h"
|
||||
#include "at86rf215/at86rf215.h"
|
||||
|
||||
|
||||
typedef enum
|
||||
{
|
||||
cariboulite_channel_dir_rx = 0,
|
||||
cariboulite_channel_dir_tx = 1,
|
||||
} cariboulite_channel_dir_en;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
cariboulite_channel_s1g = 0,
|
||||
cariboulite_channel_6g = 1,
|
||||
} cariboulite_channel_en;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
cariboulite_st* cariboulite_sys;
|
||||
cariboulite_channel_dir_en channel_direction;
|
||||
cariboulite_channel_en type;
|
||||
bool active;
|
||||
bool cw_output;
|
||||
bool lo_output;
|
||||
|
||||
// MODEM STATES
|
||||
at86rf215_radio_state_cmd_en state;
|
||||
at86rf215_radio_irq_st interrupts;
|
||||
|
||||
bool rx_agc_on;
|
||||
int rx_gain_value_db;
|
||||
|
||||
at86rf215_radio_rx_bw_en rx_bw;
|
||||
at86rf215_radio_f_cut_en rx_fcut;
|
||||
at86rf215_radio_sample_rate_en rx_fs;
|
||||
|
||||
int tx_power;
|
||||
at86rf215_radio_tx_cut_off_en tx_bw;
|
||||
at86rf215_radio_f_cut_en tx_fcut;
|
||||
at86rf215_radio_sample_rate_en tx_fs;
|
||||
|
||||
// at86rf215_radio_energy_detection_st rx_energy_detection;
|
||||
float rx_energy_detection_value;
|
||||
float rx_rssi;
|
||||
|
||||
// FREQUENCY
|
||||
bool modem_pll_locked;
|
||||
bool lo_pll_locked;
|
||||
float lo_frequency;
|
||||
float if_frequency;
|
||||
float actual_rf_frequency;
|
||||
float requested_rf_frequency;
|
||||
float rf_frequency_error;
|
||||
|
||||
// OTHERS
|
||||
uint8_t random_value;
|
||||
float rx_thermal_noise_floor;
|
||||
|
||||
// CALIBRATION
|
||||
int num_of_rx_cal_points;
|
||||
int num_of_tx_cal_points;
|
||||
float rx_power_gain_calibration[6001];
|
||||
float tx_power_gain_calibration[6001];
|
||||
} cariboulite_radio_state_st;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
cariboulite_radio_state_st radio_sub1g;
|
||||
cariboulite_radio_state_st radio_6g;
|
||||
} cariboulite_radios_st;
|
||||
|
||||
int cariboulite_init_radios(cariboulite_radios_st* radios, cariboulite_st *sys);
|
||||
int cariboulite_dispose_radios(cariboulite_radios_st* radios);
|
||||
int cariboulite_sync_radio_information(cariboulite_radios_st* radios);
|
||||
|
||||
int cariboulite_get_mod_state (cariboulite_radios_st* radios,
|
||||
cariboulite_channel_en channel,
|
||||
at86rf215_radio_state_cmd_en *state);
|
||||
|
||||
int cariboulite_get_mod_intertupts (cariboulite_radios_st* radios,
|
||||
cariboulite_channel_en channel,
|
||||
at86rf215_radio_irq_st **irq_table);
|
||||
|
||||
int cariboulite_set_rx_gain_control(cariboulite_radios_st* radios,
|
||||
cariboulite_channel_en channel,
|
||||
bool rx_agc_on,
|
||||
int rx_gain_value_db);
|
||||
|
||||
int cariboulite_get_rx_gain_control(cariboulite_radios_st* radios,
|
||||
cariboulite_channel_en channel,
|
||||
bool *rx_agc_on,
|
||||
int *rx_gain_value_db);
|
||||
|
||||
int cariboulite_get_rx_gain_limits(cariboulite_radios_st* radios,
|
||||
cariboulite_channel_en channel,
|
||||
int *rx_min_gain_value_db,
|
||||
int *rx_max_gain_value_db,
|
||||
int *rx_gain_value_resolution_db);
|
||||
|
||||
int cariboulite_set_rx_bandwidth(cariboulite_radios_st* radios,
|
||||
cariboulite_channel_en channel,
|
||||
at86rf215_radio_rx_bw_en rx_bw);
|
||||
|
||||
int cariboulite_get_rx_bandwidth(cariboulite_radios_st* radios,
|
||||
cariboulite_channel_en channel,
|
||||
at86rf215_radio_rx_bw_en *rx_bw);
|
||||
|
||||
int cariboulite_set_rx_samp_cutoff(cariboulite_radios_st* radios,
|
||||
cariboulite_channel_en channel,
|
||||
at86rf215_radio_sample_rate_en rx_sample_rate,
|
||||
at86rf215_radio_f_cut_en rx_cutoff);
|
||||
|
||||
int cariboulite_get_rx_samp_cutoff(cariboulite_radios_st* radios,
|
||||
cariboulite_channel_en channel,
|
||||
at86rf215_radio_sample_rate_en *rx_sample_rate,
|
||||
at86rf215_radio_f_cut_en *rx_cutoff);
|
||||
|
||||
|
||||
int cariboulite_set_tx_power(cariboulite_radios_st* radios,
|
||||
cariboulite_channel_en channel,
|
||||
int tx_power_dbm);
|
||||
|
||||
int cariboulite_get_tx_power(cariboulite_radios_st* radios,
|
||||
cariboulite_channel_en channel,
|
||||
int *tx_power_dbm);
|
||||
|
||||
|
||||
int cariboulite_set_tx_bandwidth(cariboulite_radios_st* radios,
|
||||
cariboulite_channel_en channel,
|
||||
at86rf215_radio_tx_cut_off_en tx_bw);
|
||||
|
||||
int cariboulite_get_tx_bandwidth(cariboulite_radios_st* radios,
|
||||
cariboulite_channel_en channel,
|
||||
at86rf215_radio_tx_cut_off_en *tx_bw);
|
||||
|
||||
int cariboulite_set_tx_samp_cutoff(cariboulite_radios_st* radios,
|
||||
cariboulite_channel_en channel,
|
||||
at86rf215_radio_sample_rate_en tx_sample_rate,
|
||||
at86rf215_radio_f_cut_en tx_cutoff);
|
||||
|
||||
int cariboulite_get_tx_samp_cutoff(cariboulite_radios_st* radios,
|
||||
cariboulite_channel_en channel,
|
||||
at86rf215_radio_sample_rate_en *tx_sample_rate,
|
||||
at86rf215_radio_f_cut_en *tx_cutoff);
|
||||
|
||||
|
||||
int cariboulite_get_rssi(cariboulite_radios_st* radios, cariboulite_channel_en channel, float *rssi_dbm);
|
||||
int cariboulite_get_energy_det(cariboulite_radios_st* radios, cariboulite_channel_en channel, float *energy_det_val);
|
||||
int cariboulite_get_rand_val(cariboulite_radios_st* radios, cariboulite_channel_en channel, uint8_t *rnd);
|
||||
|
||||
int cariboulite_set_frequency( cariboulite_radios_st* radios,
|
||||
cariboulite_channel_en channel,
|
||||
bool break_before_make,
|
||||
double *freq);
|
||||
|
||||
int cariboulite_get_frequency( cariboulite_radios_st* radios,
|
||||
cariboulite_channel_en channel,
|
||||
double *freq, double *lo, double* i_f);
|
||||
|
||||
int cariboulite_activate_channel(cariboulite_radios_st* radios,
|
||||
cariboulite_channel_en channel);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // __CARIBOULABS_RADIOS_H__
|
|
@ -156,7 +156,7 @@ int cariboulite_init_submodules (cariboulite_st* sys)
|
|||
// Configure modem
|
||||
//------------------------------------------------------
|
||||
ZF_LOGD("Configuring modem initial state");
|
||||
at86rf215_set_clock_output(&sys->modem, at86rf215_drive_current_8ma, at86rf215_clock_out_freq_26mhz);
|
||||
at86rf215_set_clock_output(&sys->modem, at86rf215_drive_current_8ma, at86rf215_clock_out_freq_32mhz);
|
||||
at86rf215_setup_rf_irq(&sys->modem, 0, 1, at86rf215_drive_current_4ma);
|
||||
at86rf215_radio_set_state(&sys->modem, at86rf215_rf_channel_900mhz, at86rf215_radio_state_cmd_trx_off);
|
||||
at86rf215_radio_set_state(&sys->modem, at86rf215_rf_channel_2400mhz, at86rf215_radio_state_cmd_trx_off);
|
||||
|
@ -210,7 +210,7 @@ int cariboulite_init_submodules (cariboulite_st* sys)
|
|||
|
||||
// Configure mixer
|
||||
//------------------------------------------------------
|
||||
|
||||
rffc507x_calibrate(&sys->mixer);
|
||||
|
||||
ZF_LOGI("Cariboulite submodules successfully initialized");
|
||||
return 0;
|
||||
|
@ -225,6 +225,7 @@ cariboulite_init_submodules_fail:
|
|||
int cariboulite_self_test(cariboulite_st* sys, cariboulite_self_test_result_st* res)
|
||||
{
|
||||
memset(res, 0, sizeof(cariboulite_self_test_result_st));
|
||||
int error_occured = 0;
|
||||
|
||||
//------------------------------------------------------
|
||||
ZF_LOGI("Testing FPGA communication and versions...");
|
||||
|
@ -243,6 +244,7 @@ int cariboulite_self_test(cariboulite_st* sys, cariboulite_self_test_result_st*
|
|||
ZF_LOGI("FPGA firmware didn't pass - sys_ver = %02X, manu_id = %02X",
|
||||
sys->fpga_versions.sys_ver, sys->fpga_versions.sys_manu_id);
|
||||
res->fpga_fail = 1;
|
||||
error_occured = 1;
|
||||
}
|
||||
|
||||
//------------------------------------------------------
|
||||
|
@ -254,6 +256,7 @@ int cariboulite_self_test(cariboulite_st* sys, cariboulite_self_test_result_st*
|
|||
{
|
||||
ZF_LOGI("The assembled modem is not AT86RF215 (product number: 0x%02x)", modem_pn);
|
||||
res->modem_fail = 1;
|
||||
error_occured = 1;
|
||||
}
|
||||
|
||||
//------------------------------------------------------
|
||||
|
@ -264,6 +267,7 @@ int cariboulite_self_test(cariboulite_st* sys, cariboulite_self_test_result_st*
|
|||
{
|
||||
ZF_LOGI("The assembled mixer is not RFFC5071/2[A]");
|
||||
res->mixer_fail = 1;
|
||||
error_occured = 1;
|
||||
}
|
||||
|
||||
//------------------------------------------------------
|
||||
|
@ -271,14 +275,14 @@ int cariboulite_self_test(cariboulite_st* sys, cariboulite_self_test_result_st*
|
|||
// TBD
|
||||
|
||||
// check and report problems
|
||||
/*if (!memcmp(res, 0, sizeof(cariboulite_self_test_result_st)))
|
||||
if (!error_occured)
|
||||
{
|
||||
ZF_LOGI("Self-test process finished successfully!");
|
||||
return 0;
|
||||
}*/
|
||||
}
|
||||
|
||||
//ZF_LOGI("Self-test process finished with errors");
|
||||
return 0;
|
||||
ZF_LOGI("Self-test process finished with errors");
|
||||
return -1;
|
||||
}
|
||||
|
||||
//=======================================================================================
|
||||
|
@ -388,207 +392,3 @@ void cariboulite_lib_version(cariboulite_lib_version_st* v)
|
|||
v->revision = CARIBOULITE_REVISION;
|
||||
}
|
||||
|
||||
//=================================================
|
||||
#define CARIBOULITE_MIN_MIX (30.0e6)
|
||||
#define CARIBOULITE_MAX_MIX (6000.0e6)
|
||||
#define CARIBOULITE_MIN_LO (85.0e6)
|
||||
#define CARIBOULITE_MAX_LO (4200.0e6)
|
||||
#define CARIBOULITE_2G4_MIN (2400.0e6)
|
||||
#define CARIBOULITE_2G4_MAX (2483.5e6)
|
||||
#define CARIBOULITE_S1G_MIN1 (389.5e6)
|
||||
#define CARIBOULITE_S1G_MAX1 (510.0e6)
|
||||
#define CARIBOULITE_S1G_MIN2 (779.0e6)
|
||||
#define CARIBOULITE_S1G_MAX2 (1020.0e6)
|
||||
|
||||
int cariboulite_setup_frequency( cariboulite_st *sys,
|
||||
cariboulite_channel_en ch,
|
||||
cariboulite_channel_dir_en dir,
|
||||
double *freq)
|
||||
{
|
||||
double f_rf = *freq;
|
||||
double modem_act_freq = 0.0;
|
||||
double lo_act_freq = 0.0;
|
||||
double act_freq = 0.0;
|
||||
int error = 0;
|
||||
int conversion_direction = 0;
|
||||
|
||||
//--------------------------------------------------------------------------------
|
||||
// SUB 1GHZ CONFIGURATION
|
||||
//--------------------------------------------------------------------------------
|
||||
if (ch == cariboulite_channel_s1g)
|
||||
{
|
||||
if ( (f_rf >= CARIBOULITE_S1G_MIN1 && f_rf <= CARIBOULITE_S1G_MAX1) ||
|
||||
(f_rf >= CARIBOULITE_S1G_MIN2 && f_rf <= CARIBOULITE_S1G_MAX2) )
|
||||
{
|
||||
// setup modem frequency <= f_rf
|
||||
at86rf215_radio_set_state( &sys->modem,
|
||||
at86rf215_rf_channel_900mhz,
|
||||
at86rf215_radio_state_cmd_trx_off);
|
||||
modem_act_freq = at86rf215_setup_channel (&sys->modem,
|
||||
at86rf215_rf_channel_900mhz,
|
||||
(uint32_t)f_rf);
|
||||
at86rf215_radio_set_state( &sys->modem,
|
||||
at86rf215_rf_channel_900mhz,
|
||||
at86rf215_radio_state_cmd_rx);
|
||||
|
||||
// return actual frequency
|
||||
*freq = modem_act_freq;
|
||||
}
|
||||
else
|
||||
{
|
||||
// error - unsupported frequency for S1G channel
|
||||
ZF_LOGE("unsupported frequency for S1G channel - %.2f Hz", f_rf);
|
||||
error = 1;
|
||||
}
|
||||
}
|
||||
//--------------------------------------------------------------------------------
|
||||
// 30-6GHz CONFIGURATION
|
||||
//--------------------------------------------------------------------------------
|
||||
else if (ch == cariboulite_channel_6g)
|
||||
{
|
||||
at86rf215_radio_set_state( &sys->modem,
|
||||
at86rf215_rf_channel_2400mhz,
|
||||
at86rf215_radio_state_cmd_trx_off);
|
||||
|
||||
caribou_fpga_set_io_ctrl_mode (&sys->fpga, 0, caribou_fpga_io_ctrl_rfm_low_power);
|
||||
|
||||
//-------------------------------------
|
||||
if ( f_rf >= CARIBOULITE_MIN_MIX &&
|
||||
f_rf <= (CARIBOULITE_2G4_MIN - CARIBOULITE_MIN_LO) )
|
||||
{
|
||||
// region #1
|
||||
// setup modem frequency <= CARIBOULITE_2G4_MIN
|
||||
modem_act_freq = (double)at86rf215_setup_channel (&sys->modem,
|
||||
at86rf215_rf_channel_2400mhz,
|
||||
(uint32_t)(CARIBOULITE_2G4_MIN));
|
||||
|
||||
// setup mixer LO <= CARIBOULITE_2G4_MIN - f_rf
|
||||
lo_act_freq = rffc507x_set_frequency(&sys->mixer, modem_act_freq - f_rf);
|
||||
act_freq = modem_act_freq - lo_act_freq;
|
||||
|
||||
// setup fpga RFFE <= upconvert (tx / rx)
|
||||
conversion_direction = 1;
|
||||
}
|
||||
//-------------------------------------
|
||||
else if ( f_rf > (CARIBOULITE_2G4_MIN - CARIBOULITE_MIN_LO) &&
|
||||
f_rf < CARIBOULITE_2G4_MIN )
|
||||
{
|
||||
// region #2
|
||||
// setup modem frequency <= f_rf + CARIBOULITE_MIN_LO
|
||||
modem_act_freq = (double)at86rf215_setup_channel (&sys->modem,
|
||||
at86rf215_rf_channel_2400mhz,
|
||||
(uint32_t)(CARIBOULITE_MIN_LO + f_rf));
|
||||
|
||||
// setup mixer LO <= CARIBOULITE_MIN_LO
|
||||
lo_act_freq = rffc507x_set_frequency(&sys->mixer, modem_act_freq - f_rf);
|
||||
act_freq = modem_act_freq - lo_act_freq;
|
||||
|
||||
// setup fpga RFFE <= upconvert (tx / rx)
|
||||
conversion_direction = 1;
|
||||
}
|
||||
//-------------------------------------
|
||||
else if ( f_rf >= CARIBOULITE_2G4_MIN &&
|
||||
f_rf <= CARIBOULITE_2G4_MAX )
|
||||
{
|
||||
// region #3 - bypass mode
|
||||
// setup modem frequency <= f_rf
|
||||
modem_act_freq = (double)at86rf215_setup_channel (&sys->modem,
|
||||
at86rf215_rf_channel_2400mhz,
|
||||
(uint32_t)f_rf);
|
||||
act_freq = modem_act_freq;
|
||||
conversion_direction = 2;
|
||||
}
|
||||
//-------------------------------------
|
||||
else if ( f_rf > CARIBOULITE_2G4_MAX &&
|
||||
f_rf <= (CARIBOULITE_2G4_MAX + CARIBOULITE_MIN_MIX) )
|
||||
{
|
||||
// region #4
|
||||
// setup modem frequency <= f_rf - CARIBOULITE_MIN_LO
|
||||
modem_act_freq = (double)at86rf215_setup_channel (&sys->modem,
|
||||
at86rf215_rf_channel_2400mhz,
|
||||
(uint32_t)(f_rf - CARIBOULITE_MIN_LO));
|
||||
|
||||
// setup mixer LO <= CARIBOULITE_MIN_LO
|
||||
lo_act_freq = rffc507x_set_frequency(&sys->mixer, f_rf - modem_act_freq);
|
||||
act_freq = modem_act_freq + lo_act_freq;
|
||||
|
||||
// setup fpga RFFE <= downconvert (tx / rx)
|
||||
conversion_direction = 3;
|
||||
}
|
||||
//-------------------------------------
|
||||
else if ( f_rf > (CARIBOULITE_2G4_MAX + CARIBOULITE_MIN_MIX) &&
|
||||
f_rf <= CARIBOULITE_MAX_MIX )
|
||||
{
|
||||
// region #5
|
||||
// here it would be beneficial to use lowest modem frequency - 2400 - TBD
|
||||
// setup modem frequency <= CARIBOULITE_2G4_MAX
|
||||
modem_act_freq = (double)at86rf215_setup_channel (&sys->modem,
|
||||
at86rf215_rf_channel_2400mhz,
|
||||
(uint32_t)(CARIBOULITE_2G4_MAX));
|
||||
|
||||
// setup mixer LO <= f_rf - CARIBOULITE_2G4_MAX
|
||||
lo_act_freq = rffc507x_set_frequency(&sys->mixer, f_rf - modem_act_freq);
|
||||
act_freq = modem_act_freq + lo_act_freq;
|
||||
|
||||
// setup fpga RFFE <= downconvert (tx / rx)
|
||||
conversion_direction = 3;
|
||||
}
|
||||
//-------------------------------------
|
||||
else
|
||||
{
|
||||
// error - unsupported frequency for 6G channel
|
||||
ZF_LOGE("unsupported frequency for 6GHz channel - %.2f Hz", f_rf);
|
||||
error = 1;
|
||||
}
|
||||
|
||||
*freq = act_freq;
|
||||
|
||||
rffc507x_device_status_st stat;
|
||||
// wait for the mixer to lock
|
||||
for (int i = 0; i<10; i++)
|
||||
{
|
||||
rffc507x_readback_status(&sys->mixer, NULL, &stat);
|
||||
if (stat.pll_lock) break;
|
||||
usleep(100000);
|
||||
}
|
||||
if (!stat.pll_lock)
|
||||
{
|
||||
ZF_LOGE("Mixer couldn't lock on LO = %.2f", lo_act_freq);
|
||||
rffc507x_print_stat(&stat);
|
||||
error = 3;
|
||||
}
|
||||
|
||||
// Setup the frontend
|
||||
switch (conversion_direction)
|
||||
{
|
||||
case 1: if (dir == 0) caribou_fpga_set_io_ctrl_mode (&sys->fpga, 0, caribou_fpga_io_ctrl_rfm_rx_lowpass);
|
||||
else if (dir == 1) caribou_fpga_set_io_ctrl_mode (&sys->fpga, 0, caribou_fpga_io_ctrl_rfm_tx_hipass);
|
||||
break;
|
||||
case 2: caribou_fpga_set_io_ctrl_mode (&sys->fpga, 0, caribou_fpga_io_ctrl_rfm_bypass);
|
||||
break;
|
||||
case 3: if (dir == 0) caribou_fpga_set_io_ctrl_mode (&sys->fpga, 0, caribou_fpga_io_ctrl_rfm_rx_hipass);
|
||||
else if (dir == 1) caribou_fpga_set_io_ctrl_mode (&sys->fpga, 0, caribou_fpga_io_ctrl_rfm_tx_lowpass);
|
||||
break;
|
||||
default: break;
|
||||
}
|
||||
|
||||
// Activate the modem - this should be outside
|
||||
at86rf215_radio_set_state( &sys->modem,
|
||||
at86rf215_rf_channel_2400mhz,
|
||||
at86rf215_radio_state_cmd_rx);
|
||||
}
|
||||
else
|
||||
{
|
||||
// unknown channel
|
||||
ZF_LOGE("The requested channel (%d) is unsupported", ch);
|
||||
error = 2;
|
||||
}
|
||||
|
||||
if (error == 0)
|
||||
{
|
||||
ZF_LOGD("Frequency setting CH: %d, Wanted: %.2f Hz, Set: %.2f Hz (MOD: %.2f, MIX: %.2f)",
|
||||
ch, f_rf, act_freq, modem_act_freq, lo_act_freq);
|
||||
}
|
||||
|
||||
return -error;
|
||||
}
|
|
@ -6,6 +6,7 @@ extern "C" {
|
|||
#endif
|
||||
|
||||
|
||||
#include "cariboulite_radios.h"
|
||||
#include "latticeice40/latticeice40.h"
|
||||
#include "caribou_fpga/caribou_fpga.h"
|
||||
#include "at86rf215/at86rf215.h"
|
||||
|
@ -52,19 +53,6 @@ typedef enum
|
|||
cariboulite_self_test_failed = -5,
|
||||
} cariboulite_errors_en;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
cariboulite_channel_dir_rx = 0,
|
||||
cariboulite_channel_dir_tx = 1,
|
||||
} cariboulite_channel_dir_en;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
cariboulite_channel_s1g = 0,
|
||||
cariboulite_channel_6g = 1,
|
||||
} cariboulite_channel_en;
|
||||
|
||||
|
||||
int cariboulite_init_driver(cariboulite_st *sys, void* signal_handler_cb, cariboulite_board_info_st *info);
|
||||
void cariboulite_release_driver(cariboulite_st *sys);
|
||||
void cariboulite_lib_version(cariboulite_lib_version_st* v);
|
||||
|
|
|
@ -56,24 +56,6 @@ stdio.h
|
|||
pigpio.h
|
||||
-
|
||||
|
||||
../../zf_log/zf_log.h
|
||||
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/rffc507x/rffc507x.c
|
||||
stdint.h
|
||||
-
|
||||
string.h
|
||||
-
|
||||
math.h
|
||||
-
|
||||
zf_log/zf_log.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/rffc507x/zf_log/zf_log.h
|
||||
rffc507x.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/rffc507x/rffc507x.h
|
||||
rffc507x_regs.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/rffc507x/rffc507x_regs.h
|
||||
stdio.h
|
||||
-
|
||||
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/rffc507x/rffc507x.h
|
||||
stdio.h
|
||||
-
|
||||
|
@ -84,9 +66,13 @@ 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/rffc507x/rffc507x_regs.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/rffc507x/test_rffc507x.c
|
||||
stdio.h
|
||||
-
|
||||
stdint.h
|
||||
-
|
||||
rffc507x.h
|
||||
/home/pi/projects/cariboulite/software/libcariboulite/src/rffc507x/rffc507x.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
|
||||
|
||||
|
|
Plik binarny nie jest wyświetlany.
|
@ -39,9 +39,10 @@
|
|||
#define LOG(x,...)
|
||||
#endif
|
||||
|
||||
|
||||
#define LO_MAX_HZ (5400000000.0)
|
||||
#define REF_FREQ 26000000.0
|
||||
#define LO_MAX 5400
|
||||
#define LO_MAX_HZ (LO_MAX*1e6)
|
||||
#define REF_FREQ 32
|
||||
#define REF_FREQ_HZ (REF_FREQ*1e6)
|
||||
#define FREQ_ONE_MHZ (1000*1000)
|
||||
|
||||
//===========================================================================
|
||||
|
@ -138,51 +139,23 @@ int rffc507x_init( rffc507x_st* dev,
|
|||
// interface
|
||||
|
||||
set_RFFC507X_ENBL(dev, 0); // The device is disabled
|
||||
set_RFFC507X_MODE(dev, 1); // Select the PLL bank - in RFFC5072
|
||||
// we have only PLL2, so MODE = 1 always
|
||||
set_RFFC507X_4WIRE(dev, 0); // Only 3-wire operation
|
||||
set_RFFC507X_ADDR(dev, 0); // No address sllicing enabled - single device
|
||||
set_RFFC507X_RESET(dev, 0); // No reset
|
||||
|
||||
// GPO configurations
|
||||
set_RFFC507X_P2GPO(dev, 0); // The mode pin is disabled
|
||||
set_RFFC507X_P1GPO(dev, 0); // The mode pin is disabled
|
||||
set_RFFC507X_GATE(dev, 1); // When ENBL is low, do not force other
|
||||
// GPOs to go LOW as well
|
||||
set_RFFC507X_LOCK(dev, 0); // Do not sent the lock signal to GPO4
|
||||
set_RFFC507X_MODE(dev, 1);
|
||||
|
||||
// put zeros in freq contol registers
|
||||
set_RFFC507X_P2N(dev, 0);
|
||||
set_RFFC507X_P2LODIV(dev, 0);
|
||||
set_RFFC507X_P2PRESC(dev, 0);
|
||||
set_RFFC507X_P2VCOSEL(dev, 0);
|
||||
|
||||
//set_RFFC507X_P1N(dev, 0);
|
||||
//set_RFFC507X_P1LODIV(dev, 0);
|
||||
//set_RFFC507X_P1PRESC(dev, 0);
|
||||
//set_RFFC507X_P1VCOSEL(dev, 0);
|
||||
|
||||
// Commit the current batch
|
||||
rffc507x_regs_commit(dev);
|
||||
|
||||
// VCO_AUTO selection
|
||||
set_RFFC507X_AUTO(dev, 1);
|
||||
set_RFFC507X_CTMAX(dev, 127);
|
||||
set_RFFC507X_CTMIN(dev, 0);
|
||||
|
||||
// CT_CAL1/2
|
||||
set_RFFC507X_P2CTV(dev, 12);
|
||||
set_RFFC507X_P1CTV(dev, 12);
|
||||
|
||||
// TEST control - bypassing TBD
|
||||
set_RFFC507X_RGBYP(dev, 1);
|
||||
set_RFFC507X_P2MIXIDD(dev, 1);
|
||||
set_RFFC507X_P1MIXIDD(dev, 1);
|
||||
|
||||
// Others
|
||||
set_RFFC507X_LDEN(dev, 1);
|
||||
set_RFFC507X_LDLEV(dev, 1);
|
||||
|
||||
// Full duplex disabled
|
||||
set_RFFC507X_FULLD(dev, 0);
|
||||
|
||||
// Mixer linearity values - we need to understand the actual value
|
||||
set_RFFC507X_P1MIXIDD(dev, 4);
|
||||
set_RFFC507X_P2MIXIDD(dev, 4);
|
||||
set_RFFC507X_BYPAS(dev, 0);
|
||||
|
||||
// Write default register values to chip.
|
||||
int ret = rffc507x_regs_commit(dev);
|
||||
|
@ -231,7 +204,7 @@ uint16_t rffc507x_reg_read(rffc507x_st* dev, uint8_t r)
|
|||
uint16_t vin = 0;
|
||||
|
||||
// Readback register is not cached.
|
||||
//if (r == RFFC507X_READBACK_REG)
|
||||
if (r == RFFC507X_READBACK_REG)
|
||||
{
|
||||
io_utils_spi_transmit(dev->io_spi, dev->io_spi_handle, &vout, (uint8_t*)&vin, 2, io_utils_spi_read);
|
||||
return vin;
|
||||
|
@ -239,10 +212,11 @@ uint16_t rffc507x_reg_read(rffc507x_st* dev, uint8_t r)
|
|||
|
||||
// Discard uncommited write when reading. This shouldn't
|
||||
// happen, and probably has not been tested.
|
||||
if ((dev->rffc507x_regs_dirty >> r) & 0x1)
|
||||
{
|
||||
io_utils_spi_transmit(dev->io_spi, dev->io_spi_handle, &vout, (uint8_t*)&vin, 2, io_utils_spi_read);
|
||||
}
|
||||
//if ((dev->rffc507x_regs_dirty >> r) & 0x1)
|
||||
//{
|
||||
io_utils_spi_transmit(dev->io_spi, dev->io_spi_handle, &vout, (uint8_t*)&(dev->rffc507x_regs[r]),
|
||||
2, io_utils_spi_read);
|
||||
//}
|
||||
return dev->rffc507x_regs[r];
|
||||
}
|
||||
|
||||
|
@ -278,22 +252,23 @@ void rffc507x_enable(rffc507x_st* dev)
|
|||
//===========================================================================
|
||||
void rffc507x_calculate_freq_params(uint8_t lodiv, double fvco, uint8_t fbkdiv, uint16_t *n, uint16_t *p1nmsb, uint8_t *p1nlsb, double* act_freq_hz)
|
||||
{
|
||||
double n_div = fvco / fbkdiv / REF_FREQ;
|
||||
double n_div = fvco / fbkdiv / REF_FREQ_HZ;
|
||||
*n = (uint16_t)(n_div);
|
||||
|
||||
double temp_p1nmsb = ( (double)(1<<16) ) * ( n_div - (double)(*n) );
|
||||
*p1nmsb = (uint16_t)(temp_p1nmsb) & 0xFFFF;
|
||||
*p1nlsb = (uint8_t)( round(( temp_p1nmsb- *p1nmsb ) * ((double)(1<<8)))) & 0xFF;
|
||||
//*p1nlsb = (uint8_t)( (( temp_p1nmsb- *p1nmsb ) * ((double)(1<<8)))) & 0xFF;
|
||||
|
||||
uint32_t n_div24_bit = (uint32_t)(round(n_div * (1<<24))) & 0xFFFFFFFF;
|
||||
//uint32_t n_div24_bit = (uint32_t)((n_div * (1<<24))) & 0xFFFFFFFF;
|
||||
|
||||
if (act_freq_hz) *act_freq_hz = (REF_FREQ * n_div24_bit * fbkdiv) / ((double)(lodiv) * (double)(1<<24));
|
||||
if (act_freq_hz) *act_freq_hz = (REF_FREQ_HZ * n_div24_bit * fbkdiv) / ((double)(lodiv) * (double)(1<<24));
|
||||
}
|
||||
|
||||
//===========================================================================
|
||||
double rffc507x_set_frequency(rffc507x_st* dev, double lo_hz)
|
||||
{
|
||||
//uint32_t tune_freq;
|
||||
uint8_t lodiv;
|
||||
double fvco;
|
||||
uint8_t fbkdiv;
|
||||
|
@ -309,11 +284,6 @@ double rffc507x_set_frequency(rffc507x_st* dev, double lo_hz)
|
|||
lodiv = 1 << n_lo; // lodiv = 2^(n_lo)
|
||||
fvco = lodiv * lo_hz; // in Hz!
|
||||
|
||||
/* higher divider and charge pump current required above
|
||||
* 3.2GHz. Programming guide says these values (fbkdiv, n,
|
||||
* maybe pump?) can be changed back after enable in order to
|
||||
* improve phase noise, since the VCO will already be stable
|
||||
* and will be unaffected. */
|
||||
if (fvco > 3200000000.0f)
|
||||
{
|
||||
fbkdiv = 4;
|
||||
|
@ -327,27 +297,20 @@ double rffc507x_set_frequency(rffc507x_st* dev, double lo_hz)
|
|||
|
||||
rffc507x_calculate_freq_params(lodiv, fvco, fbkdiv, &n, &p1nmsb, &p1nlsb, &tune_freq_hz);
|
||||
|
||||
ZF_LOGD("----------------------------------------------------------");
|
||||
ZF_LOGD("LO_HZ=%.2f n_lo=%d lodiv=%d", lo_hz, n_lo, lodiv);
|
||||
ZF_LOGD("fvco=%.2f fbkdiv=%d n=%d", fvco, fbkdiv, n);
|
||||
ZF_LOGD("frac=%d, p1nmsb=%d, p1nlsb=%d, tune_freq_hz=%.2f", p1nmsb<<8 | p1nlsb, p1nmsb, p1nlsb, tune_freq_hz);
|
||||
|
||||
// Path 1
|
||||
//set_RFFC507X_P1LODIV(dev, n_lo);
|
||||
//set_RFFC507X_P1N(dev, n);
|
||||
//set_RFFC507X_P1PRESC(dev, fbkdiv >> 1);
|
||||
//set_RFFC507X_P1NMSB(dev, p1nmsb);
|
||||
//set_RFFC507X_P1NLSB(dev, p1nlsb);
|
||||
//ZF_LOGD("----------------------------------------------------------");
|
||||
//ZF_LOGD("LO_HZ=%.2f n_lo=%d lodiv=%d", lo_hz, n_lo, lodiv);
|
||||
//ZF_LOGD("fvco=%.2f fbkdiv=%d n=%d", fvco, fbkdiv, n);
|
||||
//ZF_LOGD("frac=%d, p1nmsb=%d, p1nlsb=%d, tune_freq_hz=%.2f", p1nmsb<<8 | p1nlsb, p1nmsb, p1nlsb, tune_freq_hz);
|
||||
|
||||
// Path 2
|
||||
set_RFFC507X_P2LODIV(dev, n_lo);
|
||||
set_RFFC507X_P2N(dev, n);
|
||||
set_RFFC507X_P2PRESC(dev, fbkdiv >> 1);
|
||||
set_RFFC507X_P2VCOSEL(dev, 2);
|
||||
set_RFFC507X_P2NMSB(dev, p1nmsb);
|
||||
set_RFFC507X_P2NLSB(dev, p1nlsb);
|
||||
|
||||
rffc507x_regs_commit(dev);
|
||||
|
||||
rffc507x_enable(dev);
|
||||
|
||||
if (fbkdiv == 4)
|
||||
|
@ -359,17 +322,10 @@ double rffc507x_set_frequency(rffc507x_st* dev, double lo_hz)
|
|||
fbkdiv = 2;
|
||||
rffc507x_calculate_freq_params(lodiv, fvco, fbkdiv, &n, &p1nmsb, &p1nlsb, &tune_freq_hz);
|
||||
|
||||
ZF_LOGD("LO_HZ=%.2f n_lo=%d lodiv=%d", lo_hz, n_lo, lodiv);
|
||||
ZF_LOGD("fvco=%.2f fbkdiv=%d n=%d", fvco, fbkdiv, n);
|
||||
ZF_LOGD("frac=%d, p1nmsb=%d, p1nlsb=%d, tune_freq_hz=%.2f", p1nmsb<<8 | p1nlsb, p1nmsb, p1nlsb, tune_freq_hz);
|
||||
ZF_LOGD("----------------------------------------------------------");
|
||||
|
||||
// Path 1
|
||||
//set_RFFC507X_P1LODIV(dev, n_lo);
|
||||
//set_RFFC507X_P1N(dev, n);
|
||||
//set_RFFC507X_P1PRESC(dev, fbkdiv >> 1);
|
||||
//set_RFFC507X_P1NMSB(dev, p1nmsb);
|
||||
//set_RFFC507X_P1NLSB(dev, p1nlsb);
|
||||
//ZF_LOGD("LO_HZ=%.2f n_lo=%d lodiv=%d", lo_hz, n_lo, lodiv);
|
||||
//ZF_LOGD("fvco=%.2f fbkdiv=%d n=%d", fvco, fbkdiv, n);
|
||||
//ZF_LOGD("frac=%d, p1nmsb=%d, p1nlsb=%d, tune_freq_hz=%.2f", p1nmsb<<8 | p1nlsb, p1nmsb, p1nlsb, tune_freq_hz);
|
||||
//ZF_LOGD("----------------------------------------------------------");
|
||||
|
||||
// Path 2
|
||||
set_RFFC507X_P2LODIV(dev, n_lo);
|
||||
|
@ -383,21 +339,6 @@ double rffc507x_set_frequency(rffc507x_st* dev, double lo_hz)
|
|||
return tune_freq_hz;
|
||||
}
|
||||
|
||||
//===========================================================================
|
||||
void rffc507x_setup_pin_functions(rffc507x_st* dev)
|
||||
{
|
||||
ZF_LOGD("setting up gpio configurations (4-wire)");
|
||||
set_RFFC507X_RESET(dev, 0);
|
||||
set_RFFC507X_ADDR(dev, 0);
|
||||
set_RFFC507X_4WIRE(dev, 1);
|
||||
set_RFFC507X_MODE(dev, 1);
|
||||
set_RFFC507X_ENBL(dev, 1);
|
||||
set_RFFC507X_SIPIN(dev, 0);
|
||||
set_RFFC507X_LOCK(dev, 0);
|
||||
set_RFFC507X_GATE(dev, 0);
|
||||
rffc507x_regs_commit(dev);
|
||||
}
|
||||
|
||||
//===========================================================================
|
||||
void rffc507x_readback(rffc507x_st* dev, uint16_t *readback_buff, int buf_len)
|
||||
{
|
||||
|
@ -469,3 +410,39 @@ void rffc507x_set_gpo(rffc507x_st* dev, uint8_t gpo)
|
|||
rffc507x_regs_commit(dev);
|
||||
}
|
||||
|
||||
//===========================================================================
|
||||
void rffc507x_calibrate(rffc507x_st* dev)
|
||||
{
|
||||
// CAL_TIME
|
||||
set_RFFC507X_WAIT(dev, 1); // If high then the RF sections are not enabled until the PLL calibrations complete
|
||||
set_RFFC507X_TCT(dev, 31); // Duration of CT acquisition
|
||||
set_RFFC507X_CTAVG(dev, 3); // Number of samples averaged to compute final value during CT Calibration:
|
||||
// 0 = average 16 samples;
|
||||
// 1 = average 32 samples;
|
||||
// 2 = average 64 samples;
|
||||
// 3 = average 128 samples
|
||||
set_RFFC507X_KVAVG(dev, 3); // Number of samples averaged to compute final value during KV compensation
|
||||
rffc507x_regs_commit(dev);
|
||||
|
||||
/*
|
||||
set_RFFC507X_P2CT (dev, 1); // VCO coarse tune enable, path2 mode
|
||||
rffc507x_regs_commit(dev);
|
||||
*/
|
||||
|
||||
set_RFFC507X_P1KV(dev, 0);
|
||||
set_RFFC507X_P2KV(dev, 0);
|
||||
rffc507x_regs_commit(dev);
|
||||
}
|
||||
|
||||
//===========================================================================
|
||||
void rffc507x_relock(rffc507x_st* dev)
|
||||
{
|
||||
set_RFFC507X_RELOK(dev, 1);
|
||||
rffc507x_regs_commit(dev);
|
||||
}
|
||||
|
||||
//===========================================================================
|
||||
void rffc507x_output_lo(rffc507x_st* dev, int state)
|
||||
{
|
||||
set_RFFC507X_BYPAS(dev, state);
|
||||
}
|
|
@ -49,10 +49,11 @@ typedef struct // readsel = 0000
|
|||
|
||||
typedef struct // readsel = 0001
|
||||
{
|
||||
uint8_t dummy : 1; // LSB
|
||||
uint8_t coarse_tune_cal_fail : 1;
|
||||
uint8_t kv_cal_value : 6;
|
||||
uint8_t coarse_tune_cal_value : 7;
|
||||
uint8_t pll_lock :1;
|
||||
uint8_t pll_lock :1; // MSB
|
||||
} rffc507x_device_status_st;
|
||||
#pragma pack()
|
||||
|
||||
|
@ -100,6 +101,9 @@ void rffc507x_readback_status(rffc507x_st* dev, rffc507x_device_id_st* dev_id,
|
|||
|
||||
void rffc507x_print_dev_id(rffc507x_device_id_st* dev_id);
|
||||
void rffc507x_print_stat(rffc507x_device_status_st* stat);
|
||||
void rffc507x_calibrate(rffc507x_st* dev);
|
||||
void rffc507x_relock(rffc507x_st* dev);
|
||||
void rffc507x_output_lo(rffc507x_st* dev, int state);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
|
|
@ -58,7 +58,7 @@ static inline void set_##n(rffc507x_st* dev, uint16_t v) { \
|
|||
__MREG__(RFFC507X_PLLCPL,0,0,3)
|
||||
__MREG__(RFFC507X_P1CPDEF,0,3,6)
|
||||
__MREG__(RFFC507X_P2CPDEF,0,9,6)
|
||||
__MREG__(RFFC507X_IFACT,0,15,1)
|
||||
__MREG__(RFFC507X_LFACT,0,15,1)
|
||||
#define RFFC507X_
|
||||
|
||||
/* REG 01 (1): XO */
|
||||
|
|
|
@ -59,17 +59,62 @@ int main ()
|
|||
rffc507x_print_stat(&stat);
|
||||
|
||||
rffc507x_set_frequency(&dev, 85e6);
|
||||
|
||||
for (int i = 0; i<5; i++)
|
||||
{
|
||||
io_utils_usleep(10000);
|
||||
rffc507x_readback_status(&dev, NULL, &stat);
|
||||
rffc507x_print_stat(&stat);
|
||||
}
|
||||
|
||||
|
||||
|
||||
rffc507x_set_frequency(&dev, 314159265);
|
||||
|
||||
for (int i = 0; i<5; i++)
|
||||
{
|
||||
io_utils_usleep(10000);
|
||||
rffc507x_readback_status(&dev, NULL, &stat);
|
||||
rffc507x_print_stat(&stat);
|
||||
}
|
||||
|
||||
|
||||
rffc507x_set_frequency(&dev, 915e6);
|
||||
|
||||
for (int i = 0; i<5; i++)
|
||||
{
|
||||
io_utils_usleep(10000);
|
||||
rffc507x_readback_status(&dev, NULL, &stat);
|
||||
rffc507x_print_stat(&stat);
|
||||
}
|
||||
|
||||
rffc507x_set_frequency(&dev, 1200e6);
|
||||
|
||||
for (int i = 0; i<5; i++)
|
||||
{
|
||||
io_utils_usleep(10000);
|
||||
rffc507x_readback_status(&dev, NULL, &stat);
|
||||
rffc507x_print_stat(&stat);
|
||||
}
|
||||
|
||||
|
||||
rffc507x_set_frequency(&dev, 4600e6);
|
||||
|
||||
for (int i = 0; i<5; i++)
|
||||
{
|
||||
io_utils_usleep(10000);
|
||||
rffc507x_readback_status(&dev, NULL, &stat);
|
||||
rffc507x_print_stat(&stat);
|
||||
}
|
||||
|
||||
|
||||
rffc507x_set_frequency(&dev, 5600e6);
|
||||
|
||||
for (int i = 0; i<5; i++)
|
||||
{
|
||||
io_utils_usleep(10000);
|
||||
rffc507x_readback_status(&dev, NULL, &stat);
|
||||
rffc507x_print_stat(&stat);
|
||||
io_utils_usleep(100000);
|
||||
}
|
||||
|
||||
rffc507x_release(&dev);
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
#include <math.h>
|
||||
#include "Cariboulite.hpp"
|
||||
#include "cariboulite_config/cariboulite_config_default.h"
|
||||
|
||||
|
@ -27,12 +28,15 @@ Cariboulite::Cariboulite(const SoapySDR::Kwargs &args)
|
|||
CARIBOULITE_CONFIG_DEFAULT(temp);
|
||||
memcpy(&cariboulite_sys, &temp, sizeof(cariboulite_sys));
|
||||
cariboulite_init_driver(&cariboulite_sys, (void*)soapy_sighandler, NULL);
|
||||
cariboulite_init_radios(&radios, &cariboulite_sys);
|
||||
// TODO: Exception when error
|
||||
}
|
||||
|
||||
//========================================================
|
||||
Cariboulite::~Cariboulite()
|
||||
{
|
||||
printf("~Cariboulite\n");
|
||||
cariboulite_dispose_radios(&radios);
|
||||
cariboulite_release_driver(&cariboulite_sys);
|
||||
}
|
||||
|
||||
|
@ -86,17 +90,148 @@ std::string Cariboulite::getAntenna( const int direction, const size_t channel )
|
|||
/*******************************************************************
|
||||
* Gain API
|
||||
******************************************************************/
|
||||
void Cariboulite::setGainMode( const int direction, const size_t channel, const bool automatic )
|
||||
std::vector<std::string> Cariboulite::listGains(const int direction, const size_t channel) const
|
||||
{
|
||||
printf("setGainMode\n");
|
||||
/* enable AGC if the hardware supports it, or remove this function */
|
||||
std::vector<std::string> gains;
|
||||
if (direction == SOAPY_SDR_RX)
|
||||
{
|
||||
for (int i = 0; i < 23; i ++)
|
||||
{
|
||||
char t[10] = {0};
|
||||
sprintf(t, "%d dB", i*3);
|
||||
gains.push_back(t);
|
||||
}
|
||||
}
|
||||
else if (direction == SOAPY_SDR_TX)
|
||||
{
|
||||
for (int i = 0; i < 32; i ++)
|
||||
{
|
||||
char t[10] = {0};
|
||||
sprintf(t, "%d dB", i);
|
||||
gains.push_back(t);
|
||||
}
|
||||
}
|
||||
|
||||
return (gains);
|
||||
}
|
||||
|
||||
//========================================================
|
||||
/*!
|
||||
* Set the overall amplification in a chain.
|
||||
* The gain will be distributed automatically across available element.
|
||||
* \param direction the channel direction RX or TX
|
||||
* \param channel an available channel on the device
|
||||
* \param value the new amplification value in dB
|
||||
*/
|
||||
void Cariboulite::setGain(const int direction, const size_t channel, const double value)
|
||||
{
|
||||
cariboulite_radio_state_st* rad = channel == cariboulite_channel_s1g? &radios.radio_sub1g : &radios.radio_6g;
|
||||
bool cur_agc_mode = rad->rx_agc_on;
|
||||
|
||||
if (direction == SOAPY_SDR_RX)
|
||||
{
|
||||
cariboulite_set_rx_gain_control(&radios, (cariboulite_channel_en)channel, cur_agc_mode, value);
|
||||
}
|
||||
else if (direction == SOAPY_SDR_TX)
|
||||
{
|
||||
// base if -18dBm output so, given a gain of 0dB we should have -18 dBm
|
||||
cariboulite_set_tx_power(&radios, (cariboulite_channel_en)channel, value - 18.0);
|
||||
}
|
||||
}
|
||||
|
||||
//========================================================
|
||||
void Cariboulite::setGain(const int direction, const size_t channel, const std::string &name, const double value)
|
||||
{
|
||||
// no amplification device names - redirect to the regular setGain function
|
||||
Cariboulite::setGain(direction, channel, value);
|
||||
}
|
||||
|
||||
//========================================================
|
||||
double Cariboulite::getGain(const int direction, const size_t channel) const
|
||||
{
|
||||
int value = 0;
|
||||
if (direction == SOAPY_SDR_RX)
|
||||
{
|
||||
cariboulite_get_rx_gain_control((cariboulite_radios_st*)&radios, (cariboulite_channel_en)channel, NULL, &value);
|
||||
}
|
||||
else if (direction == SOAPY_SDR_TX)
|
||||
{
|
||||
int temp = 0;
|
||||
cariboulite_get_tx_power((cariboulite_radios_st*)&radios, (cariboulite_channel_en)channel, &temp);
|
||||
value = temp + 18.0;
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
//========================================================
|
||||
double Cariboulite::getGain(const int direction, const size_t channel, const std::string &name) const
|
||||
{
|
||||
return getGain(direction, channel);
|
||||
}
|
||||
|
||||
//========================================================
|
||||
SoapySDR::Range Cariboulite::getGainRange(const int direction, const size_t channel) const
|
||||
{
|
||||
if (direction == SOAPY_SDR_RX)
|
||||
{
|
||||
return SoapySDR::Range(0.0, 23.0*3.0);
|
||||
}
|
||||
|
||||
// and for TX
|
||||
return SoapySDR::Range(0.0, 31.0);
|
||||
}
|
||||
|
||||
//========================================================
|
||||
SoapySDR::Range Cariboulite::getGainRange(const int direction, const size_t channel, const std::string &name) const
|
||||
{
|
||||
return getGainRange(direction, channel);
|
||||
}
|
||||
|
||||
|
||||
//========================================================
|
||||
bool Cariboulite::hasGainMode(const int direction, const size_t channel) const
|
||||
{
|
||||
return (direction==SOAPY_SDR_RX?true:false);
|
||||
}
|
||||
|
||||
//========================================================
|
||||
/*!
|
||||
* Set the automatic gain mode on the chain.
|
||||
* \param direction the channel direction RX or TX
|
||||
* \param channel an available channel on the device
|
||||
* \param automatic true for automatic gain setting
|
||||
*/
|
||||
void Cariboulite::setGainMode( const int direction, const size_t channel, const bool automatic )
|
||||
{
|
||||
printf("setGainMode\n");
|
||||
cariboulite_radio_state_st* rad = channel == cariboulite_channel_s1g? &radios.radio_sub1g : &radios.radio_6g;
|
||||
bool rx_gain = rad->rx_gain_value_db;
|
||||
|
||||
if (direction == SOAPY_SDR_RX)
|
||||
{
|
||||
cariboulite_set_rx_gain_control(&radios, (cariboulite_channel_en)channel, automatic, rx_gain);
|
||||
}
|
||||
}
|
||||
|
||||
//========================================================
|
||||
/*!
|
||||
* Get the automatic gain mode on the chain.
|
||||
* \param direction the channel direction RX or TX
|
||||
* \param channel an available channel on the device
|
||||
* \return true for automatic gain setting
|
||||
*/
|
||||
bool Cariboulite::getGainMode( const int direction, const size_t channel ) const
|
||||
{
|
||||
printf("getGainMode\n");
|
||||
/* AGC mode - enable AGC if the hardware supports it, or remove this function */
|
||||
bool mode = false;
|
||||
|
||||
if (direction == SOAPY_SDR_RX)
|
||||
{
|
||||
cariboulite_get_rx_gain_control((cariboulite_radios_st*)&radios, (cariboulite_channel_en)channel,
|
||||
&mode, NULL);
|
||||
return mode;
|
||||
}
|
||||
|
||||
return (false);
|
||||
}
|
||||
|
||||
|
@ -105,13 +240,32 @@ bool Cariboulite::getGainMode( const int direction, const size_t channel ) const
|
|||
******************************************************************/
|
||||
void Cariboulite::setSampleRate( const int direction, const size_t channel, const double rate )
|
||||
{
|
||||
cariboulite_radio_state_st* rad = channel == cariboulite_channel_s1g? &radios.radio_sub1g : &radios.radio_6g;
|
||||
at86rf215_radio_f_cut_en rx_cuttof = rad->rx_fcut;
|
||||
at86rf215_radio_f_cut_en tx_cuttof = rad->tx_fcut;
|
||||
|
||||
printf("setSampleRate\n");
|
||||
if (direction == SOAPY_SDR_RX)
|
||||
{
|
||||
cariboulite_set_rx_samp_cutoff(&radios,
|
||||
(cariboulite_channel_en)channel,
|
||||
at86rf215_radio_rx_sample_rate_4000khz,
|
||||
rx_cuttof);
|
||||
}
|
||||
else if (direction == SOAPY_SDR_TX)
|
||||
{
|
||||
cariboulite_set_tx_samp_cutoff(&radios,
|
||||
(cariboulite_channel_en)channel,
|
||||
at86rf215_radio_rx_sample_rate_4000khz,
|
||||
tx_cuttof);
|
||||
}
|
||||
}
|
||||
|
||||
//========================================================
|
||||
double Cariboulite::getSampleRate( const int direction, const size_t channel ) const
|
||||
{
|
||||
printf("getSampleRate\n");
|
||||
// A single option
|
||||
return 4000000;
|
||||
}
|
||||
|
||||
|
@ -121,27 +275,124 @@ std::vector<double> Cariboulite::listSampleRates( const int direction, const siz
|
|||
printf("listSampleRates\n");
|
||||
std::vector<double> options;
|
||||
options.push_back( 4000000 );
|
||||
options.push_back( 2000000 );
|
||||
/*options.push_back( 2000000 ); // we want currently to allow only 4 MSPS to make the FPGA implementation easier
|
||||
options.push_back( 1333000 );
|
||||
options.push_back( 1000000 );
|
||||
options.push_back( 800000 );
|
||||
options.push_back( 666000 );
|
||||
options.push_back( 500000 );
|
||||
options.push_back( 400000 );
|
||||
options.push_back( 400000 );*/
|
||||
return(options);
|
||||
}
|
||||
|
||||
//========================================================
|
||||
static at86rf215_radio_rx_bw_en convertRxBandwidth(double bw_numeric)
|
||||
{
|
||||
if (fabs(bw_numeric - 160000) < 1) return at86rf215_radio_rx_bw_BW160KHZ_IF250KHZ;
|
||||
if (fabs(bw_numeric - 200000) < 1) return at86rf215_radio_rx_bw_BW200KHZ_IF250KHZ;
|
||||
if (fabs(bw_numeric - 250000) < 1) return at86rf215_radio_rx_bw_BW250KHZ_IF250KHZ;
|
||||
if (fabs(bw_numeric - 320000) < 1) return at86rf215_radio_rx_bw_BW320KHZ_IF500KHZ;
|
||||
if (fabs(bw_numeric - 400000) < 1) return at86rf215_radio_rx_bw_BW400KHZ_IF500KHZ;
|
||||
if (fabs(bw_numeric - 500000) < 1) return at86rf215_radio_rx_bw_BW500KHZ_IF500KHZ;
|
||||
if (fabs(bw_numeric - 630000) < 1) return at86rf215_radio_rx_bw_BW630KHZ_IF1000KHZ;
|
||||
if (fabs(bw_numeric - 800000) < 1) return at86rf215_radio_rx_bw_BW800KHZ_IF1000KHZ;
|
||||
if (fabs(bw_numeric - 1000000) < 1) return at86rf215_radio_rx_bw_BW1000KHZ_IF1000KHZ;
|
||||
if (fabs(bw_numeric - 1250000) < 1) return at86rf215_radio_rx_bw_BW1250KHZ_IF2000KHZ;
|
||||
if (fabs(bw_numeric - 1600000) < 1) return at86rf215_radio_rx_bw_BW1600KHZ_IF2000KHZ;
|
||||
if (fabs(bw_numeric - 2000000) < 1) return at86rf215_radio_rx_bw_BW2000KHZ_IF2000KHZ;
|
||||
return at86rf215_radio_rx_bw_BW2000KHZ_IF2000KHZ;
|
||||
}
|
||||
|
||||
//========================================================
|
||||
static double convertRxBandwidth(at86rf215_radio_rx_bw_en bw_en)
|
||||
{
|
||||
if (at86rf215_radio_rx_bw_BW160KHZ_IF250KHZ == bw_en) return 160000;
|
||||
if (at86rf215_radio_rx_bw_BW200KHZ_IF250KHZ == bw_en) return 200000;
|
||||
if (at86rf215_radio_rx_bw_BW250KHZ_IF250KHZ == bw_en) return 250000;
|
||||
if (at86rf215_radio_rx_bw_BW320KHZ_IF500KHZ == bw_en) return 320000;
|
||||
if (at86rf215_radio_rx_bw_BW400KHZ_IF500KHZ == bw_en) return 400000;
|
||||
if (at86rf215_radio_rx_bw_BW500KHZ_IF500KHZ == bw_en) return 500000;
|
||||
if (at86rf215_radio_rx_bw_BW630KHZ_IF1000KHZ == bw_en) return 630000;
|
||||
if (at86rf215_radio_rx_bw_BW800KHZ_IF1000KHZ == bw_en) return 800000;
|
||||
if (at86rf215_radio_rx_bw_BW1000KHZ_IF1000KHZ == bw_en) return 1000000;
|
||||
if (at86rf215_radio_rx_bw_BW1250KHZ_IF2000KHZ == bw_en) return 1250000;
|
||||
if (at86rf215_radio_rx_bw_BW1600KHZ_IF2000KHZ == bw_en) return 1600000;
|
||||
if (at86rf215_radio_rx_bw_BW2000KHZ_IF2000KHZ == bw_en) return 2000000;
|
||||
return 2000000;
|
||||
}
|
||||
|
||||
//========================================================
|
||||
static at86rf215_radio_tx_cut_off_en convertTxBandwidth(double bw_numeric)
|
||||
{
|
||||
if (fabs(bw_numeric - 80000) < 1) return at86rf215_radio_tx_cut_off_80khz;
|
||||
if (fabs(bw_numeric - 100000) < 1) return at86rf215_radio_tx_cut_off_100khz;
|
||||
if (fabs(bw_numeric - 125000) < 1) return at86rf215_radio_tx_cut_off_125khz;
|
||||
if (fabs(bw_numeric - 160000) < 1) return at86rf215_radio_tx_cut_off_160khz;
|
||||
if (fabs(bw_numeric - 200000) < 1) return at86rf215_radio_tx_cut_off_200khz;
|
||||
if (fabs(bw_numeric - 250000) < 1) return at86rf215_radio_tx_cut_off_250khz;
|
||||
if (fabs(bw_numeric - 315000) < 1) return at86rf215_radio_tx_cut_off_315khz;
|
||||
if (fabs(bw_numeric - 400000) < 1) return at86rf215_radio_tx_cut_off_400khz;
|
||||
if (fabs(bw_numeric - 500000) < 1) return at86rf215_radio_tx_cut_off_500khz;
|
||||
if (fabs(bw_numeric - 625000) < 1) return at86rf215_radio_tx_cut_off_625khz;
|
||||
if (fabs(bw_numeric - 800000) < 1) return at86rf215_radio_tx_cut_off_800khz;
|
||||
if (fabs(bw_numeric - 1000000) < 1) return at86rf215_radio_tx_cut_off_1000khz;
|
||||
return at86rf215_radio_tx_cut_off_1000khz;
|
||||
}
|
||||
|
||||
//========================================================
|
||||
static double convertTxBandwidth(at86rf215_radio_tx_cut_off_en bw_en)
|
||||
{
|
||||
if (at86rf215_radio_tx_cut_off_80khz == bw_en) return 80000;
|
||||
if (at86rf215_radio_tx_cut_off_100khz == bw_en) return 100000;
|
||||
if (at86rf215_radio_tx_cut_off_125khz == bw_en) return 125000;
|
||||
if (at86rf215_radio_tx_cut_off_160khz == bw_en) return 160000;
|
||||
if (at86rf215_radio_tx_cut_off_200khz == bw_en) return 200000;
|
||||
if (at86rf215_radio_tx_cut_off_250khz == bw_en) return 250000;
|
||||
if (at86rf215_radio_tx_cut_off_315khz == bw_en) return 315000;
|
||||
if (at86rf215_radio_tx_cut_off_400khz == bw_en) return 400000;
|
||||
if (at86rf215_radio_tx_cut_off_500khz == bw_en) return 500000;
|
||||
if (at86rf215_radio_tx_cut_off_625khz == bw_en) return 625000;
|
||||
if (at86rf215_radio_tx_cut_off_800khz == bw_en) return 800000;
|
||||
if (at86rf215_radio_tx_cut_off_1000khz == bw_en) return 1000000;
|
||||
return 1000000;
|
||||
}
|
||||
|
||||
|
||||
//========================================================
|
||||
void Cariboulite::setBandwidth( const int direction, const size_t channel, const double bw )
|
||||
{
|
||||
printf("setBandwidth\n");
|
||||
|
||||
if (direction == SOAPY_SDR_RX)
|
||||
{
|
||||
cariboulite_set_rx_bandwidth(&radios,(cariboulite_channel_en)channel,
|
||||
convertRxBandwidth(bw));
|
||||
}
|
||||
else if (direction == SOAPY_SDR_TX)
|
||||
{
|
||||
cariboulite_set_tx_bandwidth(&radios,(cariboulite_channel_en)channel,
|
||||
convertTxBandwidth(bw));
|
||||
}
|
||||
}
|
||||
|
||||
//========================================================
|
||||
double Cariboulite::getBandwidth( const int direction, const size_t channel ) const
|
||||
{
|
||||
printf("getBandwidth\n");
|
||||
return 2000000;
|
||||
|
||||
if (direction == SOAPY_SDR_RX)
|
||||
{
|
||||
at86rf215_radio_rx_bw_en bw;
|
||||
cariboulite_get_rx_bandwidth((cariboulite_radios_st*)&radios,(cariboulite_channel_en)channel, &bw);
|
||||
return convertRxBandwidth(bw);
|
||||
}
|
||||
else if (direction == SOAPY_SDR_TX)
|
||||
{
|
||||
at86rf215_radio_tx_cut_off_en bw;
|
||||
cariboulite_get_tx_bandwidth((cariboulite_radios_st*)&radios,(cariboulite_channel_en)channel, &bw);
|
||||
return convertTxBandwidth(bw);
|
||||
}
|
||||
return 0.0;
|
||||
}
|
||||
|
||||
//========================================================
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
#include <algorithm>
|
||||
#include <atomic>
|
||||
#include "cariboulite_setup.h"
|
||||
#include "cariboulite_radios.h"
|
||||
|
||||
#define BUF_LEN 262144
|
||||
#define BUF_NUM 15
|
||||
|
@ -91,8 +92,15 @@ public:
|
|||
/*******************************************************************
|
||||
* Gain API
|
||||
******************************************************************/
|
||||
bool hasGainMode(const int direction, const size_t channel) const { return (direction==SOAPY_SDR_RX?true:false); }
|
||||
std::vector<std::string> listGains(const int direction, const size_t channel) const;
|
||||
void setGain(const int direction, const size_t channel, const double value);
|
||||
void setGain(const int direction, const size_t channel, const std::string &name, const double value);
|
||||
double getGain(const int direction, const size_t channel) const;
|
||||
double getGain(const int direction, const size_t channel, const std::string &name) const;
|
||||
SoapySDR::Range getGainRange(const int direction, const size_t channel) const;
|
||||
SoapySDR::Range getGainRange(const int direction, const size_t channel, const std::string &name) const;
|
||||
void setGainMode( const int direction, const size_t channel, const bool automatic );
|
||||
bool hasGainMode(const int direction, const size_t channel) const;
|
||||
bool getGainMode( const int direction, const size_t channel ) const;
|
||||
|
||||
/*******************************************************************
|
||||
|
@ -116,6 +124,7 @@ public:
|
|||
|
||||
private:
|
||||
cariboulite_st cariboulite_sys;
|
||||
cariboulite_radios_st radios;
|
||||
|
||||
SoapySDR::Stream* const TX_STREAM09 = (SoapySDR::Stream*) 0x1;
|
||||
SoapySDR::Stream* const RX_STREAM09 = (SoapySDR::Stream*) 0x2;
|
||||
|
|
Ładowanie…
Reference in New Issue