User Manual
Table Of Contents
- Appendix B: Command Generator Examples
- B.1 Device Discovery and Remote Name Request
- B.2 Establish Baseband Connection
- B.3 Baseband Disconnection
- B.4 Create Audio Connection
- B.5 L2CAP Connection
- B.6 L2CAP Channel Disconnect
- B.7 SDP Profile Service Search
- B.8 SDP Reset Database and Add Profile Service Record
- B.9 RFCOMM Client Channel Establishment
- B.10 RFCOMM Client Channel Disconnection
- B.11 RFCOMM Register Server Channel
- B.12 Establish TCS Connection
- B.13 OBEX Server Init
- B.14 OBEX Client Connection and Client Get & Put
- Appendix C: Merlin’s Wand Scripting Commands
- C.1 Bluetooth Addresses
- C.2 Basic Commands
- C.3 Pipe Commands
- C.4 HCI Commands
- HCIAcceptConnectionRequest()
- HCIAddSCOConnection()
- HCIAuthenticationRequested()
- HCICatcBerTest()
- HCICatcChangeHeadsetGain()
- HCICatcEnterTestMode()
- HCICatcReadHeadsetGain()
- HCICatcReadRevisionInformation()
- HCICatcSelfTest()
- HCICatcTestControl()
- HCICatcWriteCountryCode()
- HCIChangeConnectionLinkKey()
- HCIChangeConnectionPacketType()
- HCIChangeLocalName()
- HCIDeleteStoredLinkKey()
- HCIEnableDeviceUnderTestMode()
- HCIExitParkMode()
- HCIExitSniffMode()
- HCIHoldMode()
- HCIMasterLinkKey()
- HCIParkMode()
- HCIPINCodeRequestNegativeReply()
- HCIPINCodeRequestReply()
- HCIQoSSetup()
- HCIReadAuthenticationEnable()
- HCIReadBDADDR()
- HCIReadBufferSize()
- HCIReadClockOffset()
- HCIReadConnectionAcceptTimeout()
- HCIReadCountryCode()
- HCIReadCurrentIACLAP()
- HCIReadEncryptionMode()
- HCIReadLinkPolicySettings()
- HCIReadLinkSupervisionTimeout()
- HCIReadLocalName()
- HCIReadLocalSupportedFeatures()
- HCIReadLocalVersionInformation()
- HCIReadLoopbackMode()
- HCIReadNumberOfSupportedIAC()
- HCIReadPageScanMode()
- HCIReadPageScanPeriodMode()
- HCIReadPageTimeout()
- HCIReadPINType()
- HCIReadRemoteSupportedFeatures()
- HCIReadRemoteVersionInformation()
- HCIReadScanEnable()
- HCIReadSCOFlowControlEnable()
- HCIReadStoredLinkKey()
- HCIReadVoiceSetting()
- HCIRejectConnectionRequest()
- HCIRemoveSCOConnection()
- HCIReset()
- HCIRoleDiscovery()
- HCISetConnectionEncryption()
- HCISetEventFilter()
- HCISniffMode()
- HCISwitchRole()
- HCIWriteAuthenticationEnable()
- HCIWriteConnectionAcceptTimeout()
- HCIWriteCurrentIACLAP()
- HCIWriteEncryptionMode()
- HCIWriteLinkPolicySettings()
- HCIWriteLinkSupervisionTimeout()
- HCIWriteLoopbackMode()
- HCIWritePageTimeout()
- HCIWritePINType()
- HCIWriteScanEnable()
- HCIWriteStoredLinkKey()
- HCIWriteVoiceSettings()
- C.5 OBEX Commands
- C.6 RFCOMM Commands
- RFCloseClientChannel()
- RFOpenClientChannel()
- RFRegisterServerChannel()
- RFSendData()
- RFSendDataFromPipe()
- RFReceiveData()
- RFWaitForConnection()
- RFAcceptChannel()
- RFAcceptPortSettings()
- RFCreditFlowEnabled()
- RFRequestPortSettings()
- RFRequestPortStatus()
- RFSetLineStatus()
- RFSetModemStatus()
- RFSendTest()
- RFAdvanceCredit()
- C.7 TCS Commands
- C.8 L2CAP Commands
- C.9 SDP Commands
- C.10 Merlin Commands
- Appendix D: CATC Scripting Language
273
CATC MERLIN’S WAND 1.22 APPENDIX D
User’s Manual CATC Scripting Language
...
HiThere()
{
a = "Hi there";
b = "Goodbye";
if ( 3 != 3 ) return a;
else return b;
}
will output
Goodbye
because the if statement evaluates to false. This causes the first return
statement to be skipped. The function continues executing with the else
statement, thereby returning the value of b to be used as an argument to
Trace.
Compound Statements
A compound statement, or statement block, is a group of one or more
statements that is treated as a single statement. A compound statement is
always enclosed in curly braces ( {} ). Each statement within the curly
braces is followed by a semicolon; however, a semicolon is not used
following the closing curly brace.
The syntax for a compound statement is
{
<
first_statement>;
<second_statement>;
...
<last_statement>;
}
An example of a compound statement is
{
x = 2;
x + 3;
}
It's also possible to nest compound statements, like so:
{
x = 2;
{