Application Support sub-layer
The application support sub-layer (APS) provides an interface between the network layer (NWK) and the application layer (APL) through a general set of services. These services are offered via the data service and the management service.
- The Data Service (APSDE) is provided to the network layer and both ZDO and application objects to enable the transport of application PDUs between two or more devices, located on the same network. It supports the following service primitives:
- Data Request primitive is generated by a local Next Higher Layer (NHLE) whenever a Service Data Unit(ASDU) is to be transferred to one or more peer NHLEs. On receipt of this primitive, the APS sub-layer begins the transmission of the supplied ASDU.
See use case: Lowpower sample application.
- The Data Confirm primitive reports the results of a request to transfer an ASDU from a local NHLE to one or more peer NHLEs. It is generated by the local APS sub-layer in response to an Data Request primitive. On receipt of this primitive, the next higher layer of the initiating device is notified of the result of its request to transmit. If the transmission attempt was successful, the Status parameter will be set to SUCCESS. Otherwise, the Status parameter will indicate the error.
- Data Indicatiom primitive indicates the transfer of an ASDU from the APS sublayer to the local application. This primitive is generated by the APS sub-layer and issued to the next higher layer on receipt of an appropriately addressed data frame from the local NWK layer. On receipt of this primitive, the next higher layer is notified of the arrival of data at the device.
- The Management Service (APSME) is provided to allow an application to interact with the stack. The Management Service shall provide the ability to match two devices together based on their services and their needs. It also maintains a database of managed
objects, known as the APS information base (AIB).
The following set of primitives defines how the next higher layer of a device can read and write attributes in the AIB.
- Get Request primitive allows the next higher layer to read the value of an attribute from the AIB. This primitive is generated by the next higher layer and issued to its APSME in order to read an attribute from the AIB. On receipt of this primitive, the APSME attempts to retrieve the requested AIB attribute from its database. If the requested AIB attribute is successfully retrieved, the APSME issues the Get Confirm primitive such that it contains the AIB attribute identifier and value.
- Get Confirm primitive reports the results of an attempt to read the value of an attribute from the AIB. This primitive is generated by the APSME and issued to its next higher layer in response to an Get Request primitive. On receipt of this primitive, the next higher layer is notified of the results of its request to read an AIB attribute.
- Set Request primitive allows the next higher layer to write the value of an attribute into the AIB. This primitive is to be generated by the next higher layer and issued to its APSME in order to write the value of an attribute in the AIB. On receipt of this primitive, the APSME attempts to write the given value to the indicated AIB attribute in its database.
- Set Confirm primitive reports the results of an attempt to write a value to an AIB attribute. This primitive is generated by the APSME and issued to its next higher layer in response to an Set Request primitive. On receipt of this primitive, the next higher layer is notified of the results of its request to write the value of a AIB attribute.
The Management Service maintains a group table, which allows endpoints to be associated with groups and allows group-addressed frames to be delivered selectively to those endpoints that are associated in the table with a particular group. This set of primitives allows the next higher layer to manage group membership for endpoints on the current device by adding and removing entries in the group table:
- Add Group Request primitive allows the next higher layer to request that group membership for a particular group be added for a particular endpoint. This primitive is generated by the next higher layer when it wants to add membership in a particular group to an endpoint, so that frames addressed to the group will be delivered to that endpoint in the future. On receipt of this primitive, the APSME issues the Add Group Confirm primitive to the next higher layer.
- Add Group Confirm primitive allows the next higher layer to be informed of the results of its request to add a group to an endpoint. This primitive is generated by the APSME and issued to the next higher layer in response to an Add Group Request primitive. On receipt of this primitive, the next higher layer is informed of the status of its request to add a group.
- Remove Group Request primitive allows the next higher layer to request that group membership in a particular group for a particular endpoint be removed. This primitive is generated by the next higher layer when it wants to remove membership in a particular group from an endpoint so that frames addressed to the group will no longer be delivered to that endpoint. On receipt of this primitive, the APSME will check the group table to see if an entry exists containing the values given by the GroupAddress and Endpoint parameters. If such an entry already exists in the table, then that entry will be removed.
- Remove Group Confirm primitive allows the next higher layer to be informed of the results of its request to remove a group from an endpoint. This primitive is generated by the APSME and issued to the next higher layer in response to an Remove Group Request primitive. On receipt of this primitive, the next higher layer is informed of the status of its request to remove a group.
- Remove All Groups Request primitive is generated by the next higher layer when it wants to remove membership in all groups from an endpoint, so that no group-addressed frames will be delivered to that endpoint. This primitive is generated by the next higher layer when it wants to remove membership in all groups from an endpoint so that no group addressed frames will be delivered to that endpoint. On receipt of this primitive, the APSME will remove all entries related to this endpoint from the group table.
- Remove All Groups Confirm primitive allows the next higher layer to be informed of the results of its request to remove all groups from an endpoint. This primitive is generated by the APSME and issued to the next higher layer in response to an Remove All Groups Request primitive. On receipt of this primitive, the next higher layer is informed of the status of its request to remove all groups from an endpoint.
- Register Endpoint primitive
See use case: Lowpower sample application.
- Unregister Endpoint primitive
See also:
APS Functions and Data Structures
APS Frame format
APS Information Base
APS Status Parameters
Generated on Wen Oct 1 12:45:19 2008 for BitCloud Stack Documentation by
1.5.1-p1