Cant build DuetWifiServer
-
hello dc42,
the libLwipESP8266.a file have a size of : 433.796 Byte (434 KB);
the time is the same
and i got no errors when i cleaned the LwipESP8266 project.my future goal is, that the printer send his data to a server, when he´s connected to the internet. this i why i want to build the DuetWifiServer and later update the code. is that the right way to do that?
-
Maybe you should try putting your workspace at /Eclipse/Firmware instead of at /Users/xxx/Workspace/c++ in case either the path is too long or the + characters in your path are confusing Eclipse or ld ?
I defined a message code connCreate in file MessageFormats.h for the Duet to send the WiFi module a command to open a TCP connection with a remote host, however file SocketServer.cpp has this:
case NetworkCommand::connCreate: // create a connection
// Not implemented yetSo it would need to be implemented, then the Duet will be able to open remote connections.
-
i copied all three projects in this path : /Eclipse/Firmware and imported them into eclipse.
but when i building the DuetWifiSocketServer , i got the same error :xtensa-lx106-elf-g++ -nostdlib -L"/Users/xxx/Workspace/c++/LwipESP8266/Release" -L"/Users/xxx/Workspace/c++/CoreESP8266/Release" -L"/Users/xxx/Workspace/c++/CoreESP8266/sdk/lib" -L"/Users/xxx/Workspace/c++/DuetWiFiSocketServer/src/ld" -TDuetWiFiSocketServer.ld -Wl,--no-check-sections -u call_user_start -u _printf_float -u _scanf_float -Wl,-static -Wl,--gc-sections -Wl,-wrap,system_restart_local -Wl,-wrap,spi_flash_read -Wl,-Map,DuetWiFiSocketServer.map -o "DuetWiFiSocketServer.elf" -Wl,--start-group /Users/xxx/Workspace/c++/CoreESP8266/Release/cores/esp8266/heap.o ./src/Connection.o ./src/HSPI.o ./src/Listener.o ./src/Misc.o ./src/SocketServer.o -lCoreESP8266 -lhal -lphy -lpp -lnet80211 -lLwipESP8266 -lwpa -lcrypto -lmain -lwps -laxtls -lespnow -lsmartconfig -lairkiss -lwpa2 -lstdc++ -lm -lc -lgcc -Wl,--end-group
/Users/xxx/Documents/Arduino/hardware/esp8266com/esp8266/tools/macosx/xtensa-lx106-elf/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld: cannot find -lLwipESP8266
collect2: error: ld returned 1 exit status
make: *** [DuetWiFiSocketServer.elf] Error 1i deleted the old projects and cleaned everything. but the program uses the same path , why ...?
-
Did you try the Refresh option in the Project menu?
-
i refreshed and cleaned/rebuilt it now. but DuetWifiSocketServer tries to get this command from the old path again.
i deleted the old projects from the harddrive and the program now says:error: /Users/xxx/Workspace/c++/CoreESP8266/Release/cores/esp8266/heap.o: No such file or directory
-
Suggestions:
-
Check that the paths in the tool settings are all specified in terms of ${workspace_loc} and don't have an absolute path in them.
-
I suggest you delete the .mk files in the output directories, to force them to be rebuilt. You may get an error the first time you build after that, but it should go away when you try the build again.
-
-
great thank you , i think the first point worked for me !
i didnt delete the .mk files. should i ?
i got this error now :
/Library/Developer/CommandLineTools/usr/bin/make --no-print-directory post-build
Generating binary
"C:\Users\David\AppData\Local\Arduino15\packages\esp8266\tools\esptool\0.4.12/esptool.exe" -eo "C:\Users\David\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.0/bootloaders/eboot/eboot.elf" -bo "/Eclipse/Firmware/DuetWiFiSocketServer/Release/DuetWiFiServer.bin" -bm dio -bf 40 -bz 4M -bs .text -bp 4096 -ec -eo "/Eclipse/Firmware/DuetWiFiSocketServer/Release/DuetWiFiSocketServer.elf" -bs .irom0.text -bs .text -bs .data -bs .rodata -bc -ec
/bin/sh: C:\Users\David\AppData\Local\Arduino15\packages\esp8266\tools\esptool\0.4.12/esptool.exe: No such file or directory
make[1]: [post-build] Error 127 (ignored)but i already changed the path to the compiler . this is the default one . i changed it in : properties-->c/c++Build--> Settings
-
when i build it a second time ,it does not throw any errors
-
So it's fully built now?
EDIT: as it is just the post build step that failed, I guess it still hasn't done the post build step. You need to change the Build Variables, in particulat EspBootFile and EspToolPath.
-
i think everything works. i took the DuetWifiServer.bin and updated the firmware (as described : https://duet3d.dozuki.com/Wiki/Installing_and_Updating_Firmware)
and i can use the wifi module
do you think i can start to program the remote conn ?
thank you very much for your help !!
-
@dc42
*I defined a message code connCreate in file MessageFormats.h for the Duet to send the WiFi module a command to open a TCP connection with a remote host, however file SocketServer.cpp has this:case NetworkCommand::connCreate: // create a connection
// Not implemented yetSo it would need to be implemented, then the Duet will be able to open remote connections.*
can you show me the message code, that you defined ?
-
I have work on the WiFi code planned for later this week, and if I have time then I will implement outbound connections in it.
-
can you please inform me when you're done?
-
I've been working on the new WiFi server part of the time for the last several days. Expressiv has released a new SDK that has a lot of nice features, such as built-in LWIP v2 support. Unfortunately they have changed a lot of names of functions in the SDK, and they they haven't released documentation for the new SDK version yet. And we're in a week-long Chinese holiday, so there is no support available. But I'm getting there slowly.
-
@dc42
Are so far any progress being made in term of the outbound connection? -
I am waiting for the new Expressiv SDK to be properly documented and for the code to stabilise before I resume work on DuetWiFiServer. I plan to add support for outbound connections in that version.
-
Hello dc42,
Can you say about how long it will take unti the release of an updated version? -
I'll look at it again when the 2.02 release of RRF is out.
-
@dc42 is there any news about the release of this feature?
-
I did an interim 1.22 release to fix a bug. I checked the Expressive SDK at the same time, but unfortunately they haven't yet released a version of the 3.0 SDK that looks easy to integrate int DuetWiFiServer. So I may add the outbound connection support to the existing version.