HebiLookup searches the network for modules and forms groups
HebiLookup periodically searches the network for modules. Available
modules can be combined into groups, which are the basic way to
send commands and retrieve feedback.
By default, the periodic lookup broadcasts on all local interfaces.
If your network does not allow broadcasts or you want to only poll
on certain ip address, you can manually set them, or modify the
default behavior in the config script.
HebiLookup Methods (configuration):
initialize - starts or resets the lookup process
setLookupAddresses - sets the lookup target address [ipv4]
getLookupAddresses - gets the lookup target address [ipv4]
setLookupFrequency - sets the lookup request rate [Hz]
getLookupFrequency - gets the lookup request rate [Hz]
setInitialGroupFeedbackFrequency - sets the group feedback rate [Hz]
setInitialGroupCommandLifetime - sets the command lifetime [s]
clearModuleList - clears device list (including stale)
HebiLookup Methods (group creation):
newGroupFromNames - groups by user defined names
newGroupFromFamily - groups by family and sorts by name
newGroupFromSerialNumbers - groups by hardware serial numbers
newGroupFromMacs - groups by hardware mac addresses
Generally there are two ways to address modules, either by their
user-configurable names, or by their hardware identifiers such
as mac address or serial number.
Example
% Show devices on the network
display(HebiLookup);
Examples
% Create group using names
family = 'Arm';
names = {'Base'; 'Shoulder'; 'Elbow'};
group = HebiLookup.newGroupFromNames(family, names);
% Create an alphabetically ordered group of all modules
group = HebiLookup.newGroupFromFamily('*');
% Create group using serial numbers
serials = {'X-00009'; 'X-00042'; 'X-00001'};
group = HebiLookup.newGroupFromSerialNumbers(serials);\
% Create group using mac addresses
macs = {'08:00:7F:9B:67:09'; '08:00:7F:50:BF:45'};
group = HebiLookup.newGroupFromMacs(macs);