("Task 1") [16] . Un esquema de la relaci ón entre
estas tareas se muestra en la Fig. 14.
Refiérase a la Fig. 14. Los mensajes de soli citud
se generan desde la aplicación (Task
1)
para ini–
cializar al CM y enviar las solicitudes al BlueStack
para intentar pasar a uno u otro estado del proceso
de conexión . Si ha sido posible pasar a otro esta–
do, habiendo hecho la solicitud, el CM enviará un
mensaje de confirmación correspondiente. Este in–
tercambio de información es un protocolo fl exible
pues el usuari o lo puede definir de acuerdo a las
especificaciones de su aplicación (perfil de puerto
serie, perfil de telefonía, etc.) en la programación
del BlueCore. En condiciones normales, y después
de que el CM ha confirmado todas las solicitudes
hechas por la aplicación, el dispositi vo Bluetooth
ha de pemlanecer conectado y listo para enviar in–
formación en cualquier momento.
En [16] se hace una muy buena presentación de
los mensajes intercambiados entre la aplicación y
el CM para llegar al estado ACTIVO de la cone–
xión. La mayor parte de esta presentaci ón se co–
rresponde con los mensajes y librerías de la ver–
sión 2.82 del BlueLab Professional utili zadas en
este trabajo para impl ementar el proceso de cone–
xión. Sin embargo, la presentaci ón de las librerías
para enviar datos es obsoleta, pero se documentan
las utili zadas en este trabajo. Se recomi enda allec–
tor referirse a [Kammer ] para un entendimi ento
más vasto de la implementación del proceso de
conexión que se reali zó para esta memoria. La
Fig. 15 muestra la li sta de mensajes de soli ci tud
en el orden enviado y la li sta de mensajes de con–
firmación correspondi ente. Todos los mensajes del
CM están declarados en el archivo
cm rf eomm. h.
El CM está implementado en la librería
CM_RF–
COMM : libem rfeomm.a.
Cuando la aplicación (Task 1) envía un mensa je
al CM (Task
O),
el programa en ANSI C del usuari o
envía este mensaje a la cola de mensajes
O
("Me–
ssageQueue
O")
y cada vez que se obtiene una res–
puesta del CM, ésta provendrá en forma de men–
saje desde la cola de mensajes 1 ("MessageQueue
1"). Estos mensajes serán despachados por el pla–
nificador de la máquina virtual ("Schedul er")
de acuerdo a su orden de entrada . Los
mellsajes
( " messages "), colas de /l/en sajes (" I/'Icssa¡;:<, r¡uclle "),
11/f..I':"'·
11'4"'
l.·
plf,T"r
1/1.
tarl'l1s( " tasks")
y el
plnll ificndor ("sc/led lllcr ")
son tér–
minos comunes de la programación de los sistemas
embebidos. El lector puede acceder a una introduc-
IniCIO
(Starting)
Activo
(Active)
Mensajes
de
confimlación
TA$K 1
I
TASK O
Connection M8Ilager
Iniciar cone¡tlon
(Connecflng)
Búsqueda
(Inquirmg)
Mensajes
de soliCitud
Fig.
14.
Esquema de los estados del proceso de conexión de
la pila BlueStack bajo el concepto de Tareas
y
Mensajes en el
entorno de programación de un sistema embebido.
ActiVO
(Active)
Ct.1
INlI)U:{J
r M_REAO_SD_ADR
J{fQ
CM_OPW_RfO
C~UU:OUl:S
I_AS .SLAVto_kEO
CM
JNOtJIRV
J:\fCJ
CM_CANCn_RfO
CM OISCQNNlC' _RlQ
TASK 1
TASKO
Connectlon Manager
Búsqueda
(InqU/{ing)
CM_I~.II I
,Crl.1
nA_REACl
en_AnR CFM
CM
OPO~_CFM
CM_SERVlCCRtGlSlfR_CflJI
CM_CONNECI_S
IAru~UNO
CMJNOUIRY
_RESUl
T_lur,
O'UNOUIRV_CONMPLETEJ' n"l
CM_EfIROR)tJ[¡
C'M_COtm FCl CFM
Fig. 15. Protocolo de mensajes entre el CM
y
la aplicación para
lograr la conexión Bluetooth.
21
1...,12,13,14,15,16,17,18,19,20,21 23,24,25,26,27,28,29,30,31,32,...45