SICS Metadata
This section describes the list command for retrieving and
setting information about a running SICS server and the objects living in it.
Each SICS object has metadata associated with it: some of it is generated by the system such
as the object type, the interface it implements etc. Some additional metadata can be set by the
user. Most commands print their data in the form of a Tcl-list. The list is terminated with the entry ENDLIST.
This entry can be searched for by clients interested to find the end of the transmission. The general form of the
metadata is a key value pair. The following commands are implemented:
- list
- Prints a list of all SICS objects.
- list server
- Prints a list of all server options.
- list sicsobject
- Prints all the metadata associated with the SICS object sicsobject.
- list sicsobject key
- Prints the value of the key associated with the SICS object sicsobject.
- list setatt sicsobject key value
- Sets a user defined attribute with the name key and the value value for the SICS object sicsobject.
- list metadatakey
- List all unique entries for the specified metadata key. System supplied metadata keys are:
- type
- The object class
- interface
- The object interfaces implemented by SICS
This list may be augmented with user generated keys as defined through using the list setatt obj key value command.
An example:
list type
will print all the objects classes available in the SICS server.
- list metadatakey value
- List all the SICS objects which match the value for the metadatakey given as parameters. For example:
list interface drivable
will print all objects implementing the drivable interface in the SICS server.
- list objstatus obj
- Will query the current state of the SICS object obj. This makes sense for things like motors, counter etc. which
can be run asynchronously. The result can be idle, fault, busy etc.
- list match mask
- Will print the names of all SICS objects where the name
matches the wildcard given as mask.