How can I compile the cytonNetworkServer from the cyton example directory? I have tried following Makefile:
<Makefile>
SERVER_NAME = cytonNetworkServer
SERVER_SRC = main.cpp
SERVER_OBJ = $(SERVER_SRC:.cpp=.o)
BIN_DIR = bin
CXXFLAGS = -Wall -O2 -I../../../include
LDFLAGS = -L../../../lib -Wl,-rpath,../../../lib -lecFoundCore -lecCytonHardwareInterface -lecActinSENetwork -lecActinSE
.SUFFIXES: .cpp
default: $(BIN_DIR)/$(SERVER_NAME)
all: default
.cpp.o:
$(CXX) -c $< $(CXXFLAGS) -o $@
$(BIN_DIR)/$(SERVER_NAME): $(SERVER_OBJ)
$(CXX) $< $(LDFLAGS) -o $@
clean:
rm -f $(BIN_DIR)/$(SERVER_NAME) $(SERVER_OBJ)
</Makefile>
But I get the error 'undefined reference to `actinSE::NetworkInterface<cyton::hardwareInterface>::NetworkInterface...' even though I have linked against libecActinSENetwork.so
Any ideas?
Andreas
Which cyton are you using ? .Cyton-Network-Interface examples will only
work on Cyton-Alpha ,the first model of cyton series .
Thanks
Lentin
Currently actinSENetworking.so is only compatible with
Cyton-Alpha series .We will add this functionality to Cyton Veta and V2
soon.
Regards
Lentin
There are a new set of installers that are being put through testing right now that provide increased functionality. The networking that used to be bundled in with the Cyton Alpha series arms has been deprecated and is being replaced with a more flexible implementation. A typical usage scenario will be as such:
1. Start hardware-connected (server) side application. This will perform startup and initialization of the arm and then wait for incoming commands from the network.
2. Start up remote (client) application with IP/port information either using the cytonViewer or through command-line interface / API access.
At that point you will be able to issue either high-level end-effector placement commands, or specific joint angle information. These commands will be processed in a variety of ways depending on the configuration. Some options are:
a) Client mode: Push end-effector commands to server, which will calculate the inverse kinematics and send results to hardware. Client also computes locally.
b) Thin-client mode: Same as a), but computed results are also sent back to client. Little to no client-side processing requirement.
c) Joint mode: Calculate joint angles locally (or specify manually) and send joint angles and velocities to server. Little to no server-side processing requirement.
This new implementation will provide bi-directional communication to get and set joint data. Some low-level pieces may not be present in the early deliveries, such as being able to configure the serial port and initialization options remotely.
The intent is to be able to support a wide variety of configurations, with the goal of being able to support embedded systems with low-power/minimal processing capability in addition to light-weight clients. Hopefully this new capability will meet your needs. Please let us know of any additional features you might like to see.
Thanks
Chuck
--
Chuck Seberino
sebe...@energid.com
Cyton-Alpha series .We will add this functionality to Cyton Veta and V2
soon.