The implementation consists of
- Installation of NetBurner Network Development Kit (NNDK) (typically in C:\nburn)
- Installation of CMake
- Extracted gSOAP (just unpack, do not install)
- ws4d-gSOAP source code
For additional information see the first steps in InstallationWindowsXPVisualStudio.
For a cross-compilation of the ws4d-gSOAP stack typically a host compilation is required. The purpose for that is to build the embedwsdl build tool which is required to generate files for further compilation. Since most developers of NetBurner hardware do not have a compiler for windows binaries installed, it is possible to fake the host build of ws4d-gSOAP. From the host build installation there are only two files required: embedwsdl.exe and HostExecutables.cmake. embedwsdl.exe can be download from this page while HostExecutables.cmake should be created manual.
The content of HostExecutables.cmake for an installation to c:\ws4d-inst is:
SET(DPWS_EMBEDWSDL_PATH c:/ws4d-inst/bin CACHE PATH "") MARK_AS_ADVANCED(DPWS_EMBEDWSDL_PATH)
To fake a host build installation in c:\ws4d-inst put the files in the appropriate place:
Now you can cross compile the ws4d-gSOAP stack for NetBurner. Open a cmd.exe shell and enter:
cmake -DDPWS_HOSTEXEC_PATH:PATH=c:/ws4d-inst -DGSOAP_PATH=c:/gsoap-2.7.13 -DCMAKE_TOOLCHAIN_FILE=c:/ws4d-gsoap/toolchains/netburner-gnu.cmake -DCMAKE_MAKE_PROGRAM=make -G "MinGW Makefiles" -DCMAKE_INSTALL_PREFIX=c:/ws4d-inst-cross c:/ws4d-gsoap
It is asumed that gSOAP is unpacked to c:\gsoap-2.7.13, ws4d-gSOAP sources are in c:\ws4d-gsoap, and that the cross compililation should be installed to c:\ws4d-inst-cross. Afterwards build and install the ws4d-gSOAP stack:
Congratulation, you have installed ws4d-gSOAP for NetBurner on your computer. You might want to continue with the airconditioner example provided with the installation.
The the installation the NetBurner tutorial example code can be found in c:\ws4d-inst-cross\share\doc\ws4d-gSOAP\nb-example. To create the build environment for the example, create a new directory and change into it, then call cmake:
cmake -DCMAKE_MAKE_PROGRAM=make -DCMAKE_TOOLCHAIN_FILE=c:/ws4d-gsoap/toolchains/netburner-gnu.cmake -G "MinGW Makefiles" c:/ws4d-inst-cross/share/doc/ws4d-gSOAP/nb-example
It is not necessary to add the GSOAP_PATH as an argument since it is already cached in the example code. Afterwards compile the airconditioner:
In the bin directory you will find the binary acs_simple_device_APP.s19 to upload with NetBurnera AutoUpdate tool. After changing to that directory you might want to call something linke the following:
autoupdate -A -R -I192.168.178.21 -Facs_simple_device_APP.s19