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

    Setting Up Eclipse For the new Firmware

    Scheduled Pinned Locked Moved
    General Discussion
    5
    46
    4.7k
    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.
    • JoergS5undefined
      JoergS5 @jml
      last edited by

      @jml some of your make errors may be this cause:

      I used MessageFormats.h according to step 5a of documentation directly. I had error messages and found forum message
      https://reprap.org/forum/read.php?416,818300
      so I used dev version, worked good after this change.

      1 Reply Last reply Reply Quote 0
      • JoergS5undefined
        JoergS5 @jml
        last edited by JoergS5

        @jml I made an error and want you to avoid it: I had a lot of compilation errors. Now I found out that I used CoreNG-master. It is necessary to use CoreNG-2-dev (branch v2-dev) instead.
        Rename unzipped CoreNG-2-dev to CoreNG before importing.

        Before compiling, the following settings are necessary: in properties - C/C++ Build - Settings

        • Build Variables - GccPath must be on the new GNU Tools path for 2018q2
        • in Environment with PATH must include the path to the make tool
          Before I set the values, I choose Configuration - All configurations in the drop box above.
          Then set Build configurations - Set Active - SAM4E8E_RTOS.

        I used make from
        https://gnu-mcu-eclipse.github.io/https://gnu-mcu-eclipse.github.io/
        They have a Mac version also.

        This compiled NodeNG without errors.

        1 Reply Last reply Reply Quote 0
        • JoergS5undefined
          JoergS5 @jml
          last edited by JoergS5

          @jml ok, now RepRapFirmware compiled correcly also (at last!).

          I created a file MessageFormats.h in the src folder and copied the content of the Wifi-dev into it.

          Crosssetting, Path and Gccpath set.
          Duet2_RTOS as target set.
          Clean Project
          Build Project

          It is not necessary to set any Build dependencies as I wrote earlier. The projects are connected by their project names (that's the reason why they need to be renamed).

          I was not able to compile DuetWifiSocketServer yet. I get a lot of Arduino.h not found and such errors.

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

            @joergs5 said in Setting Up Eclipse For the new Firmware:

            I was not able to compile DuetWifiSocketServer yet. I get a lot of Arduino.h not found and such errors.

            You don't need to compile that project, unless you want to build new WiFi firmware. But RepRapFirmware uses one include file from it (MessageFormats.h), so you need to import the project into your workspace, or at least that one file.

            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

            JoergS5undefined 1 Reply Last reply Reply Quote 0
            • jmlundefined
              jml @JoergS5
              last edited by

              @joergs5 For the coreDelay errors, yes that was my error. I neglected to set active to Duet2_RTOS.

              But the current problem is still the "'NumWiFiTcpSockets' was not declared in this scope" problem.

              I will try again using the "dev" and "v2-dev" of DuetWiFiSocketServer and CoreNG.

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

                @jml said in Setting Up Eclipse For the new Firmware:

                But the current problem is still the "'NumWiFiTcpSockets' was not declared in this scope" problem.

                That symbol is defined in file MessageFormats.h, in project DuetWiFiSocketServer.

                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

                JoergS5undefined 1 Reply Last reply Reply Quote 0
                • jmlundefined
                  jml
                  last edited by

                  It seems to have compiled with no errors! The fix was using the "dev" and "v2-dev" of DuetWiFiSocketServer and CoreNG respectively. I will tomorrow actually test it on the Duet2 and the previous Duet board to make sure it runs properly.

                  Thanks for all the help everyone!

                  1 Reply Last reply Reply Quote 0
                  • JoergS5undefined
                    JoergS5 @dc42
                    last edited by JoergS5

                    @dc42 I know, I wanted to have it complete. Still searching where Arduino.h reference is in the code (in respect to "You don't need to compile that project" for DuetWifiSocketServer)

                    1 Reply Last reply Reply Quote 0
                    • jmlundefined
                      jml
                      last edited by

                      RRF compiles in 7 seconds. I remember it used to be 19 seconds when I was on version 1.20. Is this normal?

                      JoergS5undefined 1 Reply Last reply Reply Quote 0
                      • JoergS5undefined
                        JoergS5 @jml
                        last edited by

                        @jml If parts are already built, it does not recompile. This may be the reason.

                        1 Reply Last reply Reply Quote 0
                        • JoergS5undefined
                          JoergS5 @dc42
                          last edited by

                          @dc42 ( not relevant for @jml)

                          DuetWifiSocketServer compiling, I found your discussion
                          https://forum.duet3d.com/topic/4984/cant-build-duetwifiserver
                          I will try this approach the next days.

                          jmlundefined 1 Reply Last reply Reply Quote 0
                          • jmlundefined
                            jml @JoergS5
                            last edited by jml

                            @joergs5 are we supposed to be building DuetWiFiSocketserver? I was looking at the forum in your link and I'm wondering why eBerlin is building DuetWifiSocketServer, and why there is discussion about LwipESP8266 ... was that just the older way of doing things?

                            If I try to build DuetWiFiSocketserver, I get these errors

                            /bin/sh: xtensa-lx106-elf-g++: command not found
                            make: *** [src/Misc.o] Error 127
                            make: *** [src/HSPI.o] Error 127
                            make: *** [src/SocketServer.o] Error 127
                            make: *** [src/Listener.o] Error 127
                            make: *** [src/Connection.o] Error 127

                            JoergS5undefined 1 Reply Last reply Reply Quote 0
                            • JoergS5undefined
                              JoergS5 @jml
                              last edited by JoergS5

                              @jml This project is firmware which is uploaded to the WiFi module on the Duet ESP8266 based (like an ESP-12 module). You don't need to compile or change it to be able to change RepRapFirmware or a fork of it that you can make. The only part you need is this one .h file, but from the dev branch.

                              The Lwip and ESP8266 projects are projects which are needed by this WiFi project (you mentioned them in one of the first comments). In The forum blog I mentioned was an older project which was replaced by the DuetWifi project.

                              Your errors are path errors, you need to change the paths the same way as in the other projects, changing to the new GNU classes, adding your make path. But it's more complicated because of the other projects needed.

                              The xtensa files are (in windows) in the users\username... directory, you must change the information in the project, if your username is not David 😉 The files are created, when you install Arduino 1.8.5

                              But as I said, you don't need it now. BUT - if you're interested to compile because you're interested like me, we can discuss here how to compile.

                              jmlundefined 1 Reply Last reply Reply Quote 0
                              • jmlundefined
                                jml @JoergS5
                                last edited by

                                @joergs5 Thanks for the explanation. I'll stick to just compiling the others for now 🙂 Hopefully what I have done will work when I put it on the Duet2 tomorrow.

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

                                  I have just synced the master, dev and v2-dev branches of RepRapFirmware and CoreNG with each other, so all 3 branches are now up to date with release 2.01/1.22 of RRF.

                                  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

                                  wilrikerundefined 1 Reply Last reply Reply Quote 0
                                  • wilrikerundefined
                                    wilriker @dc42
                                    last edited by

                                    @dc42 Thanks. Finally I can also compile everything out of the box (except for binary path). But I had to create a Pull Request that fixes three includes that are not found in case-sensitive file-systems otherwise.

                                    Manuel
                                    Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
                                    with probably always latest firmware/DWC (incl. betas or self-compiled)
                                    My Tool Collection

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

                                      I've just accepted your PR. Unfortunately, Eclipse under Windows doesn't warn against mismatched letter case in include file names, so this type of error slips in occasionally.

                                      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

                                      wilrikerundefined 1 Reply Last reply Reply Quote 0
                                      • wilrikerundefined
                                        wilriker @dc42
                                        last edited by

                                        @dc42 I know, I had my fun with case-(in)sensitivity on Windows<->Linux already a couple of times. I will then occasionally send PRs to fix this. 😉

                                        Manuel
                                        Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
                                        with probably always latest firmware/DWC (incl. betas or self-compiled)
                                        My Tool Collection

                                        1 Reply Last reply Reply Quote 0
                                        • jmlundefined
                                          jml
                                          last edited by jml

                                          Just an update. I had tested the RRF and it worked on the Duet. Yay!

                                          But now that dc42 has "synced the master, dev and v2-dev branches" of RRF and CoreNG, it seems like next time it should be easier.

                                          👍

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