Palmmicro Name Logo
 
   
AR1688开发指南 - 用户界面协议
 
AR1688和外部控制器之间目前有7中基于字符串的高层用户界面协议:
1. 键盘输入. 格式"KEY x", 其中'x'来自mcs51\hook.cmcs51\key.c, 指示外部控制器有键盘输入或者摘挂机. AR1688收到这个字符串后交给function.c中的函数UI_HandleKeys处理.
2. LCD显示. 格式"LCD lxxxxxxxxxxxxxxxx", 其中'l'指示显示在第几行, '0'显示在第一行, '1'在第2行, 可能出现的'2'和'3'分别表示第3行和第4行. "xxxxxxxxxxxxxxx"是需要显示的字符串, 由AR1688发送给外部控制器显示.
3. LCD光标. 格式"LCDClps", 跟上面一样'l'指示第几行, 'p'表示光标位置, 从'0'开始. 's'表示光标状态, '0'为隐藏, '1'为显示. 跟上面2相同, 这个命令也是由AR1688发送给外部控制器.
4. LED. 格式"LED ts", 't'是下面指示的LED类型, 's'表示状态, '0' - 亮, '1' - 灭, '2'- 闪烁. 这个命令也由AR1688发送给外部控制器. LED类型(mcs51\led.c, inc\bank1.h):
'0' - LCD背光
'1' - 键盘背光
'2' - 消息指示
'3' - 静音
'4' - 呼叫保持
'5' - 呼叫转移
5. 循环测试. 格式"LOOPXXXXXXXXXXX", 指示对方循环送回"XXXXXXXXXXX".
6. 状态报告. 格式为"STATxxx", 指示AR1688的状态变化. 其中"xxx"来自include\core.h中定义在函数TaskUIHandler上面的UI_YYYY_ZZZZ.
以"登录成功"为例, AR1688会发送"STAT10"给对方, 因为UI_LOGON_OKcore.h中定义为"10". 跟"LCD ", "LCDC"和"LED "这些命令相同, "STAT"同样是仅从AR1688发送给外部控制器.
7. 文本交换. 格式为"TEXTxxx", 其中"xxx"是用户实际要交换的文本.
跟"LOOP"命令一样, 这个命令也是双向使用的. 当外部控制器从串口发送"TEXTxxx"给AR1688后, AR1688会通过标准SIP协议中的MESSAGE request把"TEXTxxx"发给通话中对方的AR1688. 接收方会显示它, 并且用同样的命令通过串口把文本传送给它自己的外部控制器.