SLAA202B February 2005 – December 2018 MSP430F149 , MSP430F149 , MSP430F2252-Q1 , MSP430F2252-Q1 , MSP430F2272-Q1 , MSP430F2272-Q1 , MSP430F2274 , MSP430F2274 , MSP430FG4619 , MSP430FG4619
The IAS services store information about other devices. It also provides information about the services supported by the implementation. As specified by the IrDA Lite documentation, the only service primitive required is GetValueByClass. Figure 14 shows the IAP IrLMP data frame format.
The GetValueByClass call issued by the primary carries the class and attribute names which are supported by its IrDA implementation and that are relevant to the service to be used for the connection. As soon as this frame is identified by GetValueByClass opcode 084h which is in byte 3 of the IrLMP data frame, the first thing that must be done is to confirm that the class and attributes advertised are supported by the implementation. The routine CHECK_CLASS_ATTRIB verifies that the class and attributes are both supported by the implementation by checking those received in the frame against the values stored in a memory table.
First, the class is checked. If the class name is unknown, then the GetValueByClass return frame is assembled with the return code corresponding to: "No such class: no other results". If the class check passes, then the attributes are checked. If the attributes are not known, then the return code used corresponds to: "No such attribute: no other results". If the check for both class and attributes is successful, then the frame contains not only the return code for success but also the results. Results include a list length encoded as a 16-bit unsigned integer for which this implementation has a value of 1, followed by the object identifier encoded also as a 16-bit unsigned integer with a value of 3, and finally an attribute value of type integer with a fixed length of 4 octets equal to 003h. This is the extent of the implementation of the IAS capabilities according to the IrDA Lite documentation.