EEPROM=at2402, 2048 bit, 256 byte ==LUNA SN Data Structure EEPROM Content, Total 256 bytes== '''We can read from /proc/itc_sn/*, /proc/itc_sn/info contains summary info for the sn''' {| cellpadding="5" border="1" cellspacing="0" align="center" style="text-align: center" !align="center" style="background-color: #00ff00;"|Name !align="center" style="background-color: #00ff00;"|Offset !align="center" style="background-color: #00ff00;"|Size (bytes) !align="center" style="background-color: #00ff00;"|Contents !align="center" style="background-color: #00ff00;"|proc path |- | Header |0 |4 |0xAA, 0x55, 0x33, 0xEE | none |- |Borad Name |4 |8 |ASCII=ITC_CORE | /proc/itc_sn/info |- |Hardware Revision |12 |4 |0x00, 0x00, 0x00, 0x02. Hardware Revision | /proc/itc_sn/info |- |System VARs (not verified) |16 |16 |system boot arguments | none |- |终端类型 |32 |8 |screen size, screen rotation, screen touch, pinmux ... | /proc/itc_sn/screen_size, screen_rotation, cap_touch, pinmux |- |功能矩阵 |40 |16 |excel 表 | /proc/itc_sn//funcs/* 注意:只有开启的才显示,两种方式:offset or name |- |Manufacture Date |56 |2 |0xYY 0xWW, YEAR + Week, example 1328 | /proc/itc_sn/manufacture_date |- |Serial Number 序列号 |58 |14 |0x000000000000123 | /proc/itc_sn/sn |- |品牌 |72 |48 |utf8 品牌 | /proc/itc_sn/oem |- |终端型号 |120 |20 |ASCII | /proc/itc_sn/model |- |终端名称 |140 |100 |utf8 | /proc/itc_sn/name |- |加密 encryption |240 |16 |TEA binary | /proc/itc_sn/verified (not existed if not verified) |} ==终端类型 8 bytes== # screen size: 0x10-> no screen 0x11->4.3" 0x12->5" (= 7") # screen rotation: 0x10->0, 0x11->90clockwise 0x12->180v_flip 0x13->270clockwise # cap touch: 0x10->none, 0x11->enabled(4inch), 0x12->(4inch new touch with key), 0x13->(7inch new touch with key), res touch 0x20-> none, 0x21->enabled # pinmux: 0x10->version 0 (PINMUX为B版), 0x01 pinmux C, (有其他版本,根据功能不同进一步区分), 0x11 aria pinmux 0 # development version: 0x01 -> development version. all others: release version # # # # ==Serial Number 序列号== 目前的序列号只是引用后8位数字,前面全部为0.但是,为了测试的目的,后八位开始为F的是测试使用的序列号。 ==功能矩阵 16bytes== 注意: * 此表只可继续添加新的功能,如果旧的不需要,则直接废弃。 * 标配:这里只的是所有终端都应该打勾的功能。 # GPIO键盘 (标配):gpio_keypad # GPIO定制键盘:gpio_custom_keypad # 红外键盘:infrared_keypad # 485点阵屏协议:485_dot_matrix_protocol # 485酒店协议:485_hotel_protocol # 485银行协议:485_bank_protocol # 银行面板监听:bank_spy # USB蓝牙:usb_bluetooth # USBwifi:usb_wifi # USB3G网卡:usb_3g_network # USB存储:标配usb_storage # USB鼠标键盘,禁用:usb_mouse_keypad # 移除检测:removable_detection # 手柄检测:hand_check # 短路A组(标配):short_cic_a_event # 短路B组(标配):short_cic_b_event # 电源控制IO(标配):power_control_io # 优先控制:IOpriority_io # 状态灯IO (标配):led_io # SPI扩展16区:spi_16 # SPI扩展采集:spi_capture # SPI扩展电容键盘:spi_cap_keypad # SPI时钟显示(目前先不做):spi_clock # 智能功放检测:int_amp_detection # 模拟功率切换功能:analog_power_control # aux音量模拟控制功能:aux_analog_volume_control # MIC音量模拟控制功能:mic_analog_volume_control # 声压触发:sound_pressure_event # 优先级检测(声压):priority_check # Airplay:airplay # 多方通话:conference # 交换机网卡:net_switch_mode # 冗余双网卡:net_team_mode # PPPOE:pppoe # 7202接收广播模式:7202_broadcast_listener_mode # 7202发起广播模式:7202_broadcast_speaker_mode # 7203发起广播模式:7203_boradcast_speaker_mode # 普通对讲模式:normal_unicast_mode # 监听模式:spy_mode # 耳麦对讲模式(7202):7202_unicast_mode # 窗口对讲IO:window_talk_io # 高铁面板:high_railway_keypad # 网络故障输出:net_error_io # 禁用点播广播:disable_dibbling_broadcast # 禁用拨打界面:disable_dialing_interface ===解释=== 注意:参照“新IP硬件需求对照表(2013.07.17)”查看具体的定义。 # '''GPIO键盘''' #: 开启reset key和音量调节key,和alarm1/2的功能。注意(alm1/2)会被定制键盘替换掉。 # GPIO定制键盘 #: 专指aux vol+/- 替换alm1/2, # 红外键盘 #: 启动红外线键盘监听程序进行translate红外键盘 # 4.3 LCD ( 不在这里处理,在上面处理) #: 硬件的4.3寸LCD屏幕。硬件需要支持,logo,终端gui等。 # 电容触摸屏 (不再这里处理,在前面处理) #: 是否有触摸屏。主要是kernel解决。 # 485点阵屏协议 #: 小的信息屏(宋工方案) # 485酒店协议 #: 酒店的自面板相关功能 #: 有子终端面板 # 485银行协议 #: 银行子终端 #: 有子终端面板 # 银行面板监听 #: 银行面板监听指的是子终端功能。 #: 和普通监听指的是终端。 # USB蓝牙 # USBwifi # USB3G网卡 # USB存储:标配 # USB鼠标键盘,禁用 # 移除检测 #: 可以对移除检测进行配置, # 手柄检测 #: 是否启用手柄模式相关功能 # 短路A组 #: short-in1和short-out1, # 短路B组 #: short-in2和short-out2 # 电源控制IO(标配) #: 是否开启电源控制IO的功能 # 优先控制IO(标配) #: 是否开启优先控制的功能 # 状态灯IO (标配) #: 是否开启红绿状态灯的功能 # SPI扩展16区 #: 子区,也就是子终端,只有被呼叫和被播放背景音乐。任意自动断开关,共用一个音频通道。 # SPI扩展采集 #: 消防报警那个东西。类似于GPIO触发。 # SPI扩展电容键盘 #: 指的是spi的扩展键盘监听程序启动 # SPI时钟显示(目前先不做) # 智能功放检测 ## 定压的电压(负载) ##: 定压电压触发事件开启 ## 定压的电流(负载) ##: 定压电流触发事件开启 ## 交流的电压 ##: 交流的电压触发事件开启 ## 交流的电流 ##: 交流的电流触发事件开启 ## 直流的电压(24V 备电) ##: 直流的电压触发事件开启 ## 回路检测 ##: 1分钟内,gpio如果不跳(变0变1),我们就认为这个事件触发了。 # 模拟功率切换功能 #: 根据功率电压,对aux声音大小进行调节,百分比或者db,后定。 # aux音量模拟控制功能 #: 通过模拟来直接调节aux的音量 # MIC音量模拟控制功能 #: 通过模拟的方式直接调节MIC的音量 # 声压触发 #: 声压触发开启:指的是监听mic的检测,然后,激发事件进行处理。 # 优先级检测(声压) #: 3通道的声压检测之后管理优先级的关系。 # Airplay # 多方通话 #: 是否同意进行多方对讲电话,即是会议模式。 # 交换机网卡 #: 交换机工作模式 # 冗余双网卡 # PPPOE #: PPPOE相关功能 # 音乐播放模式(去掉,所有终端都有) #: 所有的音乐播放都属于这个模式 # 485接收广播模式(去掉)根据485协议判断是否开启。 #: 开启485接受广播模式 # 485发起广播模式 (去掉),根据485协议判断。 #: 开启485广播模式 # 7202接收广播模式 # 7202发起广播模式 # 7203发起广播模式 # 蓝牙发起广播模式(去掉),根据usb蓝牙进行判断。 # 普通接收广播模式(去掉) #: 注意,无普通发起广播模式,肯定包括在上面。 # 普通对讲模式 # 窗口对讲模式 #: 是否开启窗口对讲模式,根据GPIO检测脚来判断。 # 银行对讲模式(去掉,根据 银行协议判断。 # 酒店对讲模式 (去掉,根据酒店协议判断) # 耳麦对讲模式 (去掉,根据检测脚判断) # 蓝牙对讲模式 (去掉,根据usb蓝牙进行判断。 # 监听模式 #: 能不能被监听。 # 银行监听通道(485银行协议决定,有就是有,没有就没有) # 手柄模式的拨号音功能(去掉,根据手柄检测来配置) #: 是否开启手柄摩斯的拨号音功能 # 耳麦对讲模式(7202) # 窗口对讲IO:定义了是否有窗口对讲IO脚。 # 高铁面板: 开启后进入高铁专用面板模式(包括界面以及6按键支持) # 网络故障输出:在网络音频出现故障的情况下,我们会启用gpio输出来切换到非网络输出的,达到冗余的目的 # 禁用点播广播:禁用点播界面中的广播到其它终端的功能 # 禁用拨打界面:禁用拨打界面 (部分机型不需要拨打界面) 模式判断的相关逻辑如下:
耳机/mic检测是在register 13里面(3106)。

对讲发起的时候:
其他的时候都需要判断:我们才判断蓝牙和耳机及酒店。
485银行的时候,不用判断蓝牙或者耳机。
只有在耳麦模式下才判断是不是7202

接受的时候。
接受方有没有银行自面板号,有就是银行模式,没有就是:普通模式,
普通模式需要判断酒店,蓝牙,耳机。
只有耳麦的模式下才判断是不是7202.
判断有限顺序:
蓝牙:0
耳机:1
酒店:2.
普通:3.
窗口:4.(扩音)别的谁过来就把它干掉。
广播模式和对讲模式判断一样。


广播模式少了一个普通发起广播模式是正常的,因为普通情况下不能发起广播。
==Encryption Algorithm== USE TEA http://en.wikipedia.org/wiki/Tiny_Encryption_Algorithm