ModalAI Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    UAVCAN error while building px4 firmware

    Flight Core v2
    2
    4
    24
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Jetson NanoJ
      Jetson Nano
      last edited by

      https://forum.modalai.com/post/23375

      @Alex-Kushleyev @Eric-Katzfey
      Hello guys, I am facing a new error where when I try to use Optical flow by enabling the UAVCAN in the default.px4board, since it was commented out. Whenever try to enable it and build it is giving error. I want to use CAN port on the FC v2 for Optical Flow. It would be of great help , if you could help with this or guide me.

      FAILED: src/drivers/uavcan/CMakeFiles/drivers__uavcan.dir/uavcan_servers.cpp.obj 
      
      /usr/bin/ccache /opt/gcc-arm-none-eabi-9-2020-q2-update/bin/arm-none-eabi-g++ -DCONFIG_ARCH_BOARD_MODALAI_FC_V2 -DMODULE_NAME=\"uavcan\" -DPX4_BOARD_LABEL=\"default\" -DPX4_BOARD_NAME=\"MODALAI_FC_V2\" -DPX4_MAIN=uavcan_app_main -DUAVCAN_CPP_VERSION=UAVCAN_CPP03 -DUAVCAN_DRIVER=uavcan_stm32h7 -DUAVCAN_IMPLEMENT_PLACEMENT_NEW=1 -DUAVCAN_MEM_POOL_BLOCK_SIZE=48 -DUAVCAN_NO_ASSERTIONS -DUAVCAN_PLATFORM=generic -DUAVCAN_STM32H7_NUM_IFACES=2 -DUAVCAN_STM32H7_NUTTX=1 -DUAVCAN_STM32H7_TIMER_NUMBER=2 -D_SYS_CDEFS_H_ -D_SYS_REENT_H_ -D__CUSTOM_FILE_IO__ -D__PX4_NUTTX -D__STDC_FORMAT_MACROS -I/home/t/p/px4-firmware/boards/modalai/fc-v2/src -I/home/t/p/px4-firmware/platforms/nuttx/src/px4/common/include -I/home/t/p/px4-firmware/build/modalai_fc-v2_default -I/home/t/p/px4-firmware/build/modalai_fc-v2_default/src/lib -I/home/t/p/px4-firmware/platforms/nuttx/src/px4/stm/stm32h7/include -I/home/t/p/px4-firmware/platforms/common -I/home/t/p/px4-firmware/platforms/common/include -I/home/t/p/px4-firmware/src -I/home/t/p/px4-firmware/src/include -I/home/t/p/px4-firmware/src/lib -I/home/t/p/px4-firmware/src/lib/matrix -I/home/t/p/px4-firmware/src/modules -I/home/t/p/px4-firmware/platforms/nuttx/NuttX/nuttx/arch/arm/src/armv7-m -I/home/t/p/px4-firmware/platforms/nuttx/NuttX/nuttx/arch/arm/src/chip -I/home/t/p/px4-firmware/platforms/nuttx/NuttX/nuttx/arch/arm/src/common -I/home/t/p/px4-firmware/platforms/nuttx/NuttX/apps/include -I/home/t/p/px4-firmware/build/modalai_fc-v2_default/uORB/topics -I/home/t/p/px4-firmware/build/modalai_fc-v2_default/external/Install/include -I/home/t/p/px4-firmware/build/modalai_fc-v2_default/src/drivers/uavcan/include/dsdlc_generated -I/home/t/p/px4-firmware/src/drivers/uavcan/libuavcan/libuavcan/include -I/home/t/p/px4-firmware/src/drivers/uavcan/libuavcan/libuavcan/include/dsdlc_generated -I/home/t/p/px4-firmware/src/drivers/uavcan/libuavcan/libuavcan_drivers/posix/include -I/home/t/p/px4-firmware/src/drivers/uavcan/uavcan_drivers/stm32h7/driver/include -isystem /home/t/p/px4-firmware/platforms/nuttx/NuttX/include/cxx -isystem /home/t/p/px4-firmware/platforms/nuttx/NuttX/nuttx/include/cxx -isystem /home/t/p/px4-firmware/platforms/nuttx/NuttX/nuttx/include -mcpu=cortex-m7 -mthumb -mfpu=fpv5-d16 -mfloat-abi=hard -Os -DNDEBUG -std=gnu++14 -g -fdata-sections -ffunction-sections -fomit-frame-pointer -fmerge-all-constants -fno-signed-zeros -fno-trapping-math -freciprocal-math -fno-math-errno -fno-strict-aliasing -fvisibility=hidden -include visibility.h -Wall -Wextra -Werror -Warray-bounds -Wcast-align -Wdisabled-optimization -Wdouble-promotion -Wfatal-errors -Wfloat-equal -Wformat-security -Winit-self -Wlogical-op -Wpointer-arith -Wshadow -Wuninitialized -Wunknown-pragmas -Wunused-variable -Wno-missing-field-initializers -Wno-missing-include-dirs -Wno-unused-parameter -fdiagnostics-color=always -Wno-stringop-truncation -fno-builtin-printf -fno-strength-reduce -Wformat=1 -Wunused-but-set-variable -Wno-format-truncation -fcheck-new -Wreorder -Wno-overloaded-virtual -fno-rtti -fno-exceptions -fno-sized-deallocation -fno-threadsafe-statics -nostdinc++ -Wno-cast-align -Wno-deprecated-copy -Wno-address-of-packed-member -Wframe-larger-than=4096 -Wno-format-security -D__KERNEL__ -MD -MT src/drivers/uavcan/CMakeFiles/drivers__uavcan.dir/uavcan_servers.cpp.obj -MF src/drivers/uavcan/CMakeFiles/drivers__uavcan.dir/uavcan_servers.cpp.obj.d -o src/drivers/uavcan/CMakeFiles/drivers__uavcan.dir/uavcan_servers.cpp.obj -c /home/t/p/px4-firmware/src/drivers/uavcan/uavcan_servers.cpp
      
      In file included from /home/t/p/px4-firmware/src/drivers/uavcan/uavcan_servers.cpp:52:
      
      /home/t/p/px4-firmware/src/drivers/uavcan/uavcan_main.hpp:79:10: fatal error: uORB/topics/uavcan_parameter_request.h: No such file or directory
      
         79 | #include <uORB/topics/uavcan_parameter_request.h>
      
            |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      
      compilation terminated.
      
      [596/1151] Building CXX object src/dri...rivers__uavcan.dir/uavcan_main.cpp.obj
      
      FAILED: src/drivers/uavcan/CMakeFiles/drivers__uavcan.dir/uavcan_main.cpp.obj 
      
      /usr/bin/ccache /opt/gcc-arm-none-eabi-9-2020-q2-update/bin/arm-none-eabi-g++ -DCONFIG_ARCH_BOARD_MODALAI_FC_V2 -DMODULE_NAME=\"uavcan\" -DPX4_BOARD_LABEL=\"default\" -DPX4_BOARD_NAME=\"MODALAI_FC_V2\" -DPX4_MAIN=uavcan_app_main -DUAVCAN_CPP_VERSION=UAVCAN_CPP03 -DUAVCAN_DRIVER=uavcan_stm32h7 -DUAVCAN_IMPLEMENT_PLACEMENT_NEW=1 -DUAVCAN_MEM_POOL_BLOCK_SIZE=48 -DUAVCAN_NO_ASSERTIONS -DUAVCAN_PLATFORM=generic -DUAVCAN_STM32H7_NUM_IFACES=2 -DUAVCAN_STM32H7_NUTTX=1 -DUAVCAN_STM32H7_TIMER_NUMBER=2 -D_SYS_CDEFS_H_ -D_SYS_REENT_H_ -D__CUSTOM_FILE_IO__ -D__PX4_NUTTX -D__STDC_FORMAT_MACROS -I/home/t/p/px4-firmware/boards/modalai/fc-v2/src -I/home/t/p/px4-firmware/platforms/nuttx/src/px4/common/include -I/home/t/p/px4-firmware/build/modalai_fc-v2_default -I/home/t/p/px4-firmware/build/modalai_fc-v2_default/src/lib -I/home/t/p/px4-firmware/platforms/nuttx/src/px4/stm/stm32h7/include -I/home/t/p/px4-firmware/platforms/common -I/home/t/p/px4-firmware/platforms/common/include -I/home/t/p/px4-firmware/src -I/home/t/p/px4-firmware/src/include -I/home/t/p/px4-firmware/src/lib -I/home/t/p/px4-firmware/src/lib/matrix -I/home/t/p/px4-firmware/src/modules -I/home/t/p/px4-firmware/platforms/nuttx/NuttX/nuttx/arch/arm/src/armv7-m -I/home/t/p/px4-firmware/platforms/nuttx/NuttX/nuttx/arch/arm/src/chip -I/home/t/p/px4-firmware/platforms/nuttx/NuttX/nuttx/arch/arm/src/common -I/home/t/p/px4-firmware/platforms/nuttx/NuttX/apps/include -I/home/t/p/px4-firmware/build/modalai_fc-v2_default/uORB/topics -I/home/t/p/px4-firmware/build/modalai_fc-v2_default/external/Install/include -I/home/t/p/px4-firmware/build/modalai_fc-v2_default/src/drivers/uavcan/include/dsdlc_generated -I/home/t/p/px4-firmware/src/drivers/uavcan/libuavcan/libuavcan/include -I/home/t/p/px4-firmware/src/drivers/uavcan/libuavcan/libuavcan/include/dsdlc_generated -I/home/t/p/px4-firmware/src/drivers/uavcan/libuavcan/libuavcan_drivers/posix/include -I/home/t/p/px4-firmware/src/drivers/uavcan/uavcan_drivers/stm32h7/driver/include -isystem /home/t/p/px4-firmware/platforms/nuttx/NuttX/include/cxx -isystem /home/t/p/px4-firmware/platforms/nuttx/NuttX/nuttx/include/cxx -isystem /home/t/p/px4-firmware/platforms/nuttx/NuttX/nuttx/include -mcpu=cortex-m7 -mthumb -mfpu=fpv5-d16 -mfloat-abi=hard -Os -DNDEBUG -std=gnu++14 -g -fdata-sections -ffunction-sections -fomit-frame-pointer -fmerge-all-constants -fno-signed-zeros -fno-trapping-math -freciprocal-math -fno-math-errno -fno-strict-aliasing -fvisibility=hidden -include visibility.h -Wall -Wextra -Werror -Warray-bounds -Wcast-align -Wdisabled-optimization -Wdouble-promotion -Wfatal-errors -Wfloat-equal -Wformat-security -Winit-self -Wlogical-op -Wpointer-arith -Wshadow -Wuninitialized -Wunknown-pragmas -Wunused-variable -Wno-missing-field-initializers -Wno-missing-include-dirs -Wno-unused-parameter -fdiagnostics-color=always -Wno-stringop-truncation -fno-builtin-printf -fno-strength-reduce -Wformat=1 -Wunused-but-set-variable -Wno-format-truncation -fcheck-new -Wreorder -Wno-overloaded-virtual -fno-rtti -fno-exceptions -fno-sized-deallocation -fno-threadsafe-statics -nostdinc++ -Wno-cast-align -Wno-deprecated-copy -Wno-address-of-packed-member -Wframe-larger-than=4096 -Wno-format-security -D__KERNEL__ -MD -MT src/drivers/uavcan/CMakeFiles/drivers__uavcan.dir/uavcan_main.cpp.obj -MF src/drivers/uavcan/CMakeFiles/drivers__uavcan.dir/uavcan_main.cpp.obj.d -o src/drivers/uavcan/CMakeFiles/drivers__uavcan.dir/uavcan_main.cpp.obj -c /home/t/p/px4-firmware/src/drivers/uavcan/uavcan_main.cpp
      
      In file included from /home/t/p/px4-firmware/src/drivers/uavcan/uavcan_main.cpp:63:
      
      /home/t/p/px4-firmware/src/drivers/uavcan/uavcan_main.hpp:79:10: fatal error: uORB/topics/uavcan_parameter_request.h: No such file or directory
      
         79 | #include <uORB/topics/uavcan_parameter_request.h>
      
            |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      
      compilation terminated.
      
      [603/1151] Building CXX object src/dri..._uavcan.dir/sensors/ice_status.cpp.obj
      
      ninja: build stopped: subcommand failed.
      
      make: *** [Makefile:227: modalai_fc-v2_default] Error 1
      
      Eric KatzfeyE 1 Reply Last reply Reply Quote 0
      • Eric KatzfeyE
        Eric Katzfey ModalAI Team @Jetson Nano
        last edited by

        @Jetson-Nano The issue is that those messages were commented out in msg/CMakeLists.txt. The reason for that is that there is a limit in PX4 of 256 different types and there are too many. CAN isn't supported on VOXL 2 so those messages were commented out. If you want to use our fork on FCv2 you can uncomment those messages and comment out some of the VOXL 2 specific messages that aren't used on FCv2. For example:

        	ParameterClientResetResponse.msg
        	ParameterClientSetValueRequest.msg
        	ParameterClientSetValueResponse.msg
        	ParameterServerSetUsedResponse.msg
        	ParameterServerSetUsedRequest.msg
        	ParameterServerSetValueRequest.msg
        	ParameterServerSetValueResponse.msg
        
        Jetson NanoJ 1 Reply Last reply Reply Quote 0
        • Jetson NanoJ
          Jetson Nano @Eric Katzfey
          last edited by

          @Eric-Katzfey Thank you for reverting back, I was able to build the firmware now, with the changes you suggested.
          There were some errors showing with respect to size, I had to disable fixed wing based parameters in default.px4board . Just for reference for anyone trying to replicate. I had to comment out certain parameters in cpp files in modules, It may change according to the parameter you want to disable and enable.

          I wanted to know what are these parameters you suggested to comment out. what are they used for, will it create any performance issues.

          Eric KatzfeyE 1 Reply Last reply Reply Quote 0
          • Eric KatzfeyE
            Eric Katzfey ModalAI Team @Jetson Nano
            last edited by

            @Jetson-Nano Those are topic messages used to communicate between the applications processor and the DSP in the VOXL2 split architecture. They are unused on non-VOXL2 platforms.

            1 Reply Last reply Reply Quote 0
            • First post
              Last post
            Powered by NodeBB | Contributors