Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    RP2040 Compilation error

    Scheduled Pinned Locked Moved
    Firmware developers
    4
    15
    733
    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.
    • Th0mpyundefined
      Th0mpy @Th0mpy
      last edited by

      I was able to get it taken care of. Had to switch to 3.5_DEV Beta 1 tag across the board.

      jay_s_ukundefined 1 Reply Last reply Reply Quote 0
      • jay_s_ukundefined
        jay_s_uk @Th0mpy
        last edited by

        @Th0mpy you'd be better off switching to beta 2 as there were a few bug fixes after beta 1

        Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

        1 Reply Last reply Reply Quote 0
        • dc42undefined
          dc42 administrators @Th0mpy
          last edited by

          @Th0mpy said in RP2040 Compilation error:

          The error "../src/RP2040/CanDeviceRP2040.cpp:414:14: error: 'ClearCurrentTaskNotifyCount' is not a member of 'TaskBase'" I get the same error if I set the target to SAMC21

          You were using an older commit of RRFLibraries.

          Duet WiFi hardware designer and firmware engineer
          Please do not ask me for Duet support via PM or email, use the forum
          http://www.escher3d.com, https://miscsolutions.wordpress.com

          Th0mpyundefined 1 Reply Last reply Reply Quote 0
          • Th0mpyundefined
            Th0mpy @dc42
            last edited by

            This post is deleted!
            1 Reply Last reply Reply Quote 0
            • Th0mpyundefined
              Th0mpy
              last edited by

              Scratch that... Beta 2, different error now:

              Building file: ../src/Hardware/RP2040/Main.cpp
              ../src/Heating/Heat.cpp: In function 'void Heat::TaskLoop(void*)':
              ../src/Heating/Heat.cpp:248:20: error: no matching function for call to 'CanMessageBuffer::CanMessageBuffer()'
                248 |   CanMessageBuffer buf;
                    |                    ^~~
              In file included from ../src/Heating/Heat.cpp:28:
              C:\Users\Chris Thompson\git\CANlib\src/CanMessageBuffer.h:28:2: note: candidate: 'CanMessageBuffer::CanMessageBuffer(CanMessageBuffer*)'
                 28 |  CanMessageBuffer(CanMessageBuffer *prev) noexcept : next(prev) { }
                    |  ^~~~~~~~~~~~~~~~
              C:\Users\Chris Thompson\git\CANlib\src/CanMessageBuffer.h:28:2: note:   candidate expects 1 argument, 0 provided
              C:\Users\Chris Thompson\git\CANlib\src/CanMessageBuffer.h:25:7: note: candidate: 'constexpr CanMessageBuffer::CanMessageBuffer(const CanMessageBuffer&)'
                 25 | class CanMessageBuffer
                    |       ^~~~~~~~~~~~~~~~
              C:\Users\Chris Thompson\git\CANlib\src/CanMessageBuffer.h:25:7: note:   candidate expects 1 argument, 0 provided
              C:\Users\Chris Thompson\git\CANlib\src/CanMessageBuffer.h:25:7: note: candidate: 'constexpr CanMessageBuffer::CanMessageBuffer(CanMessageBuffer&&)'
              C:\Users\Chris Thompson\git\CANlib\src/CanMessageBuffer.h:25:7: note:   candidate expects 1 argument, 0 provided
              Invoking: Cross G++ Compiler
              arm-none-eabi-g++ -std=gnu++17 -D__RP2040__ -DRPI_PICO -DRTOS -I"C:\Users\Chris Thompson\git\CoreN2G" -I"C:\Users\Chris Thompson\git\CANlib" -I"C:\Users\Chris Thompson\git\RRFLibraries" -I"C:\Users\Chris Thompson\git\FreeRTOS" -I"C:\Users\Chris Thompson\git\Duet3Expansion\src" -I"C:\Users\Chris Thompson\git\Duet3Expansion\src\Hardware\RP2040" -I"C:\Users\Chris Thompson\git\CoreN2G\src" -I"C:\Users\Chris Thompson\git\CoreN2G\src\RP2040" -I"C:\Users\Chris Thompson\git\CoreN2G\src\RP2040\pico-sdk/src/boards/include" -I"C:\Users\Chris Thompson\git\CoreN2G\src\RP2040\pico-sdk/src/common/pico_base/include" -I"C:\Users\Chris Thompson\git\CoreN2G\src\RP2040\pico-sdk/src/common/pico_sync/include" -I"C:\Users\Chris Thompson\git\CoreN2G\src\RP2040\pico-sdk/src/common/pico_time/include" -I"C:\Users\Chris Thompson\git\CoreN2G\src\RP2040\pico-sdk/src/rp2_common/cmsis/include" -I"C:\Users\Chris Thompson\git\CoreN2G\src\RP2040\pico-sdk/src/rp2_common/hardware_base/include" -I"C:\Users\Chris Thompson\git\CoreN2G\src\RP2040\pico-sdk/src/rp2_common/hardware_dma/include" -I"C:\Users\Chris Thompson\git\CoreN2G\src\RP2040\pico-sdk/src/rp2_common/hardware_gpio/include" -I"C:\Users\Chris Thompson\git\CoreN2G\src\RP2040\pico-sdk/src/rp2_common/hardware_irq/include" -I"C:\Users\Chris Thompson\git\CoreN2G\src\RP2040\pico-sdk/src/rp2_common/hardware_sync/include" -I"C:\Users\Chris Thompson\git\CoreN2G\src\RP2040\pico-sdk/src/rp2_common/hardware_timer/include" -I"C:\Users\Chris Thompson\git\CoreN2G\src\RP2040\pico-sdk/src/rp2_common/hardware_watchdog/include" -I"C:\Users\Chris Thompson\git\CoreN2G\src\RP2040\pico-sdk/src/rp2_common/pico_platform/include" -I"C:\Users\Chris Thompson\git\CoreN2G\src\RP2040\pico-sdk/src/rp2_common/cmsis/stub/CMSIS/Core/Include" -I"C:\Users\Chris Thompson\git\CoreN2G\src\RP2040\pico-sdk/src/rp2_common/cmsis/stub/CMSIS/Device/RaspberryPi/RP2040/Include" -I"C:\Users\Chris Thompson\git\CoreN2G\src\RP2040\pico-sdk/src/rp2040/hardware_regs/include" -I"C:\Users\Chris Thompson\git\CoreN2G\src\RP2040\pico-sdk/src/rp2040/hardware_structs/include" -I"C:\Users\Chris Thompson\git\RRFLibraries\src" -I"C:\Users\Chris Thompson\git\CANlib\src" -I"C:\Users\Chris Thompson\git\FreeRTOS\src\include" -I"C:\Users\Chris Thompson\git\FreeRTOS\src\portable\GCC\ARM_CM0" -O3 -Wall -c -mcpu=cortex-m0plus -mthumb -mfp16-format=ieee -ffunction-sections -fdata-sections -fno-threadsafe-statics -fno-rtti -fno-exceptions -nostdlib -Wundef -Wdouble-promotion -Werror=return-type -fsingle-precision-constant "-Wa,-ahl=Main.s" -MMD -MP -MF"src/Hardware/RP2040/Main.d" -MT"src/Hardware/RP2040/Main.o" -o "src/Hardware/RP2040/Main.o" "../src/Hardware/RP2040/Main.cpp"
              src/Heating/subdir.mk:30: recipe for target 'src/Heating/Heat.o' failed
              make[1]: *** [src/Heating/Heat.o] Error 1
              make[1]: *** Waiting for unfinished jobs....
              
              Th0mpyundefined 1 Reply Last reply Reply Quote 0
              • Th0mpyundefined
                Th0mpy @Th0mpy
                last edited by

                I dropped back to 3.5_DEV on CANLIB and the error went away. Still get a warning but it compiles now.

                jay_s_ukundefined 1 Reply Last reply Reply Quote 1
                • jay_s_ukundefined
                  jay_s_uk @Th0mpy
                  last edited by

                  @Th0mpy which board are you compiling for?

                  Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

                  Th0mpyundefined 1 Reply Last reply Reply Quote 0
                  • Th0mpyundefined
                    Th0mpy @jay_s_uk
                    last edited by

                    @jay_s_uk I have the FLY SB2040, so I targeted the RPiPico.

                    jay_s_ukundefined EdChamberlainundefined 2 Replies Last reply Reply Quote 0
                    • jay_s_ukundefined
                      jay_s_uk @Th0mpy
                      last edited by

                      @Th0mpy the pins are different. Use my fork as I have the sb2040 setup https://github.com/jaysuk/Duet3Expansion/tree/3.5-dev

                      Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

                      Th0mpyundefined 2 Replies Last reply Reply Quote 0
                      • Th0mpyundefined
                        Th0mpy @jay_s_uk
                        last edited by

                        @jay_s_uk Doing that now, that's a lot easier. I was just in the process of figuring that all out 🙂

                        Thanks buddy!

                        1 Reply Last reply Reply Quote 0
                        • Th0mpyundefined
                          Th0mpy @jay_s_uk
                          last edited by Th0mpy

                          @jay_s_uk FYI, I get no error if I use the 3.5_DEV branch of CanLIB. I get the heat error if I use beta2.

                          dc42undefined 1 Reply Last reply Reply Quote 0
                          • dc42undefined
                            dc42 administrators @Th0mpy
                            last edited by

                            @Th0mpy if you are using the RRF source code, either use the files tagged 3.5beta2 in all relevant repositories, or use the latest files on the 3.5-dev branch of all relevant repositories. Don't use a mix of 3.5beta2 and latest 3.5-dev files.

                            Duet WiFi hardware designer and firmware engineer
                            Please do not ask me for Duet support via PM or email, use the forum
                            http://www.escher3d.com, https://miscsolutions.wordpress.com

                            1 Reply Last reply Reply Quote 0
                            • EdChamberlainundefined
                              EdChamberlain @Th0mpy
                              last edited by

                              @Th0mpy How are you getting on with the FLY SB2040? I was looking at one of these due to its form factor.

                              Th0mpyundefined 1 Reply Last reply Reply Quote 0
                              • Th0mpyundefined
                                Th0mpy @EdChamberlain
                                last edited by

                                @EdChamberlain It's working but I've taken small breaks to build some other hardware.

                                The core of the SB2040 toolboard is working great. I am looking into I2C in order to add an LIS3DH accelerometer, but the I2C libs aren't wired up into the RP2040 yet.

                                I had a few issues with my environment and now can compile both the 3.5 code for RP2040 and Jay's branch.

                                Does anyone know when I2C might be ready to test on the RP2040? I'm digging around but I'm getting a little lost.

                                1 Reply Last reply Reply Quote 1
                                • First post
                                  Last post
                                Unless otherwise noted, all forum content is licensed under CC-BY-SA