[go: up one dir, main page]

0% found this document useful (0 votes)
19 views152 pages

CVM Api Interface

The document provides a detailed description of the CVM API interface design, intended for software developers at RTX and customers. It covers the component's concept, usage, and detailed interface descriptions, including communication scenarios and production test commands. The document also includes a history of revisions and updates made to the API design over time.

Uploaded by

trudelsmejda
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views152 pages

CVM Api Interface

The document provides a detailed description of the CVM API interface design, intended for software developers at RTX and customers. It covers the component's concept, usage, and detailed interface descriptions, including communication scenarios and production test commands. The document also includes a history of revisions and updates made to the API design over time.

Uploaded by

trudelsmejda
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 152

Component Interface Description

CVM API

CVM Platform

01/20/04 3:00 PM CVM API interface V 0.156


1 Document Info

1.1 Contents
1 DOCUMENT INFO ................................................................................................................................2
1.1 Contents...................................................................................................................... 2
1.2 Scope .......................................................................................................................... 5
1.3 History........................................................................................................................ 5
1.4 References .................................................................................................................. 7
1.5 Terms & Abbreviations.............................................................................................. 7
1.6 Naming of the mail primitives ................................................................................... 8
1.7 Packing the individual API commands ...................................................................... 9
2 COMPONENTS DESCRIPTION .........................................................................................................10
2.1 Concept of component ............................................................................................. 10
2.1.1 Related Components ........................................................................................ 10
2.1.2 Conditional Compilements............................................................................... 10
2.1.3 Configuration of component ............................................................................ 10
3 USAGE OF COMPONENT .................................................................................................................11
3.1 Component Interface:............................................................................................... 11
3.2 Protocol PP: MCU_PP -> CVM_PP ........................................................................ 11
3.3 Protocol PP: CVM_PP -> MCU_PP ........................................................................ 12
3.4 Protocol FP (SpeakerPhone): MCU_FP -> CVM_FP.............................................. 13
3.5 Protocol FP (SpeakerPhone): CVM_FP -> MCU_FP.............................................. 14
3.6 Component Interface: General MCU <-> CVM .................................................... 15
4 DETAILED INTERFACE DESCRIPTION ............................................................................................22
4.1 Connection setup/release, dial-digit transmission, CLIP, Portable part................... 22
4.2 Protocol PP: CVM_PP -> MCU_PP ........................................................................ 27
4.3 Connection instance handling, Fixed part ................................................................ 39
4.4 Protocol FP: MCU_FP -> CVM_FP ........................................................................ 41
4.5 Protocol FP: CVM_FP -> MCU_FP ........................................................................ 49
4.6 API bus control......................................................................................................... 59
4.7 General purpose data connection, Portable Part....................................................... 59
4.8 General purpose data connection, Fixed Part........................................................... 60
4.9 General purpose unitdata broadcast ......................................................................... 61
4.10 High speed general purpose data connection, Portable part..................................... 62
4.11 High speed general purpose data connection, Fixed part......................................... 62
4.12 EEPROM access ...................................................................................................... 64
4.13 Remote EEPROM access ......................................................................................... 65
4.14 General purpose I/O access ...................................................................................... 66
4.15 FP DSP Control commands: .................................................................................... 70
4.16 Audio path control PP .............................................................................................. 74
4.17 Audio path control FP .............................................................................................. 77
4.18 Tone control PP FP .................................................................................................. 78
4.19 Tone/Melodies in eeprom......................................................................................... 80
Headset detection ................................................................................................................. 83
Audio adjustment PP (Filter setup) ...................................................................................... 84
01/20/04 3:00 PM CVM API interface V 0.156 Page 2
Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Real Time Clock................................................................................................................... 86
4.20 Battery Management ................................................................................................ 88
4.21 Mode, configuration and status management........................................................... 90
4.22 Software version....................................................................................................... 90
4.23 PSTN line signal detection....................................................................................... 90
4.24 Walkie Talkie mode ................................................................................................. 95
5 COMMUNICATION SCENARIOS .......................................................................................................97
5.1 External outgoing call: Portable Part ....................................................................... 97
5.2 External outgoing call: Fixed Part (SpeakerPhone) ................................................. 97
5.3 External incoming call: Portable Part....................................................................... 98
5.4 External incoming call: Fixed Part (SpeakerPhone) ................................................ 99
5.5 External incoming call using Alert broadcast (*currently not supported) ............. 100
5.6 Ring termination (Unanswered incoming call times out: Portable Part................. 101
5.7 Ring termination (Unanswered incoming call times out): Fixed Part (SpeakerPhone)
102
5.8 Example Internal call from Fixed Part (SpeakerPhone) to Portable Part............... 103
5.9 Example Internal call from Portable Part to Portable Part ..................................... 104
5.10 Call transfer (attended): Fixed Part (SpeakerPhone) to Portable .......................... 105
5.11 Call transfer (un-attended): Portable to Fixed Part (SpeakerPhone)..................... 106
5.12 Call transfer (attended): Portable to Portable ........................................................ 107
5.13 3 part conference: (Portable <-> Portable <-> PSTN) .......................................... 108
5.14 conference: (barge in)............................................................................................. 109
5.15 Example Fp pageall from Fixed Part to Portable Part............................................ 110
5.16 FP rejected outgoing call: (Portable Part) .............................................................. 111
5.17 Release from PP: (Portable Part)............................................................................ 112
5.18 Release from FP: (Portable Part)............................................................................ 112
5.19 FP Remote Line mode............................................................................................ 113
5.20 FP Remote Line mode: Ext outgoing from FP (SpkPhone) to FP (line)................ 114
5.21 FP Remote Line mode: Ext outgoing from PP to FP (line) ................................... 115
5.22 FP Remote Line mode: Ext incoming call from FP (line) to FP (SphPhone) ........ 116
5.23 FP Remote Line mode: Ext incoming call from FP (line) to PP............................ 117
5.24 FP Remote Line mode: Int call from PP to FP(SpeakerPhone) ............................. 118
5.25 FP Remote Line mode: Int call from FP (SpkPhone) to selected PP ..................... 119
5.26 Successful registration (subscription) .................................................................... 120
5.27 Registration (subscription) fails, retry, successful ................................................. 120
5.28 Registration (subscription) fails, retry, unsuccessful ............................................. 121
5.29 Terminate a registration (subscription) locally in Portable Part ............................ 122
5.30 Terminate a registration (subscription) locally in Fixed Part................................. 122
5.31 Terminate a registration (subscription) remotely in FP from PP ........................... 122
5.32 Autoregistration (subscription) .............................................................................. 123
5.33 Select subscription (success) (Portable Part) ......................................................... 124
5.34 Select subscription (fail)(Portable Part) ................................................................. 124
5.35 Service call (low speed datatransfer with IWU) PP<->FP..................................... 125
5.36 Unitdata broadcast (broadcast data to all PP without establishing connection)..... 126
5.37 High speed data transfer......................................................................................... 127
5.38 Remote Eeprom Read/Write (PP to FP)................................................................. 128
5.39 Invoke subscription (accessrights) in FP................................................................ 128
5.40 Get time .................................................................................................................. 129

01/20/04 3:00 PM CVM API interface V 0.156 Page 3


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
5.41 Set time locally (both Pp and Fp)........................................................................... 129
5.42 Set time remotely (from Pp)................................................................................... 129
5.43 Activate Walkie Talkie mode................................................................................. 130
5.44 Deactivate Walkie Talkie mode ............................................................................. 130
5.45 Outgoing Walkie Talkie call .................................................................................. 130
5.46 Incoming Walkie Talkie call .................................................................................. 131
5.47 Release Walkie Talkie call (release initiated by own handset) .............................. 131
5.48 Release Walkie Talkie call (release initiated by other handset)............................. 131
6 BUSMAIL SERIAL INTERFACE ......................................................................................................132
6.1 Introduction ............................................................................................................ 132
6.2 Framing .................................................................................................................. 133
6.2.1 Framing character........................................................................................ 133
6.2.2 Length............................................................................................................ 133
6.2.3 Header ........................................................................................................... 134
6.2.4 Mail................................................................................................................ 137
6.2.5 Checksum...................................................................................................... 137
6.3 Synchronization Protocol ....................................................................................... 138
7 PRODUCTION TEST BUS INTERFACE...........................................................................................143
7.1 Sending production test commands using the API test protocol:........................... 143
7.2 Production Test Commands: (all available as batch files) .................................... 144
8 APPENDIX........................................................................................................................................149
8.1 Tone/frequency tables ............................................................................................ 149
8.1.1 - 12 Tone scale ............................................................................................... 149
8.1.2 Standard frequencies ...................................................................................... 150

01/20/04 3:00 PM CVM API interface V 0.156 Page 4


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
1.2 Scope
This document describes the API interface design of the CVM project. This document should
be used by software developers at RTX and customer to get an overview of the design of the
component.

Chapter 2 gives a description of the concept of this component and the primary relation with
other components. Chapter 3 describes the usage of the interface, e.g. presents the interface
functions/calls to the component, and chapter 4 describes the design of the component.
Section 2 and 3 of this document should be used for all components, but section 4, which
gives a more detailed description of the design, can be used when necessary.

1.3 History
Revision Author Issue Date Comments
00.01 SS 28-Aug-2002 First revision
00.02 SS 10-Sep-2002 FP protocol signaling added
00.03 SS 18-Oct-2002 Busmail serial interface chapter added
00.07 SS 7-Jan-2003 Minor changes in scope/footer
00.07 MDA 9-Jan-2003 Minor changes to Real Time Clock and Battery Management
chapters.
00.07 SS 27-Jan-2003 Review and cleanup in protocol mails
Introducing the MCU term
Added MessageSequenceCharts for more callhandling cases
00.07 MDA 29-Jan-2003 Changes to API_PP_CLIP_IND parameters.
00.07 MDA 31-Jan-2003 API_FP_CLIP_IND added.
00.08 SS 4-Feb-2003 SPI bus switch added
KBP 5-Feb-2003 BUSMAIL protocol updated.
SS 5-Feb-2003 Ram/Register read/write added
SS 5-Feb-2003 Mic Mute/Unmute added in PP
MDA 11-Feb-2003 Added CVM_SET_TIME_REMOTE_REQ and _CFM
MDA 13-Feb-2003 API_PP_VMWI_IND and API_FP_VMWI_IND added.
00.10 SS 18-Feb-2003 Mail dicrection corrected for
CVM_PP_AUDIO_HS_PLUG_IND description
00.11 SS 19-Feb-2003 Production test batch files modified.Description on how to
send productiontest commands as anAPI call added
00.12 KBP 24-Feb-2003 Message Sequence figure showing flow control updated
00.13 KBP 25-Feb-2003 Message Sequence figure showing flow control updated
SS 27-Feb-2003 Delete subscription added
MDA 3-Mar-2003 Additional battery management functionality:
- CVM_BAT_POWER_ON_REASON_REQ
- CVM_BAT_POWER_ON_REASON_CFM
- CVM_BAT_CRADLED_REQ
- CVM_BAT_CRADLED_CFM
- CVM_BAT_CAPACITY_IND
- CVM_BAT_EMPTY_IND
- CVM_BAT_RESET_REQ
MDA 11-Mar-2003 Walkie Talkie mode API description added.
MDA 12-Mar-2003 Walkie Talkie mode communication scenarios added.
MDA 12-Mar-2003 CVM_BUS_DISABLE_REQ (sleep mode) added.
MLA 13-Mar-03 High speed data API added
V0120 SS 14-Mar-2003 FP speakerphone has beeen added
V0121 MDA 24-Mar-2003 Description of reason codes for CLIP added.
V0123 MDA 31-Mar-2003 Communication scenarios added for Real Time Clock setting.

01/20/04 3:00 PM CVM API interface V 0.156 Page 5


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
SS 1-Apr-2003 Addition of base switch status:
- API_FP_SW_STATUS_IND,
- API_PP_SW_STATUS_IND
SS 2-Apr-2003 Addition of plug status:
CVM_PP_PLUG_STATUS_IND
SS 3-Apr-2003 Release and Reject reasons added
SS 7-Apr-2003 Description of API command packing
MDA 8-Apr-2003 Addition of bSeconds and bSyncStatus to
CVM_GET_TIME_CFM.
SS 9-Apr-2003 Autoregistration msg-seq chart added
V0124 SS 10-Apr-2003 ReTransmission documentation Chap6 updated and
V0125 initialization examples added
V0126 SS 28-Apr-2003 Fp Pageall added
SS 29-Apr-2003 Registration reject reasson commented
SS 1-May-03 General purpose IO ports reduced
SS 1-May-03 API_STOP_PROTOCOL added
SS 1-May-03 CVM_SET_MODE_REQ, CVM_READ_MODE_REQ,
CVM_READ_MODE_CFM, CVM_STATUS_IND removed
MSJ 7-May-03 Special reason-codes used by the switch-control added
AES 7-May-03 Tone frequencies appendix added
V0127 SS 7-May-03 Line status functionality changed
SS 13-may-03 CVM_FP_SW_AUDIO_MUTE_REQ added
SS 20-May-03 Clip parameters added to API_xx_SETUP_IND
V0128 MDA 21-May-03 Removed invalid CLIP reason codes for Name data.
SS 26-May-03 SET_PORT_DIR_REQ PCM disabling and pull up/down
commands added
V0130 SS 27-May-03 DELETE_SUBS comments changed
V0131 SS 03-Jun-03 DSP API calls added
MDA 24-Jun-03 Corrected some incorrect primitive names and values.
V0132 MDA 24-Jun-03 Parameter description of
API_PP_MESSAGE_WAITING_IND and
API_FP_MESSAGE_WAITING_IND updated.
SS 27-jun-03 CVM_PP_PLUG_STATUS_IND and
CVM_PP_LINE_STATUS_IND are now only send when a
change has occured
*can be provoked by a API_PP_LOCKED_STATUS_REQ to
retransmit at next broadcast
SS 1-Jul-03 CVM_PP_ON_KEY_IND added
SS 16-Jul-03 simulated FP ringing added
SS 13-Aug-03 CVM_GET_VER_REQ/CFM added
V0137 SS 13-Aug-03 msg-seq charts for conference modes added
SS 19-Aug-03 API_PP_READ_RSSI_REQ/CFM added
V0139 MDA 22-Aug-03 CVM_REMOTE_SET_PORT_REQ,
CVM_REMOTE_READ_PORT_REQ,
CVM_REMOTE_READ_PORT_CFM and
CVM_REMOTE_SET_PORT_DIR_REQ added.
V0140 SS 01-Sep-03 Primitives values corrected
SS 02-Sep-03 RxTx frame counter comments added to tye
V0141 AES 12-Sep-03 Additional audio commands added.
SS 25-Sep-03 UART/SPI bus initialisation example added
SS 30-Sep-03 Remote Line feature description added
V0142 SS 1-Oct-03 3-part conference info updated
SS 6-Oct-03 Remote Line task functionality added
SS 9-oct-03 patameter added to API_PP_SW_STATUS_IND

01/20/04 3:00 PM CVM API interface V 0.156 Page 6


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
1.4 References
[1]
[2]

1.5 Terms & Abbreviations


A Term Explanation
CVM Cordless Voice Module
API ApplicationInterface
FP_CVM, PP_CVM Fixed part & Portaple part of the CVM
MCU Defines the external “MicroControlUnit” handling the MMI connected to the CVM
module.
MCU_FP, MCU_PP MCU connected to the CVM fixed part & CVM portable part
PP Portable part (handset)
FP Fixed part (base)
CLIP Caller Line Identification Presentation
MMI Man Machine Interface (user interface)
SMS Short Message Service
DLE ASCII/IA5 character 0x10.
UART Universal Asynchronous Receive and Transmit
TRUE Logical true (different from 0)
FALSE Logical false (equals 0)
WT Walkie Talkie
AES audio echo canceler
LES line echo canceler

01/20/04 3:00 PM CVM API interface V 0.156 Page 7


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
1.6 Naming of the mail primitives

Four types of primitives exist, Request (req), Indicate (ind), Response (res) and Confirm
(cfm). A "cfm" primitive only occurs as confirmation of an action initiated by a "req"
primitive. A "res" primitive can only follow a "ind" primitive. The direction of the primitives
is shown in the figure below.
In peer to peer (P2P) communication between FP and PP a sent "req" will be received as a
"ind" in the other party and a sent "res" will be received as a "cfm".

External Application (MMI)


_req _res
 ↑ ↑ 
↓   ↓
_cfm _ind
CVM module

In the primitive name is also included if the mail is used in the handset (PP) mode or in the
basestation (FP) mode.
If no part is indicated, the same primitive can be used for both parts.

*in some cases of the protocol communication a req will not be answered by a cfm but by a
ind instead. This is to match some special cases of the DECT protocol.

01/20/04 3:00 PM CVM API interface V 0.156 Page 8


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
1.7 Packing the individual API commands

When packing the API commands the package should be build up as follows:

Frame Char (MS byte) Length (LS byte) Header Mail Checksum

1 byte 2 bytes 1 byte Max packet size bytes 1 byte

BUSMAIL frame format.

The Mail part of the package should be build up as follows:

Program Id Task Id. (LS Byte) Primitive (MS Byte) Mail parametres

1 byte 1 byte >= 2 bytes

MAIL frame format

In normal CVM operation the ProgramID should be set to 0x00


and TaskID should be set to 0x0F.

The message is set to the length, the command (primitive) and if needed the commmand
parameters.

Example: API_PP_LOCKED_STATUS_REQ (0x2F2B)

ProgramID = 0x00
TaskID = 0x0F (USERTASK)

Message Primitive MSB = 0x2B


Message Primitive LSB = 0x2F

The entire mail package with header, ack and checksum could then end up looking something
like this: (see chapter 6 on how to pack the entire mail)

10 00 05 3A 00 0F 2B 2F A3

01/20/04 3:00 PM CVM API interface V 0.156 Page 9


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
2 Components Description
The CVM API Mapper component is a component that handles the logical communication
between the CVM module and an external MMI Application microprocessor (MCU).

2.1 Concept of component

2.1.1 Related Components

2.1.2 Conditional Compilements

#ifdef Description

2.1.3 Configuration of component


#define Description

Eeprom parameter Description

01/20/04 3:00 PM CVM API interface V 0.156 Page 10


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
3 Usage of Component

3.1 Component Interface:

3.2 Protocol PP: MCU_PP -> CVM_PP


Interface fct. / Mail Description
Portable part protocol mails
API_PP_LOCK_REQ 0x8554 MCU->CVM Select subscription in for PP to lock on
API_PP_SETUP_REQ 0x8571 MCU->CVM Setup an air-link connection from the PP to the FP
API_PP_KEYPAD_REQ 0x858A MCU->CVM Send a string of dial digits from the PP to the FP
API_PP_CONNECT_REQ 0x8577 MCU->CVM PP answers an incoming call
API_PP_ALERT_REQ 0x2F8D MCU->CVM Indicates to FP that alerting is started
API_PP_RELEASE_REQ 0x8579 MCU->CVM PP Releases the connection
API_PP_RELEASE_RES 0x857C MCU->CVM Confirm on the FP-initiated
CVM_PP_RELEASE_IND
API_PP_REJECT_REQ 0x8565 MCU->CVM PP MMI rejects incoming call
API_PP_ACCESS_RIGHTS_REQ 0x8566 MCU->CVM Initiates registration of the PP to a FP by searching for
and sending the registration package to the FP.
API_PP_DELETE_SUBS_REQ 0x8560 MCU->CVM Deregister PP from FP (locally only in PP)
API_PP_REMOTE_DELETE_SUBS_ 0x2F9E MCU->CVM Remotely deregister PP from FP (remotely in/from FP
REQ to PP)
API_PP_STOP_PROTOCOL_REQ 0x2FC4 MCU->CVM Stops the protocol from running.
*can also be used to stop an ongoing registration.
API_PP_READ_RSSI_REQ 0x2FC6 MCU->CVM Requests readout of the current RSSI
(ReceivingSignalStrengthIndication) of the PP

01/20/04 3:00 PM CVM API interface V 0.156 Page 11


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
3.3 Protocol PP: CVM_PP -> MCU_PP
Interface fct. / Mail
Description
Portable part protocol mails
API_PP_LOCKED_IND 0x8558 CVM->MCU Indicates that the PP is in service (locked) with the FP
API_PP_UNLOCKED_IND 0x8559 CVM->MCU Indicates that the PP out of service (unlocked) with the
FP
API_PP_SETUP_IND 0x8574 CVM->MCU Signals incoming call to PP (intercon/external/service).
*If external call the alert on/off is following the
ringercadence. Else the ringercadence should be
generated locally in the PP.
API_PP_CONNECT_IND 0x8576 CVM->MCU Connection has been established.
Received as confirmation on the
CVM_PP_SETUP_REQ
API_PP_CONNECT_CFM 0x8578 CVM->MCU Connection has been established. (Incoming call)
Received as confirmation on the
CVM_PP_CONNECT_REQ
API_PP_SETUP_ACK_IND 0x857F CVM->MCU Internal connection has been established.to the base.
Waiting for local handsetnumber.
Received as confirmation on the
CVM_PP_SETUP_REQ
API_PP_ALERT_IND 0x8581 CVM->MCU Internal call, FP has established the connection to other
PP. The other PP is alerting.
API_PP_ALERT_ON_IND 0x857D CVM->MCU Signals incoming call to PP. Start alert tone
*If external call the alert on/off is following the
ringercadence
API_PP_ALERT_OFF_IND 0x857E CVM->MCU Signals incoming call to PP. Stop alert tone
*If external call the alert on/off is following the
ringercadence
API_PP_SIGNAL_ON_IND 0x2F9C CVM->MCU used from the FP to request inbandtones on the PP
API_PP_SIGNAL_OFF_IND 0x2F9D CVM->MCU used from the FP to request stop inbandtones on the PP

API_PP_RELEASE_IND 0x857B CVM->MCU Indicates that the FP has rejected the connection to the
PP.
API_PP_RELEASE_CFM 0x857A CVM->MCU Confirms the PP-initiated release
API_PP_REJECT_IND 0x8564 CVM->MCU FP rejects the connection to the PP.
API_PP_ACCESS_RIGHTS_CFM 0x8568 CVM->MCU Confirmation of successful registration of a PP to and
FP
API_PP_ACCESS_RIGHTS_REJ 0x8569 CVM->MCU Rejection of unsuccessful registration of a PP to and FP
API_PP_DELETE_SUBS_CFM 0x8561 CVM->MCU Confirm on termination of the PP subscription
API_PP_REMOTE_DELETE_SUBS_ 0x2F9F CVM->MCU Remotely deregister PP from FP (remotely in/from FP
CFM to PP)
API_PP_CLIP_IND 0x2F93 CVM->MCU Sends a CLIP package from the CVM_PP to the
MCU_PP
API_PP_SW_STATUS_IND 0x2FC2 CVM->MCU Indicated status of the FP switching for current
connection
API_PP_MESSAGE_WAITING_IND 0x2FA1 CVM->MCU Sends Visual Message Waiting Indication (VMWI)
status from the CVM_PP to the MCU_PP
CVM_PP_PLUG_STATUS_IND 0x2F4F CVM->MCU Sends line plug status to the PP_MCU
CVM_PP_LINE_STATUS_IND 0x2F53 CVM->MCU Sends line status to the PP_MCU
CVM_PP_ON_KEY_IND 0x2F64 CVM->MCU Sends keystatus of the PP ON_KEY to the MCU
API_PP_READ_RSSI_CFM 0x2FC7 CVM->MCU Returns the requested readout of the current RSSI
(ReceivingSignalStrengthIndication) of the PP
API_PP_ALERT_BROADCAST_IND 0x2FA3 CVM->MCU Indicated broadcast paging from the FP

01/20/04 3:00 PM CVM API interface V 0.156 Page 12


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
3.4 Protocol FP (SpeakerPhone): MCU_FP -> CVM_FP

Interface fct. / Mail Description


Fixed part protocol mails
API_FP_INVOKE_ACCESS_RIGHTS 0x2FBE MCU->CVM Enables FP for registration
_REQ *can also be done by pressing registrationkey on FP
API_FP_DELETE_SUBS_REQ 0x2FA0 MCU->CVM Deregister selected PP from FP

API_FP_SETUP_REQ 0x2F80 MCU>CVM Setup an air-link connection from the FP to the PP


API_FP_SETUP_ADVANCED_REQ 0x2FA9 MCU>CVM Setup an air-link connection from the FP to the PP
Same as API_FP_SETUP_REQ, but with additional
parameters and options
API_FP_ALERT_ON_REQ 0x2FA5 MCU>CVM Simulates ringvoltage on from the FP
API_FP_ALERT_OFF_REQ 0x2FA6 MCU>CVM Simulates ringvoltage off from the FP
API_FP_ALERT_DISTINTIVE_OFF 0x2FA7 MCU>CVM Simulates ringvoltage from distintive ringing off from
_REQ the FP
API_FP_KEYPAD_REQ 0x2F89 MCU>CVM Send a string of dial digits from the FP to the line
API_FP_CONNECT_REQ 0x2F84 MCU>CVM FP answers an incoming call
API_FP_ALERT_REQ 0x2F8C MCU>CVM Indicates to PP/basecontrol that alerting is started
API_FP_RELEASE_REQ 0x2F85 MCU>CVM FP Releases the connection
API_FP_RELEASE_RES 0x2F88 MCU>CVM Confirm on the PP-initiated
CVM_FP_RELEASE_IND
API_FP_REJECT_REQ 0x2F8E MCU>CVM FP MMI rejects incoming call
API_FP_STOP_PROTOCOL_REQ 0x2FC5 MCU->CVM Stops the protocol from running.

01/20/04 3:00 PM CVM API interface V 0.156 Page 13


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
3.5 Protocol FP (SpeakerPhone): CVM_FP -> MCU_FP
Interface fct. / Mail Description
Fixed part protocol mails
API_FP_SETUP_IND 0x2F81 CVM->MCU Signals incoming call to FP (intercon/external/service).
*If external call the alert on/off is following the
ringercadence
else the ringercadence should be generated locally in
the FP.
API_FP_CONNECT_IND 0x2F83 CVM->MCU Connection has been established.
Received as confirmation on the
CVM_FP_SETUP_REQ
API_FP_CONNECT_CFM 0x2F9B CVM->MCU Connection has been established. (Incoming call)
Received as confirmation on the
CVM_FP_CONNECT_REQ
API_FP_SETUP_ACK_IND 0x2F8A CVM->MCU Internal connection has been established.to the base.
Waiting for local handsetnumber.
Received as confirmation on the
CVM_FP_SETUP_REQ
API_FP_CALL_PROC_IND 0x2FA8 CVM->MCU Fp simulated ringing has been initiated to the PP’s
Waiting for PP to hook off
API_FP_ALERT_IND 0x2F8B CVM->MCU Internal/data call, FP has established the connection to
other PP.
The other PP is alerting.
API_FP_ALERT_ON_IND 0x2F90 CVM->MCU Signals incoming call to FP. Start alert tone
*If external call the alert on/off is following the
ringercadence
API_FP_ALERT_OFF_IND 0x2F91 CVM->MCU Signals incoming call to FP. Stop alert tone
*If external call the alert on/off is following the
ringercadence
API_FP_SIGNAL_ON_IND 0x2FBF CVM->MCU Signals incoming call to FP. Start inband tone
API_FP_SIGNAL_OFF_IND 0x2FC0 CVM->MCU Signals incoming call to FP. Stop inband tone
API_FP_RELEASE_IND 0x2F86 CVM->MCU Indicates that the PP has released the connection
API_FP_RELEASE_CFM 0x2F87 CVM->MCU Confirms the FP-initiated release
API_FP_REJECT_IND 0x2F82 CVM->MCU PP rejects the connection.
API_FP_SW_STATUS_IND 0x2FC1 CVM->MCU Indicated status of the FP switching for current
connection
CVM_FP_LINE_STATUS_IND 0x2F41 CVM->MCU Sends line status to the FP_MCU

CVM_FP_PLUG_STATUS_IND 0x2F50 CVM->MCU Sends line plug status to the FP_MCU


CVM_FP_SW_AUDIO_MUTE_IND 0x2F5A CVM->MCU BasControl requests FP_MCU to mute audio
API_FP_DELETE_SUBS_CFM 0x2FC3 CVM->MCU Confirmation on deregistration from the FP
API_FP_REG_MODE_IND 0x2FA4 CVM->MCU Inducates a change in registrationmode to the MCU
API_FP_MESSAGE_WAITING_IND 0x2FA2 CVM->MCU Sends Visual Message Waiting Indication (VMWI)
status from the CVM_FP to the MCU_FP
API_FP_CLIP_IND 0x2F92 CVM->MCU Sends a CLIP package from the CVM_FP to the
MCU_FP
API_FP_KEYPAD_IND 0x2FAA CVM->MCU When in remote line mode,API_FP_KEYPAD_IND
incates that a PP is sending dial digits

01/20/04 3:00 PM CVM API interface V 0.156 Page 14


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
3.6 Component Interface: General MCU <-> CVM
API bus control
CVM_BUS_SELECT_REQ 0x2F2E MCU ->CVM Selects API bus mode (UART or SPI)
*The CVM starts up in UART mode as default
CVM_BUS_DISABLE_REQ 0x2F4D MCU ->CVM Disables bus driver (UART or SPI)
General purpose data connection (Portable part)
API_PP_IWU_DATA_REQ 0x8587 MCU ->CVM Sends general user data from the PP to the FP
*It is possible to broadcast 52 bytes of iwutdata at a
time
API_PP_IWU_DATA_IND 0x8588 CVM ->MCU Receives general user data from the FP to the PP
General purpose data connection (Fixed part)
API_FP_IWU_DATA_REQ 0x2F94 MCU ->CVM Sends general user data from the FP to the PP
*It is possible to broadcast 52 bytes of iwutdata at a
time
API_FP_IWU_DATA_IND 0x2F95 CVM ->MCU Receives general user data from the PP to the FP
General purpose unitdata broadcast
API_FP_UNITDATA_REQ 0x2F98 MCU ->CVM Broadcasts general user data from the FP to the PP
while no connection is established
*It is possible to broadcast 19 bytes of unitdata at a
time
API_PP_UNITDATA_IND 0x2F9A CVM->MCU Receives broadcast general user data from the FP to the
PP while no connection is established
High speed general purpose data connection (Portable part)
API_PP_DATA_SEND_READY_IN 0x85D1 CVM ->MCU Informs MCU that CVM is ready to receive data
D
API_PP_DATA_SEND_REQ 0x85D2 MCU ->CVM Sends general user data from the PP to the FP
API_PP_DATA_RECEIVE_READY_ 0x85D3 MCU ->CVM Informs CVM that MCU is ready to receive data
REQ
API_PP_DATA_RECEIVE_IND 0x85D4 CVM->MCU Receives general user data from the FP to the PP
High speed general purpose data connection (Fixed part)
API_FP_DATA_SEND_READY_IN 0x85D5 CVM ->MCU Informs MCU that CVM is ready to receive data
D
API_FP_DATA_SEND_REQ 0x85D6 MCU ->CVM Sends general user data from the FP to the PP
API_FP_DATA_RECEIVE_READY_ 0x85D7 MCU ->CVM Informs CVM that MCU is ready to receive data
REQ
API_FP_DATA_RECEIVE_IND 0x85D8 CVM->MCU Receives general user data from the PP to the FP
Eeprom access
CVM_EEPROM_WRITE_REQ 0x2F00 MCU ->CVM Writes data to the eeprom in the CVM module
CVM_EEPROM_READ_REQ 0x2F01 MCU ->CVM Reads data from the eeprom in the CVM module
CVM_EEPROM_READ_CFM 0x2F02 CVM ->MCU Confirm mail from the CVM module holding the
requested eeprom read data
CVM_REMOTE_EEP_WRITE_REQ 0x2F35 MCU ->CVM Writes data to the eeprom in the FP CVM module from
the PP
CVM_REMOTE_EEP_WRITE_CFM 0x2F4E CVM ->MCU Acknowledge on remote eeprom write
CVM_REMOTE_EEP_READ_REQ 0x2F36 MCU ->CVM Reads data from the eeprom in the FP CVM module
from the PP
CVM_REMOTE_EEP_READ_CFM 0x2F37 CVM ->MCU Confirm mail from the FP CVM module holding the
eeprom read data, requested from the PP
General purpose I/O access
CVM_SET_PORT_REQ 0x2F03 MCU ->CVM Controls a single (unused by the CVM module) port
pin on the CVM module
CVM_READ_PORT_REQ 0x2F04 MCU ->CVM Reads a single port pin on the CVM module
CVM_READ_PORT_CFM 0x2F05 CVM ->MCU Return status of requested port pin on the CVM module
CVM_SET_PORT_DIR_REQ 0x2F06 CVM ->MCU Sets the direction of the user accessible IO ports

01/20/04 3:00 PM CVM API interface V 0.156 Page 15


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
CVM_REMOTE_SET_PORT_REQ 0x2F67 MCU ->CVM Controls a single (unused by the CVM module) port
(PP only) pin on the FP_CVM module from the PP_MCU
(Requires a service connection)
CVM_REMOTE_READ_PORT_REQ 0x2F68 MCU ->CVM Reads a single port pin on the FP_CVM module from
(PP only) the PP_MCU (Requires a service connection)
CVM_REMOTE_READ_PORT 0x2F69 CVM ->MCU Return status of requested port pin on the FP_CVM
(PP only)
_CFM module to the PP_MCU (Requires a service
connection)
CVM_REMOTE_SET_PORT_DIR 0x2F6A CVM ->MCU Sets the direction of the user accessible IO ports on the
(PP only)
_REQ FP_CVM from the PP_MCU (Requires a service
connection)
Fp DSP Control (Fixed part)
CVM_FP_DSP_COMMAND_REQ 0x2F5D MCU->CVM This command is used to send DSP command packages
to the Fp DSP
CVM_FP_DSP_COMMAND_CFM 0x2F5E CVM->MCU Answer on the dsp command request command.

Audio control (Portable part)


CVM_PP_AUDIO_OPEN_REQ 0x2F0E MCU->CVM This command is used to open audio between the
Adpcm buffer and the codec.
If no indication of headset has been received the
connected audio path will be between the earpiece,
internal microphone, and the adpcm buffer, and the
audio state machine will enter the earpiece State
*when the audio is opened, it can be switched to
speakerphone or headset by API-commands (see
section “Audio path control PP”
CVM_PP_AUDIO_CLOSE_REQ 0x2F0F MCU ->CVM This command is used to close audio. The audiotask
state machine will return to idle state as result of this
command
CVM_PP_AUDIO_SET_VOLUME 0x2F1D MCU ->CVM The command is used to adjust the audio volume. The
_REQ volume is adjusted in steps in the range 0 to 9
CVM_PP_AUDIO_MUTE_MIC 0x2F19 MCU ->CVM Mutes the Microphone of the connected PP
_REQ
CVM_PP_AUDIO_UNMUTE_MIC 0x2F1A MCU ->CVM Unmutes the Microphone of the connected PP
_REQ
CVM_PP_AUDIO_OPEN_HANDSF 0x2F14 MCU ->CVM This command is used to enable the handset
REE speakerphone mode. The state machine enters the
_REQ Handsfree State after processing the command
CVM_PP_AUDIO_CLOSE_HANDS 0x2F15 MCU ->CVM This command is used to disable the handset
FREE_REQ speakerphone mode.
CVM_PP_AUDIO_OPEN_ADPCM_ 0x2F6B MCU->CVM This command is used to open the audiopath without
OFF_REQ having a valid MAC connection. Because the ADPCM
buffers are not valid without a MAC connection, The
audio must not be connected to the ADPCM buffers in
this case. It is possible to switch in the ADPCM when a
valid MAC connection is present with a normal
CVM_PP_AUDIO_OPEN_REQ.
CVM_PP_AUDIO_OPEN_HANDSF 0x2F6C MCU->CVM This command does the same as
REE_ADPCM_OFF_REQ CVM_PP_AUDIO_OPEN_ADPCM_OFF_REQ,
except that in opens audio in handsfree
CVM_PP_AUDIO_HS_PLUG_IND 0x2F1C MCU->CVM This indication is used to switch audio into and out of
headset mode. When a headset is connected /
disconnected the MCU will be notified by the CVM
headset detection logic. Base on this indication the
MCU can send this indication to switch audio to/from
the headset.
Audio control (Fixed part)

01/20/04 3:00 PM CVM API interface V 0.156 Page 16


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
CVM_FP_AUDIO_OPEN_REQ 0x2F42 MCU->CVM This command is used to open audio on the PCM
interface.
CVM_FP_AUDIO_CLOSE_REQ 0x2F43 MCU ->CVM This command is used to close audio. The audiotask
state machine will return to idle state as result of this
command
CVM_FP_AUDIO_SET_VOLUME 0x2F44 MCU ->CVM The command is used to adjust the audio volume. The
_REQ volume is adjusted in steps in the range 0 to 9
CVM_FP_AUDIO_MUTE_REQ 0x2F45 MCU ->CVM Mutes the Rx or Tx direction
CVM_FP_AUDIO_UNMUTE_REQ 0x2F46 MCU ->CVM Unmutes the Rx or TX direction

01/20/04 3:00 PM CVM API interface V 0.156 Page 17


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Tone control PP
CVM_PP_AUDIO_START_TONE_ 0x2F20 MCU ->CVM This command is used to start a tone or a tone pattern.
REQ
CVM_PP_AUDIO_STOP_TONE 0x2F2D MCU ->CVM This command is used to stop a tone or a tone pattern.
_REQ
CVM_PP_AUDIO_START 0x2F10 MCU ->CVM This command is used to start a melody or ringer
_MELODY_REQ pattern.
CVM_PP_AUDIO_STOP_MELODY 0x2F11 MCU ->CVM This command is used stop the melody generator
_REQ
CVM_PP_AUDIO_MELODY_END_ 0x2F38 CVM ->MCU This command is send to the MCU when a stated
IND melody has been played to the end and has stopped
CVM_PP_AUDIO_START_EE_MEL 0x2F39 MCU->CVM This command is used to start a user melody from
ODY_REQ eeprom. The command is the same as
CVM_TONE_START_MELODY_REQ except that
eeprom address is parsed as argument instead of ringer
index
CVM_PP_AUDIO_START_EE_TON 0x2F5C MCU->CVM This command is used to start a user tone eeprom.
E_REQ The command is the same as
CVM_TONE_START_TONE_REQ except that
eeprom address is parsed as argument instead of tone
index
CVM_PP_HEADSET_DETECT_IND 0x2F51 CVM ->MCU This command is indicates new headset state
CVM_PP_AUDIO_KEY_BEEP_REQ 0x2F12 MCU ->CVM This command is used to generate a keyclick. This
command works like
CVM_PP_AUDIO_START_TONE_REQ except that
the Tone Index is fixed to TONE_KEYCLICK_ID

Tone control FP
CVM_FP_AUDIO_START_TONE 0x2F49 MCU ->CVM This command is used to start a tone or a tone pattern.
_REQ
CVM_FP_AUDIO_STOP_TONE 0x2F4A MCU ->CVM This command is used to stop a tone or a tone pattern.
_REQ
CVM_FP_AUDIO_START 0x2F47 MCU ->CVM This command is used to start a melody or ringer
_MELODY_REQ pattern.
CVM_FP_AUDIO_STOP_MELODY 0x2F48 MCU ->CVM This command is used stop the melody generator
_REQ
CVM_FP_AUDIO_MELODY_END_ 0x2F4B CVM ->MCU This indication indicates when a melody is played to
IND the end
CVM_FP_AUDIO_START_EE 0x2F4C MCU->CVM This command is used to start a user melody from
_MELODY_REQ eeprom. The command is the same as
CVM_TONE_START_MELODY_REQ except that
eeprom address is passed as argument instead of ringer
index
CVM_FP_AUDIO_START_EE_TON 0x2F5B MCU->CVM This command is used to start a user tone eeprom.
E_REQ The command is the same as
CVM_TONE_START_TONE_REQ except that
eeprom address is parsed as argument instead of tone
index
PP Filters
CVM_DSP_SET_FILT_COEF_REQ 0x2F52 MCU ->CVM This command is used to setup new filter coefficient

01/20/04 3:00 PM CVM API interface V 0.156 Page 18


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Real Time Clock
CVM_SET_TIME_REQ 0x2F0A MCU ->CVM Adjust the time of the realtime clock
CVM_GET_TIME_REQ 0x2F0C MCU ->CVM Read request to read out the time of the realtime clock
CVM_SET_TIME_CFM 0x2F0B CVM ->MCU Return status of time adjustment of the realtime clock
CVM_GET_TIME_CFM 0x2F0D CVM ->MCU Return read out of the time of the realtime clock
CVM_SET_TIME_REMOTE_REQ 0x2F33 MCU ->CVM Remotely adjust the time of the realtime clock in the
CVM_FP from the MCU_PP (requires service
connection).
CVM_SET_TIME_REMOTE_CFM 0x2F34 CVM ->MCU Return status of remote time adjustment of the realtime
clock (requires service connection).
Battery Management
CVM_BAT_POWER_OFF_REQ 0x2F21 MCU ->CVM Requests power off from the MCU
*available in PP mode only
CVM_BAT_CONSUMPTION_REQ 0x2F22 MCU ->CVM Indicates the current power consumption to CVM
*(Handset only)
CVM_BAT_CAPACITY_REQ 0x2F24 MCU ->CVM Requests battery capacity reading
*available in PP mode only
CVM_BAT_CRADLED_REQ 0x2F3E MCU ->CVM Returns a CVM_BAT_CRADLED_CFM, which
contains the current cradle-state (i.e. in the cradle or
not in the cradle)
*available in PP mode only
CVM_BAT_POWER_ON_REASON_ 0x2F3A MCU ->CVM Returns a CVM_BAT_POWER_ON_REASON_CFM,
REQ which contains the power on reason (i.e. a normal
power on, cradle power on, new battery or a software
reset)
*available in PP mode only
CVM_BAT_RESET_REQ 0x2F40 MCU ->CVM This will make the CVM perform a software-reset
*available in both FP and PP mode
CVM_BAT_CAPACITY_CFM 0x2F23 CVM ->MCU Confirm mail from the CVM holding the requested
battery capacity level
(return mail on the CVM_BAT_CAPACITY_REQ)
*available in PP mode only
CVM_BAT_POWER_ON_REASON_ 0x2F3B CVM ->MCU Confirm mail from the CVM holding the requested
CFM power on reason (return mail on the
CVM_BAT_POWER_ON_REASON_REQ)
*available in PP mode only
CVM_BAT_CRADLED_CFM 0x2F3F CVM ->MCU Confirm mail from the CVM holding the requested
cradle state.
(return mail on the CVM_BAT_CRADLED_REQ)
*available in PP mode only
CVM_BAT_CAPACITY_IND 0x2F3C CVM ->MCU Indication from the CVM holding the current capacity
level (automatically sent once pr. minute)
*available in PP mode only
CVM_BAT_LOW_IND 0x2F25 CVM ->MCU Indication from the CVM that the battery is running
low
*available in PP mode only
CVM_BAT_EMPTY_IND 0x2F3D CVM ->MCU Indication from the CVM that the battery is empty. As
an answer to this mail the MCU must send a
CVM_BAT_POWER_OFF_REQ ASAP.
(This allows the MCU to perform a controlled power
off in case of an empty battery).
*available in PP mode only
CVM_BAT_CRADLE_IND 0x2F26 CVM ->MCU Indicates to the MCU that the PP is inserted/removed
from the cradle
*available in both FP and PP mode

01/20/04 3:00 PM CVM API interface V 0.156 Page 19


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Mode, configuration and status management
CVM_PP_LOCKED_STATUS_REQ 0x2F2B MCU->CVM Requests the status if the PP is in service on FP
CVM_PP_LOCKED_STATUS_CFM 0x2F2C CVM ->MCU Returns the status if the PP if in service on FP
Software version
CVM_GET_VER_REQ 0x2F65 MCU->CVM Requests readout of the software revision
CVM_GET_VER_CFM 0x2F66 CVM ->MCU Returns the software revision
PSTN line signal detection
CVM_FP_LINE_DETECT_START 0x2F57 MCU->CVM Enables the signal detector from the FP
_REQ

CVM_FP_LINE_DETECT_STOP 0x2F58 CVM ->MCU Disables the signal detector from the FP
_REQ

CVM_FP_LINE_DETECT_IND 0x2F59 CVM ->MCU Returns the result of the signal detector to the FP
CVM_PP_LINE_DETECT_START 0x2F54 MCU->CVM Enables the signal detector remotely from the PP
_REQ

CVM_PP_LINE_DETECT_STOP 0x2F55 MCU->CVM Disables the signal detector remotely from the PP
_REQ

CVM_PP_LINE_DETECT_IND 0x2F56 CVM ->MCU Returns the result of the signal detector remotely to the
PP

01/20/04 3:00 PM CVM API interface V 0.156 Page 20


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Walkie Talkie mode
API_WT_ENTER_REQ 0x2FB0 MCU ->CVM Request from MCU_PP to CVM_PP to enter WT
mode.
API_WT_ENTER_CFM 0x2FB1 CVM ->MCU Confirmation from CVM_PP to MCU_PP that unit has
entered WT mode.
API_WT_EXIT_REQ 0x2FB2 MCU ->CVM Request from MCU_PP to CVM_PP to exit WT mode.
API_WT_EXIT_CFM 0x2FB3 CVM ->MCU Confirmation from CVM_PP to MCU_PP that unit has
left WT mode.
API_WT_ENTER_FP_MODE_REQ 0x2FB4 MCU ->CVM Request from MCU_PP to CVM_PP to goto FP mode.
(Establishing party must always enter FP mode before
sending API_WT_SETUP_REQ).
API_WT_ENTER_FP_MODE_CFM 0x2FB5 CVM ->MCU Confirmation from CVM_PP to MCU_PP that unit has
changed to FP mode.
API_WT_SETUP_REQ 0x2FB6 MCU ->CVM Request from MCU_PP to CVM_PP to establish WT
connection to another party.
API_WT_SETUP_IND 0x2FB7 CVM ->MCU Indication from CVM_PP to MCU_PP (receiving
party) that another party is trying to establish a WT
connection.
API_WT_CONNECT_REQ 0x2FB8 MCU ->CVM Request from MCU_PP to CVM_PP (receiving party)
to connect the pending WT connection (Must be send
as a reply to API_WT_SETUP_IND)
API_WT_CONNECT_IND 0x2FB9 CVM ->MCU Indication from CVM_PP to MCU_PP (establishing
party) that the receiving party has accepted the WT
call, and that the WT connection is established.
API_WT_CONNECT_CFM 0x2FBA CVM ->MCU Confirmation from CVM_PP to MCU_PP (receiving
party) that a WT connection has been established.
API_WT_RELEASE_REQ 0x2FBB MCU ->CVM Request from MCU_PP to CVM_PP to release WT
connection.
API_WT_RELEASE_IND 0x2FBC CVM ->MCU Indication from CVM_PP to MCU_PP that the other
party has released the WT connection.
API_WT_RELEASE_CFM 0x2FBD CVM ->MCU Confirmation from CVM_PP to MCU_PP that the WT
connection has been released (this mail is a reply to
API_WT_RELEASE_REQ)

01/20/04 3:00 PM CVM API interface V 0.156 Page 21


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
4 Detailed interface description
*Commands marked with blue are already implemented,
commands marked with black still needs to be implemented

4.1 Connection setup/release, dial-digit transmission, CLIP, Portable part

Protocol PP: MCU_PP -> CVM_PP


Primitive: API_PP_LOCK_REQ
Description: Select subscription in for PP to lock on
Parameters:
Type Name Description
uint8 bSubscriptionNo Defines the subscribtion to lock on to.

0x01: Select FP1


0x02: Select FP2
0x03: Select FP3
0x04: Select FP4

Primitive: API_PP_SETUP_REQ
Description: Setup an air-link connection from the PP to the FP (External/internal/service)
Parameters:
Type Name Description
uint8 bCallType Defines type of connection to establish:

0x00: CALLCLASS__EXT
0x01: CALLCLASS__INT
0x02: CALLCLASS_SERVICE
0x05: CALLCLASS_EXT_DATA

01/20/04 3:00 PM CVM API interface V 0.156 Page 22


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Primitive: API_PP_KEYPAD_REQ
Description: Send a string of dial digits to the from the PP to the FP
Parameters:
Type Name Description
uint8 bNumOfDigits Defines the number of digits in the digit
string (digits are send in ascii)
uint8 bDigits[] String with the digits to dial
0x30 = KEY_0
0x31 = KEY_1
...
0x39 = KEY_9
0x2A = STAR_KEY
0x23 = SQUARE_KEY

0x15 = Flash (Calibrate break)


0x05 = Dial Pause
0x16 = Switch to infinite dtmf
0x14 = Switch to finite dtmf
0xFF = Key released

Selection of Internal numbers:


0x30: FP_SpeakerPhone
0x31: PP#1
0x32: PP#2
0x33: PP#3
0x34: PP#4
0x35: PP#5
0x36: PP#6

Switch to conference:
0x33: While having intercom with two PP’s
and a PSTN on hold, the PSTN can be
taken in to the 3-part conference by sending
the “3” key (0x33).

Primitive: API_PP_CONNECT_REQ
Description: PP answers an incoming call
Parameters: none

Primitive: API_PP_ALERT_REQ
Description: Indicate to other handset that the handset starts ringing
Parameters: none

Primitive: API_PP_RELEASE_REQ
Description: PP releases the connection
Type Name Description

01/20/04 3:00 PM CVM API interface V 0.156 Page 23


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
uint8 bReason Release reasons:

// general values
0x00: RR_NORMAL
0x01: RR_UNEXPECTED_MESSAGE
0x02: RR_UNKNOWN_TRANSACTION_ID
0x03: RR_MANDATORY_IE_MISSING
0x04: RR_INVALID_IE_CONTENTS
0x05: RR_INCOMPATIBLE_SERVICE
0x06: RR_SERVICE_NOT_IMPLEMENTED
0x07: RR_NEGOTIATION_NOT_SUPPORTED
0x08: RR_INVALID_IDENTITY
0x09: RR_AUTHENTICATION_FAILED
0x0D: RR_TIMER_EXPIRY
0x0E: RR_PARTIAL_RELEASE
0x0F: RR_UNKNOWN

// user value
0x12: RR_USER_UNKNOWN
0x13: RR_USER_ALREADY_ACTIVE
0x14: RR_USER_BUSY
0x15: RR_USER_REJECTION

// external handover values


0x21:
RR_EXTERNAL_HANDOVER_NOT_SUPPORTED
0x22: RR_NETWORK_PARAMETERS_MISSING
0x23: RR_EXTERNAL_HANDOVER_RELEASE

// temporary overload
0x31: RR_OVERLOAD
0x32: RR_INSUFFICIENT_RESOURCES
0x33: RR_INSUFFICIENT_BEARERS_AVAILABLE
0x34: RR_IWU_CONGESTION

0x7F: RR_NO_LINK

// non-DECT reason-codes used by switch-control


0x81: SW_RR_ABNORMAL
0x82: SW_RR_NO_RESOURCES
0x83: SW_RR_CALL_BARRING
0x84: SW_RR_PSTNLINE_RINGING
0x85: SW_RR_STATE_TIMEOUT
0x86: SW_RR_RELEASE_TIMEOUT

*for customer defined reasons please use values above


0xC0

Primitive: API_PP_RELEASE_RES
Description: Confirm on the FP-initiated CVM_PP_RELEASE_IND
Parameters: none

01/20/04 3:00 PM CVM API interface V 0.156 Page 24


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Primitive: API_PP_REJECT_REQ
Description: PP MMI rejects incoming call
Type Name Description
uint8 bReason Release reasons:

// general values
0x00: RR_NORMAL
0x01: RR_UNEXPECTED_MESSAGE
0x02: RR_UNKNOWN_TRANSACTION_ID
0x03: RR_MANDATORY_IE_MISSING
0x04: RR_INVALID_IE_CONTENTS
0x05: RR_INCOMPATIBLE_SERVICE
0x06: RR_SERVICE_NOT_IMPLEMENTED
0x07: RR_NEGOTIATION_NOT_SUPPORTED
0x08: RR_INVALID_IDENTITY
0x09: RR_AUTHENTICATION_FAILED
0x0D: RR_TIMER_EXPIRY
0x0E: RR_PARTIAL_RELEASE
0x0F: RR_UNKNOWN

// user value
0x12: RR_USER_UNKNOWN
0x13: RR_USER_ALREADY_ACTIVE
0x14: RR_USER_BUSY
0x15: RR_USER_REJECTION
0x16: RR_USER_CALL_MODIFY

// external handover values


0x21:
RR_EXTERNAL_HANDOVER_NOT_SUPPORTED
0x22: RR_NETWORK_PARAMETERS_MISSING
0x23: RR_EXTERNAL_HANDOVER_RELEASE

// temporary overload
0x31: RR_OVERLOAD
0x32: RR_INSUFFICIENT_RESOURCES
0x33: RR_INSUFFICIENT_BEARERS_AVAILABLE
0x34: RR_IWU_CONGESTION

0x7F: RR_NO_LINK

// non-DECT reason-codes used by switch-control


0x81: SW_RR_ABNORMAL
0x82: SW_RR_NO_RESOURCES
0x83: SW_RR_CALL_BARRING
0x84: SW_RR_PSTNLINE_RINGING
0x85: SW_RR_STATE_TIMEOUT
0x86: SW_RR_RELEASE_TIMEOUT

*for customer defined reasons please use values above


0xC0

Primitive: API_PP_ACCESS_RIGHTS_REQ
Description: Initiates registration of the PP to a FP by searching for and sending the registration
package to the FP.
Parameters:
Type Name Description

01/20/04 3:00 PM CVM API interface V 0.156 Page 25


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
uint8 bSubscriptionNo, Registration package:
bAC[4]
SubscriptionNumber,
The AuthenticationCode is stored in BCD
ciding.
Each nibble is in Octal, able to hold values
between 0 and7.
Unused nibbles are set to F. example
1,2,3,4 => FF FF 12 34)

Primitive: API_PP_DELETE_SUBS_REQ
Description: Deregisters the PP from the FP
Parameters:
Type Name Description
uint8 BSubscriptionNo Delection of subscription to delete
Selects which one of the FP’s subscribed to
the PP to delete.

0x01: delete FP1


0x02: delete FP2

*The deletion is only done locally in the


PP. The subscription will not be removed in
the FP

Primitive: API_PP_REMOTE_DELETE_SUBS_REQ
Description: Deregisters the PP from the FP
* To make this function work, a connection should be setup between the PP and FP first.
Parameters:
Type Name Description
uint8 BSubscriptionNo Delection of subscription to delete.
Selects which one of the PP’s to delete
from the FP

0x01: PP1
0x02: PP2
0x03: PP3
0x04: PP4
0x05: PP5
0x06: PP6

Primitive: API_PP_STOP_PROTOCOL_REQ
Description: Stops the protocol from running.
Parameters: none

Primitive: API_PP_READ_RSSI_REQ
Description: Requests readout of the current RSSI (ReceivingSignalStrengthIndication) of the PP
(will be answered with a API_PP_READ_RSSI_CFM by the CVM)
Parameters: none

01/20/04 3:00 PM CVM API interface V 0.156 Page 26


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
4.2 Protocol PP: CVM_PP -> MCU_PP

Primitive: API_PP_LOCKED_IND
Description: Indicates that the PP is in service (locked) with the FP
Parameters: none

Primitive: API_PP_UNLOCK_IND
Description: Indicates that the PP out of service (unlocked) with the FP
Parameters: none

Primitive: API_PP_SETUP_IND
Description: Signals incoming call to PP (intercon/external/service).
*If external call the alert on/off is following the ringercadence
else the ringercadence should be generated locally in the PP.
Parameters:
Type Name Description
uint8 bCallClass CallClass:
0x00: CALLCLASS__EXT
0x01: CALLCLASS__INT
0x02: CALLCLASS_SERVICE
0x05: CALLCLASS_EXT_DATA (HighSpeed)
uint8 bSignal Defines type ringing to perform:

0x3F: TONES_OFF (SERVICE_CALL)


0x40: ALERTING_ON_PATTERN0 (INT_CALL)(TRANSFER_INT)
0x41: ALERTING_ON_PATTERN1 (TRANSFER_EXT)
0x42: ALERTING_ON_PATTERN2
0x43: ALERTING_ON_PATTERN3
0x44: ALERTING_ON_PATTERN4
0x45: ALERTING_ON_PATTERN5 (IN_AUTOPICKUP)
0x46: ALERTING_ON_PATTERN6 (PAGE_ALL)
0x47: ALERTING_ON_PATTERN7 (CALL_BACK)
0x48: ALERTING_ON_CONTINUOUS (EXT_CALL)
0x4F: ALERTING_OFF
uint8 bClipLength If clip is received (internal or external clip) the length of the data filed
is defined here
uint8 bClipData[] The actual Clipdata

*in an intercom call the calling PP number is supplied in ascii


PP#1 : 0x31, PP#2 : 0x32, etc...

Primitive: API_PP_CONNECT_IND
Description: Connection has been established
Received as confirmation on the CVM_PP_SETUP_REQ
Parameters: none

Primitive: API_PP_CONNECT_CFM
Description: Connection has been established. (Incoming call)
Received as confirmation on the CVM_PP_CONNECT_REQ
Parameters: none

01/20/04 3:00 PM CVM API interface V 0.156 Page 27


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Primitive: API_PP_SETUP_ACK_IND
Description: Internal connection has been established.to the base.
Waiting for local handsetnumber.
Received as confirmation on the CVM_PP_SETUP_REQ (Internal call)
Parameters: none

Primitive: API_PP_ALERT_IND
Description: Internal/data call, FP has established the connection to other PP.
The other PP is alerting.
Parameters: none

Primitive: API_PP_ALERT_ON_IND
Description: Signals incoming call to PP. Start alert tone
*If external call the alert on/off is following the ringercadence
Parameters:
Type Name Description
uint8 bSignal 0x40: ALERTING_ON_PATTERN0 (INT_CALL)(TRANSFER_INT)
0x41: ALERTING_ON_PATTERN1 (TRANSFER_EXT)
0x42: ALERTING_ON_PATTERN2
0x43: ALERTING_ON_PATTERN3
0x44: ALERTING_ON_PATTERN4
0x45: ALERTING_ON_PATTERN5 (IN_AUTOPICKUP)
0x46: ALERTING_ON_PATTERN6 (PAGE_ALL)
0x47: ALERTING_ON_PATTERN7 (CALL_BACK)
0x48: ALERTING_ON_CONTINUOUS (EXT_CALL)

Primitive: API_PP_ALERT_OFF_IND
Description: Signals incoming call to PP. Stop alert tone
*If external call the alert on/off is following the ringercadence
Parameters:
Type Name Description
uint8 bSignal 0x4F: ALERTING_OFF

01/20/04 3:00 PM CVM API interface V 0.156 Page 28


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Primitive: API_PP_SIGNAL_ON_IND
Description: Signals incoming call to PP. Start alert tone
*If external call the alert on/off is following the ringercadence
Parameters:
Type Name Description
uint8 bSignal 0x00: DIAL_TONE_ON
0x01: RINGBACK_TONE_ON
0x02: INTERCEPT_TONE_ON
0x03: NETWORK_CONGESTION_TONE_ON
0x04: BUSY_TONE_ON
0x05: CONFIRM_TONE_ON
0x06: ANSWER_TONE_ON
0x07: CALL_WAITING_TONE_ON
0x3F: TONES_OFF

0x80: HOLD_TONE_ON
0x81: SIGNAL_CONF_ENTER_TONE_ON
0x82: SIGNAL_CONF_LEAVE_TONE_ON

Primitive: API_PP_SIGNAL_OFF_IND
Description: Signals incoming call to PP. Stop tone
Parameters:
Type Name Description
uint8 bSignal 0x3F: TONES_OFF

01/20/04 3:00 PM CVM API interface V 0.156 Page 29


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Primitive: API_PP_RELEASE_IND
Description: FP releases the connection to the PP.
Parameters:
Type Name Description
uint8 bReason Release reasons:

// general values
0x00: RR_NORMAL
0x01: RR_UNEXPECTED_MESSAGE
0x02: RR_UNKNOWN_TRANSACTION_ID
0x03: RR_MANDATORY_IE_MISSING
0x04: RR_INVALID_IE_CONTENTS
0x05: RR_INCOMPATIBLE_SERVICE
0x06: RR_SERVICE_NOT_IMPLEMENTED
0x07: RR_NEGOTIATION_NOT_SUPPORTED
0x08: RR_INVALID_IDENTITY
0x09: RR_AUTHENTICATION_FAILED
0x0D: RR_TIMER_EXPIRY
0x0E: RR_PARTIAL_RELEASE
0x0F: RR_UNKNOWN

// user value
0x11: RR_USER_DETACHED
(USER_NOT_IN_RANGE)
0x12: RR_USER_UNKNOWN
0x13: RR_USER_ALREADY_ACTIVE
0x14: RR_USER_BUSY
0x15: RR_USER_REJECTION
0x16: RR_USER_CALL_MODIFY

// external handover values


0x21:
RR_EXTERNAL_HANDOVER_NOT_SUPPORTED
0x22: RR_NETWORK_PARAMETERS_MISSING
0x23: RR_EXTERNAL_HANDOVER_RELEASE

// temporary overload
0x31: RR_OVERLOAD
0x32: RR_INSUFFICIENT_RESOURCES
0x33: RR_INSUFFICIENT_BEARERS_AVAILABLE
0x34: RR_IWU_CONGESTION

0x7F: RR_NO_LINK

*for customer defined reasons please use values above


0xC0

Primitive: API_PP_RELEASE_CFM
Description: Confirms the PP-initiated release
Parameters: none

01/20/04 3:00 PM CVM API interface V 0.156 Page 30


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Primitive: API_PP_REJECT_IND
Description: Indicates that the FP has rejected the connection to the PP.
Type Name Description
uint8 bReason Release reasons:

// general values
0x00: RR_NORMAL
0x01: RR_UNEXPECTED_MESSAGE
0x02: RR_UNKNOWN_TRANSACTION_ID
0x03: RR_MANDATORY_IE_MISSING
0x04: RR_INVALID_IE_CONTENTS
0x05: RR_INCOMPATIBLE_SERVICE
0x06: RR_SERVICE_NOT_IMPLEMENTED
0x07: RR_NEGOTIATION_NOT_SUPPORTED
0x08: RR_INVALID_IDENTITY
0x09: RR_AUTHENTICATION_FAILED
0x0D: RR_TIMER_EXPIRY
0x0E: RR_PARTIAL_RELEASE
0x0F: RR_UNKNOWN

// user value
0x11: RR_USER_DETACHED
(USER_NOT_IN_RANGE)
0x12: RR_USER_UNKNOWN
0x13: RR_USER_ALREADY_ACTIVE
0x14: RR_USER_BUSY
0x15: RR_USER_REJECTION
0x16: RR_USER_CALL_MODIFY

// external handover values


0x21:
RR_EXTERNAL_HANDOVER_NOT_SUPPORTED
0x22: RR_NETWORK_PARAMETERS_MISSING
0x23: RR_EXTERNAL_HANDOVER_RELEASE

// temporary overload
0x31: RR_OVERLOAD
0x32: RR_INSUFFICIENT_RESOURCES
0x33: RR_INSUFFICIENT_BEARERS_AVAILABLE
0x34: RR_IWU_CONGESTION

0x7F: RR_NO_LINK

*for customer defined reasons please use values above


0xC0

Primitive: API_PP_ACCESS_RIGHTS_CFM
Description: Confirmation of successful registration of a PP to and FP
Parameters:
Type Name Description
uint8 bHsNr Returns the given Pp number

uint8 bKnownFp Returns if the FP is a CVM FP.


This is usefull in the DECT version where
you can register the PP to other
manufactorer FP’s.

01/20/04 3:00 PM CVM API interface V 0.156 Page 31


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Primitive: API_PP_ACCESS_RIGHTS_REJ
Description: Rejection of unsuccessful registration of a PP to and FP
Parameters:
Type Name Description
uint8 bReason Reject reasons:

0x00: REJ_NO_REJECT_REASON
0x01: REJ_TPUI_UNKNOWN
0x02: REJ_IPUI_UNKNOWN
0x03: REJ_NETWORK_ASSIGNED_ID_UNKNOWN
0x05: REJ_IPEI_NOT_ACCEPTED
0x06: REJ_IPUI_NOT_ACCEPTED
0x10: REJ_AUTH_FAILED
0x11: REJ_NO_AUTH_ALGORITHM
0x12: REJ_AUTH_ALGORITHM_NOT_SUPPORTED
0x13: REJ_AUTH_KEY_NOT_SUPPORTED
0x14: REJ_UPI_NOT_ENTERED
0x17: REJ_NO_CIPHER_ALGORITHM
0x18: REJ_CIPHER_ALGORITHM_NOT_SUPPORTED
0x19: REJ_CIPHER_KEY_NOT_SUPPORTED
0x20: REJ_INCOMPATIBLE_SERVICE
0x21: REJ_FALSE_LCE_REPLY
0x22: REJ_LATE_LCE_REPLY
0x23: REJ_INVALID_TPUI
0x24: REJ_TPUI_ASSIGN_LIMIT_UNACCEPT
0x2F: REJ_UNSUFFICIENT_MEMORY
0x30: REJ_OVERLOAD
0x40: REJ_TEST_CALL_BACK_NORM_ENBLOC
0x41: REJ_TEST_CALL_BACK_NORM_PIECEWISE
0x42: REJ_TEST_CALL_BACK_EMERG_ENBLOC
0x43: REJ_TEST_CALL_BACK_EMERG_PIECEWISE
0x5F: REJ_INVALID_MESSAGE
0x60: REJ_IE_ERROR
0x64: REJ_INVALID_IE_CONTENTS
0x70: REJ_TIMER_EXPIRY
0x76: REJ_PLMN_NOT_ALLOWD
0x80: REJ_LOCATION_AREA_NOT_ALLOWED
0x81: REJ_NATIONAL_ROAMING_NOT_ALLOWED

The reasons above are all the possible reasons.


In normal operation the reason will most likely be:

0x2F: REJ_UNSUFFICIENT_MEMORY
-means that the FP is filled with registrations and has no
room for more.

0x10: 0x10: REJ_AUTH_FAILED


- means that the Autentication has failed due to wrong AC
code

Primitive: API_PP_DELETE_SUBS_CFM
01/20/04 3:00 PM CVM API interface V 0.156 Page 32
Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Description: Confirm on termination of the PP subscription
Parameters: none

Primitive: API_PP_REMOTE_DELETE_SUBS_CFM
Description: Remotely deregister PP from FP (remotely in/from FP to PP)
Parameters: none

01/20/04 3:00 PM CVM API interface V 0.156 Page 33


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Primitive: API_PP_CLIP_IND
Description: Sends a CLIP package from the CVM_PP to the MCU_PP
Parameters:
Type Name Description
uint8 bClipType Type of the clip message:
0x01: TYPE1 (onhook clip)
0x02: TYPE2 (offhook clip)
uint8 bClipReason bit 0-3: Reason for CLIP Number.
0x00: No_Reason.
0x01: Unavailable.
0x02: Private.
0x03: Out_Of_Area.
0x04: <Unused>.
0x05: <Unused>.
0x06: <Unused>.
0x07: <Unused>.
0x08: Coin_Phone (for Taiwan).
0x09: International (for Taiwan).
0x0A: <Unused>.
0x0B: <Unused>.
0x0C: <Unused>.
0x0D: <Unused>.
0x0E: <Unused>.
0x0F: <Unused>.
bit 4-7: Reason for CLIP Name.
0x00: No_Reason.
0x01: Unavailable.
0x02: Private.
0x03: <Unused>.
0x04: <Unused>.
0x05: <Unused>.
0x06: <Unused>.
0x07: <Unused>.
0x08: <Unused>.
0x09: <Unused>.
0x0A: <Unused>.
0x0B: <Unused>.
0x0C: <Unused>.
0x0D: <Unused>.
0x0E: <Unused>.
0x0F: <Unused>.
uint8 bClipMonth Month of the received Clip
uint8 bClipDate Date of the received Clip
uint8 bClipHours Hours of the received Clip
uint8 bClipMinutes Minutes of the received Clip
uint8 bClipNameLength Length of the received Clip Name

uint8 bClipNumberLength Length of the received Clip Number

uint8[] bClipName The received Clip Name

uint8[] bClipNumber The received Clip Number

01/20/04 3:00 PM CVM API interface V 0.156 Page 34


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Primitive: API_PP_SW_STATUS_IND
Description: Indicated status of the FP switching for current connection
Parameters:
Type Name Description
uint8 bSwStatus The switch control status is bitmasked:
A combination of more bits is valid.

bit7: CALL_STATUS_CONNECTED
1 = call established

bit6: CALL_STATUS_EXT_CALL
1 = ext call type initiated/established

bit5: CALL_STATUS_INT_CALL
1 = int call type initiated/established

bit4: CALL_STATUS_EXT_HOLD
1 = ext call on hold

bit3: CALL_STATUS_INT_HOLD
1 = int call on hold

bit2: CALL_STATUS_INT_INTERCEPT
1 = int call intercept

bit1: CALL_STATUS_EXT_INTERCEPT
1 = ext call intercept

bit0: unused
uint8 bSwBitMask The bSwBitMask indicates which units are active on the PSTNline:

Bit0: FP_SpeakerPhone
Bit1: PP1
Bit2: PP2
Bit3: PP3
Bit4: PP4
Bit5: PP5
Bit6: PP6
Bit7: SMS (*curently unused)

Primitive: API_PP_MESSAGE_WAITING_IND
Description: Sends Visual Message Waiting Indication (VMWI) status from the CVM_PP to the
MCU_PP
Parameters:
Type Name Description
uint8 bVmwiStatus 0x00: Deactivation (indicator off)
0xFF: Activation (indicator on)

(* In case the network provider sends


Network Message Sytem Status (NMSS)
instead of Visual Message Waiting
Indication (VMWI) the value will reflect the
number of received messages)

01/20/04 3:00 PM CVM API interface V 0.156 Page 35


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Primitive: CVM_PP_PLUG_STATUS_IND
Description: Sends line plug status to the PP_MCU
Parameters:
uint8 bPlugState 0x01: LI_PLUGSTATUS_POLARITY_REVERSE
0x02: LI_PLUGSTATUS_RESERVED
0x03: LI_PLUGSTATUS_PLUG_OUT
0x04: LI_PLUGSTATUS_PLUG_IN
0x05: LI_PLUGSTATUS_PARALLEL_INUSE (parallel offhook when offhook)
0x06: LI_PLUGSTATUS_PARALLEL_NOTINUSE (parallel offhook when
onhook)
0x07: LI_PLUGSTATUS_CPC_ON (CPC detected)

*The plug status is only transmitted to the MCU on change.


It can be provoked by a API_PP_LOCKED_STATUS_REQ to retransmit at
next broadcast

01/20/04 3:00 PM CVM API interface V 0.156 Page 36


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Primitive: CVM_PP_LINE_STATUS_IND
Description: Sends line status to the PP_MCU
Parameters:
uint8 bLineStatus The Linestatus is bitmasked and indicates which
units are active on the PSTNline:

Bit0: FP_SpeakerPhone
Bit1: PP1
Bit2: PP2
Bit3: PP3
Bit4: PP4
Bit5: PP5
Bit6: PP6
Bit7: SMS (*curently unused)

*The line status is only transmitted to the MCU


on change.
It can be provoked by a
API_PP_LOCKED_STATUS_REQ to
retransmit at next broadcast

Primitive: API_PP_ON_KEY_IND
Description: Sends keystatus of the PP ON_KEY to the MCU
Parameters:
Type Name Description
uint8 bStatus 0x00: OnKey released
0x01: OnKey pressed

*The on key can be mounthed on the


CVM_PP pin 14 (POWER_ON)

Primitive: API_PP_READ_RSSI_CFM
Description: Returns the requested readout of the current RSSI (ReceivingSignalStrengthIndication) of
the PP (requested by the API_PP_READ_RSSI_REQ command)
Parameters:
Type Name Description
uint8 bRssi Received Signal strength

legal ranges 0x00-0x3F


(0x00 equals no connection/connection lost,
0x3F equals full signal)
The RSSI is operational in both onhook and
offhook mode.

01/20/04 3:00 PM CVM API interface V 0.156 Page 37


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Primitive: API_PP_ALERT_BROADCAST_IND
Description: Indicated broadcast paging from the FP
Parameters:
Type Name Description
uint8 RingPattern 0x00: ALERT_ON_PATTERN_0 (INT)
0x01: ALERT_ON_PATTERN_1 (EXT)
0x02: ALERT_ON_PATTERN_2
0x03: ALERT_ON_PATTERN_3
0x04: ALERT_ON_PATTERN_4
0x05: ALERT_ON_PATTERN_5
0x06: ALERT_ON_PATTERN_6 (PageAll)
0x07: ALERT_ON_PATTERN_7
0x08: ALERT_ON_CONTINUOUS

0x0A: INCOMMING_CALL_RELEASED_BY_THE_FP
0x0B: INCOMMING_CALL_HAS_BEEN_ANSWERED

0x0F: ALERTING_OFF

01/20/04 3:00 PM CVM API interface V 0.156 Page 38


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
4.3 Connection instance handling, Fixed part

As the fixed part can handle more simultaneous connections, an instance handler is added to
route data between the selected units.

Each connection that is established is therefore assigned a connection instance


(ConnectionEI).
This is a unique number that is used by the FP to address this individual connection when
sending data and protocol messages and transfering data.

The instances are only used by the FP. The PP does not need it as it handles only one
connection at a time. So all explanations below are seen from the FP API side.

The instance (ConnectionEI) is a parameter that is attached to all the mail send to the CVM
protocol and received from the CVM protocol.
Every connection that is established is assigned a ConnectionEI during setup

If the call is set up from the PP (incoming) the CVM will automatically assign a
ConnectionEI to the call and supply the API with it in the setup.
If the call is set up from the FP (outgoing/intercom) the ConnectionEI is assigned by the
FP_MCU.
While establishing the call and while the call is active, the selected ConnectionEI is now used
to point the mails to the right PP units.

For example if the FP has two active connections to two PP’s, each connection has its
seperate ConnectionEI. If sending IWU data to one of the PP’s the correct ConnectionEI is
supplied as parameter in the IWU mail and the CVM then automatically knows which PP to
receive the mail.

If the FP is receiving a IWU data mail from a PP (or any other type of mail) the ConnectionEI
is also supplyed. Then the FP knows which ConnectionEI to answer.

01/20/04 3:00 PM CVM API interface V 0.156 Page 39


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
When setting up / receiving a call on the FP the following ConnectionEI values should be
used:

The call instance definitions:


SW_EI_TYPE_IN_AUDIO 0x60
Used when receiving an audio call from a PP or the PSTN line (assigned from FP_CVM)

SW_EI_TYPE_OUT_AUDIO 0x70
Used when setting up an audio call from the FP to a PP or the PSTN line (assigned from FP_MCU)

SW_EI_TYPE_IN_DATA0 0x68
SW_EI_TYPE_IN_DATA1 0x69
SW_EI_TYPE_IN_DATA2 0x6a
SW_EI_TYPE_IN_DATA3 0x6b
SW_EI_TYPE_IN_DATA4 0x6c
SW_EI_TYPE_IN_DATA5 0x6d
SW_EI_TYPE_IN_DATA6 0x6e
SW_EI_TYPE_IN_DATA7 0x6f
Used when receiving an data/service call from a PP(assigned from FP_CVM)
If the FP have data connections to multiple PP’s data0...data7can be used.
Normally if only making one connection at a time, only data0 is used.

SW_EI_TYPE_OUT_DATA0 0x78
SW_EI_TYPE_OUT_DATA1 0x79
SW_EI_TYPE_OUT_DATA2 0x7a
SW_EI_TYPE_OUT_DATA3 0x7b
SW_EI_TYPE_OUT_DATA4 0x7c
SW_EI_TYPE_OUT_DATA5 0x7d
SW_EI_TYPE_OUT_DATA6 0x7e
SW_EI_TYPE_OUT_DATA7 0x7f
Used when receiving an data/service call from a FP(assigned from FP_MCU)
If the FP have data connections to multiple PP’s data0...data7can be used.
Normally if only making one connection at a time, only data0 is used.

SW_EI_TYPE_AUDIO_EXT 0x00
This special ConnectionEI is only used to send receive data from the FP to a PP that is connected to the PSTN
line (External call).
In this case the PP and the PSTN that has the connection. The FP_API was not involved in the setup of the ext
call and does not know if its active or not.
For this the CVM_FP_LINE_STATUS_IND is added to give the FP_API information of the current PSTN line
state.

CVM Module
ConEI = 0x00 CVM Module
FP_MCU API FP API (Iwu data from FP API)
API PP_MCU
PP
(SpkPhone)

ConEI = 0x00
(Iwu data redirected)
ConEI = 0x00
(Iwu data from PP API)

CVM Module
CVM Module
PP_MCU FP
PP
PSTN line

API

01/20/04 3:00 PM CVM API interface V 0.156 Page 40


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Connection setup/release, dial-digit transmission, CLIP, Fixed part

4.4 Protocol FP: MCU_FP -> CVM_FP

Primitive: API_FP_INVOKE_ACCESS_RIGHTS_REQ
Description: Enables FP for registration
*can also be done by pressing registrationkey on FP
Parameters:
Type Name Description
uint8 bAccessRight Enabels/disables access rights in FP:
0x00: ACCESS_RIGHTS_DISABLED
0x01: ACCESS_RIGHTS_ENABLED

Primitive: API_FP_REMOTE_DELETE_SUBS_REQ
Description: Deregisters the PP from the FP
Parameters:
Type Name Description
uint8 BSubscriptionNo Delection of subscription to delete.
Selects which one of the PP’s to delete
from the FP

0x01: PP1
0x02: PP2
0x03: PP3
0x04: PP4
0x05: PP5
0x06: PP6

01/20/04 3:00 PM CVM API interface V 0.156 Page 41


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Primitive: API_FP_SETUP_REQ
Description: Setup an air-link connection from the FP to the PP
Parameters:
Type Name Description
uint8 bConnectionEI Connection instance
* see instance description for info on instance
numbering

uint8 bCallClass CallClass:


0x00: CALLCLASS__EXT
0x01: CALLCLASS__INT
0x02: CALLCLASS_SERVICE
0x05: CALLCLASS_EXT_DATA (HighSpeed)

Primitive: API_FP_SETUP_ADVANCED_REQ
Description: Setup an air-link connection from the FP to the PP
Same as API_FP_SETUP_REQ, but with additional parameters and options
Parameters:
Type Name Description
uint8 bConnectionEI Connection instance
* see instance description for info on instance
numbering

uint8 bCallClass CallClass:


0x00: CALLCLASS__EXT
0x01: CALLCLASS__INT
0x02: CALLCLASS_SERVICE
0x05: CALLCLASS_EXT_DATA (HighSpeed)

0xXX: CALLCLASS_EXT_GROUP

uint8 bCallerDst Call Destination initiated call


*See individual bCallClass description below

uint8 bSignal Defines type ringing to perform:

0x3F: TONES_OFF (SERVICE_CALL)


0x40: ALERTING_ON_PATTERN0
(INT_CALL)(TRANSFER_INT)
0x41: ALERTING_ON_PATTERN1
(TRANSFER_EXT)
0x42: ALERTING_ON_PATTERN2
0x43: ALERTING_ON_PATTERN3
0x44: ALERTING_ON_PATTERN4
0x45: ALERTING_ON_PATTERN5
(IN_AUTOPICKUP)
0x46: ALERTING_ON_PATTERN6 (PAGE_ALL)
0x47: ALERTING_ON_PATTERN7 (CALL_BACK)
0x48: ALERTING_ON_CONTINUOUS (EXT_CALL)
0x4F: ALERTING_OFF

*Customer signals can be assigned > 0x80


uint8 bIwuLength Optional Iwu data
uint8 bIwuData[] Optional Iwu data

01/20/04 3:00 PM CVM API interface V 0.156 Page 42


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
bCallClass = CALLCLASS__INT
Description: If callclass INT is selected the bDstCallerId selects
bDstCallerId =
Type Name Description
uint8 bDstCallerId Selects the Pp number to call drectly
0x00: SpkPhone
0x01: Pp1
...
0x06: Pp6
...

bCallClass = CALLCLASS__EXT
Description: If callclass EXT is selected the bDstCallerId selects
bDstCallerId =
Type Name Description
uint8 bDstCallerId Selects the Pp number to call directly
0x00: SpkPhone
0x01: Pp1
...
0x06: Pp2
...
0xC8: Pp200 (*0x07-0xC8 reserved for more registrations)
0xF8: star ‘*’
0xF9: square #’
0xFF: Select overlap sending (dialing with KEYPAD_REQ’s)
0xF0: Logical Line A

bCallClass = CALLCLASS__EXT_GROUP
Description: If callclass EXT_GROUP is selected the bCallerDst selects the ringergroup or directly
holds a bitmask with info on which Pp’s to call.
Depending on the highest bit in bDstCallerId the groups defined in eeprom is selected or
the bitmask suplied directly in bDstCallerId is used.
bDstCallerId =
Type Name Description
uint8 bDstCallerId bit7 = 1: GroupId is selected from eeprom.

bit0-6:
0x01: Ringer group 1
0x02: Ringer group 2
...
0x06: Ringer group 6
...
uint8 bDstCallerId bit7 = 0: GroupId is selected from bitmask

bit0: select FpSpkPhone


bit1: select Pp1
bit2: select Pp2
bit3: select Pp3
bit4: select Pp4
bit5: select Pp5
bit6: select Pp6

bCallClass = CALLCLASS_SERVICE

01/20/04 3:00 PM CVM API interface V 0.156 Page 43


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Description: If callclass EXT is selected the bDstCallerId selects
bDstCallerId =
Type Name Description
uint8 bDstCallerId Selects the Pp number to call drectly
0x00: SpkPhone
0x01: Pp1
0x02: Pp2
...
0x06: Pp6
...

bCallClass = CALLCLASS__EXT_DATA
Description: If callclass EXT is selected the bDstCallerId selects
bDstCallerId =
Type Name Description
uint8 bDstCallerId Selects the Pp number to call drectly
0x00: SpkPhone
0x01: Pp1
0x02: Pp2
...
0x06: Pp6
...

Primitive: API_FP_ALERT_ON_REQ
Description: Simulates ringvoltage on from the FP
*can be used to controll linging when no physical lineinterface is mounted in the FP
Parameters:
Type Name Description
uint8 bConnectionEI Connection instance
* see instance descriptionfor info on instance
numbering

Primitive: API_FP_ALERT_OF_REQ
Description: Simulates ringvoltage off from the FP
*can be used to controll linging when no physical lineinterface is mounted in the FP
Parameters:
Type Name Description
uint8 bConnectionEI Connection instance
* see instance description for info on instance
numbering

Primitive: API_FP_ALERT_DISTINTIVE_OFF_REQ
Description: Simulates ringvoltage from distintive ringing off from the FP
*can be used to controll linging when no physical lineinterface is mounted in the FP
01/20/04 3:00 PM CVM API interface V 0.156 Page 44
Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Parameters:
Type Name Description
uint8 bConnectionEI Connection instance
* see instance description for info on instance
numbering

Primitive: API_FP_KEYPAD_REQ
Description: Send a string of dial digits from the FP to the line
Parameters:
Type Name Description
uint8 bConnectionEI Connection instance
* see instance description for info on
instance numbering
uint8 bNumOfDigits Defines the number of digits in the digit
string (digits are send in ascii)
uint8 bDigits[] String with the digits to dial
0x30 = KEY_0
0x31 = KEY_1
...
0x39 = KEY_9
0x2A = STAR_KEY
0x23 = SQUARE_KEY

0x15 = Flash (Calibrate break)


0x05 = Dial Pause
0x16 = Switch to infinite dtmf
0x14 = Switch to finite dtmf
0xFF = Key released

Selection of Internal numbers:


0x30: FP_SpeakerPhone (own PpNo)
0x31: PP#1
0x32: PP#2
0x33: PP#3
0x34: PP#4
0x35: PP#5
0x36: PP#6

Switch to conference:
0x33: While having intercom with the
Spkphone, a PP and a PSTN on hold, the
PSTN can be taken in to the 3-part
conference by sending the “3” key (0x33).

Primitive: API_FP_CONNECT_REQ
Description: FP answers an incoming call
Parameters:
uint8 bConnectionEI Connection instance
* see instance description for info on
instance numbering

01/20/04 3:00 PM CVM API interface V 0.156 Page 45


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Primitive: API_FP_ALERT_REQ
Description: Indicates to PP/basecontrol that alerting is started
Parameters:
uint8 bConnectionEI Connection instance
* see instance description for info on
instance numbering

01/20/04 3:00 PM CVM API interface V 0.156 Page 46


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Primitive: API_FP_RELEASE_REQ
Description: FP Releases the connection
Parameters:
uint8 bConnectionEI Connection instance
* see instance description for info on instance
numbering
uint8 bReason Release reasons:

// general values
0x00: RR_NORMAL
0x01: RR_UNEXPECTED_MESSAGE
0x02: RR_UNKNOWN_TRANSACTION_ID
0x03: RR_MANDATORY_IE_MISSING
0x04: RR_INVALID_IE_CONTENTS
0x05: RR_INCOMPATIBLE_SERVICE
0x06: RR_SERVICE_NOT_IMPLEMENTED
0x07: RR_NEGOTIATION_NOT_SUPPORTED
0x08: RR_INVALID_IDENTITY
0x09: RR_AUTHENTICATION_FAILED
0x0D: RR_TIMER_EXPIRY
0x0E: RR_PARTIAL_RELEASE
0x0F: RR_UNKNOWN

// user value
0x11: RR_USER_DETACHED
(USER_NOT_IN_RANGE)
0x12: RR_USER_UNKNOWN
0x13: RR_USER_ALREADY_ACTIVE
0x14: RR_USER_BUSY
0x15: RR_USER_REJECTION
0x16: RR_USER_CALL_MODIFY

// external handover values


0x21:
RR_EXTERNAL_HANDOVER_NOT_SUPPORTED
0x22: RR_NETWORK_PARAMETERS_MISSING
0x23: RR_EXTERNAL_HANDOVER_RELEASE

// temporary overload
0x31: RR_OVERLOAD
0x32: RR_INSUFFICIENT_RESOURCES
0x33: RR_INSUFFICIENT_BEARERS_AVAILABLE
0x34: RR_IWU_CONGESTION

0x7F: RR_NO_LINK

*for customer defined reasons please use values above


0xC0

Primitive: API_FP_RELEASE_RES
Description: Confirm on the PP-initiated CVM_FP_RELEASE_IND
Parameters:
uint8 bConnectionEI Connection instance
* see instance description for info on
instance numbering

01/20/04 3:00 PM CVM API interface V 0.156 Page 47


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Primitive: API_FP_REJECT_REQ
Description: FP MMI rejects incoming call
Parameters:
Type Name Description
uint8 bConnectionEI Connection instance
* see instance description for info on instance
numbering
uint8 bReason Release reasons:

// general values
0x00: RR_NORMAL
0x01: RR_UNEXPECTED_MESSAGE
0x02: RR_UNKNOWN_TRANSACTION_ID
0x03: RR_MANDATORY_IE_MISSING
0x04: RR_INVALID_IE_CONTENTS
0x05: RR_INCOMPATIBLE_SERVICE
0x06: RR_SERVICE_NOT_IMPLEMENTED
0x07: RR_NEGOTIATION_NOT_SUPPORTED
0x08: RR_INVALID_IDENTITY
0x09: RR_AUTHENTICATION_FAILED
0x0D: RR_TIMER_EXPIRY
0x0E: RR_PARTIAL_RELEASE
0x0F: RR_UNKNOWN

// user value
0x11: RR_USER_DETACHED
(USER_NOT_IN_RANGE)
0x12: RR_USER_UNKNOWN
0x13: RR_USER_ALREADY_ACTIVE
0x14: RR_USER_BUSY
0x15: RR_USER_REJECTION
0x16: RR_USER_CALL_MODIFY

// external handover values


0x21:
RR_EXTERNAL_HANDOVER_NOT_SUPPORTED
0x22: RR_NETWORK_PARAMETERS_MISSING
0x23: RR_EXTERNAL_HANDOVER_RELEASE

// temporary overload
0x31: RR_OVERLOAD
0x32: RR_INSUFFICIENT_RESOURCES
0x33: RR_INSUFFICIENT_BEARERS_AVAILABLE
0x34: RR_IWU_CONGESTION

0x7F: RR_NO_LINK

*for customer defined reasons please use values above


0xC0

Primitive: API_FP_STOP_PROTOCOL_REQ
Description: Stops the protocol from running.
Parameters: none

01/20/04 3:00 PM CVM API interface V 0.156 Page 48


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
4.5 Protocol FP: CVM_FP -> MCU_FP

Primitive: API_FP_SETUP_IND
Description: Signals incoming call to FP (intercon/external/service).
*If external call the alert on/off is following the ringercadence
else the ringercadence should be generated locally in the FP.
Parameters:
Type Name Description
uint8 bConnectionEI Connection instance
* see instance description for info on instance numbering
uint8 bCallClass CallClass:
0x00: CALLCLASS__EXT
0x01: CALLCLASS__INT
0x02: CALLCLASS_SERVICE
0x05: CALLCLASS_EXT_DATA (HighSpeed)
uint8 bSignal Defines type ringing to perform:

0x3F: TONES_OFF (SERVICE_CALL)


0x40: ALERTING_ON_PATTERN0 (INT_CALL)(TRANSFER_INT)
0x41: ALERTING_ON_PATTERN1 (TRANSFER_EXT)
0x42: ALERTING_ON_PATTERN2
0x43: ALERTING_ON_PATTERN3
0x44: ALERTING_ON_PATTERN4
0x45: ALERTING_ON_PATTERN5 (IN_AUTOPICKUP)
0x46: ALERTING_ON_PATTERN6 (PAGE_ALL)
0x47: ALERTING_ON_PATTERN7 (CALL_BACK)
0x48: ALERTING_ON_CONTINUOUS (EXT_CALL)
0x4F: ALERTING_OFF
uint8 bClipLength If clip is received (internal or external clip) the length of the data filed
is defined here
uint8 bClipData[] The actual Clipdata

*in an intercom call the calling PP number is supplied in ascii


PP#1 : 0x31, PP#2 : 0x32, etc...

Primitive: API_FP_CONNECT_IND
Description: Connection has been established.
Received as confirmation on the CVM_FP_SETUP_REQ
Parameters:
uint8 bConnectionEI Connection instance
* see instance description for info on
instance numbering

Primitive: API_FP_CONNECT_CFM
Description: Connection has been established. (Incoming call)
Received as confirmation on the CVM_FP_CONNECT_REQ
Parameters:
uint8 bConnectionEI Connection instance
* see instance description for info on
instance numbering

01/20/04 3:00 PM CVM API interface V 0.156 Page 49


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Primitive: API_FP_SETUP_ACK_IND
Description: Internal connection has been established.to the base.
Waiting for local handsetnumber.
Received as confirmation on the CVM_FP_SETUP_REQ
Parameters:
uint8 bConnectionEI Connection instance
* see instance description for info on
instance numbering

Primitive: API_FP_SW_CALL_PROC_IND
Description: Fp simulated ringing has been initiated to the PP’s
Waiting for PP to hook off
Parameters:
uint8 bConnectionEI Connection instance
* see instance description for info on
instance numbering

Primitive: API_FP_ALERT_IND
Description: Internal/data call, FP has established the connection to other PP.
The other PP is alerting.
Parameters:
uint8 bConnectionEI Connection instance
* see instance description for info on
instance numbering

Primitive: API_FP_ALERT_ON_IND
Description: Signals incoming call to FP. Start alert tone
*If external call the alert on/off is following the ringercadence
Parameters:
Type Name Description
uint8 bConnectionEI Connection instance
* see instance description for info on instance numbering
uint8 bSignal 0x40: ALERTING_ON_PATTERN0 (INT_CALL)(TRANSFER_INT)
0x41: ALERTING_ON_PATTERN1 (TRANSFER_EXT)
0x42: ALERTING_ON_PATTERN2
0x43: ALERTING_ON_PATTERN3
0x44: ALERTING_ON_PATTERN4
0x45: ALERTING_ON_PATTERN5 (IN_AUTOPICKUP)
0x46: ALERTING_ON_PATTERN6 (PAGE_ALL)
0x47: ALERTING_ON_PATTERN7 (CALL_BACK)
0x48: ALERTING_ON_CONTINUOUS (EXT_CALL)

Primitive: API_FP_ALERT_OFF_IND
Description: Signals incoming call to FP. Stop alert tone
*If external call the alert on/off is following the ringercadence
Parameters:

01/20/04 3:00 PM CVM API interface V 0.156 Page 50


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Type Name Description
uint8 bConnectionEI Connection instance
* see instance description for info on instance
numbering
uint8 bSignal 0x4F: ALERTING_OFF

01/20/04 3:00 PM CVM API interface V 0.156 Page 51


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Primitive: API_FP_SIGNAL_ON_IND
Description: Signals incoming call to FP. Start inband tone
Parameters:
Type Name Description
uint8 bConnectionEI Connection instance
* see instance description for info on instance
numbering
uint8 bSignal 0x00: DIAL_TONE_ON
0x01: RINGBACK_TONE_ON
0x02: INTERCEPT_TONE_ON
0x03: NETWORK_CONGESTION_TONE_ON
0x04: BUSY_TONE_ON
0x05: CONFIRM_TONE_ON
0x06: ANSWER_TONE_ON
0x07: CALL_WAITING_TONE_ON
0x3F: TONES_OFF

Primitive: API_FP_SIGNAL_OFF_IND
Description: Signals incoming call to FP. Stop inband tone
Parameters:
Type Name Description
uint8 bConnectionEI Connection instance
* see instance description for info on instance
numbering
uint8 bSignal 0x3F: TONES_OFF

01/20/04 3:00 PM CVM API interface V 0.156 Page 52


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Primitive: API_FP_RELEASE_IND
Description: Indicates that the PP has released the connection
Parameters:
uint8 bConnectionEI Connection instance
* see instance description for info on instance
numbering
uint8 bReason Release reasons:

// general values
0x00: RR_NORMAL
0x01: RR_UNEXPECTED_MESSAGE
0x02: RR_UNKNOWN_TRANSACTION_ID
0x03: RR_MANDATORY_IE_MISSING
0x04: RR_INVALID_IE_CONTENTS
0x05: RR_INCOMPATIBLE_SERVICE
0x06: RR_SERVICE_NOT_IMPLEMENTED
0x07: RR_NEGOTIATION_NOT_SUPPORTED
0x08: RR_INVALID_IDENTITY
0x09: RR_AUTHENTICATION_FAILED
0x0D: RR_TIMER_EXPIRY
0x0E: RR_PARTIAL_RELEASE
0x0F: RR_UNKNOWN

// user value
0x11: RR_USER_DETACHED
(USER_NOT_IN_RANGE)
0x12: RR_USER_UNKNOWN
0x13: RR_USER_ALREADY_ACTIVE
0x14: RR_USER_BUSY
0x15: RR_USER_REJECTION
0x16: RR_USER_CALL_MODIFY

// external handover values


0x21:
RR_EXTERNAL_HANDOVER_NOT_SUPPORTED
0x22: RR_NETWORK_PARAMETERS_MISSING
0x23: RR_EXTERNAL_HANDOVER_RELEASE

// temporary overload
0x31: RR_OVERLOAD
0x32: RR_INSUFFICIENT_RESOURCES
0x33: RR_INSUFFICIENT_BEARERS_AVAILABLE
0x34: RR_IWU_CONGESTION

0x7F: RR_NO_LINK

*for customer defined reasons please use values above


0xC0

Primitive: API_FP_RELEASE_CFM
Description: Confirms the FP-initiated release
Parameters:
uint8 bConnectionEI Connection instance
* see instance description for info on instance
numbering

01/20/04 3:00 PM CVM API interface V 0.156 Page 53


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Primitive: API_FP_REJECT_IND
Description: PP rejects the connection.
Parameters:
Type Name Description
uint8 bConnectionEI Connection instance
* see instance description for info on instance
numbering
uint8 bReason Release reasons:

// general values
0x00: RR_NORMAL
0x01: RR_UNEXPECTED_MESSAGE
0x02: RR_UNKNOWN_TRANSACTION_ID
0x03: RR_MANDATORY_IE_MISSING
0x04: RR_INVALID_IE_CONTENTS
0x05: RR_INCOMPATIBLE_SERVICE
0x06: RR_SERVICE_NOT_IMPLEMENTED
0x07: RR_NEGOTIATION_NOT_SUPPORTED
0x08: RR_INVALID_IDENTITY
0x09: RR_AUTHENTICATION_FAILED
0x0D: RR_TIMER_EXPIRY
0x0E: RR_PARTIAL_RELEASE
0x0F: RR_UNKNOWN

// user value
0x11: RR_USER_DETACHED
(USER_NOT_IN_RANGE)
0x12: RR_USER_UNKNOWN
0x13: RR_USER_ALREADY_ACTIVE
0x14: RR_USER_BUSY
0x15: RR_USER_REJECTION
0x16: RR_USER_CALL_MODIFY

// external handover values


0x21:
RR_EXTERNAL_HANDOVER_NOT_SUPPORTED
0x22: RR_NETWORK_PARAMETERS_MISSING
0x23: RR_EXTERNAL_HANDOVER_RELEASE

// temporary overload
0x31: RR_OVERLOAD
0x32: RR_INSUFFICIENT_RESOURCES
0x33: RR_INSUFFICIENT_BEARERS_AVAILABLE
0x34: RR_IWU_CONGESTION

0x7F: RR_NO_LINK

*for customer defined reasons please use values above


0xC0

01/20/04 3:00 PM CVM API interface V 0.156 Page 54


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Primitive: API_FP_SW_STATUS_IND
Description: Indicated status of the FP switching for current connection
Parameters:
Type Name Description
uint8 bConnectionEI Connection instance
* see instance description for info on instance
numbering
uint8 bSwStatus The switch control status is bitmasked:
A combination of more bits is valid.

bit7: CALL_STATUS_CONNECTED
1 = call established

bit6: CALL_STATUS_EXT_CALL
1 = ext call type initiated/established

bit5: CALL_STATUS_INT_CALL
1 = int call type initiated/established

bit4: CALL_STATUS_EXT_HOLD
1 = ext call on hold

bit3: CALL_STATUS_INT_HOLD
1 = int call on hold

bit2: CALL_STATUS_INT_INTERCEPT
1 = int call intercept

bit1: CALL_STATUS_EXT_INTERCEPT
1 = ext call intercept

bit0: unused

Primitive: CVM_FP_LINE_STATUS_IND
Description: Sends line status to the FP_MCU
Parameters:
uint8 bLineStatus The Linestatus is bitmasked and indicates which
units are active on the PSTNline:

Bit0: FP_SpeakerPhone
Bit1: PP1
Bit2: PP2
Bit3: PP3
Bit4: PP4
Bit5: PP5
Bit6: PP6
Bit7: SMS (*curently unused)

01/20/04 3:00 PM CVM API interface V 0.156 Page 55


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Primitive: CVM_FP_PLUG_STATUS_IND
Description: Sends line plug status to the FP_MCU
Parameters:
uint8 bPlugState 0x01: LI_PLUGSTATUS_POLARITY_REVERSE
0x02: LI_PLUGSTATUS_RESERVED
0x03: LI_PLUGSTATUS_PLUG_OUT
0x04: LI_PLUGSTATUS_PLUG_IN
0x05: LI_PLUGSTATUS_PARALLEL_INUSE (parallel offhook when offhook)
0x06: LI_PLUGSTATUS_PARALLEL_NOTINUSE (parallel offhook when
onhook)
0x07: LI_PLUGSTATUS_CPC_ON (CPC detected)

Primitive: CVM_FP_SW_AUDIO_MUTE_IND
Description: BasControl requests FP_MCU to mute audio
Parameters:
uint8 bConnectionEI Connection instance
* see instance description for info on instance
numbering
uint8 bCtrlCmd 0x05: SW_AUDIO_CMD_MUTE
- Should in a normal applicartion be answered by a
CVM_FP_AUDIO_MUTE_REQ

0x06: SW_AUDIO_CMD_UNMUTE
- Should in a normal applicartion be answered by a
CVM_FP_AUDIO_UNMUTE_REQ

Primitive: API_FP_DELETE_SUBS_CFM
Description: Confirmation on deregistration from the FP
Parameters: none

Primitive: API_FP_REG_MODE_IND
Description: Indicates a change in registration mode to the MCU
Parameters:
uint8 bStatus 0x12: SW_STATUS_REGMODE_BEGIN
0x13: SW_STATUS_REGMODE_END
0x21: SW_STATUS_ACCRIGHTS_TERM
0x22: SW_STATUS_ACCRIGHTS_ACCEPT

Primitive: API_FP_MESSAGE_WAITING_IND
Description: Sends Visual Message Waiting Indication (VMWI) status from the CVM_FP to the
MCU_FP
Parameters:
Type Name Description
uint8 bVmwiStatus 0x00: Deactivation (indicator off)
0xFF: Activation (indicator on)

(* In case the network provider sends


Network Message Sytem Status (NMSS)
instead of Visual Message Waiting
Indication (VMWI) the value will reflect the
number of received messages)

01/20/04 3:00 PM CVM API interface V 0.156 Page 56


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Primitive: API_FP_CLIP_IND
Description: Sends a CLIP package from the CVM_FP to the MCU_FP
Parameters:
Type Name Description
uint8 bClipType Type of the clip message:
0x01: TYPE1 (onhook clip)
0x02: TYPE2 (offhook clip)
uint8 bClipReason bit 0-3: Reason for CLIP Number.
0x00: No_Reason.
0x01: Unavailable.
0x02: Private.
0x03: Out_Of_Area.
0x04: <Unused>.
0x05: <Unused>.
0x06: <Unused>.
0x07: <Unused>.
0x08: Coin_Phone (for Taiwan).
0x09: International (for Taiwan).
0x0A: <Unused>.
0x0B: <Unused>.
0x0C: <Unused>.
0x0D: <Unused>.
0x0E: <Unused>.
0x0F: <Unused>.
bit 4-7: Reason for CLIP Name.
0x00: No_Reason.
0x01: Unavailable.
0x02: Private.
0x03: <Unused>.
0x04: <Unused>.
0x05: <Unused>.
0x06: <Unused>.
0x07: <Unused>.
0x08: <Unused>.
0x09: <Unused>.
0x0A: <Unused>.
0x0B: <Unused>.
0x0C: <Unused>.
0x0D: <Unused>.
0x0E: <Unused>.
0x0F: <Unused>.
uint8 bClipMonth Month of the received Clip
uint8 bClipDate Date of the received Clip
uint8 bClipHours Hours of the received Clip
uint8 bClipMinutes Minutes of the received Clip
uint8 bClipNameLength Length of the received Clip Name

uint8 bClipNumberLength Length of the received Clip Number

uint8[] bClipName The received Clip Name

uint8[] bClipNumber The received Clip Number

01/20/04 3:00 PM CVM API interface V 0.156 Page 57


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Primitive: API_FP_KEYPAD_IND
Description: When in remote line mode,API_FP_KEYPAD_IND incates that a PP is sending dial digits
Parameters:
Type Name Description
uint8 bConnectionEI Connection instance
* see instance description for info on
instance numbering
uint8 bNumOfDigits Defines the number of digits in the digit
string (digits are send in ascii)
uint8 bDigits[] String with the digits to dial
0x30 = KEY_0
0x31 = KEY_1
...
0x39 = KEY_9
0x2A = STAR_KEY
0x23 = SQUARE_KEY

0x15 = Flash (Calibrate break)


0x05 = Dial Pause
0x16 = Switch to infinite dtmf
0x14 = Switch to finite dtmf
0xFF = Key released

01/20/04 3:00 PM CVM API interface V 0.156 Page 58


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
4.6 API bus control
The CVM supports both the UART and the SPI bus protocol for communication to the MCU.
The receiving part of the CVM always listenes to both busses but it only answeres to one at
the time. The active bus can be selected by sending the CVM_BUS_SELECT_REQ to the
CVM on boths busses.
By default the CVM answeres to the UART bus.

Primitive: CVM_BUS_SELECT_REQ
Description: Selects API bus mode (UART or SPI)
*The CVM starts up in UART mode as default
Parameters:
Type Name Description
uint8 bDriver Bus selection:
0x00: UART
0x01: SPI

Primitive: CVM_BUS_DISABLE_REQ
Description: Disables bus driver (UART or SPI)
Parameters:
Type Name Description
uint8 bDriver Bus selection:
0x00: UART
0x01: SPI

4.7 General purpose data connection, Portable Part


Primitive: API_PP_IWU_DATA_REQ
Description: Sends general user data from the PP to the FP
* To make this function work, a connection should be setup between the PP and FP first.
*It is possible to broadcast 52 bytes of unitdata at a time
Parameters:
Type Name Description
uint8 bIwuLength Length of the IwuData
uint8 bIwuData IwuData

Primitive: API_PP_IWU_DATA_IND
Description: Receives general user data from the FP to the PP
* To make this function work, a connection should be setup between the PP and FP first.
Parameters:
Type Name Description
uint8 bIwuLength Length of the IwuData
uint8 bIwuData IwuData

01/20/04 3:00 PM CVM API interface V 0.156 Page 59


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
4.8 General purpose data connection, Fixed Part
Primitive: API_FP_IWU_DATA_REQ
Description: Sends general user data from the FP to the PP
* To make this function work, a connection should be setup between the PP and FP first.
*It is possible to broadcast 52 bytes of iwutdata at a time
Parameters:
Type Name Description
uint8 bConnection EI Connection Instance
uint8 bIwuLength Length of the IwuData
uint8 bIwuData IwuData

Primitive: API_FP_IWU_DATA_IND
Description: Receives general user data from the PP to the FP
* To make this function work, a connection should be setup between the PP and FP first.
Parameters:
Type Name Description
uint8 bConnection EI Connection Instance
uint8 bIwuLength Length of the IwuData
uint8 bIwuData IwuData

01/20/04 3:00 PM CVM API interface V 0.156 Page 60


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
4.9 General purpose unitdata broadcast
Primitive: API_FP_UNITDATA_REQ
Description: Broadcasts general user data from the FP to the PP while no connection is established
*It is possible to broadcast 19 bytes of unitdata at a time
Parameters:
Type Name Description
uint8 bDataLength NoOf bytes to broadcast
uint8 bData The data to broadcast

Primitive: API_PP_UNITDATA_IND
Description: Receives broadcast general user data from the FP to the PP while no connection is
established
Parameters:
Type Name Description
uint8 bDataLength NoOf bytes received
uint8 bData Data received

01/20/04 3:00 PM CVM API interface V 0.156 Page 61


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
4.10 High speed general purpose data connection, Portable part
Primitive: API_PP_DATA_SEND_READY_IND
Description: Informs MCU that CVM is ready to receive data. More than one may be received
indicating that CVM is ready to receive more than one data packet.
* To make this function work, a connection with callclass CALLCLASS_EXT_DATA
should be setup between the PP and FP first.
Parameters: None

Primitive: API_PP_DATA_SEND_REQ
Description: Sends general user data from the PP to the FP
* To make this function work, a connection with callclass CALLCLASS_EXT_DATA
should be setup between the PP and FP first.
Parameters:
Type Name Description
uint8 bLength Length of the Data
uint8 bData[] Data

Primitive: API_PP_DATA_RECEIVE_READY_REQ
Description: Informs CVM that MCU is ready to receive data. MCU may send up to five to indicate it
is ready to receive 5 packets.
* To make this function work, a connection with callclass CALLCLASS_EXT_DATA
should be setup between the PP and FP first.
Parameters: None

Primitive: API_PP_DATA_RECEIVE_IND
Description: Receives general user data from the FP to the PP
* To make this function work, a connection with callclass CALLCLASS_EXT_DATA
should be setup between the PP and FP first.
Parameters:
Type Name Description
uint8 bLength Length of the Data
uint8 bData[] Data
uint8 bData Data received

4.11 High speed general purpose data connection, Fixed part


Primitive: API_FP_DATA_SEND_READY_IND
Description: Informs MCU that CVM is ready to receive data. More than one may be received
indicating that CVM is ready to receive more than one data packet.
* To make this function work, a connection with callclass CALLCLASS_EXT_DATA
should be setup between the PP and FP first.
Parameters:
Type Name Description
uint8 bConnectionEI Connection instance

Primitive: API_FP_DATA_SEND_REQ
Description: Sends general user data from the FP to the PP
* To make this function work, a connection with callclass CALLCLASS_EXT_DATA
should be setup between the PP and FP first.
Parameters:
Type Name Description
uint8 bConnectionEI Connection instance
uint8 bLength Length of the Data
uint8 bData[] Data

01/20/04 3:00 PM CVM API interface V 0.156 Page 62


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Primitive: API_FP_DATA_RECEIVE_READY_REQ
Description: Informs CVM that MCU is ready to receive data. MCU may send up to five to indicate it
is ready to receive 5 packets.
* To make this function work, a connection with callclass CALLCLASS_EXT_DATA
should be setup between the PP and FP first.
Parameters:
Type Name Description
uint8 bConnectionEI Connection instance

Primitive: API_FP_DATA_RECEIVE_IND
Description: Receives general user data from the FPP to the FP
* To make this function work, a connection with callclass CALLCLASS_EXT_DATA
should be setup between the PP and FP first.
Parameters:
Type Name Description
uint8 bConnectionEI Connection instance
uint8 bLength Length of the Data
uint8 bData[] Data

01/20/04 3:00 PM CVM API interface V 0.156 Page 63


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
4.12 EEPROM access

Primitive: CVM_EEPROM_WRITE_REQ
Description: Writes data to the eeprom in the CVM module
Parameters:
Type Name Description
uint16 wDataAddress Eeprom adddress to write the data to
uint8 bDataLength Length of the data block to be written
uint8[] bData Data block to be written

Primitive: CVM_EEPROM_READ_REQ
Description: Reads data from the eeprom in the CVM module
Parameters:
Type Name Description
uint16 wDataAddress Eeprom adddress to read the data from
uint8 bDataLength Length of the data block to be read

Primitive: CVM_EEPROM_READ_CFM
Description: Confirm mail from the CVM module holding the requested eeprom read data
Parameters:
Type Name Description
uint8 bDataLength Length of the read data block
uint8[] bData Data block

01/20/04 3:00 PM CVM API interface V 0.156 Page 64


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
4.13 Remote EEPROM access

Primitive: CVM_ REMOTE_EEP_WRITE_REQ


Description: Writes data to the eeprom in the FP CVM module from the PP
* To make this function work, a connection should be setup between the PP and FP first.
Parameters:
Type Name Description
uint16 wDataAddress Eeprom adddress to write the data to
uint8 bDataLength Length of the data block to be written
uint8[] bData Data block to be written

Primitive: CVM_ REMOTE_EEP_WRITE_CFM


Description: Acknowledge on remote eeprom write
Parameters: none

Primitive: CVM_ REMOTE_EEP_READ_REQ


Description: Reads data from the eeprom in the FP CVM module from the PP
* To make this function work, a connection should be setup between the PP and FP first.
Parameters:
Type Name Description
uint16 wDataAddress Eeprom adddress to read the data from
uint8 bDataLength Length of the data block to be read

Primitive: CVM_REMOTE_EEP_READ_CFM
Description: Confirm mail from the FP CVM module holding the eeprom read data, requested from the
PP
* To make this function work, a connection should be setup between the PP and FP first.
Parameters:
Type Name Description
uint8 bDataLength Length of the read data block
uint8[] bData Data block

01/20/04 3:00 PM CVM API interface V 0.156 Page 65


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
4.14 General purpose I/O access

CVM_SET_PORT_REQ
Description: Controls a single (unused by the CVM module) port pin on the CVM module
Parameters:
Type Name Description
uint8 bPort Pin no. on IO port to change

Available Ports on the CVModule:

PP:
P0_3 General I/O (shared with PCM)
P0_4 General I/O (shared with PCM)
P0_6 General I/O (shared with PCM)
P0_7 General I/O (shared with PCM)

FP:
P0_3 General I/O (shared with PCM)
P0_4 General I/O (shared with PCM)
P0_6 General I/O (shared with PCM)
P0_7 General I/O (shared with PCM)

P1_0 General I/O


P1_1 General I/O PP_HeadsetDetect
P1_3 General I/O
P1_4 General I/O

P2_3 DigitalOutput (output only !!!)

* Because port P0 is also used for the PCM I/F, the PCM function
should be disabled before use as I/O.
The CVM does this automatically when calling the
CVM_SET_PORT_DIR_REQ for the port pin

Ports are addressed in the 2 nibbles of the bPort byte.


HigPart = Port, LowPart = Pin.
Example P2_3: bPort = 23hex

*the setport command does not change the direction of the I/O
port automatically. So to make it function the port direction should
be set to output first using the CVM_SET_PORT_DIR_REQ
command.

**only the port/pin configurations above are valid.


Invalid set_port requests are ignored by the CVModule

uint8[] bData Pin state Selection:


HIGH
LOW

01/20/04 3:00 PM CVM API interface V 0.156 Page 66


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Primitive: CVM_READ_PORT_REQ
Description: Reads a single port pin on the CVM module
Parameters:
Type Name Description
uint8 bPort IO Port to read

Available Ports on the CVModule: (Port0 to port3)


*same as in CVM_SET_PORT_REQ

Ports are addressed in the 2 nibbles of the bPort byte.


HigPart = Port, LowPart = Pin.
Example P2_3: bPort = 23hex

*the setport command does not change the direction of the I/O
port automatically. So to make it function the port direction should
be set to input first using the CVM_SET_PORT_DIR_REQ
command.

*Port Read requests outside the valid ports and pins are possible,
but the results might be invalid !

CVM_READ_PORT_CFM
Description: Return status of requested port pin on the CVM module
Parameters:
Type Name Description
uint8[] bData Pin state indication:
TRUE = HIGH
FALSE = LOW

CVM_SET_PORT_DIR_REQ
Description: Sets the direction of the user accessible IO ports
Parameters:
Type Name Description
uint8 bPort IO Port to read

Available Ports on the CVModule: (Port0 to port3)


*same as in CVM_SET_PORT_REQ

Ports are addressed in the 2 nibbles of the bPort byte.


HigPart = Port, LowPart = Pin.
Example P2_3: bPort = 23hex

*only the port/pin configurations above are valid.


Invalid set_port requests are ignored by the CVModule
uint8 bData Pin state indication:
TRUE = OUTPUT
FALSE = INPUT
uint8 bPull If set to input, this parameter defines the internal pull up/down of
the port pin:

TRUE = Pullup
FALSE = Pull down

*if set to output, this parameter is ignored

01/20/04 3:00 PM CVM API interface V 0.156 Page 67


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
CVM_REMOTE_SET_PORT_REQ
Description: Controls a single (unused by the CVM module) port pin on the FP_CVM module from the
PP_MCU (Requires a service connection)
Parameters:
Type Name Description
uint8 bPort Pin no. on IO port to change

Available Ports on the CVModule: (Port0 to port3)


*same as in CVM_SET_PORT_REQ

Ports are addressed in the 2 nibbles of the bPort byte.


HigPart = Port, LowPart = Pin.
Example P2_3: bPort = 23hex

*the setport command does not change the direction of the I/O
port automatically. So to make it function the port direction should
be set to output first using the CVM_SET_PORT_DIR_REQ
command.

**only the port/pin configurations above are valid.


Invalid set_port requests are ignored by the CVModule

uint8[] bData Pin state Selection:


HIGH
LOW

Primitive: CVM_ REMOTE_READ_PORT_REQ


Description: Reads a single port pin on the FP_CVM module from the PP_MCU (Requires a service
connection)
Parameters:
Type Name Description
uint8 bPort IO Port to read

Available Ports on the CVModule: (Port0 to port3)


*same as in CVM_SET_PORT_REQ

Ports are addressed in the 2 nibbles of the bPort byte.


HigPart = Port, LowPart = Pin.
Example P2_3: bPort = 23hex

*the setport command does not change the direction of the I/O
port automatically. So to make it function the port direction should
be set to input first using the CVM_SET_PORT_DIR_REQ
command.

*Port Read requests outside the valid ports and pins are possible,
but the results might be invalid !

01/20/04 3:00 PM CVM API interface V 0.156 Page 68


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
CVM_ REMOTE_READ_PORT_CFM
Description: Return status of requested port pin on the FP_CVM module to the PP_MCU (Requires a
service connection)
Parameters:
Type Name Description
uint8[] bData Pin state indication:
TRUE = HIGH
FALSE = LOW

CVM_ REMOTE_SET_PORT_DIR_REQ
Description: Sets the direction of the user accessible IO ports on the FP_CVM from the PP_MCU
(Requires a service connection)
Parameters:
Type Name Description
uint8 bPort IO Port to read

Available Ports on the CVModule: (Port0 to port3)


*same as in CVM_SET_PORT_REQ

Ports are addressed in the 2 nibbles of the bPort byte.


HigPart = Port, LowPart = Pin.
Example P2_3: bPort = 23hex

*only the port/pin configurations above are valid.


Invalid set_port requests are ignored by the CVModule
uint8 bData Pin state indication:
TRUE = OUTPUT
FALSE = INPUT
uint8 bPull If set to input, this parameter defines the internal pull up/down of
the port pin:

TRUE = Pullup
FALSE = Pull down

*if set to output, this parameter is ignored

01/20/04 3:00 PM CVM API interface V 0.156 Page 69


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
4.15 FP DSP Control commands:

CVM_FP_DSP_COMMAND_REQ
Description: This command is used to send DSP command packages to the Fp DSP
Parameters:
Type Name Description
uint8 bCommand Setects the command to follow in the dsp call

0x00: CMD_DSP_CONNECT
0x01: CMD_DSP_DISCONNECT
0x02: CMD_DSP_MUTE
0x03: CMD_DSP_UNMUTE
0x04: CMD_DSP_MUTE_DEVICE
0x05: CMD_DSP_UNMUTE_DEVICE,
0x06: CMD_DSP_SWITCH_TONE
0x07: CMD_DSP_SWITCH_OUTPUT
0x08: CMD_DSP_WRITE_SW_POINT
0x09: CMD_DSP_READ_SW_POINT
0x0A: CMD_DSP_START_MELODY
0x0B: CMD_DSP_START_TONE_PATTERN
0x0C: CMD_DSP_STOP_TONE_GEN
0x0D: CMD_DSP_START_DTMF_TONE
0x0E: CMD_DSP_STOP_DTMF_TONE
0x0F: CMD_DSP_INIT_BLOCK
0x10: CMD_DSP_ACTIVATE_BLOCK
0x11: CMD_DSP_DEACTIVATE_BLOCK
uint8/uint16 bData[] Parameters to the individual DSP commands
*see below

bCommand = CMD_DSP_CONNECT
Description: Connects the selected audioconnection
bData[] =
Type Name Description
uint8 ConId
uint8 Attrib

bCommand = CMD_DSP_DISCONNECT
Description: Disconnects the selected audiorouting and returns status as CMD_DSP_DISCONNECT
bData[] =
Type Name Description
uint8 ConId
uint8 Attrib

bCommand = CMD_DSP_MUTE
Description: Mutes the selected audiorouting
bData[] =
Type Name Description
uint8 ConId
uint8 Attrib

bCommand = CMD_DSP_UNMUTE
Description: UnMutes the selected audiorouting
bData[] =
Type Name Description
uint8 ConId
uint8 Attrib

bCommand = CMD_DSP_MUTE_DEVICE
01/20/04 3:00 PM CVM API interface V 0.156 Page 70
Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Description: Mutes the selected device
bData[] =
Type Name Description
uint8 Attrib

bCommand = CMD_DSP_UNMUTE_DEVICE
Description: UnMutes the selected device
bData[] =
Type Name Description
uint8 Attrib

bCommand = CMD_DSP_SWITCH_TONE
Description: Switches the tones on the individual tone generators
bData[] =
Type Name Description
uint8 ToneGenId
uint8 ToneAttrib
uint8 OnOff

bCommand = CMD_DSP_SWITCH_OUTPUT
Description: Switches the tones on the individual audio blocks
bData[] =
Type Name Description
uint8 ToneGenId
uint16 BlockOutput
uint8 OnOff

bCommand = CMD_DSP_WRITE_SW_POINT
Description: Writes to the selected switchpoint
bData[] =
Type Name Description
uint16 block_Addr
uint16 inp_addr
uint16 outp_addr

bCommand = CMD_DSP_READ_SW_POINT
Description: Reads the selected switch point and returns it in the CVM_FP_DSP_COMMAND_CFM
bData[] =
Type Name Description
uint16 block_addr
uint16 inp_addr

bCommand = CMD_DSP_START_MELODY
Description: Starts a predefined melody placed in eeprom.
*melody definition is same format as normal eeprom melodies
bData[] =
Type Name Description
uint8 ToneGenId
uint8 ToneAttrib
uint16 MelodyArrStartAddr

bCommand = CMD_DSP_START_TONE_PATTERN
Description: Starts a predefined tone pattern placed in eeprom.
*tone definition is same format as normal eeprom melodies
bData[] =
01/20/04 3:00 PM CVM API interface V 0.156 Page 71
Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Type Name Description
uint8 ToneGenId
uint8 ToneAttrib
uint16 TonePatternArrStartAddr

bCommand = CMD_DSP_STOP_TONE_GEN
Description: Stops a running melody or tone
bData[] =
Type Name Description
uint8 ToneGenId

bCommand = CMD_DSP_START_DTMF_TONE
Description: Starts a DTMF tone on the selected tonegenrator
bData[] =
Type Name Description
uint8 ToneGenId
uint8 ToneAttrib
uint8 DtmfTone
uint16 DtmfTwist

bCommand = CMD_DSP_STOP_DTMF_TONE
Description: Starts a DTMF tone on the selected tonegenrator
bData[] =
Type Name Description
uint8 ToneGenId

bCommand = CMD_DSP_ACTIVATE_BLOCK
Description: Activates a predefined block in the DSP
bData[] =
Type Name Description
uint8 BlockId

bCommand = CMD_DSP_DEACTIVATE_BLOCK
Description: Activates a predefined block in the DSP
bData[] =
Type Name Description
uint8 BlockId

01/20/04 3:00 PM CVM API interface V 0.156 Page 72


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
CVM_FP_DSP_COMMAND_CFM
Description: Answer on the dsp command request command.
Parameters:
Type Name Description
uint8 bCommand Indicates the DSP command that answers:

0x00: CMD_DSP_CONNECT
0x01: CMD_DSP_DISCONNECT
0x02: CMD_DSP_MUTE
0x03: CMD_DSP_UNMUTE
0x04: CMD_DSP_MUTE_DEVICE
0x05: CMD_DSP_UNMUTE_DEVICE,
0x06: CMD_DSP_SWITCH_TONE
0x07: CMD_DSP_SWITCH_OUTPUT
0x08: CMD_DSP_WRITE_SW_POINT
0x09: CMD_DSP_READ_SW_POINT
0x0A: CMD_DSP_START_MELODY
0x0B: CMD_DSP_START_TONE_PATTERN
0x0C: CMD_DSP_STOP_TONE_GEN
0x0D: CMD_DSP_START_DTMF_TONE
0x0E: CMD_DSP_STOP_DTMF_TONE
0x0F: CMD_DSP_INIT_BLOCK
0x10: CMD_DSP_ACTIVATE_BLOCK
0x11: CMD_DSP_DEACTIVATE_BLOCK
uint8/uint16 bData[] Parameter results on the individual DSP command
requests
*see below

bCommand = CMD_DSP_CONNECT
Description: Returns new status on the selected connection selected by CVM_DSP_CONNECT
request command
bData[] =
Type Name Description
uint8 bStatus

bCommand = CMD_DSP_DISCONNECT
Description: Returns new status on the selected connection selected by CVM_DSP_DISCONNECT
request command
bData[] =
Type Name Description
uint8 bStatus

bCommand = CMD_DSP_READ_SW_POINT
Description: Returns status of the switchpoint requested by CMD_DSP_READ_SW_POINT request
command
bData[] =
Type Name Description
uint8 bStatus

01/20/04 3:00 PM CVM API interface V 0.156 Page 73


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
4.16 Audio path control PP

The audio task is designed as a state machine including the following states:

Idle State (Idle and Alerting)


Earpiece State
Handsfree State ( SpeakerPhone )
Headset State

CVM_PP_AUDIO_CLOSE_REQ

CVM_PP_AUDIO_OPEN_HANDSFREE_REQ

CVM_PP_AUDIO_CLOSE_REQ CVM_PP_AUDIO_OPEN_HANDSFREE_REQ

if (HeadsetPlug==FALSE)
CVM_PP_AUDIO_CLOSE_HANDSFREE_REQ
CVM_PP_AUDIO_OPEN_REQ

Idle Earpiece - Audio Handsfree - Audio

CVM_PP_AUDIO_CLOSE_REQ

CVM_PP_AUDIO_HS_PLUG_IND = 0/1

if (HeadsetPlug==TRUE)
CVM_PP_AUDIO_OPEN_REQ CVM_PP_AUDIO_OPEN_HANDSFREE_REQ

Headset Audio

Only the audio mails defined in the individual states are accepted. Other mails will be ignored

01/20/04 3:00 PM CVM API interface V 0.156 Page 74


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Primitive: CVM_PP_AUDIO_OPEN_REQ
Description: This command is used to open audio between the Adpcm buffer and the codec.
If no indication of headset has been received the connected audio path will be between the
earpiece, internal microphone, and the adpcm buffer, and the audio state machine will
enter the earpiece State
*when the audio is opened, it can be switched to speakerphone or headset by API-
commands (see state-chart above)
Valid in IDLE
AudioStates:
Parameters: None

Primitive: CVM_PP_AUDIO_CLOSE_REQ
Description: This command is used to close audio. The audiotask state machine will return to idle state
as result of this command
Valid in EARPIECE_AUDIO, HANDSFREE_AUDIO, HEADSET_AUDIO
AudioStates:
Parameters: None

Primitive: CVM_PP_AUDIO_SET_VOLUME_REQ
Description: The command is used to adjust the audio volume. The volume is adjusted in steps in the
range 0 to 9
Valid in EARPIECE_AUDIO, HANDSFREE_AUDIO, HEADSET_AUDIO
AudioStates:
Parameters:
Type Name Description
uint8 bVolIndex Volume index step
Range 0 to 9

Primitive: CVM_PP_AUDIO_MUTE_MIC_REQ
Description: Mutes the Microphone
Parameters:

Primitive: CVM_PP_AUDIO_UNMUTE_MIC_REQ
Description: Unmutes the Microphone
Parameters: None

Primitive: CVM_PP_AUDIO_OPEN_HANDSFREE_REQ
Description: This command is used to enable the handset speakerphone mode. The state machine enters
the Handsfree State after processing the command
Parameters: None

Primitive: CVM_PP_AUDIO_CLOSE_HANDSFREE_REQ
Description: This command is used to disable the handset speakerphone mode.
Parameters: None

Primitive: CVM_PP_AUDIO_OPEN_ADPCM_OFF_REQ
Description: This command is used to open the audiopath without having a valid MAC connection.
Because the ADPCM buffers are not valid without a MAC connection, The audio must
not be connected to the ADPCM buffers in this case. It is possible to switch in the
ADPCM when a valid MAC connection is present with a normal
CVM_PP_AUDIO_OPEN_REQ. The command can for example be used in when dial
tones should be generated internally in the PP before and actual connection is made and in
WT mode
Parameters: None

01/20/04 3:00 PM CVM API interface V 0.156 Page 75


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Primitive: CVM_PP_AUDIO_OPEN_HANDSFREE_ADPCM_OFF_REQ
Description: This command does the same as CVM_PP_AUDIO_OPEN_ADPCM_OFF_REQ, except
that in opens audio in handsfree
Parameters: None

Primitive: CVM_PP_AUDIO_HS_PLUG_IND
Description: This indication is used to switch audio into and out of headset mode. When a headset is
connected / disconnected the MCU will be notified by the CVM headset detection logic.
Base on this indication the MCU can send this indication to switch audio to/from the
headset.
Valid in AllStates
AudioStates:
Parameters:
Type Name Description
uint8 bHeadsetState On :1 Off :0

01/20/04 3:00 PM CVM API interface V 0.156 Page 76


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
4.17 Audio path control FP

The audio task is designed as a state machine including the following states:

Primitive: CVM_FP_AUDIO_OPEN_REQ
Description: This command is used to open audio in the FP speakerphone. The Acoustic echocanceller
can be enabled/disabled by parameter.
Parameters:
Type Name Description
uint8 bSelect 0x00: SPK_AEC_ENABLED
0x01: SPK_AEC_DISABLED
0x02: LINE_LEC_ENABLED
0x03: LINE_LEC_DISABLED

Primitive: CVM_FP_AUDIO_CLOSE_REQ
Description: This command is used to close audio.
Parameters:
Type Name Description
uint8 bSelect 0x00: SPK_AEC_ENABLED
0x01: SPK_AEC_DISABLED
0x02: LINE_LEC_ENABLED
0x03: LINE_LEC_DISABLED

Primitive: CVM_FP_AUDIO_SET_VOLUME_REQ
Description: The command is used to adjust the audio volume.
The volume is adjusted in steps in the range 0 to 9
Parameters:
Type Name Description
uint8 bVolIndex Volume index step
Range 0 to 9

Primitive: CVM_FP_AUDIO_MUTE_REQ
Description: Mutes the Rx or Tx direction
Parameters:
Type Name Description
uint8 MuteAttrib 0x00: mute SPKPHONE in Rx direction
0x01: mute SPKPHONE in Tx dirention
0x02: mute SPKPHONE in Both directions
0x03: mute LINE

Primitive: CVM_FP_AUDIO_UNMUTE_REQ
Description: Mutes the Rx or Tx direction
Parameters:
Type Name Description
uint8 MuteAttrib 0x00: unmute SPKPHONE in Rx direction
0x01: unmute SPKPHONE in Tx dirention
0x02: unmute SPKPHONE in Both directions
0x03: unmute LINE

01/20/04 3:00 PM CVM API interface V 0.156 Page 77


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
4.18 Tone control PP FP

Primitive: CVM_PP_AUDIO_START_TONE_REQ /
CVM_FP_AUDIO_START_TONE_REQ
Description: This command is used to start a tone or a tone pattern.
Parameters:
Type Name Description
uint8 bToneIndex 0x00: TONE_KEYSOUND_ID
0x01: TONE_KEY_ERR_ID
0x02: TONE_NO_NETWORK_ID
0x03: TONE_FIRST_LOC_ID
0x04: TONE_FATAL_ERR_ID
0x05: TONE_NEW_MAIL_ID
0x06: TONE_URGENT_MAIL_ID
0x07: TONE_LOW_BATT_ID
0x08: TONE_SUBS_FAIL_ID
0x09: TONE_ALARM_SOUND_ID
0x0a: TONE_MIC_MUTE_ID
0x0b: TONE_MSG_WAITING_ID
0x0c: TONE_TEST_500_ID
0x0d: TONE_TEST_1000_ID
0x0e: TONE_TEST_3000_ID
0x0f: TONE_RING_BACK_ID
0x10: TONE_NETWORK_CONGESTION_ID
0x11: TONE_DIAL_ID
0x12: TONE_BUSY_ID
0x13: TONE_CALL_WAITING_ID
0x14: TONE_CONFERENCE_ID

uint8 bVolIndex Volume selection of the tone:


Value: 0x00 – 0x09

Primitive: CVM_PP_AUDIO_STOP_TONE_REQ/
CVM_FP_AUDIO_STOP_TONE_REQ
Description: This command is used to stop a tone or a tone pattern.
Parameters: none

Primitive: CVM_PP_AUDIO_START_MELODY_REQ/
CVM_FP_AUDIO_START_MELODY_REQ
Description: This command is used to start a melody or ringer pattern.
Parameters:
Type Name Description
uint8 bRingerIndex 0x00: Predefined melody #1
0x01: Predefined melody #2
0x02: Predefined melody #3

Volume selection of the tone:


bVolIndex Value: 0x00 – 0x09

bFollowCadence

01/20/04 3:00 PM CVM API interface V 0.156 Page 78


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Primitive: CVM_PP_AUDIO_STOP_MELODY_REQ/
CVM_FP_AUDIO_STOP_MELODY_REQ
Description: This command is used to stop the melody generator
uint8 bTime time (in 10ms) before tone stop

Primitive: CVM_PP_AUDIO_MELODY_END_IND/
CVM_PP_AUDIO_MELODY_END_IND
Description: This command is send to the MCU when a stated melody has been played to the end and
has stopped
Parameters: none

01/20/04 3:00 PM CVM API interface V 0.156 Page 79


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
4.19 Tone/Melodies in eeprom
The area in the eeprom that holds the melody information should be structured using the
following layout:

Melody Header

Melody data

Melody Header
The Melody Header is structured an array of the following type

typedef struct
{
uint16 Bpm;
uint8 Loop;
uint8 Length;
uint8 PolyTones; // MAX 3
} MelodyEntryHeader;

Bpm - Beat per minute, indicates the overall speed of the melody

Loop – indicates how many times the melody should loop before stopping

Length – Indicates the length of melody data in bytes

PolyTones – Defines the number polyphonic tones ( Max 3 )

01/20/04 3:00 PM CVM API interface V 0.156 Page 80


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Melody Data

Melody data is defined an array of the following type:

typedef struct
{
DspToneType Tone;
uint8 Duration;
} DspNodeType;

The first entry in this type is the DspToneType Tone.

DspToneType is an enumeration defined in the following way:

typedef enum
{
silent,
c4_Tone, c4u_Tone, d4_Tone, d4u_Tone, e4_Tone, f4_Tone,
f4u_Tone, g4_Tone, g4u_Tone, a4_Tone, a4u_Tone, b4_Tone,
// octave 5 (12 tones)
c5_Tone, c5u_Tone, d5_Tone, d5u_Tone, e5_Tone, f5_Tone,
f5u_Tone, g5_Tone, g5u_Tone, a5_Tone, a5u_Tone, b5_Tone,
// octave 6 (12 tones)
c6_Tone, c6u_Tone, d6_Tone, d6u_Tone, e6_Tone, f6_Tone,
f6u_Tone, g6_Tone, g6u_Tone, a6_Tone, a6u_Tone, b6_Tone,
// octave 7 (12 tones) // Use only for 16 sample rate
c7_Tone, c7u_Tone, d7_Tone, d7u_Tone, e7_Tone, f7_Tone,
f7u_Tone, g7_Tone, g7u_Tone, //a7_Tone, a7u_Tone, b7_Tone,

}ENUM8(DspToneType);

Tone A4 corresponds to a frequency of 440 Hz. For a detailed overview of the tone please
refer to Appendix .

The second parameter is the Duration of the node. The duration can have the following
values:

typedef enum
{
NODE_1_32 = 1,
NODE_1_16 = 2,
NODE_3_32 = 3,
NODE_1_8 = 4,
NODE_3_16 = 6,
NODE_1_4 = 8,
NODE_3_8 = 12,
NODE_1_2 = 16,
NODE_5_8 = 20,
01/20/04 3:00 PM CVM API interface V 0.156 Page 81
Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
NODE_3_4 = 24,
NODE_7_8 = 28,
NODE_1_1 = 32,
}ENUM8(DspToneNodeType);

For polyphonic melodies, the Melody data should be arranged as a 2 dimensional array. This
means the for a 3 polyphonic melody, data should be arranged like illustrated in the c code
below.

const DspNodeType RingMelody[][3] = {


// PolyTone1 PolyTone2 PolyTone3
{{a5_Tone ,NODE_1_8 },{c5_Tone ,NODE_1_8 },{a4_Tone ,NODE_1_8 }},
{{e5_Tone ,NODE_1_16},{silent ,NODE_1_16},{a4_Tone ,NODE_1_16}},
{{g5_Tone ,NODE_1_8 },{c5_Tone ,NODE_1_8 },{g4_Tone ,NODE_1_8 }}
};

In case of Tonepatterns, the header is looks like:

typedef struct
{
uint8 Loop;
uint8 Length;
} ToneEntryHeader;

Loop – indicates how many times the tone patten should loop before stopping

Length – Indicates the length of tone data in bytes

As indicated by the header format, polyphonic tones in tone pattern are not possible.

The ToneData, is build up in much the same way as melodies exept that Tones is specified as
Tone/Time pairs instead of actual nodes. The time part should be specified as x times 10 ms.
The c code below illustrates the structure of the ToneData

const DspNodeType Tonepattern1[] = {


{g7u_Tone,4},{e6_Tone,8},{silent,8},{e6_Tone,8},{silent,8},{g6u_Tone,8},{silent,8},
{g6uTone,8},{silent,8}, {g6u_Tone,8},{silent,8}, {0,0xff}
};

Tone and melody data can be placed anywhere in unused eeprom space. Please refer to
eeprom tree file.

01/20/04 3:00 PM CVM API interface V 0.156 Page 82


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
The following mail type should be used when playing melodies from eeprom

Primitive: CVM_PP_AUDIO_START_EE_MELODY_REQ/
CVM_FP_AUDIO_START_EE_MELODY_REQ
Description: This command is used to start a user melody from eeprom. The command is the same as
CVM_TONE_START_MELODY_REQ except that eeprom address is parsed as
argument instead of ringer index
Parameters:
Type Name Description
uint16 wEeAddr;

uint8 bVolIndex;

The following mail type should be used when playing tones from eeprom

Primitive: CVM_PP_AUDIO_START_EE_TONE_REQ/
CVM_FP_AUDIO_START_EE_TONE_REQ
Description: This command is used to start a user tone pattern from eeprom. The command is the same
as CVM_TONE_START_TONE_REQ except that eeprom address is parsed as argument
instead of tone pattern index
Parameters:
Type Name Description
uint16 wEeAddr;

uint8 bVolIndex;

Headset detection
The headset detection must be configured in eeprom to ensure proper functionality, since
depends on the hardware configuration (refer to eeprom document for further details). The
following indication is used to signal a change in headset state. It is then up to the application
to decide if the audio path should be changed.

Primitive: CVM_PP_HEADSET_DETECT_IND
Description: This command is indicates new headset state
Parameters:
Type Name Description
boolean HeadsetPlug Headset plug state:
1: headset detected
0: headset not detected

boolean HeadsetHook Headset hook state:


1: hook pressed
0: hook not pressed

01/20/04 3:00 PM CVM API interface V 0.156 Page 83


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Audio adjustment PP (Filter setup)

Please refer to CVM datasheet to se audioroute setup for each audio mode. By default all
filters are loaded with bypass coefficents.

C 0 + 2 C1 z −1 + C 2 z −2
H ( z) =
1 + (−C3 ) z −1 + (−C 4 ) z −2

The figure and the equation above describes the logical block diagram of the Programmable
Filter. Please refer to National AN-D-60 for further details about the programmable filter (
PFILT)

Filter coefficients
Index Name Range Description
0 C0 80.00-7F.FF Coefficient 0
1 C1 80.00-7F.FF Coefficient 1
2 C2 80.00-7F.FF Coefficient 2
3 C3 80.00-7F.FF Coefficient 3
4 C4 80.00-7F.FF Coefficient 4
5 Fin_Att 80.00-7F.FF Input attenuation factor
6 Foutgains - [13:12] - Output gain: 00=0dB, 01=+6dB,
10=+12dB 11=+18dB
[15:14] - Coefficient scaling: 00= X1, 01=X2,
10=X4, 11=X8

01/20/04 3:00 PM CVM API interface V 0.156 Page 84


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Fixed point Q15 Data format used for filter coefficients and other DSP parmeters

The Q15 data format is a 16-bit signed normalized fixed-point number representation.

Negative numbers are represented in 2-complement notation.

Bit 15 is sign bit. Bit 14-0 represent steps of 2-(15-n).

The largest positive number that can be represented is:

32767/32768 = 0.999969482421875 = 0x7fff

The smallest positive number is:

2-15 = 1/32768 = 0.000030517578125 = 0x0001

The smallest negative number is:

-2-15 = -1/32768 = -0.000030517578125 = 0xffff.

The largest negative number is:

-20 = -1 = 0x8000

Primitive: CVM_DSP_SET_FILT_COEF_REQ
Description: This command is used to setup new filter coefficient
Parameters:
Type Name Description
uint8 PfiltId; Number of filter to adjust.
legal values (1-4)
uint16 FiltCoef7] Array of filter coefficients, se table above

01/20/04 3:00 PM CVM API interface V 0.156 Page 85


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Real Time Clock

Primitive: CVM_SET_TIME_REQ
Description: Adjust the time of the realtime clock
Parameters:
Type Name Description
uint8 bYear Year since 2000 (e.i. 2003 = 03, 2099 = 99)
uint8 bMonth Month of the year - [1,12]
uint8 bDay Day of the month - [1,31]
uint8 bHours Hours since midnight - [0, 23]
uint8 bMinutes Minutes after the hour - [0,59]

Primitive: CVM_GET_TIME_REQ
Description: Read request to read out the time of the realtime clock
Parameters: None

Primitive: CVM_SET_TIME_CFM
Description: Return status of time adjustment of the realtime clock
Parameters:
Type Name Description
uint8 bStatus TRUE if time was set successfully
FALSE if setting time failed.

Primitive: CVM_GET_TIME_CFM
Description: Return read out of the time of the realtime clock
Parameters:
Type Name Description
uint8 bYear Year since 2000 (e.i. 2003 = 03, 2099 = 99)
uint8 bMonth Month of the year - [1,12]
uint8 bDay Day of the month - [1,31]
uint8 bHours Hours since midnight - [0, 23]
uint8 bMinutes Minutes after the hour - [0,59]
uint8 bSeconds Seconds after the minute - [0,59]
uint8 bSyncStatus Pp synchronization status:
TRUE: PP realtime clock synchronized
with FP.
FALSE: PP realtime clock not
synchronized with FP.

(Note: on the FP this bit will always be


TRUE)

01/20/04 3:00 PM CVM API interface V 0.156 Page 86


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Primitive: CVM_SET_TIME_REMOTE_REQ
Description: Remotely adjust the time of the realtime clock in the CVM_FP from the MCU_PP
(requires service connection).
Parameters:
Type Name Description
uint8 bYear Year since 2000 (e.i. 2003 = 03, 2099 = 99)
uint8 bMonth Month of the year - [1,12]
uint8 bDay Day of the month - [1,31]
uint8 bHours Hours since midnight - [0, 23]
uint8 bMinutes Minutes after the hour - [0,59]

Primitive: CVM_SET_TIME_REMOTE_CFM
Description: Return status of remote time adjustment of the realtime clock (requires service
connection).
Parameters:
Type Name Description
uint8 bStatus TRUE if time was set successfully
FALSE if setting time failed.

01/20/04 3:00 PM CVM API interface V 0.156 Page 87


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
4.20 Battery Management

Primitive: CVM_BAT_POWER_OFF_REQ
Description: Requests power off from the MCU
Parameters: none

Primitive: CVM_BAT_CONSUMPTION_REQ
Description: Indicates the current power consumption to CVM
Parameters:
Type Name Description
uint8 bConsumption Current battery consumption in 1mA
steps

Primitive: CVM_BAT_CAPACITY_REQ
Description: Requests battery capacity reading
Parameters: none

Primitive: CVM_BAT_CRADLED_REQ
Description: Returns a CVM_BAT_CRADLED_CFM, which contains the current cradle-state
(i.e. in the cradle or not in the cradle)
Parameters: none

Primitive: CVM_BAT_POWER_ON_REASON_REQ
Description: Returns a CVM_BAT_POWER_ON_REASON_CFM, which contains the power on
reason (i.e. a normal power on, cradle power on, new battery or a software reset).
Parameters: none

Primitive: CVM_BAT_RESET_REQ
Description: This will make the CVM perform a software-reset.
Parameters: none

Primitive: CVM_BAT_CAPACITY_CFM
Description: Confirm mail from the CVM holding the requested battery capacity level
(return mail on the CVM_BAT_CAPACITY_REQ)
Parameters:
Type Name Description
uint8 bCapacity Current capacity of the battery in percent.
0-100%

01/20/04 3:00 PM CVM API interface V 0.156 Page 88


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Primitive: CVM_BAT_POWER_ON_REASON_CFM
Description: Confirm mail from the CVM holding the requested power on reason
(return mail on the CVM_BAT_POWER_ON_REASON_REQ)
Parameters:
Type Name Description
uint8 bPowerOnReason Power on reasons:
0x00: Normal power on.
0x01: Cradle power on.
0x02: New battery power on.
0x03: Software reset power on.
0x04: Unknown power on.

Primitive: CVM_BAT_CRADLED_CFM
Description: Confirm mail from the CVM holding the requested cradle state.
(return mail on the CVM_BAT_CRADLE_REQ)
Parameters:
Type Name Description
uint8 bStatus Current state of the cradle:
TRUE = OnCradle
FALSE = OffCradle

Primitive: CVM_BAT_CAPACITY_IND
Description: Indication from the CVM holding the current capacity level (automatically sent once
pr. minute)
Parameters:
Type Name Description
uint8 bCapacity Current capacity of the battery in percent.
0-100%

Primitive: CVM_BAT_LOW_IND
Description: Indication from the CVM that the battery is running low
Parameters: none

Primitive: CVM_BAT_EMPTY_IND
Description: Indication from the CVM that the battery is empty. As an answer to this mail the
MCU must send a CVM_BAT_POWER_OFF_REQ ASAP.
(This allows the MCU to perform a controlled power off in case of an empty
battery).
Parameters: none

Primitive: CVM_BAT_CRADLE_IND
Description: Indicates to the MCU that the PP is inserted/removed from the cradle
Parameters:
Type Name Description
uint8 bStatus Current state of the cradle:
TRUE = OnCradle
FALSE = OffCradle

01/20/04 3:00 PM CVM API interface V 0.156 Page 89


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
4.21 Mode, configuration and status management

Primitive: CVM_PP_LOCKED_STATUS_REQ
Description: Requests the status if the PP is in service on FP

*The command also clears the update of the


API_PP_PLUG_STATUS_IND and API_PP_LINE_STATUS_IND so that they will
be retransmitted on next broadcast
Parameters: none

Primitive: CVM_PP_LOCKED_STATUS_CFM
Description: Returns the status if the PP if in service on FP
Parameters:
Type Name Description
uint8 bLockedStatus 0x00: FALSE
0x01: TRUE

4.22 Software version

Primitive: CVM_GET_VER_REQ
Description: Requests readout of the software revision
Parameters: none

Primitive: CVM_GET_VER_CFM
Description: Returns the software revision
Parameters:
Type Name Description
uint16 bSwVersion Sw version number of the CVM module

4.23 PSTN line signal detection

Primitive: CVM_FP_LINE_DETECT_START_REQ
Description: Enables the signal detector from the FP
Parameters:
Type Name Description
uint8 bConnectionEI Connection instance
* see instance description for info on
instance numbering

01/20/04 3:00 PM CVM API interface V 0.156 Page 90


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
uint8 bTaskSignalId Signal-id identifying the detection-
session. If a signal is detected the
CVM_LINE_DETECT_IND packet(s)
will contain this id. Possible Id's are
LI_LSD_ID0..ID5 (value 0..5).
Theoretically this means that 6 detections
can be started simultaneously.
uint8 bSignalToDetect The kind of signal to detect.

0x00: SIGNAL_DIAL_TONE
0x01: SIGNAL_BUSY_TONE
0x03: SIGNAL_DTMF
uint16 wSignalOnMin Time in 1ms steps
uint16 wSignalOnMax Time in 1ms steps
uint16 wSignalOffMin Time in 1ms steps
uint16 wSignalOffMax Time in 1ms steps
uint8 bRepetitions if this parameter is 0, the SignalOn/Off
parameters will be read from EEPROM.

Value 0 is only supported for


SIGNAL_DIAL_TONE(0) and
SIGNAL_BUSY_TONE(1)
uint8 bTransDrvData Reserved for new functionality.
Should be set to 0xFF

Primitive: CVM_FP_LINE_DETECT_STOP_REQ
Description: Disables the signal detector from the FP
Parameters:
Type Name Description
uint8 bConnectionEI Connection instance
* see instance description for info on
instance numbering

uint8 bTaskSignalId Signal-id identifying the detection-


session to stop. When the line is hook'ed
on all pending detections are stopped
automatically .

01/20/04 3:00 PM CVM API interface V 0.156 Page 91


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Primitive: CVM_FP_LINE_DETECT_IND
Description: Returns the result of the signal detector to the FP
Parameters:
Type Name Description
uint8 bConnectionEI Connection instance
* see instance description for info on instance
numbering

uint8 bTaskSignalId Signal-id identifying the detection-session.


uint8 bDetectStatus Signal detection status:
0x00: SIGNAL_DETECTED
0x01: SIGNAL_DETECTED_ON
0x02: SIGNAL_DETECTED_OFF
0x03: SIGNAL_DETECTION_SUSPENDED
0x04: SIGNAL_DETECTION_RESUMED
uint16 wTimeStart
uint16 wTimeEnd

uint8 bData if SIGNAL_DTMF this is the DTMF digit detected.

Primitive: CVM_PP_LINE_DETECT_START_REQ
Description: Enables the signal detector remotely from the PP
*For the remote functionality to work a connection should be setup first
Parameters:
Type Name Description
uint8 bTaskSignalId Signal-id identifying the detection-
session. If a signal is detected the
CVM_LINE_DETECT_IND packet(s)
will contain this id. Possible Id's are
LI_LSD_ID0..ID5 (value 0..5).
Theoretically this means that 6 detections
can be started simultaneously.
uint8 bSignalToDetect The kind of signal to detect.

0x00: SIGNAL_DIAL_TONE
0x01: SIGNAL_BUSY_TONE
0x03: SIGNAL_DTMF
uint16 wSignalOnMin
uint16 wSignalOnMax
uint16 wSignalOffMin
uint16 wSignalOffMax
uint8 bRepetitions if this parameter is 0, the SignalOn/Off
parameters will be read from EEPROM.

Value 0 is only supported for


SIGNAL_DIAL_TONE(0) and
SIGNAL_BUSY_TONE(1)
uint8 bTransDrvData Reserved for new functionality.
Should be set to 0xFF

Primitive: CVM_PP_LINE_DETECT_STOP_REQ

01/20/04 3:00 PM CVM API interface V 0.156 Page 92


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Description: Disables the signal detector remotely from the PP
*For the remote functionality to work a connection should be setup first
Parameters:
Type Name Description
uint8 bTaskSignalId Signal-id identifying the detection-
session to stop. When the line is hook'ed
on all pending detections are stopped
automatically .

01/20/04 3:00 PM CVM API interface V 0.156 Page 93


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Primitive: CVM_PP_LINE_DETECT_IND
Description: Returns the result of the signal detector remotely to the PP
*For the remote functionality to work a connection should be setup first
Parameters:
Type Name Description
uint8 bTaskSignalId Signal-id identifying the detection-session.
uint8 bDetectStatus Signal detection status:
0x00: SIGNAL_DETECTED
0x01: SIGNAL_DETECTED_ON
0x02: SIGNAL_DETECTED_OFF
0x03: SIGNAL_DETECTION_SUSPENDED
0x04: SIGNAL_DETECTION_RESUMED
uint16 wTimeStart
uint16 wTimeEnd

uint8 bData if SIGNAL_DTMF this is the DTMF digit detected.

01/20/04 3:00 PM CVM API interface V 0.156 Page 94


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
4.24 Walkie Talkie mode

Primitive: API_WT_ENTER_REQ
Description: Request from MCU_PP to CVM_PP to enter WT mode.
Parameters:
Type Name Description
uint16 wGroupId Group Id (handsets need to have the same
Group Id in order to establish WT
connections).
uint8 bHandsetNo Own WT handset number (must be
unique for each handset in the same
group).

Primitive: API_WT_ENTER_CFM
Description: Confirmation from CVM_PP to MCU_PP that unit has entered WT mode.
Parameters: None

Primitive: API_WT_EXIT_REQ
Description: Request from MCU_PP to CVM_PP to exit WT mode.
Parameters: None

Primitive: API_WT_EXIT_ CFM


Description: Confirmation from CVM_PP to MCU_PP that unit has left WT mode.
Parameters: None

Primitive: API_WT_ENTER_FP_MODE_REQ
Description: Request from MCU_PP to CVM_PP to goto FP mode. (Establishing party must
always enter FP mode before sending API_WT_SETUP_REQ).
Parameters: None

Primitive: API_WT_ENTER_FP_MODE_CFM
Description: Confirmation from CVM_PP to MCU_PP that unit has changed to FP mode.
Parameters: None

Primitive: API_WT_SETUP_REQ
Description: Request from MCU_PP to CVM_PP to establish WT connection to another party.
Parameters:
Type Name Description
uint8 bHandsetNo WT handset number of receiving party.

Primitive: API_WT_SETUP_IND
Description: Indication from CVM_PP to MCU_PP (receiving party) that another party is trying
to establish a WT connection.
Parameters:
Type Name Description
uint8 bCallerId WT handset number of calling party.

01/20/04 3:00 PM CVM API interface V 0.156 Page 95


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Primitive: API_WT_CONNECT_REQ
Description: Request from MCU_PP to CVM_PP (receiving party) to connect the pending WT
connection (Must be send as a reply to API_WT_SETUP_IND)
Parameters: None

Primitive: API_WT_CONNECT_IND
Description: Indication from CVM_PP to MCU_PP (establishing party) that the receiving party
has accepted the WT call, and that the WT connection is established.
Parameters: None

Primitive: API_WT_CONNECT_CFM
Description: Confirmation from CVM_PP to MCU_PP (receiving party) that a WT connection
has been established.
Parameters: None

Primitive: API_WT_RELEASE_REQ
Description: Request from MCU_PP to CVM_PP to release WT connection.
Parameters: None

Primitive: API_WT_ RELEASE _IND


Description: Indication from CVM_PP to MCU_PP that the other party has released the WT
connection.
Parameters: None

Primitive: API_WT_ RELEASE _CFM


Description: Confirmation from CVM_PP to MCU_PP that the WT connection has been released
(this mail is a reply to API_WT_RELEASE_REQ)
Parameters: None

01/20/04 3:00 PM CVM API interface V 0.156 Page 96


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
5 Communication Scenarios

5.1 External outgoing call: Portable Part

CVM Module
PP_MCU
PP

API_PP_SETUP_REQ PP goes offhook


(CallClass=EXT)

API_PP_CONNECT_IND Connection between FP/PP established

CVM_PP_AUDIO_OPEN_REQ Open the audio

API_PP_KEYPAD_REQ
Dialing digits
(NoOfDigit, Digit[])

API_PP_KEYPAD_REQ Dialing digits


(NoOfDigit, Digit[])

5.2 External outgoing call: Fixed Part (SpeakerPhone)


* Becase the call is initiated from the FP_MCU, the ConEI is also assigned from the FP_CMU. In this case an
audio call: ConnectionEI=SW_EI_TYPE_OUT_AUDIO,

CVM Module
FP_MCU
FP

API_FP_SETUP_REQ
(ConEI, PP goes offhook
CallClass=EXT)
API_FP_CONNECT_IND
(ConEI) Connection between FP/PP established

CVM_FP_AUDIO_OPEN_REQ Open the audio

CVM_FP_AUDIO_UNMUTE_REQ
Dialing digits
API_FP_KEYPAD_REQ
(ConEI,
NoOfDigit, Digit[]) Dialing digits

API_FP_KEYPAD_REQ
(ConEI,
NoOfDigit, Digit[])

01/20/04 3:00 PM CVM API interface V 0.156 Page 97


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
5.3 External incoming call: Portable Part

CVM Module
PP_MCU
PP

API_PP_SETUP_IND
CallClass=External Indicates incoming call
CVM_PP_AUDIO_START_MELODY_REQ Generate ringing melody

API_PP_ALERT_REQ Indicates to FP that alerting is started

API_PP_ALERT_ON_IND
(Signal=External) PSTN ringvoltage is on
Generate ringing melody
CVM_PP_AUDIO_START_MELODY_REQ PSTN ringvoltage is off

API_PP_ALERT_OFF_IND
CVM_PP_AUDIO_STOP_MELODY_REQ
Stop ringing melody
API_PP_ALERT_ON_IND
(Signal=External) PSTN ringvoltage is on

API_PP_CONNECT_REQ PP answeres (hooks off)

API_PP_ALERT_OFF_IND PSTN ringvoltage is off

CVM_PP_AUDIO_STOP_MELODY_REQ Stop ringing melody

API_PP_CONNECT_CFM Connection is established


Open for audio
CVM_PP_AUDIO_OPEN_REQ

01/20/04 3:00 PM CVM API interface V 0.156 Page 98


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
5.4 External incoming call: Fixed Part (SpeakerPhone)
* Becase the call is initiated from the CVM the CoEI is assigned from the CVM.
After receiving the call, the FP_MCU should refer to the received ConEI when answering.

CVM Module
FP_MCU
FP

API_FP_SETUP_IND
(ConEI,
Indicates incoming call
CallClass=EXT)
Generate ringing melody
CVM_PP_AUDIO_START_MELODY_REQ

API_FP_ALERT_REQ, Indicates to FP that alerting is started


(ConEI)

API_FP_ALERT_ON_IND
(ConEI, Signal=EXT) PSTN ringvoltage is on
Generate ringing melody
CVM_FP_AUDIO_START_MELODY_REQ PSTN ringvoltage is off

API_FP_ALERT_OFF_IND
(ConEI)
CVM_FP_AUDIO_STOP_MELODY_REQ
Stop ringing melody
API_FP_ALERT_ON_IND
(ConEI, Signal=EXT) PSTN ringvoltage is on
API_FP_CONNECT_REQ FP_SpeakerPhone answeres (hooks off)
(ConEI) *Other PP's will get a API_FP_RELEASE_IND
API_FP_ALERT_OFF_IND
(ConEI) PSTN ringvoltage is off

CVM_FP_AUDIO_STOP_MELODY_REQ Stop ringing melody

API_FP_CONNECT_CFM
Connection is established
(ConEI)
Open for audio
CVM_FP_AUDIO_OPEN_REQ

01/20/04 3:00 PM CVM API interface V 0.156 Page 99


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
5.5 External incoming call using Alert broadcast

External
CVM Module Application
PP Micro
Processor

API_PP_ALERT_ON_IND
(Signal=External, Start ring tone
CallType=Speech, Clip)

API_PP_ALERT_OFF_IND
(Signal=External, Stop ring tone
CallType=Speech, Clip)

API_PP_ALERT_ON_IND
(Signal=External,
Start ring tone
CallType=Speech, Clip)
Mmi_Hook_Off

Stop ring tone


API_PP_SETUP_REQ

API_PP_CONNECT_IND

CVM_PP_AUDIO_OPEN_REQ Open for audio

01/20/04 3:00 PM CVM API interface V 0.156 Page 100


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
5.6 Ring termination (Unanswered incoming call times out: Portable Part

External
CVM Module Application
PP Micro
Processor
API_PP_SETUP_IND
CallClass=External Indicates incoming call

Indicates to FP that alerting is started


API_PP_ALERT_REQ

API_PP_ALERT_ON_IND
(Signal=External) PSTN ringvoltage is on

CVM_PP_AUDIO_START_MELODY_REQ Generate ringing melody

PSTN line hooks on API_PP_ALERT_OFF_IND PSTN ringvoltage is off

CVM_PP_AUDIO_STOP_MELODY_REQ Stop ringing melody

Timeout

API_PP_RELEASE_IND

MMI goes to standby


CVM_PP_AUDIO_STOP_MELODY_REQ

API_PP_RELEASE_RES

01/20/04 3:00 PM CVM API interface V 0.156 Page 101


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
5.7 Ring termination (Unanswered incoming call times out): Fixed Part
(SpeakerPhone)
* Becase the call is initiated from the CVM the CoEI is assigned from the CVM.
After receiving the call, the FP_MCU should refer to the received ConEI when answering.

CVM Module
FP_MCU
PP

API_FP_SETUP_IND
(ConEI,
Indicates incoming call
CallClass=External)
API_FP_ALERT_REQ Indicates to FP that alerting is started
(ConEI)

API_FP_ALERT_ON_IND
(ConEI, Signal=External) PSTN ringvoltage is on
CVM_FP_AUDIO_START_MELODY_REQ Generate ringing melody
(ConEI)

API_FP_ALERT_OFF_IND PSTN ringvoltage is off


PSTN line hooks on (ConEI)
CVM_FP_AUDIO_STOP_MELODY_REQ Stop ringing melody

Timeout

API_FP_RELEASE_IND
(ConEI)
MMI goes to standby
CVM_FP_AUDIO_STOP_MELODY_REQ

API_FP_RELEASE_RES
(ConEI)

01/20/04 3:00 PM CVM API interface V 0.156 Page 102


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
5.8 Example Internal call from Fixed Part (SpeakerPhone) to Portable Part
* Becase the call is initiated from the FP_MCU, the ConEI is also assigned from the FP_CMU. In this case an
audio call: ConnectionEI=SW_EI_TYPE_OUT_AUDIO,

CVM Module CVM Module


FP_MCU PP_MCU
FP PP

API_FP_SETUP_REQ
FP initiates intercom (ConEI,
CallClass=Internal)

API_FP_SETUP_ACK_IND
Local Conection established
(ConEI)

CVM_FP_AUDIO_START_TONE_REQ,
Generate local dialtone (ConEI,
Dialtone)

API_FP_KEYPAD_REQ
User Selects local PpNo
(ConEI,
NoOfDigit, Digit[]) API_PP_SETUP_IND
CallClass=Internal Indicates incoming call

Generate ringing melody


CVM_PP_AUDIO_START_MELODY_REQ
RF link with local ringer cadence
API_PP_ALERT_REQ
API_FP_ALERT_IND
Other PP is now ringing (ConEI)

API_FP_SIGNAL_ON_IND
FP requests ringback tone (ConEI, Ringback)

Generate local ringback tone CVM_FP_AUDIO_START_TONE_REQ,


Ringbacktone

API_PP_CONNECT_REQ PP answeres (hooks off)


API_FP_CONNECT_IND
Other PP answeres, connected (ConEI) API_PP_ALERT_OFF_IND
Stop internal ringing
API_FP_SIGNAL_OFF_IND
(ConEI) CVM_PP_AUDIO_STOP_MELODY_REQ Stop ringing melody
FP requests to stop ringback tone

Stop local ring back tone CVM_FP_AUDIO_STOP_TONE_REQ API_PP_CONNECT_CFM Connection is established

Open audio
CVM_FP_AUDIO_OPEN_REQ CVM_PP_AUDIO_OPEN_REQ Open for audio

CVM_FP_AUDIO_UNMUTE_REQ

01/20/04 3:00 PM CVM API interface V 0.156 Page 103


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
5.9 Example Internal call from Portable Part to Portable Part

CVM Module CVM Module


PP1_MCU PP2_MCU
PP1 PP2

PP1 initiates intercom API_PP_SETUP_REQ


(CallClass=Internal)

Local Conection established API_PP_SETUP_ACK_IND

Generate local dialtone CVM_PP_AUDIO_START_TONE_REQ,


(Dialtone)

User Selects local PpNo ('2') API_PP_KEYPAD_REQ


(NoOfDigit, '2') API_PP_SETUP_IND
CallClass=Internal Indicates incoming call

Generate ringing melody


CVM_PP_AUDIO_START_MELODY_REQ
with local ringer cadence
RF link (FP)
API_PP_ALERT_REQ
Other PP is now ringing API_PP_ALERT_IND

API_PP_SIGNAL_ON_IND
FP requests ringback tone (Ringback)

Generate local ringback tone CVM_PP_AUDIO_START_TONE_REQ,


Ringbacktone

API_PP_CONNECT_REQ PP answeres (hooks off)


API_PP_CONNECT_IND
Other PP answeres, connected API_PP_ALERT_OFF_IND
Stop internal ringing
API_PP_SIGNAL_OFF_IND CVM_PP_AUDIO_STOP_MELODY_REQ Stop ringing melody
FP requests to stop ringback tone

Stop local ring back tone CVM_PP_AUDIO_STOP_TONE_REQ API_PP_CONNECT_CFM Connection is established

Open audio
CVM_PP_AUDIO_OPEN_REQ CVM_PP_AUDIO_OPEN_REQ Open for audio

01/20/04 3:00 PM CVM API interface V 0.156 Page 104


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
5.10 Call transfer (attended): Fixed Part (SpeakerPhone) to Portable
*Attended means that an internal audio connection is established before transfering the call.
In this case the ConEI already ude for the audio call should be used for further communication
(ConnectionEI=SW_EI_TYPE_IN_AUDIO, or SW_EI_TYPE_OUT_AUDIO)

CVM Module CVM Module


FP_MCU PP_MCU
FP PP

External call FP<->PSTN


established

Send INT_KEY (0x17) multikeypad


to FP select intercom API_FP_KEYPAD_REQ
(ConEI, NoOfDigit=1, Digit=INT_KEY

Fp requests SpkPhone API_FP_SIGNAL_ON_IND


to generate dialtone (ConEI, DialTone)

Generate local dialtone CVM_FP_AUDIO_START_TONE_REQ,


Dialtone

Send multikeypad with API_FP_KEYPAD_REQ


LocalNo to select other PP (ConEI, NoOfDigit=1, Digit=LocalNo API_PP_SETUP_IND Indicates incoming call
CallClass=Internal
Generate ringing melody
Conection will now be RF link
CVM_PP_AUDIO_START_MELODY_REQ with local ringer cadence
established to the other PP
API_PP_ALERT_REQ Indicates to FP that alerting is started
Other PP is ringing API_FP_SIGNAL_ON_IND
Fp requests Ringpacktone (ConEI, RING_BACK)

Generate local ringback CVM_FP_AUDIO_START_TONE_REQ,


Ringback

API_FP_SIGNAL_IND PP answeres (hooks off)


Other PP answers API_PP_CONNECT_REQ
Stop local ringbacktone (ConEI, TONES_OFF)
API_PP_ALERT_OFF_IND Stop internal ringing

CVM_PP_AUDIO_STOP_MELODY_REQ Stop ringing melody

API_PP_CONNECT_CFM
Connection is established
Open for audio
Conversation between CVM_PP_AUDIO_OPEN_REQ
FP_SpeakerPhone and PP
is now established

FP_SpeakerPhone hooks on API_FP_RELEASE_REQ


(ConEI) External call PP<->PSTN
established

01/20/04 3:00 PM CVM API interface V 0.156 Page 105


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
5.11 Call transfer (un-attended): Portable to Fixed Part (SpeakerPhone)
*Un-attended means that no internal audio connection is established before transfering the call.
Becase the call is initiated from the FP_MCU, the ConEI is also assigned from the FP_CMU.

CVM Module CVM Module


PP_MCU FP_MCU
PP FP

External call PP<->PSTN


established

Send INT_KEY (0x17) multikeypad


to FP select intercom API_PP_KEYPAD_REQ
(NoOfDigit=1, Digit=INT_KEY

Fp requests PP to API_PP_SIGNAL_ON_IND
generate dialtone (DialTone)

Generate local dialtone CVM_PP_AUDIO_START_TONE_REQ,


Dialtone
Send multikeypad with
LocalNo ('0') to select API_PP_KEYPAD_REQ
( NoOfDigit=1, Digit='0' API_FP_SETUP_IND Indicates incoming call
Fp_SpeakerPhone CallClass=Internal
Conection will now be Generate ringing melody
RF link
established to the CVM_FP_AUDIO_START_MELODY_REQ with local ringer cadence
Fp_SpeakerPhone
API_FP_ALERT_REQ Indicates to FP that alerting is started
Fp_SpeakerPhone is ringing API_PP_SIGNAL_ON_IND
Fp requests Ringpacktone (RING_BACK)

Generate local ringback CVM_PP_AUDIO_START_TONE_REQ,


Ringback

FP_SpeakerPhone answers API_PP_SIGNAL_IND


Stop local ringbacktone (TONES_OFF)

PP hooks on
API_PP_RELEASE_REQ

FP_SpeakerPhone
API_FP_CONNECT_REQ answeres (hooks off)

API_FP_ALERT_OFF_IND Stop internal ringing

CVM_FP_AUDIO_STOP_MELODY_REQ Stop ringing melody

API_FP_CONNECT_CFM
Connection is established
Open for audio
CVM_FP_AUDIO_OPEN_REQ

External call
FP_SpeakerPhone<->PSTN
established

01/20/04 3:00 PM CVM API interface V 0.156 Page 106


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
5.12 Call transfer (attended): Portable to Portable
* In this case the ConEI already ude for the audio call should be used for further communication
(ConnectionEI=SW_EI_TYPE_IN_AUDIO, or SW_EI_TYPE_OUT_AUDIO)
The connection scenario for PP<->PP transfer is basically the same at FP<->PP except that no ConEI i
needed.

CVM Module CVM Module


PP1_MCU PP2_MCU
PP1 PP2

External call PP1<->PSTN


established

Send INT_KEY (0x17) multikeypad


to FP select intercom API_PP_KEYPAD_REQ
(NoOfDigit=1, Digit=INT_KEY

Fp requests PP2 to API_PP_SIGNAL_ON_IND


generate dialtone (DialTone)

Generate local dialtone CVM_PP_AUDIO_START_TONE_REQ,


Dialtone

Send multikeypad with API_PP_KEYPAD_REQ


LocalNo to select other PP (NoOfDigit=1, Digit=LocalNo API_PP_SETUP_IND Indicates incoming call
CallClass=Internal
Generate ringing melody
Conection will now be
CVM_PP_AUDIO_START_MELODY_REQ with local ringer cadence
established to the other PP
API_PP_ALERT_REQ Indicates to PP1 that alerting is started
PP2 is ringing API_PP_SIGNAL_ON_IND RF link (FP)
Fp requests Ringpacktone (RING_BACK)

Generate local ringback CVM_PP_AUDIO_START_TONE_REQ,


Ringback

API_PP_SIGNAL_IND PP2 answeres (hooks off)


PP2 answers API_PP_CONNECT_REQ
Stop local ringbacktone (TONES_OFF)
API_PP_ALERT_OFF_IND Stop internal ringing

CVM_PP_AUDIO_STOP_MELODY_REQ Stop ringing melody

API_PP_CONNECT_CFM
Connection is established
Open for audio
Conversation between PP1 CVM_PP_AUDIO_OPEN_REQ
and PP2 is now established

PP1 hooks on API_PP_RELEASE_REQ External call PP2<->PSTN


established

01/20/04 3:00 PM CVM API interface V 0.156 Page 107


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
5.13 3 part conference: (Portable <-> Portable <-> PSTN)
-The 3 part conference is initiated as part of a call transfer by pressing the ‘3’ key

* In this case the ConEI already ude for the audio call should be used for further communication
(ConnectionEI=SW_EI_TYPE_IN_AUDIO, or SW_EI_TYPE_OUT_AUDIO)
The connection scenario for PP<->PP transfer is basically the same at FP<->PP except that no ConEI i
needed.

CVM Module CVM Module


PP1_MCU PP2_MCU
PP1 PP2

External call PP1<->PSTN


established

Send INT_KEY (0x17) multikeypad


to FP select intercom API_PP_KEYPAD_REQ
(NoOfDigit=1, Digit=INT_KEY

Fp requests PP2 to API_PP_SIGNAL_ON_IND


generate dialtone (DialTone)

Generate local dialtone CVM_PP_AUDIO_START_TONE_REQ,


Dialtone

Send multikeypad with API_PP_KEYPAD_REQ


LocalNo to select other PP (NoOfDigit=1, Digit=LocalNo API_PP_SETUP_IND Indicates incoming call
CallClass=Internal
Generate ringing melody
Conection will now be
CVM_PP_AUDIO_START_MELODY_REQ with local ringer cadence
established to the other PP
API_PP_ALERT_REQ Indicates to PP1 that alerting is started
PP2 is ringing API_PP_SIGNAL_ON_IND RF link (FP)
Fp requests Ringpacktone (RING_BACK)

Generate local ringback CVM_PP_AUDIO_START_TONE_REQ,


Ringback

API_PP_SIGNAL_IND PP2 answeres (hooks off)


PP2 answers API_PP_CONNECT_REQ
Stop local ringbacktone (TONES_OFF)
API_PP_ALERT_OFF_IND Stop internal ringing

CVM_PP_AUDIO_STOP_MELODY_REQ Stop ringing melody

API_PP_CONNECT_CFM
Connection is established
Open for audio
Conversation between PP1 CVM_PP_AUDIO_OPEN_REQ
and PP2 is now established

Switching to 3 part conference


by sending keypad '3' API_PP_KEYPAD_REQ
(NoOfDigit=1, Digit="3" (0x33)
External call
PP1 <-> PP2<->PSTN
established

01/20/04 3:00 PM CVM API interface V 0.156 Page 108


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
5.14 conference: (barge in)
The conference (barge in) is initiated automatically when more PP’s (or FpSpkPhone) hooks
off externally.
Up to 4 PP’s can be active in a (barge in) conference at a time.
* In this case the ConEI already ude for the audio call should be used for further communication
(ConnectionEI=SW_EI_TYPE_IN_AUDIO, or SW_EI_TYPE_OUT_AUDIO)
The connection scenario for PP<->PP transfer is basically the same at FP<->PP except that no ConEI i
needed.

CVM Module CVM Module


PP1_MCU PP2_MCU
PP1 PP2

PP2 goes offhook API_PP_SETUP_REQ


(CallClass=EXT)

API_PP_CONNECT_IND
Connection between FP/PP established

Open the audio CVM_PP_AUDIO_OPEN_REQ

Dialing digits API_PP_KEYPAD_REQ


(NoOfDigit, Digit[])

Dialing digits API_PP_KEYPAD_REQ


(NoOfDigit, Digit[]) RF link (FP)

API_PP_SETUP_REQ
PP2 goes offhook
(CallClass=EXT)

API_PP_CONNECT_IND
Connection between FP/PP established

CVM_PP_AUDIO_OPEN_REQ Open the audio

API_PP_SIGNAL_ON_IND API_PP_SIGNAL_ON_IND
(SIGNAL_CONF_ENTER_TONE_ON [0x81]) (SIGNAL_CONF_ENTER_TONE_ON [0x81])

Conference established

01/20/04 3:00 PM CVM API interface V 0.156 Page 109


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
5.15 Example Fp pageall from Fixed Part to Portable Part

CVM Module CVM Module


FP PP PP_MCU

User presses PageAll key

Setup is performed as
multikeypad INT_KEY '*' API_PP_BROADCAST_IND
RingPattern=PageAll (0x06) Indicates incoming call

Generate ringing melody


CVM_PP_AUDIO_START_MELODY_REQ
with local ringer cadence
RF link

API_PP_BROADCAST_IND
RingPattern=PageAll (0x06) Indicates incoming call
Generate ringing melody
CVM_PP_AUDIO_START_MELODY_REQ
with local ringer cadence

API_PP_SETUP_REQ PP answeres (hooks off)


CallClass=ExtCall
API_PP_BROADCAST_IND
RingPattern=PageAll (0x0A) Indicates alerting off

CVM_PP_AUDIO_STOP_MELODY_REQ Stop rpage sound

API_PP_REJECT_IND FP rejects and PP returns to


standby

* If run in None standalone


mode, the FP_MCU desides if
the call should be rejected

01/20/04 3:00 PM CVM API interface V 0.156 Page 110


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
5.16 FP rejected outgoing call: (Portable Part)

External
CVM Module Application
PP Micro
Processor

API_PP_SETUP_REQ PP initiates call (internal or External)


Signal=INT/EXT

API_PP_REJECT_IND
Call is rejected by FP

01/20/04 3:00 PM CVM API interface V 0.156 Page 111


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
5.17 Release from PP: (Portable Part)

External
CVM Module Application
PP Micro
Processor
Handset in conversation

PP releases connection
API_PP_RELEASE_REQ

API_PP_RELEASE_CFM Protocol confirms release

5.18 Release from FP: (Portable Part)

External
CVM Module Application
PP Micro
Processor

API_PP_RELEASE_IND FP releases connection

API_PP_RELEASE_RES PP confirms releases

01/20/04 3:00 PM CVM API interface V 0.156 Page 112


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
5.19 FP Remote Line mode

For applications not using a lineinterface or applications where the lineinterface is handled
and controled in external hardware outside the CVM module, a “Remote Line Mode” has
been implemented.
In this mode the CVM control of the Lineinterface is disabled.
Instead the mails normally handled by the linetask is automatically is send to the FP_MCU
via the API.

The “Remote Line Mode” can be selected in eeprom FpConfig at adr. 0x03F.
Bit0 : Remote line-client, 1=enable, 0=disable
Bit1 : Remote spph-client, 1=enable, 0=disable

Setting bit0 and bit1 enabled the “Remote Line Mode”.

In general when accessing the connections using “Remote Line Mode”, Connection instance
0x00 (SW_EI_TYPE_AUDIO_EXT) is used.

External MCU / Hardware CVM module CVM modules External MCUs

Analog
PP_CVM 1 PP_MCU
Speakerphone

ConEi ≠ 0x00
PP_CVM 2 PP_MCU

FP_MCU API + Audio FP_CVM RF link

PP_CVM 3 PP_MCU

ConEi = 0x00

Analog
PP_CVM 4 PP_MCU
LineInterface

For the CVM base switch to manage the calls correctly, it should still be involved in all calls
on the system.
This means that logically a call from the FP_SpkPhone to the Line will still need to pass
througt the CVM.
Fp_SpkPhone requests setup to the CVM which will then request the Line for a connection.
This way the CVM base switch will be able to keep track of the active connections, manage
callback, callstatus etc... (see msg.seq. examples below.)

01/20/04 3:00 PM CVM API interface V 0.156 Page 113


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
5.20 FP Remote Line mode: Ext outgoing from FP (SpkPhone) to FP (line)
( Setting up an audio call from one PP to the FP )

* ”Remote Line mode” has to be enabled before use

FP_MCU FP_MCU
(SpkPhoneTask) FP_API
(LineTask)

API_FP_SETUP_ADVANCED_REQ
simulate incoming call (ConEI=0x70, API_FP_SETUP_IND
CallClass=Ext, ( ConEI = 0x00, Indicates incoming call
CallerDst = LineA (0xF1) ) CallClass=External )

API_FP_CONNECT_REQ
API_FP_CONNECT_IND ( ConEI = 0x00 )
Indicates indicates that
( ConEI=0x70 )
Line has connected

API_FP_CONNECT_CFM
( ConEI = 0x00) FP MCU should offhook

Open to FpSpkPhone
CVM_FP_AUDIO_OPEN_REQ CVM_FP_AUDIO_OPEN_REQ Open to line

CVM_FP_AUDIO_UNMUTE_REQ CVM_FP_AUDIO_UNMUTE_REQ
RF link

SpkReleases the call API_FP_RELEASE_REQ


API_FP_RELEASE_IND
( ConEI=0x70 )
( ConEI = 0x00 )
release from FpSpkPhone

API_FP_RELEASE_RES
Call is released API_FP_RELEASE_CFM ( ConEI = 0x00 )
( ConEI = 0x70 )

01/20/04 3:00 PM CVM API interface V 0.156 Page 114


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
5.21 FP Remote Line mode: Ext outgoing from PP to FP (line)
( Setting up an audio call from one PP to the FP )

* ”Remote Line mode” has to be enabled before use

PP_MCU FP_MCU
PP_CVM FP_CVM
(LineTask)

outgoing call from PP API_PP_SETUP_REQ API_FP_SETUP_IND


( CallClass=Ext ) ( ConEI = 0x00, Indicates incoming call
CallClass=External )

API_FP_CONNECT_REQ
Indicates indicates that API_PP_CONNECT_IND ( ConEI = 0x00 )
Line has connected

API_FP_CONNECT_CFM
( ConEI = 0x00) FP MCU should offhook

Open to FpSpkPhone
CVM_PP_AUDIO_OPEN_REQ CVM_FP_AUDIO_OPEN_REQ Open to line

CVM_FP_AUDIO_UNMUTE_REQ
CVM_PP_AUDIO_UNMUTE_REQ RF link

SpkReleases the call API_PP_RELEASE_REQ API_FP_RELEASE_IND


( ConEI = 0x00 )
release from FpSpkPhone

API_FP_RELEASE_RES
API_PP_RELEASE_CFM ( ConEI = 0x00 )
Call is released

01/20/04 3:00 PM CVM API interface V 0.156 Page 115


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
5.22 FP Remote Line mode: Ext incoming call from FP (line) to FP (SphPhone)
( Setting up an audio call from FP calling all PP’s)
* ”Remote Line mode” has to be enabled before use

FP_MCU FP_MCU
FP_API (SpkPhoneTask)
(line task)

API_FP_SETUP_ADVANCED_REQ
simulate incoming call (ConEI=0x00, API_FP_SETUP_IND
CallClass=Ext, ( ConEI = 0x60, Indicates incoming call
CallerDst = LineA (0xF1) ) CallClass=External )
CVM_FP_AUDIO_START_MELODY_REQ Generate ringing melody
Indicates indicates that
alerting has started API_FP_ALERT_REQ Indicates to FP that alerting is started
API_FP_CALL_PROC_IND ( ConEI = 0x60 )
( ConEI=0x00 )

simulate ring voltage on API_FP_ALERT_ON_REQ


API_FP_ALERT_ON_IND
( ConEI=0x00 )
( ConEI = 0x60,
Simulated ring on
Signal=External)

CVM_FP_AUDIO_START_MELODY_REQ
Generate ringing melody

RF link PSTN ringvoltage is off


simulate ring voltage off API_FP_ALERT_OFF_REQ
API_FP_ALERT_OFF_IND
( ConEI=0x00 ) Simulated ring off
( ConEI = 0x60 )

CVM_FP_AUDIO_STOP_MELODY_REQ Stop ringing melody

simulate ring voltage on API_FP_ALERT_ON_REQ API_FP_ALERT_ON_IND


( ConEI=0x00 ) (ConEI = 0x60,
Simulated ring on
Signal=External)
API_FP_CONNECT_REQ PP answeres (hooks off)
API_FP_CONNECT_IND ( ConEI = 0x60 )
PP answeres the call ( ConEI=0x00 )
API_FP_ALERT_OFF_IND
( ConEI = 0x60 ) Simulated ring off

CVM_FP_AUDIO_STOP_MELODY_REQ Stop ringing melody


Open audio CVM_FP_AUDIO_OPEN_REQ,
( Mode = ECHO_CANCEL_ON) API_FP_CONNECT_CFM
( ConEI = 0x60 ) Connection is established
Unmute audio Open for audio
CVM_FP_AUDIO_UNMUTE_REQ CVM_FP_AUDIO_OPEN_REQ

01/20/04 3:00 PM CVM API interface V 0.156 Page 116


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
5.23 FP Remote Line mode: Ext incoming call from FP (line) to PP
( Setting up an audio call from FP calling all PP’s)
* ”Remote Line mode” has to be enabled before use

FP_MCU
FP_CVM PP_CVM PP_MCU
(LineTask)

API_FP_SETUP_ADVANCED_REQ
simulate incoming call (ConEI=0x00,
CallClass=Ext, API_PP_SETUP_IND
CallerDst = LineA (0xF1) ) ( CallClass=External ) Indicates incoming call

CVM_PP_AUDIO_START_MELODY_REQ Generate ringing melody


Indicates indicates that
alerting has started API_FP_CALL_PROC_IND API_PP_ALERT_REQ Indicates to FP that alerting is started
( ConEI=0x00 )

simulate ring voltage on API_FP_ALERT_ON_REQ


( ConEI=0x00 ) API_PP_ALERT_ON_IND
( Signal=External) Simulated ring on

CVM_PP_AUDIO_START_MELODY_REQ
Generate ringing melody

RF link PSTN ringvoltage is off


simulate ring voltage off API_FP_ALERT_OFF_REQ
( ConEI=0x00 ) API_PP_ALERT_OFF_IND Simulated ring off

CVM_PP_AUDIO_STOP_MELODY_REQ Stop ringing melody

simulate ring voltage on API_FP_ALERT_ON_REQ


API_PP_ALERT_ON_IND
( ConEI=0x00 )
( Signal=External) Simulated ring on

API_PP_CONNECT_REQ PP answeres (hooks off)


API_FP_CONNECT_IND
PP answeres the call ( ConEI=0x00 )
API_PP_ALERT_OFF_IND Simulated ring off

CVM_PP_AUDIO_STOP_MELODY_REQ Stop ringing melody


Open audio CVM_FP_AUDIO_OPEN_REQ,
( Mode = ECHO_CANCEL_ON)
API_PP_CONNECT_CFM
Connection is established
Unmute audio CVM_FP_AUDIO_UNMUTE_REQ Open for audio
CVM_PP_AUDIO_OPEN_REQ

01/20/04 3:00 PM CVM API interface V 0.156 Page 117


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
5.24 FP Remote Line mode: Int call from PP to FP(SpeakerPhone)
( Setting up an audio call from one PP to the FP speakerphone )
* ”Remote Line mode” has to be enabled before use

FP_MCU
PP_MCU PP_CVM FP_CVM (SpkPhoneTask)

PP1 initiates intercom API_PP_SETUP_REQ


(CallClass=Internal)

Local Conection established API_PP_SETUP_ACK_IND

Generate local dialtone CVM_PP_AUDIO_START_TONE_REQ,


(Dialtone)

User Selects local PpNo ('0') API_PP_KEYPAD_REQ


(NoOfDigit, '0') API_FP_SETUP_IND
( ConEI = 0x00, Indicates incoming call
CallClass=Internal

Generate ringing melody


CVM_FP_AUDIO_START_MELODY_REQ
with local ringer cadence
RF link API_FP_ALERT_REQ
( ConEI = 0x00 )
Other PP is now ringing API_PP_ALERT_IND

API_PP_SIGNAL_ON_IND
FP requests ringback tone (Ringback)

Generate local ringback tone CVM_PP_AUDIO_START_TONE_REQ,


Ringbacktone
API_FP_CONNECT_REQ FP SpkPhone answeres
( ConEI = 0x00 ) (hooks off)
API_PP_CONNECT_IND API_FP_ALERT_OFF_IND
Other PP answeres, connected
( ConEI = 0x00 ) Stop internal ringing
API_PP_SIGNAL_OFF_IND CVM_FP_AUDIO_STOP_MELODY_REQ Stop ringing melody
FP requests to stop ringback tone

Stop local ring back tone API_FP_CONNECT_CFM


CVM_PP_AUDIO_STOP_TONE_REQ Connection is established
( ConEI = 0x00 )

Open audio
CVM_PP_AUDIO_OPEN_REQ CVM_FP_AUDIO_OPEN_REQ Open for audio

01/20/04 3:00 PM CVM API interface V 0.156 Page 118


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
5.25 FP Remote Line mode: Int call from FP (SpkPhone) to selected PP
( Setting up an audio call from the FP speakerphone to one selected PP )
* ”Remote Line mode” has to be enabled before use

FP_MCU
(SpkPhoneTask) PP_CVM PP_CVM PP_MCU

API_FP_SETUP_ADVANCED_REQ
FpSpkPhone initiates
( ConEI = 0x00,
intercom
CallClass=Internal,
CallerDst = OverlapSending (0x00) )

Local Conection established API_FP_SETUP_ACK_IND


( ConEI = 0x00 )

Generate local dialtone CVM_FP_AUDIO_START_TONE_REQ,


(Dialtone)

API_FP_KEYPAD_REQ
User Selects local PpNo ('1')
( ConEI = 0x00,
NoOfDigit, '1') API_PP_SETUP_IND
( CallClass=Internal ) Indicates incoming call

Generate ringing melody


CVM_PP_AUDIO_START_MELODY_REQ
with local ringer cadence
RF link
API_PP_ALERT_REQ
API_FP_ALERT_IND
Other PP is now ringing ( ConEI = 0x00 )

API_FP_SIGNAL_ON_IND
FP requests ringback tone (ConEI = 0x00,
Ringback)

Generate local ringback tone CVM_FP_AUDIO_START_TONE_REQ,


Ringbacktone
API_PP_CONNECT_REQ PP answeres (hooks off)

API_FP_CONNECT_IND
API_PP_ALERT_OFF_IND
Other PP answeres, connected ( ConEI = 0x00 ) Stop internal ringing

API_FP_SIGNAL_OFF_IND CVM_PP_AUDIO_STOP_MELODY_REQ Stop ringing melody


FP requests to stop ringback tone ( ConEI = 0x00 )

API_PP_CONNECT_CFM Connection is established


Stop local ring back tone CVM_FP_AUDIO_STOP_TONE_REQ

CVM_PP_AUDIO_OPEN_REQ Open for audio


Open audio
CVM_FP_AUDIO_OPEN_REQ

01/20/04 3:00 PM CVM API interface V 0.156 Page 119


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
5.26 Successful registration (subscription)
External
CVM Module CVM Module Application
FP PP Micro
Processor

enable registration mode


by key or API call
API_PP_ACCESS_RIGHT_REQ PP requests registration
(SubscriptionNo, AC[4])
RF link PP finds registration enabled PP and
performs registration

API_PP_ACCESS_RIGHT_CFM Registration succeded

5.27 Registration (subscription) fails, retry, successful

External
CVM Module CVM Module Application
FP PP Micro
Processor

enable registration mode


by key or API call API_PP_ACCESS_RIGHT_REQ PP requests registration
(SubscriptionNo, AC[4])

RF link Timeout
PP retries registration without success
Then finally succeded

Timeout

API_PP_ACCESS_RIGHT_CFM Registration succeded

01/20/04 3:00 PM CVM API interface V 0.156 Page 120


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
5.28 Registration (subscription) fails, retry, unsuccessful

External
CVM Module CVM Module Application
FP PP Micro
Processor

API_PP_ACCESS_RIGHT_REQ PP requests registration


enable registration mode (SubscriptionNo, AC[4])
by key or API call

Timeout

RF link Timeout

Timeout

Timeout

Timeout

PP continues until it finds a registration


enabled FP
Timeout

API_PP_ACCESS_RIGHT_REJ If the authentisation fails, Fp is full, ect...


Registration failed

01/20/04 3:00 PM CVM API interface V 0.156 Page 121


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
5.29 Terminate a registration (subscription) locally in Portable Part

External
CVM Module Application
PP Micro
Processor

API_PP_DELETE_SUBS_REQ PP requests deregistration


(FP SubscriptionNo)

API_PP_DELETE_SUBS_CFM
Deregistration successfull

5.30 Terminate a registration (subscription) locally in Fixed Part


External
CVM Module Application
PP Micro
Processor

API_FP_DELETE_SUBS_REQ FP requests deregistration


(FP SubscriptionNo)

API_FP_DELETE_SUBS_CFM
Deregistration successfull

5.31 Terminate a registration (subscription) remotely in FP from PP

External
CVM Module CVM Module Application
FP PP Micro
Processor
Connection
established between
PP and FP

API_PP_REMOTE_
RF link DELETE_SUBS_REQ PP requests deregistration
(PP SubscriptionNo)

API_PP_REMOTE_
DELETE_SUBS_CFM Deregistration successfull

01/20/04 3:00 PM CVM API interface V 0.156 Page 122


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
5.32 Autoregistration (subscription)

The autoregistration is implemented in the FP.


The first 2 min after powerup, the FP will check the cradle for a PP.
If a PP is inserted, the FP will automatically enter registration enabled mode for 45secs.

The PP part should be made in the MMI of the FP_MCU.


If the PP has no valid registration when inserted in the cradle, it should start the registration
automatically.

*The FP autoreg. functionality is selectable i eeprom FpConfig. (default = disabled)

External
CVM Module CVM Module Application
FP PP Micro
Processor

Power on FP

PP is placed in charger PP is placed in charger


(FP registration enable) CVM_BAT_CRADLED_CFM or
Registrationenabled timeout 45sec

CVM_BAT_CRADLE_IND,
AutoRegistrationenabled timeout 2min

API_PP_ACCESS_RIGHT_REQ PP requests registration


RF link (made by MMI in PP_MCU)
(SubscriptionNo, AC[4])

PP finds registration enabled PP and


performs registration

API_PP_ACCESS_RIGHT_CFM Registration succeded

01/20/04 3:00 PM CVM API interface V 0.156 Page 123


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
5.33 Select subscription (success) (Portable Part)

External
CVM Module Application
PP Micro
Processor

API_PP_LOCKED_REQ PP requests to synchronize to a specific


(SubscriptionNo) subscribtion number (FP)

API_PP_LOCKED_IND Confirmation that the PP is now locked


to the requested FP

5.34 Select subscription (fail)(Portable Part)

External
CVM Module Application
PP Micro
Processor

API_PP_LOCK_REQ PP requests to synchronize to a specific


(SubscriptionNo) subscribtion number (FP)

Timeout

API_PP_UNLOCKED_IND Fail, PP could not lock to requested FP

01/20/04 3:00 PM CVM API interface V 0.156 Page 124


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
5.35 Service call (low speed datatransfer with IWU) PP<->FP
* The ConEI assigned/received when making the (service) call should be used in all following communication.
In a service call it will typically be (SW_EI_TYPE_IN_DATA0) for the first service call.
If another PP makes a parallel connection to the FP while the first service connection is running the ConEI of
the second connection will typically be SW_EI_TYPE_IN_DATA1.

If the service call is initiated from the FP_Speakerphone, SW_EI_TYPE_IN_DATA0 should be used for the first
connection. SW_EI_TYPE_IN_DATA1 for the next parallel connection and so on.

Low speed transfer can be done in servicecall/intercom/externalcall.


It is possible to broadcast 52 bytes of iwutdata at a time

CVM Modul CVM Module


FP_MCU PP_MCU
FP PP

API_PP_SETUP_REQ Setup the service call to FP


(CallType=Service)

API_PP_CONNECT_IND
Call established

API_PP_IWU_DATA_REQ Send application specific


Receive application specific API_FP_IWU_DATA_IND (IwuType, Length, Data[]) IWU data to FP
IWU data from PP (ConEI, Length, Data[])

Send application
API_FP_IWU_DATA_REQ
specific IWU data to API_PP_IWU_DATA_IND
(ConEI, Length, Data[]) Receive application
PP (IwuType, Length, Data[])
specific IWU data to FP
RF link

API_FP_IWU_DATA_IND API_PP_IWU_DATA_REQ
(ConEI, Length, Data[]) (IwuType, Length, Data[])

API_FP_IWU_DATA_REQ
(ConEI, Length, Data[]) API_PP_IWU_DATA_IND
(IwuType, Length, Data[])

API_PP_RELEASE_REQ Shut down the connection

API_PP_RELEASE_CFM

01/20/04 3:00 PM CVM API interface V 0.156 Page 125


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
5.36 Unitdata broadcast (broadcast data to all PP without establishing
connection)
*No ConEI in nessecary as no active connection is established and the data is broadcasted to
all PP’s
It is possible to transfer 19 bytes of data in each broadcast.

CVM Modul CVM Module PP_MCU


FP_MCU
FP PP

No connection
established

Userdefined data
broadcasted from FP to API_FP_UNITDATA_REQ
all PP's (Length, Data[]) RF link API_FP_UNITDATA_IND Userdefined data
(Length, Data[]) broadcasted from FP
received

01/20/04 3:00 PM CVM API interface V 0.156 Page 126


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
5.37 High speed data transfer
A high speed data connection is opened and closed like a normal service connection, but
using call class CALLCLASS_EXT_DATA.

To prevent buffer overruns data cannot be sent to CVM before


API_FP_DATA_SEND_READY_IND/API_PP_DATA_SEND_READY_IND has been sent
from CVM indicating that buffer space is available for data. Likewise CVM will not send data
to MCU before receiving API_FP_DATA_RECEIVE_READY_IND/
API_PP_DATA_RECEIVE_READY_IND. For each *_READY_IND one data packet may
be sent.

In order to utilize the bus between CVM and MCU fully, more than one
*_READY_IND/REQ may be sent. E.g. if MCU initially sends 3
API_FP_RECEIVE_READY_REQ and then 1 each time API_FP_DATA_RECEIVE_IND
(data packet) is received, then CVM is allowed to have 3 outstanding data packets all the
time, thus ensuring that the bus can be utilized fully if needed. The maximum number of
*_READY_IND/REQ that may be outstanding at any time is 5.

The reception of a *_READY_IND does not indicate that the peer has received the previously
sent data; only that buffer is available to send more data.

** Currently it is possible to transfer up to 31 bytes of data per message.

MCU_PP CVM_PP API CVM_FP API MCU_FP


A high speed data connection is
API_FP_DATA already established using normal
IND _SEND_READ
_S END_READY_ bConnection Y_IND, service call establishment
API_PP_DATA EI procedure (call class =
IND API_FP_DATA
_S END_READY_ _SEND_READ CALLCLASS_EXT_DATA).
API_PP_DATA bConnection Y_IND,
EI
Both CVM and MCU indicates
that they are ready to receive
API_PP_DATA data. Both can handle 2 packets
_RECEIVE_RE
ADY_IND ADY_IND,
_RECEIVE_RE
API_PP_DA API_FP_DATA EI
TA_SEND_RE bConnection
Q, wLength, ADY_IND,
bData[] _RECEIVE_RE
PP MCU sends 2 chunks of data, API_PP_DA API_FP_DATA EI
TA_SEND_RE bConnection
because it has received 2 Q, wLength,
bData[]
SEND_READY_IND
IND
_S END_READY_
API_PP_DATA API_FP_DATA
_RECEIVE_IND
RF link bConnection ,
CVM indicates it is ready to receive EI, wLength,
API_PP_DATA bData[]
more data which cause MCU to send _SEND_REQ, wL
ength, API_FP_DATA
more data. bData[] _RECEIVE_IND
bConnection ,
EI, wLength,
bData[] FP MCU receives 2 data
packets, and after some
processing time indicates it is
ready to receive more data.
PP MCU is not allowed to send more
data because FP CVM has no free
buffer to receive it in
EADY_IND,
A_RECEIVE_R
API_FP_DAT
bConnectionEI
IND
_S END_READY_
API_PP_DATA API_FP_DAT
A_R
bConnectionEI, ECEIVE_IND,
Now PP MCU is allowed to send again wLength, bData
[]

_SEND_REQ,
API_FP_DATA ata[]
, wLength, bD
bConnectionEI
API_FP_DATA FP MCU sends data to PP MCU
, wLength, _SEND_READ
_RECEIVE_IND Y_IND,
API_PP_DATA bData[] bConnection
EI
PP MCU receives data
API_PP_DATA
_RECEIVE_RE
ADY_IND

01/20/04 3:00 PM CVM API interface V 0.156 Page 127


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
5.38 Remote Eeprom Read/Write (PP to FP)

External
CVM Module CVM Module Application
FP PP Micro
Processor

CVM_PP_SETUP_REQ Setup service connection


(CallType=ServiceCall)

CVM_PP_CONNECT_IND
Connection is established
RF link

Write CVM_REMOTE_EEP_WRITE_REQ Request eeprom write to FP


Eeprom data (Address, Length, Data)

Read CVM_REMOTE_EEP_READ_REQ Request eeprom read from FP


Eeprom data (Address, Length)

CVM_REMOTE_EEP_READ_CFM
(Length, Data) Data received from FP eeprom read

5.39 Invoke subscription (accessrights) in FP

External
Application CVM Module
Micro FP
Processor

Invoke subscription
from FP_MCU CVM_FP_INVOKE_ACCESS_RIGHTS

01/20/04 3:00 PM CVM API interface V 0.156 Page 128


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
5.40 Get time
External
CVM Module Application
PP Micro
Processor

CVM_GET_TIME_REQ

CVM_GET_TIME_CFM
(bYear, bMonth, bDay, bHours, bMinutes)

5.41 Set time locally (both Pp and Fp)


External
Application
CVM Module
Micro
Processor

CVM_SET_TIME_REQ
(bYear, bMonth, bDay, bHours, bMinutes)

CVM_SET_TIME_CFM
(bStatus)

5.42 Set time remotely (from Pp)


External External
Application CVM Module CVM Module Application
Micro FP PP Micro
Processor Processor
Connection Connection
established between established between
PP and FP PP and FP

CVM_SET_TIME_REMOTE_REQ
RF link (bYear, bMonth, bDay, bHours, bMinutes)

CVM_SET_TIME_REMOTE_CFM CVM_SET_TIME_REMOTE_CFM
(bStatus) (bStatus)

01/20/04 3:00 PM CVM API interface V 0.156 Page 129


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
5.43 Activate Walkie Talkie mode

External
CVM Module Application
PP Micro
Processor

API_WT_ENTER_REQ
(WGroupId, bHandsetNo)

API_WT_ENTER_CFM

5.44 Deactivate Walkie Talkie mode

External
CVM Module Application
PP Micro
Processor

API_WT_EXIT_REQ

API_WT_EXIT_CFM

5.45 Outgoing Walkie Talkie call

External
CVM Module Application
PP Micro
Processor

Goto FP mode to be
API_WT_ENTER_FP_MODE_REQ able to establish call.

API_WT_ENTER_FP_MODE_CFM

API_WT_SETUP_REQ bHandsetNo is the number


(bHandsetNo) of the receiving handset.

Receiving handset
accepts the call. API_WT_CONNECT_IND

CVM_PP_AUDIO_OPEN_REQ

01/20/04 3:00 PM CVM API interface V 0.156 Page 130


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
5.46 Incoming Walkie Talkie call

External
CVM Module Application
PP Micro
Processor

API_WT_SETUP_IND
(bCallerId)

User accepts the


API_WT_CONNECT_REQ incoming call.

API_WT_CONNECT_CFM

CVM_PP_AUDIO_OPEN_REQ

5.47 Release Walkie Talkie call (release initiated by own handset)

External
CVM Module Application
PP Micro
Processor

CVM_PP_AUDIO_CLOSE_REQ

API_WT_RELEASE_REQ

API_WT_RELEASE_CFM

5.48 Release Walkie Talkie call (release initiated by other handset)

External
CVM Module Application
PP Micro
Processor

API_WT_RELEASE_IND

CVM_PP_AUDIO_CLOSE_REQ

01/20/04 3:00 PM CVM API interface V 0.156 Page 131


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
6 Busmail Serial Interface

6.1 Introduction
The purpose of BUSMAIL is to provide an interface for exchanging data over the serial port
(Standard UART) or any other physical link. BUSMAIL is a simple protocol providing a
frame format for exchange of acknowledged data packets. BUSMAIL provides a simple
implementation of the lower layers in the OSI 7-layer model. See Figure 1below.

MCU CVM

Application Mails CVM Task

BUSMAIL Protocol BUSMAIL

SPI / UART connection

Figure 1 Logical layers

BUSMAIL uses an HDLC look a like scheme. This way it makes up a safe carrier of mails
between the Application and the CVM tasks. BUSMAIL will filter out frames having a bad
checksum. BUSMAIL will ensure that lost frames, e.g. due to checksum errors, will be
retransmitted and ensure all frames are delivered to the receiver in the order they were sent.

Logically the MCU Application and the CVM Task exchange mails which can not be lost.
The two Busmail blocks exchange protocol frames, either information frames or control
frames.

In practice a mail from e.g. the MCU application is handed over to the MCU busmail. This
block will encapsulate it into an information frame and transmit it on the SPI/UART. When
received by CVM Busmail, it is verified with respect to checksum and to sequence number
and if accepted, the mail is unpacked and given to the CVM task. If the verification fails the
two BUSMAIL blocks have a mechanism to ensure it is retransmitted until it doesn’t fail the
verification anymore. This way from the Application/CVM tasks point of view it is a secure
transmission.

01/20/04 3:00 PM CVM API interface V 0.156 Page 132


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
6.2 Framing
Figure 2 shows the general BUSMAIL frame format. The frame is transmitted from left to
right character by character. The Mail format can be 0 or more characters dependant on the
header. See section 6.2.3
Frame Char (MS byte) Length (LS byte) Header Mail Checksum

1 byte 2 bytes 1 byte Max packet size bytes 1 byte

Figure 2. BUSMAIL frame format.


In the following sections the different frame elements are described in details.

6.2.1 Framing character


BUSMAIL uses the DLE character (0x10) to mark the start of frame. The DLE character is
not escaped with byte stuffing in the remaining frame elements. It might cause
synchronization problems if either MCU or CVM regards such a DLE characters in the
middle of a frame as the start of frame character. In order to avoid this in the CVM module a
receive-buffer-flush-timer is implemented. This timer is restarted when a character is
received. Upon expiry of this timer the receive buffer is flushed. In CVM this timer has a
duration on 100ms. It is important that the retransmit timer (see section 6.3) in MCU is longer
than 100ms

6.2.2 Length
The length is a 16-bit number transmitted most significant byte first. The length is equal to the
number of bytes in the mail + 1 (the header) byte.

01/20/04 3:00 PM CVM API interface V 0.156 Page 133


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
6.2.3 Header
Figure 3 shows the format of the BUSMAIL header byte, which is the foundation for the
synchronization of the BUSMAIL frames. The nature of the protocol is described in detail in
the section “Synchronization Protocol”.

(a) Header format

I/C PF

Bit: 7 6 5 4 3 2 1 0

Information/Control Frame

(b) Information Frame (c) Control frames

0 TxSeq PF RxSeq 1 S/U PF

Bit: 7 6 5 4 3 2 1 0 Bit: 7 6 5 4 3 2 1 0

Supervisory/Unnumbered Control Frame

(e) Unnumbered control


(d) Supervisory control frame
frame

1 0 SuId PF RxSeq 1 1 UnId PF reserved

Bit: 7 6 5 4 3 2 1 0 Bit: 7 6 5 4 3 2 1 0

Figure 3 BUSMAIL header byte

01/20/04 3:00 PM CVM API interface V 0.156 Page 134


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Bit 7: I/C (Information/Control frame)

Indicates whether the packet is supposed to be interpreted as an information frame or a


control frame.
• If bit 7 is ’0’ it is an information frame and the rest of the byte is interpreted as
shown in Figure 3 (b).

• If Bit 7 is ’1’ the frame is a control frame. Interpretation of the other bits
depends on bit 6. (S/U).

• If Bit 6 is ’0’ it is a Supervisory control frame as shown in Figure 3 (d).


• If Bit 6 is ’1’ it is an Unnumbered control frame as shown in Figure 3 (e).

Bit 6..4: TxSeq


Sequence number of information frame being transmitted. It is incremented each time
a new frame is sent.
The sequence numbers are used to keep track on which packages are send and
received. If a package has to be retransmitted, its the sequence number that tells the
other party which package is missing.

Bit 2..0: RxSeq


Expected Sequence number of next information frame to receive.

Bit 3: PF
PollFinal, when set to ‘1’, it signals to the other party that a status is expected.

Bit 5..4: SuId


Supervisory Identifier. Following ID’s are valid
‘00‘(RR): Receive Ready
‘01’ (REJ): Reject
‘10’ (RNR): Receive Not Ready

Bit 4..5: UnId


Unnumbered frame. Following ID’s are valid
‘00’ (SABM): Set Asynchronous Balanced Mode

01/20/04 3:00 PM CVM API interface V 0.156 Page 135


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
To summarize: This means that in general there are 3 valid header frame types to use:

e) Unnumbered control frame

The unnumbered control frame is used to initialize and reset the transmission between the two units. This
is the frame type that is used to send the SABM. After a SABM both Rx, Tx packet counters are set to 0.

d) Supervisory control frame

The Supervisory control frame is used to acknowledge a received packagde from the other
part.
Each information frame package holds the Rx frame seq number. This is to indicate to the
sender which package it expects next.
If the Rx seq numbers does not match the expected counts on the sending side, a
retransmission should be started.

b) Information frame
The information frame is used to send data package (API commands, primitives with
parameters) between the two parties.
If the receiver of a data package wants to send data back to the other, party right away,
it doesent need to acknowledge the received data by the supervisory control frame.
In stead it can send its data in the Information frame and it will then also acknowledge the
received packagde.
Each informaqtion frame package holds the Rx/Tx frame seq numbers indication which
package has been send and which package the sender expects to receive next.
If the Rx/Tx seq numbers does not match the expected counts on the receiving side, a
retransmission will be requested.

01/20/04 3:00 PM CVM API interface V 0.156 Page 136


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
6.2.4 Mail
Figure 4 describes how the BUSMAIL Mail element is constructed.

Program Id Task Id. (LS Byte) Primitive (MS Byte) Mail parametres

1 byte 1 byte >= 2 bytes

Figure 4. Mail element.

6.2.4.1 Program Id
The programID is an identifier used for debugging under development of the CVM itself.
For MCU developers communicating with the CVM on the API interface, the ProgramID
should always be set to 0x00.
See section 1.7 for more details.

6.2.4.2 Task Id
The TaskID specifies which software task inside the CVM module should receive the API
mail.

For MCU developers communicating with the CVM, the TaskID should be set to:
- TaskID= 0x0F (USERTASK): Normal MCU<->CVM API command interface
- TaskID= 0x00 (TBHANDLE): Production interface command interface

! other values of the TaskID should not be used as they could send mails to undesired tasks of
the CVM not designed for direct API communication.
See section 1.7 for more details.

6.2.4.3 Primitve
The primitive is the actual API command to send/receive commands to/from the CVM.

example: keypad command to send a key to the pstn line


primitive = API_PP_KEYPAD_REQ (0x858A)
See section 3 for valid primitives.

6.2.4.4 Mail parameters


To the primitive it can be attached an array of extra parameters.

example: if sending the primitive API_PP_KEYPAD_REQ, the mail parameters to follow


would be the number of digits to send and the actual digits
parameters = bNumOfDigits, bDigits[]
See section 4 for valid primitives.

6.2.5 Checksum
The checksum in the BUSMAIL frames is a simple 8-bit addition of the header field and the
mail field bytes.
01/20/04 3:00 PM CVM API interface V 0.156 Page 137
Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
6.3 Synchronization Protocol
The BUSMAIL protocol makes use of a retransmission protocol similar to HDLC to ensure
safe data transmission. This incorporates acknowledge of sent packages and retransmission in
the event of errors. The protocol can have a maximum of 7 outstanding packages, but it is free
to use less outstanding frames.

When a frame is sent the protocol gives it a consecutive Tx-sequence number in its header i.e.
0,1,2,3,4…wrapping to zero after 7. Each frame is stored locally by the sender, until a frame
received indicates (by the RxSeq field) that peer has received the frame properly.
An acknowledge-frame can be either an information frame or a supervisory frame.
It is the responsibility of a sender of packages to ensure the other party is returning
acknowledges. This is done by means of the PollFinal bit. If this bit is set the receiver must
always return something. In order to ‘catch’ loss of packages having PollFinal set, the sender
must start a Poll-timer each time a frame with PollFinal set is sent. If the timer expires all
unacknowledged packages must be retransmitted.

In general the following rules can be set up:


1. Mails are sent via Info frames.
2. Each party must increment the TxSequence number for each new info frame sent. When
number 7 is sent it must restart from zero.
3. Each party can have a maximum of 7 un-acknowledged info frames but is free to operate
with a lower maximum.
4. Each party must be prepared to retransmit an info frame when it is not acknowledged.
5. Each party is free to set the PollFinal bit whenever it wants to
6. Each party is supposed to start a timer when sending a frame with PollFinal set.1
7. Each party must start to retransmit unacknowledged frames if the timer expires. Info
frames must keep their original TxSequence number when retransmitted.
8. When an info frame or a supervisory control frame is sent or resent, RxSeq must always
be set to the expected next TxSeq to receive from peer.
9. Each party is free to send a Supervisory ”Receive Ready” whenever it wants to.
10. Each party may send a Supervisory ”Reject” if it realizes that a wrong infoframe Tx-
sequence is received – but it doesn’t have to. 2
11. Each party may send a supervisory ”Receiver Not Ready” if an internal congestion
prevents it from receiving more info frames at the moment. Be aware that this might
cause congestions at the party not being allowed to transmit. 3
12. When an info frame or a supervisory control frame with PollFinal set is received, the
receiver must respond with either an info frame (in case there are data to transmit) or a
supervisory control frame

1
In current implementation the duration of the retransmit timer is 1 second
2
In current implementation CVM will never send a Supervisory Reject.
3
In current implementation CVM doesn’t react upon this frame.
01/20/04 3:00 PM CVM API interface V 0.156 Page 138
Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
13. The mail part of received info frames with TxSeq not as expected must be discarded.
14. In order to synchronize sequence expectations it is possible at any time to send an
unnumbered control frame ”SABM” with PollFinal set. A party receiving such frame
must immediately reset both TxSeq and RxSeq to zero and respond with a SABM frame,
with PollFinal cleared. 4

In Figure 5 different scenario examples are shown.

LinkLayer info frames are:


I (<TxSeq>, <RxSeq>, [PF|no PF]), <payload>

Supervisory frames are shown as


RR(<RxSeq>,[ PF|no PF])
REJ(<RxSeq>,[ PF|no PF])
RNR(<RxSeq>,[ PF|no PF])

Unnumbered frames are shown as


SABM([PF|no PF])

<TxSeq> and <RxSeq> are the sequence numbers


[PF|no PF] are either PollFinal bit set to ‘1’ or PollFinal bit not set.

A dashed line not reaching the target denotes a lost frame.

A dashed triangle denotes a started timer with a duration symbolized with the hight of the
triangle
A solid filled triangle denotes the time a timer actually runs. If the dashed triangle is entirely
covered the timer has expired.

4
CVM will issue this frame once up on reset in order to be synchronized. It will not send other packets nor will
it accept any other packets until it has received a SABM from MCU
01/20/04 3:00 PM CVM API interface V 0.156 Page 139
Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
UART/SPI
interface

Application MCU BUSMAIL BUSMAIL CVM CVM task

SABM( PF)
Mail App0 I (4,0,PF), Mail App0 Mail CVM0 Timer

SABM (noPF) Both are Ignored

Mail App1 I (0,0,PF) Mail App1


Mail App1
Acknowledge via
RR (1,noPF)
control frame

Mail CVM1 I (0,1,noPF), Mail CVM1 Mail CVM1


Mail CVM2 I (1,1,noPF), Mail CVM2 Mail CVM2
Mail CVM3 I (2,1,PF), Mail CVM3 Mail CVM3
Mail App2 I (1,3,noPF), Mail App2 Mail App2 Timer
Mail App3 I (2,3,PF),Mail App3 Mail App3
Timer RR (3,noPF) Acknowledge via
info frame
Acknowledge via
control frame I (3,3,noPF), Mail CVM4 Mail CVM4
I (4,3,PF), Mail CVM5 Mail CVM5
REJ (3,noPF) Timer
Mail CVM4 I (3,3,noPF), Mail CVM4
Mail CVM5 I (4,3,PF), Mail CVM5 Retransmission
RR (5,noPF) due to REJ Timer

Mail CVM6 I (5,3,noPF), Mail CVM6 Mail CVM6


I (6,3,PF), Mail CVM7 Mail CVM7
Timer

Retransmission
due to timeout
I (5,3,noPF), Mail CVM6
Mail CVM7 I (6,3,PF), Mail CVM7
RR (7,noPF) Timer

Mail CVM8 I (7,3,noPF), Mail CVM8 Mail CVM8


Mail CVM9 I (0,3,PF), Mail CVM9 Mail CVM9
RR (1,noPF) Timer

Retransmission
due to timeout
I (7,3,noPF), Mail CVM8
I (0,3,PF), Mail CVM9
RR (1,noPF) Timer

Low level KeepAlive


(not required but
RR (1,PF) allowed)

Timer RR (3,noPF)

Figure 5 BUSMAIL scenarios


*Each infoframe holds the Rx and Tx frame counter to keep track on received and send packages.
I(Rx, Tx, FP)
The Control fram only holds the Rx frame counter C(Rx, PF)
When receiving a frame with the pollfinal flag set, the received frame counters are checked and
compared with the expected counts. If they are not as expected, retransmission should be initiated.

01/20/04 3:00 PM CVM API interface V 0.156 Page 140


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Initialization with SABM on UART: Example

Below an example of the actual data transmitted and received from by PP during startup.

(MCU should just ignore and Startup check for


CVM->: 5A 5A 5A single/two wire bus
wait for Fam eChar 0x10)

SABM (PF)
SABM (no PF)

CVM->: 10 00 01 C8 C8 (unnumbered controlfram e) Initialize transmission bus with


CVM<-: 10 00 01 C0 C0 SABM controlframe
FrameChar

Header

Checksum
Length

CVM_BAT_CRADLE_IND (0x2F26)
CVM_BAT_CAPACITY_IND (0x2F3C)
Param eter

CVM->: 10 00 06 08 FC 00 3C 2F 18 87 Example: Battery capacity


(inform ation fram e) status mails send from CVM to
CVM->: 10 00 06 18 FC 00 26 2F 00 69 M CU
FrameChar

Header

Mail Primitive

Checksum
Length

Mail ProgramID

Mail TaskID

CVM<-: 10 00 01 81 81 (supervisory controlframe)


CVM<-: 10 00 01 82 82 Ack's on the mail above
FrameChar

Header

Checksum
Length

CVM_PP_AUDIO_START_TONE_REQ (0x2F20)

Param eter Param eter


(tone index) (volum e)

Example: Start tone


CVM<-: 10 00 07 18 00 0F 20 2F 13 07 90 (inform ation fram e) from MCU to CVM
Mail ProgramID

Mail TaskID
FrameChar

Header

Mail Primitive

Checksum
Length

(supervisory controlframe) Ack's on the mail above


CVM->: 10 00 01 82 82 Ack's on the mail above
FrameChar

Header

Checksum
Length

01/20/04 3:00 PM CVM API interface V 0.156 Page 141


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Initialization with SABM on SPI: Example

Below an example of the actual data transmitted and received from by PP during startup.

(MCU should just ignore and Startup check for


CVM->: 5A 5A 5A single/two wire bus
wait for Fam eChar 0x10)

SABM (PF)
SABM (no PF)

CVM->: 10 00 01 C8 C8 (unnumbered controlfram e) Initialize transmission bus with


CVM<-: 10 00 01 C0 C0 SABM controlframe
FrameChar

Header

Checksum
Length

CVM_BUS_SELECT_REQ (0x2F2E)

Param eter

CVM<-: 10 00 06 18 00 0F 2E 2F 01 85 (inform ation fram e) Example: M CU selects SPI bus


Mail ProgramID

Mail TaskID
FrameChar

Header

Mail Primitive

Checksum
Length

(supervisory controlframe) Ack's on the mail above


CVM->: 10 00 01 82 82 Ack's on the mail above
FrameChar

Header

Checksum
Length

01/20/04 3:00 PM CVM API interface V 0.156 Page 142


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
7 Production test bus interface

The production test bus interface is implemented in the CVM module to give access to read,
write and access different testmodes under production and test.

The commands are send on the same serial bus as the API commands, but in a slightly
different format and to another receivertask (0x02 EEPROMTASK).

To send in production test mails the delivery includes an executable pc file (sendmail.exe) and
some batchfiles calling sendmail with the right parameters.
Sendmail is also available in sourcecode for porting to different systems.

7.1 Sending production test commands using the API test protocol:
If not using the sendmail protocol to send production test commands to the CVM module, it is
also possible to use the API protocol to do so.
It is done by sending the test command to the CVM in the same way as a normal API
command, except that the receiver task should be the TB_HANDLE_TASK (0x00) in stead of
the USERTASK (0x0F)

Example: tonetest.bat

Bytes to send to CVM:


bRecvTask = TB_HANDLE_TASK (0x00)
wPrimitiv = TEST_CMD_req (0x005d)
bData[0] = TEST_TONE (0x95)
bData[1] = ON (0x01) / OFF (0x00)

*to see the individual command bytes to send, please see below or in the header of the
individual production test batch file.

01/20/04 3:00 PM CVM API interface V 0.156 Page 143


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
7.2 Production Test Commands: (all available as batch files)

Primitive: Bandgap.bat
Description: Controls the bandgap register. If a parameter is given it is
written to the register and to the eeprom and the register contents is
output to the screen. In case no parameter is given
the value of the register is output to the screen.
Command line: Bandgap.bat <value>
Parameter values: Value : Bit 0..3 value of BANDGAP_REG
Return format: Value
Mail to target Task: 0x02 : EEPROMTASK
Primitive: 0x5D : TEST_CMD_req
Function: 0x3F : TC_SET_BATTERY_BANDGAP
Parm[0]: 0x00/0x01 : Read/Write
Parm[1]: xx : Bytes returnes/Value

Primitive: Default.bat
Description: (soft) default activates programming of default values into EEPROM except adjustment
values
Command line: default.bat
Parameter values: none
Return format: none
Mail to target Task: 0x02 : EEPROMTASK
Primitive: 0x3A : EE_WRITE_DEFAULT_req
Parm[0]: 0x00 : Keep adjustment parameters

01/20/04 3:00 PM CVM API interface V 0.156 Page 144


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Primitive: Linkdate.bat
Description: Reads and displays the link date of the software.
Command line: linkdate.bat
Parameter values: none
Return format: Link date: (5 bytes separated by spaces, YY MM DD hh mm)
Mail to target Task: 0x02: EEPROMTASK
Primitive: 0x5D: TEST_CMD_req
Parm[0]: 0x29: TC_SOFTWARE_LINK_DATE
Parm[1]: 0x01: Dummy
Parm[2]: 0x05: Number of bytes returned

Primitive: Lockstat.bat
Description: Reads if the pp is in service on the fp
Command line: lockstat.bat
Parameter values: none
Return format: 1 byte : 0=unlocked, 1=locked
Mail to target Task: 0x02: EEPROMTASK
Primitive: 0x5D: TEST_CMD_req
Parm[0]: 0x94: TC_LOCKED_STATE
Parm[1]: 0x01: Dummy
Parm[2]: 0x02: Number of bytes returned

01/20/04 3:00 PM CVM API interface V 0.156 Page 145


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Primitive: Readfreq.bat
Description: Read current frequency
Command line: readfreq.bat
Parameter values: None
Return format: Frequency
Mail to target Task: 0x02: EEPROMTASK
Primitive: 0x5D: TEST_CMD_req
Function: 0x24: LOCK_STATUS
Parm[0]: 0x01: Dummy
Parm[1]: 0x01: Number of bytes returned

Primitive: Setfreq.bat
Description: Adjusts the frequency. Updates both RAM and EEPROM. If no
parameter is specified, the EEPROM frequency value is read

Usage :
Set freq. to min. and max. (SETFREQ 00 and SETFREQ FE)
Then use SETFREQ.BAT for tuning of nominal frequency

Note:
Argument value FF is NOT allowed
Command line: Setfreq.bat <Frequency>
Parameter values: Frequency (range 0x00-0xFE)
Return format: Frequency
Mail to target if called with parameters:
Task: 0x02 : EEPROMTASK
Primitive: 0x5d : TEST_CMD_req
Parm[0] : 0x3A : TC_SET_CLOCK_FREQUENCY
Parm[1] : Value.

if called without parameters:


Task: 0x02: EEPROMTASK
Primitive: 0x5D: TEST_CMD_req
Parm[0]: 0x3B: TC_GET_EE_CLOCK_FREQUENCY
Parm[1]: 0x01: Dummy
Parm[2]: 0x01: Number of bytes returned

Primitive: Testmode.bat
Description: Puts the handset into internal test mode.
Command line: testModebat <Function>
Parameter values: Function:
0 = leave test mode
1 = enter test mode, lock to RFPI=00 00 00 00 10
2 = enter test mode, lock to RFPI=00 00 00 00 20
..
9 = enter test mode, lock to RFPI=00 00 00 00 90
Return format: none
Mail to target Task: 0x00 : HSCSFTASK
Primitive: 0x5d : TEST_CMD_req
Parm[0] : 0x01 : TESTCMD_ENTER_TESTMODE
Parm[1] : Function

01/20/04 3:00 PM CVM API interface V 0.156 Page 146


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Primitive: Writeid.bat
Description: Programmes the RFPI/IPEI of the FP/PP into EE-Prom.
The CVM automatically differs between FP/PP mode by looking at the Eeprom parameter
Startup_mode (and 0x0F3).
Command line: Writeid.bat <RFPI or IPEI>
Parameter values: RFPI: (5 bytes separated by spaces) (FP)
IPEI: (5 bytes separated by spaces) (PP)
*depending on Startupmode (FP or PP)
Return format: none
Mail to target Task: 0x02 : EEPROMTASK
Primitive: 0x5d : TEST_CMD_req
Parm[0] : 0x1B : TC_WRITE_ID
Parm[1] : RFPI byte 1 (MSB)
Parm[2] : RFPI byte 2
Parm[3] : RFPI byte 3
Parm[4] : RFPI byte 4
Parm[5] : RFPI byte 5 (LSB)

Primitive: Readid.bat
Description: Reads the RFPI/IPEI of the FP/PP from EE-Prom.
The CVM automatically differs between FP/PP mode by looking at the Eeprom parameter
Startup_mode (and 0x0F3).
Command line: readid.bat
Parameter values: none
Return format: RFPI: (5 bytes separated by spaces)
IPEI: (5 bytes separated by spaces)
*depending on Startupmode (FP or PP)
Mail to target Task: 0x02: EEPROMTASK
Primitive: 0x5D: TEST_CMD_req
Parm[0]: 0x1C: TC_READ_ID
Parm[1]: 0x01: Dummy
Parm[2]: 0x05: Number of bytes returned

01/20/04 3:00 PM CVM API interface V 0.156 Page 147


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Primitive: Es5.bat
Description: Loads the CVM with RF patch for RF Version 5
Command line: Es5.bat
Parameter values: none
Return format: none
Mail to target // rf patch parameters//

Primitive: Wree.bat
Description: Reads/writes a single byte in the eeprom
Command line: Wree.bat 01 23 (reads eeprom adr 123(hex)
wree.bat 01 23 45 (writes 45(hex) to eeprom adr 123(hex)
Parameter values: Read: address
Write: address, value
Return format: Displays eeprom page on display
Mail to target //

Primitive: read.bat
Description: Reads and displays one page of the eeprom
*read.bat uses the sub-batchfile readpage.bat
Command line: Read.bat <page>
Parameter values: Page in eeprom to read
(0 = read adr 0x000 to 0x0ff)
(1 = read adr 0x100 to 0x1ff)

Return format: Read: eeprom value
Write: none
Mail to target //

Primitive: readpage.bat
Description: *subbatchfile for read.bat

01/20/04 3:00 PM CVM API interface V 0.156 Page 148


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
8 Appendix

8.1 Tone/frequency tables

8.1.1 - 12 Tone scale


Tone Index (Dec.Value Index (Hex Value Frequency
silent, 0 00 0
c4_Tone, 1 01 262
c4u_Tone, 2 02 277
d4_Tone, 3 03 294
d4u_Tone, 4 04 311
e4_Tone, 5 05 330
f4_Tone, 6 06 349
f4u_Tone, 7 07 370
g4_Tone, 8 08 392
g4u_Tone, 9 09 415
a4_Tone, 10 0A 440
a4u_Tone, 11 0B 466
b4_Tone, 12 0C 494
c5_Tone, 13 0D 523
c5u_Tone, 14 0E 554
d5_Tone, 15 0F 587
d5u_Tone, 16 10 622
e5_Tone, 17 11 659
f5_Tone, 18 12 698
f5u_Tone, 19 13 740
g5_Tone, 20 14 784
g5u_Tone, 21 15 831
a5_Tone, 22 16 880
a5u_Tone, 23 17 932
b5_Tone, 24 18 988
c6_Tone, 25 19 1046
c6u_Tone, 26 1A 1109
d6_Tone, 27 1B 1175
d6u_Tone, 28 1C 1245
e6_Tone, 29 1D 1319
f6_Tone, 30 1E 1397
f6u_Tone, 31 1F 1480
g6_Tone, 32 20 1568
g6u_Tone, 33 21 1661
a6_Tone, 34 22 1760
a6u_Tone, 35 23 1857
b6_Tone, 36 24 1976
c7_Tone, 37 25 2093
c7u_Tone, 38 26 2217
d7_Tone, 39 27 2349
d7u_Tone, 40 28 2489
e7_Tone, 41 29 2637
f7_Tone, 42 2A 2794
f7u_Tone, 43 2B 2960
g7_Tone, 44 2C 3136
g7u_Tone, 45 2D 3322

01/20/04 3:00 PM CVM API interface V 0.156 Page 149


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
8.1.2 Standard frequencies

Besides the 12-tone scale listed above, a number of standard frequencies are available in the
CVM. Frequencies in the range 200 Hz to 3400 Hz can be selected with 100 Hz intervals.

The index numbers of the standard frequencies starts from 46 (200 Hz) and ends with 78
(3400 Hz).

01/20/04 3:00 PM CVM API interface V 0.156 Page 150


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
Product Status Definitions

Datasheet Status Product Status Definition


Advance Information Formative or in Design This data sheet contains the design specifications for
product development. Specifications may change in any
manner without notice.
Preliminary First Production This data sheet contains preliminary data. Supplementary
data will be published at a later date. National Semi-
conductor Corporation reserves the right to make changes at
any time without notice in order to improve design and
supply the best possible product.
No Identification Noted Full production This data sheet contains final specifications. National
Semiconductor Corporation reserves the right to make
changes at any time without notice in order to improve
design and supply the best possible product..
Obsolete Not in Production This data sheet contains specifications on a product that has
been discontinued by National Semiconductor Corporation.
The datasheet is printed for reference information only.

National Semiconductor B.V reserves the right to make changes without notice to any products herein to improve
reliability, function or design. National does not assume any liability arising out of the application or use of any
product or circuit described herein; neither does it convey any license under its patent rights, nor the right of
others.

Life Support Policy

NATIONAL’S PRODUCTS ARE NOT AUTHORIZED FOR USE AS CIRTICAL COMPONENTS IN LIFE
SUPPORT DEVICES OR SYSTEMS WITHOUT THE EXPRESS WRITTEN APPROVAL OF THE PRESIDENT
AND GENERAL COUNSIL OF NATIONAL SEMICONDUCTOR CORPORATION. As used herein:

1. Life support devices or systems are 2. A critical component is any component of a


devices or systems which, (a) are in for life support system whose failure to
surgical implant into the body, or (b) perform can be reasonably expected to
support or sustain life, and whose failure to cause the failure of the life support device
perform, when properly used in accordance or system, or to affect it safety or
with instructions for use provided in the effectiveness.
labelling, can be reasonably expected to
result in a significant injury to the user.

National does not assume any responsibility for use of any circuit described, no circuit patent licenses are implied,
and National reserves the right, at any time without notice, to change said circuitry or specifications.

Contacting National Semiconductor


National Semiconductor National Semiconductor National Semiconductor National Semiconductor
Corporation Europe Asia Pacific Japan Ltd.
Tel: 1-800-272-9959 Fax: 1-800-737-7018 Customer Response Group Tel: 81-3-5620-6175
Fax: 1-800-737-7018 Email: support@nsc.com Tel: 65-254-4466 Fax: 81-3-5620-6179
Email: support@nsc.com Deutsch Tel: (+49) 0-180-5308585 Fax: 65-250-4466
English Tel: (+49) 0-180-5327832 Email: sea.support@nsc.com

01/20/04 3:00 PM CVM API interface V 0.156 Page 151


Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands
01/20/04 3:00 PM CVM API interface V 0.156 Page 152
Copyright  2003 National Semiconductor BV Company Confidential
Het Zuiderkruis 53
5215 MV ’s-Hertogenbosch PRELIMINARY
The Netherlands

You might also like