> 13.1.2 | ATCommandResponseListener Interface

> The ATCommandResponseListener interface defines the capabilities for receiving the response to an AT command sent to one of the module's AT parsers. When the user wants to use the non blocking version of the ATCommand.send function of an implementation class of the ATCommandResponseListener interface must be created first. The single method of this class, ATResponse(), must contain the processing code for the possible response to the AT command sent.

> class MyListener implements ATCommandResponseListener { String listen_for; public MyListener(String awaited_response) { listen_for = awaited_response; } void ATResponse(String Response) { if (Response.indexOf(listen_for) >= 0) { System.out.println("received: " + strRcv); } } }

> 13.1.2.1 | Non-Blocking ATCommand.send() Method

> After creating an instance of the ATCommandResponseListener class, the class instance can be passed as the second parameter of the non-blocking ATCommand.send() method. After the AT command has been passed to the AT parser, the function returns immediately and the response to the AT command is passed to this callback class later when it becomes available
> Somewhere in the application:

> MyListener connect_list = new MyListener("CONNECT"); atc.send("ATD" + CALLED_NO + "\r", connect_list); /* Application continues while the AT command is processed*/ /* When the module delivers its response to the AT command the callback * method ATResponse is called. If the response is "CONNECT", we will see * the printed message from ATResponse in MyListener. */

> A running AT command sent with the non-blocking send function can be cancelled with ATCommand.cancelCommand(). Any possible responses to the cancellation are sent to the waiting callback instance.
> Note: Using the send methods with incorrect AT command syntax in the strings will cause errors.