How to import projects in eclipse, Windows



  • I'm attempting to follow the BuildInstructions.md for windows, but I don't regularly use eclipse.

    Step 12 says to just import the projects into eclipse, but under the File->Import menu there are dozens of options, I don't know what is the correct procedure so that it has any idea how to build CoreNG.

    Can anyone elaborate on exact steps to import these projects correctly?

    Also Step 5 says to use "which", but that is not a windows command. I used "where" instead and that seems to verify the path.
    Do I need any other not-mentioned GNU tools installed for this?

    Currently if I try to build CoreNG it is trying to use autoreconf and failing to find it:

    Invoking autoreconf in build directory: C:/Eclipse/Firmware/CoreNG/
    
    sh -c "autoreconf -i" 
    sh: autoreconf: not found
    
    Configuration failed with error
    

  • administrators

    It's File->Import->Existing projects into workspace. You might also be able to use File->Import->Git, I haven't tried.

    I've never heard of autoreconf. Which version of Eclipse C/C++ are you using?



  • OK I deleted the CoreNG folder and started over with "Existing projects into workspace" and now CoreNG seems to build ok (using SAM4E8E build config for Duet 2 Wifi)

    Then I try to build DuetWifiSocketServer|Release and it returns this:

    13:43:27 **** Incremental Build of configuration Release for project DuetWiFiSocketServer ****
    make all 
    Building file: ../src/Connection.cpp
    Invoking: Cross G++ Compiler
    xtensa-lx106-elf-g++ -std=gnu++11 -D__ets__ -DICACHE_FLASH -DF_CPU=80000000L -DESP8266 -DARDUINO_ARCH_ESP8266 -DARDUINO_ESP8266_ESP12 -DARDUINO=10606 -Os -Wall -c -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -ffunction-sections -fdata-sections -MMD -MP -MF"src/Connection.d" -MT"src/Connection.o" -o "src/Connection.o" "../src/Connection.cpp"
    c:/program files/gnu arm eclipse/build tools/2.6-201507152002/bin/sh: xtensa-lx106-elf-g++: not found
    src/subdir.mk:30: recipe for target 'src/Connection.o' failed
    make: *** [src/Connection.o] Error 127
    
    13:43:28 Build Finished (took 268ms)
    

    When I try to build ReprapFirmware|Duet2 I get errors like this:

    ../src/Storage/FileStore.cpp:295:25: error: 'micros' was not declared in this scope
      uint32_t time = micros();
                             ^
    ../src/Storage/MassStorage.cpp: In member function 'void MassStorage::Init()':
    ../src/Storage/MassStorage.cpp:83:13: error: 'delay' was not declared in this scope
       delay(3000);  // Wait a few seconds so users have a chance to see this
                 ^
    ...etc (too long to include in forum post)
    

  • administrators

    Make sure that you are using the current branches of the various projects. See https://forum.duet3d.com/topic/7464/problem-building-firmware-for-duet-wifi/7.

    You don't need to build DuetWiFiSocketserver in order to build ReprapFirmware, but you do need the DuetWiFiSocketServer project to be present in the workspace.



  • OK, it looks like the build succeeds for RepRapFirmware now.

    I didn't realize I should have been making changes in v2-dev branch, and I had been using the dev branch, so I'm moving the code over to v2-dev now.

    For the stepper brake feature I'm working on, you suggested to use a signature similar to ConfigureStallDetection, which has changed between these two branches.
    Right now I'm confused about the difference in usage for StringRef reply vs OutputBuffer outBuf. Could you explain?


  • administrators

    You only need to use OutputBuffer if the response is likely to get very long. Most commands don't need to use it. So stick with StringRef.


 

Looks like your connection to Duet3D was lost, please wait while we try to reconnect.