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
268
CATC MERLIN’S WAND 1.22 APPENDIX D
User’s Manual CATC Scripting Language
D.7 Comments
Comments may be inserted into scripts as a way of documenting what the
script does and how it does it. Comments are useful as a way to help others
understand how a particular script works. Additionally, comments can be
used as an aid in structuring the program.
Comments in CSL begin with a hash mark (#) and finish at the end of the
line. The end of the line is indicated by pressing the Return or Enter key.
Anything contained inside the comment delimiters is ignored by the
compiler. Thus,
# x = 2;
is not considered part of the program. CSL supports only end-of-line
comments, which means that comments can be used only at the end of a line
or on their own line. It's not possible to place a comment in the middle of a
line.
Writing a multi-line comment requires surrounding each line with the
comment delimiters
# otherwise the compiler would try to interpret
# anything outside of the delimiters
# as part of the code.
The most common use of comments is to explain the purpose of the code
immediately following the comment. For example:
# Add a profile if we got a server channel
if(rfChannel != "Failure")
{
result =
SDPAddProfileServiceRecord(rfChannel,
"ObjectPush");
Trace("SDPAddProfileServiceRecord returned ",
result, "\n");
}
D.8 Keywords
Keywords are reserved words that have special meanings within the
language. They cannot be used as names for variables, constants or
functions.