如何解决photoshop CS6出现photoshop配置错误166

BLE|LOFTER(乐乎) - 记录生活,发现同好
LOFTER for ipad —— 记录生活,发现同好
&nbsp&nbsp被喜欢
&nbsp&nbsp被喜欢
{list posts as post}
{if post.type==1 || post.type == 5}
{if !!post.title}${post.title|escape}{/if}
{if !!post.digest}${post.digest}{/if}
{if post.type==2}
{if post.type == 3}
{if !!post.image}
{if post.type == 4}
{if !!post.image}
{if !!photo.labels && photo.labels.length>0}
{var wrapwidth = photo.ow < 500?photo.ow:500}
{list photo.labels as labs}
{var lbtxtwidth = Math.floor(wrapwidth*(labs.ort==1?labs.x:(100-labs.x))/100)-62}
{if lbtxtwidth>12}
{if !!labs.icon}
{list photos as photo}
{if photo_index==0}{break}{/if}
品牌${make||'-'}
型号${model||'-'}
焦距${focalLength||'-'}
光圈${apertureValue||'-'}
快门速度${exposureTime||'-'}
ISO${isoSpeedRatings||'-'}
曝光补偿${exposureBiasValue||'-'}
镜头${lens||'-'}
{if data.msgRank == 1}{/if}
{if data.askSetting == 1}{/if}
{if defined('posts')&&posts.length>0}
{list posts as post}
{if post_index < 3}
{if post.type == 1 || post.type == 5}
{if !!post.title}${post.title|escape}{/if}
{if !!post.digest}${post.digest}{/if}
{if post.type == 2}
{if post.type == 3}
{if post.type == 4}
{if post.type == 6}
{if drlist.length>0}
更多相似达人:
{list drlist as dr}{if drlist.length === 3 && dr_index === 0}、{/if}{if drlist.length === 3 && dr_index === 1}、{/if}{if drlist.length === 2 && dr_index === 0}、{/if}{/list}
暂无相似达人,
{if defined('posts')&&posts.length>0}
{list posts as post}
{if post.type == 2}
{if post.type == 3}
{if post.type == 4}
{if post.type == 6}
this.p={ currentPage:1,pageNewMode:true,isgooglead3:false,ishotrecompost:false,visitorId:0, first:'',tag:'BLE',recommType:'new',recommenderRole:0,offset:20,type:0,isUserEditor:0,};I am developing a BLE application on Nexus 4 using Android BLE API. I have a few questions/doubts:
1) Is there a way to set/override the connection or notification interval of BLE central device. I have found that for Android, the default connection interval is fixed to 7.5ms. Is there a way to change this connection/notification delay interval settings.
On connecting to the remote device, I am facing an issue of getting disconnection after random period of time interval. There are many people facing the connection drop issue stating that android is unstable when they are using Android 4.3 API for BLE connection. Is there any solution for this?
what else I observe here is when it is taking time to reconnect then it's coming with some L2CAP log ...following the log
Trying to create a new connection laststate_ BOND_NONE
D/BluetoothGatt( 9620): connect() - device: 1C:BA:81:11:CA:36, auto: true
D/BluetoothGatt( 9620): registerApp()
D/BluetoothGatt( 9620): registerApp() - UUID=1a9ac-41dc-8ac0-
D/BtGatt.GattService( 3208): registerClient() - UUID=1adsds0911-4sdsc-41dc-8ac0-0sdsdf550510
D/BtGatt.btif( 3208): btif_gattc_register_app
D/BtGatt.btif( 3208): btgattc_handle_event: Event 1000
D/BtGatt.btif( 3208): btif_gattc_upstreams_evt: Event 0
D/BtGatt.GattService( 3208): onClientRegistered() - UUID=1a9ac-41dc-8ac0-, clientIf=5
D/BluetoothGatt( 9620): onClientRegistered() - status=0 clientIf=5
D/BtGatt.GattService( 3208): clientConnect() - address=1C:BA:8C:1E:CA:36, isDirect=true
D/BtGatt.btif( 3208): btif_gattc_open
D/BtGatt.btif( 3208): btgattc_handle_event: Event 1004
D/BtGatt.btif( 3208): btif_get_device_type: Device [1c:ba:8c:1e:ca:36] type 2, addr. type 0
W/bt-l2cap( 3208): L2CAP - LE - cannot start new connection at conn st: 3
Any idea how can clear cahce mantain by L2CAP?
解决方案 When I studied the Android BLE API, I could not find an API for changing the connection interval and supervision timeout (maybe slave latency as well, can't remember from the top of my head). I you do need to change these, you must do it from the slave device.
The answer from Ashwini you can just ignore, what he says is simply not correct. A Bluetooth 4.0 compliant master device must support connection intervals from 7.5 ms up to 4.0s. The slave device may request a change in connection parameters and sends a connection parameter update request, and the master will update the connection parameter accordingly.
On the other hand, the master (in your case the Android device) could have an interest in changing the connection interval on its own, in order to save power, and you would like to change the connection interval to a more relaxed interval.
In my opinion the Android API and even the hardware implementation on several devices are immature and using BLE, in the sense that BLE was intended, draws to much power on an Android device. In the future I believe you will see much better support on the API level and a division of the host and controller so that the controller can maintain connectivity even when the main CPU of the mobile device is sleeping. That will save a lot of power and you can maintain connectivity with your BLE devices 24/7 without any major constrain on you battery life.
本文地址: &
我正在开发采用Android BLE API在Nexus 4 BLE的应用程序。我有几个问题/疑虑:
1)有没有一种方法来设置/覆盖的BLE中心设备的连接或通知的时间间隔。我发现,对于Android,默认的连接时间间隔固定为7.5ms。有没有办法来改变这种连接/通知延迟间隔设置。
来源:http://processors./index.php/Bluetooth_SensorTag?DCMP=lprf-stdroid&HQS=lprf-stdroid-pr-wiki1#Supported_Android_devices
2)在连接到所述远程设备,我面对随机的一段时间间隔后得到断线的问题。有面向连接中断的问题,指出Android是不稳定的,当他们使用的是Android 4.3的API BLE连接的许多人。有没有什么解决方案呢?
当它需要时间来重新连接,然后它的未来与一些L2CAP日志......日志下面还有什么我发现这里是
试图创建一个新的连接laststate_ BOND_NONE
D / BluetoothGatt(9620):连接() - 设备:1C:BA:81:11:CA:36,汽车:真
D / BluetoothGatt(9620):registerApp()
D / BluetoothGatt(9620):registerApp() -
UUID = 1a9ac-41dc-8ac0-
D / BtGatt.GattService(3208):registerClient() -
UUID = 1adsds0911-4sdsc-41dc-8ac0-0sdsdf550510
D / BtGatt.btif(3208):btif_gattc_register_app
D / BtGatt.btif(3208):btgattc_handle_event:事件1000
D / BtGatt.btif(3208):btif_gattc_upstreams_evt:事件0
D / BtGatt.GattService(3208):onClientRegistered() -
UUID = 1a9ac-41dc-8ac0-,clientIf = 5
D / BluetoothGatt(9620):onClientRegistered() - 状态= 0 clientIf = 5
D / BtGatt.GattService(3208):clientConnect() - 地址= 1C:BA:8C:1E:CA:36,isDirect =真
D / BtGatt.btif(3208):btif_gattc_open
D / BtGatt.btif(3208):btgattc_handle_event:事件1004
D / BtGatt.btif(3208):btif_get_device_type:设备[1C:BA:8C:1E:CA:36]类型2,地址。 0型
W / BT-L2CAP(3208):L2CAP
- 无法开始康恩ST新接口:3
不知道如何可以清除cahce通过L2CAP十个分量?
解决方案 在我所研究的机器人BLE API,我无法找到一个API,用于改变连接间隔和监督超时(也许从潜伏期为好,不记得从我的头顶)。我确实需要改变这些,必须从机做。
这是阿什维尼你可以忽略的答案,他说的是完全不对的。蓝牙4.0标准的主设备必须支持连接的间隔时间从7.5毫秒至4.0s。从设备可以请求连接参数的变化,并发送连接参数更新请求,则主机相应地更新连接参数。
在另一方面,主(在你的情况下,Android设备)可能有兴趣在改变自己的连接时间,为了节省电力,而且你想连接的时间间隔更改为更轻松间隔。
在我看来,Android的API,甚至硬件实现在多个设备不成熟以及使用BLE,在这个意义上,BLE的目的,即将多少电在Android设备上。在未来,我相信你会看到在API层面更好的支持和主机的分工和控制器,从而使控制器可以保持连接,即使在移动设备的主CPU处于睡眠状态。这将节省大量的电力,你可以保持连接与您的BLE装置全天候不会对你的电池寿命任何重大约束。
本文地址: &
扫一扫关注官方微信经检测你所在的网络可能存在爬虫,因资源限制,我们只能拒绝你的请求。
如果你是推酷的用户,可以以继续访问使用。
如有疑问,可将IP信息发送到
请求解封。蓝牙4.0&BLE&center与peripheral建立连接绑定过程
蓝牙主机从机建立连接绑定过程
center与simplePeripheral建立连接过程
center首先进行osal_init_system()初始化各个任务,SimpleBLECentral_Init-&osal_set_event(
simpleBLETaskId, START_DEVICE_EVT );进入SimpleBLECentral_ProcessEvent()
&VOID GAPCentralRole_StartDevice(
(gapCentralRoleCB_t *) &simpleBLERoleCB );//当初始化完成,会发送GAP_DEVICE_INIT_DONE_EVENT由于注册了simpleBLERoleCB函数,因此发送的event由simpleBLERoleCB函数接收static
void&simpleBLECentralEventCB(
gapCentralRoleEvent_t *pEvent )此时pEvent-&gap.opcode
=GAP_DEVICE_INIT_DONE_EVENT,相应信息存储于pEvent中
typedef union
&&gapEventHdr_t&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//!&
GAP_MSG_EVENT and status.
&&gapDeviceInitDoneEvent_t&&initD&&&&&&&&&&&//!&
GAP initialization done.
&&gapDeviceInfoEvent_t&&&&&&deviceI&&&&&&&&&//!&
Discovery device information event structure.
&&gapDevDiscEvent_t&&&&&&&&&discC&&&&&&&&&&&//!&
Discovery complete event structure.
&&gapEstLinkReqEvent_t&&&&&&linkC&&&&&&&&&&&//!&
Link complete event structure.
&&gapLinkUpdateEvent_t&&&&&&linkU&&&&&&&&&//!&
Link update event structure.
&&gapTerminateLinkEvent_t&&&linkT&&&&&&//!&
Link terminated event structure.
} gapCentralRoleEvent_t;
联合体,只有deviceInfo里面的数据是正确的
typedef struct
&&osal_event_hdr_t&&&&&&&&&&&&&&&&//!&
GAP_MSG_EVENT and status
&&&&&&&&&&&&&&&&&&&&&&&//!&
GAP_DEVICE_INIT_DONE_EVENT
devAddr[B_ADDR_LEN];&&&&&&&&&&//!&
Device's BD_ADDR
dataPktL&&&&&&&&&&&&&&&&&&//!&
HC_LE_Data_Packet_Length
numDataP&&&&&&&&&&&&&&&&&&//!&
HC_Total_Num_LE_Data_Packets
} gapDeviceInitDoneEvent_t;
能获得如设备地址等信息
设备初始化完成
通过串口发送'1'触发设备发现
进行设备扫描
GAP_DEVICE_INFO_EVENT&&&&&&&&&&&&&&&&&0x0D
//!& Sent during the Device Discovery Process
device is discovered.
GAP_DEVICE_DISCOVERY_EVENT&&&&&&&&&&&&0x01
//!& Sent when the Device Discovery Process
is&complete.
当发现一个设备时,触发一个设备info事件同样是在simpleBLECentralEventCB处理此时pEvent改变为deviceInfo可以获得广告设备的类型,地址。rssi强度,还有广告数据,内容如下。
typedef struct
&&osal_event_hdr_t&&&&&&//!&
GAP_MSG_EVENT and status
&&&&&&&&&&&&&//!&
GAP_DEVICE_INFO_EVENT
eventT&&&&&&&&&&//!&
Advertisement Type: @ref GAP_ADVERTISEMENT_TYPE_DEFINES
addrT&&&&&&&&&&&//!&
address type: @ref GAP_ADDR_TYPE_DEFINES
addr[B_ADDR_LEN];&&&//!&
Address of the advertisement or SCAN_RSP
&&&&&&&&&&&&&&&&//!&
Advertisement or SCAN_RSP RSSI
dataL&&&&&&&&&&&&//!&
Length (in bytes) of the data field (evtData)
*pEvtD&&&&&&&&&&//!&
Data field of advertisement or SCAN_RSP
} gapDeviceInfoEvent_t;
center代码是通过设备服务器的uuid来查找设备,一旦找到相应的设备,将设备加入
设备表simpleBLEDevList[]中simpleBLEScanRes扫描到的个数自加一。
typedef struct
eventT&&&&//!&
Indicates advertising event type used by the advertiser:
GAP_ADVERTISEMENT_TYPE_DEFINES
addrT&&&&&&&&&//!&
Address Type: @ref GAP_ADDR_TYPE_DEFINES
&&uint8 addr[B_ADDR_LEN];
//!& Device's Address
} gapDevRec_t;
设备表的结构体
addrType有:
&&&&&&&&ADDRTYPE_PUBLIC&&&0x00
&&&&&&&&&Use
the BD_ADDR.
&&&&&&&&ADDRTYPE_STATIC&&&0x01
&&&&&&&&&Static
&&&&&&&&ADDRTYPE_PRIVATE_NONRESOLVE&&&0x02
&&&&&&&&&Generate
Non-Resolvable Private Address.
&&&&&&&&ADDRTYPE_PRIVATE_RESOLVE&&&0x03
&&&&&&&&&Generate
Resolvable Private Address.
case GAP_DEVICE_INFO_EVENT:
&&&&&&&&if
( DEFAULT_DEV_DISC_BY_SVC_UUID == TRUE
&&&&&&&&&&if
( simpleBLEFindSvcUuid( SIMPLEPROFILE_SERV_UUID,
//通过uuid找到的设备
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&pEvent-&deviceInfo.pEvtData,
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&pEvent-&deviceInfo.dataLen
&&&&&&&&&&{
&&&&&&&&&&//&&HalUARTWrite(0,"info\n",sizeof("info\n"));//dataLen&&数据长度&&&&pEvtData&数据
&&&&&&&&&&&&simpleBLEAddDeviceInfo(
pEvent-&deviceInfo.addr, pEvent-&deviceInfo.addrType );
&&&&&&&&&&}
此时已经获得了扫描到的设备个数,以及设备地址,还有广告内容等信息。
通过串口发送‘3’来&建立连接
建立连接:
typedef struct
taskID;&&&&&&&&&&&&&&&//!&
Requesting App/Profile's Task ID
highDutyC&&&&&&&&//!&
TRUE to high duty cycle scan, FALSE if not.
whiteL&&&&&&&&&&&&//!&
Determines use of the white list: @ref GAP_WHITELIST_DEFINES
addrTypeP&&&&&&&&&//!&
Address type of the advertiser: @ref GAP_ADDR_TYPE_DEFINES
peerAddr[B_ADDR_LEN]; //!& Advertiser's address
} gapEstLinkReq_t;
调用&GAP_EstablishLinkReq(gapEstLinkReq_t&&params
);完成后发送GAP_LINK_ESTABLISHED_EVENT,由simpleBLECentralEventCB(
gapCentralRoleEvent_t *pEvent )处理
GAP_LINK_ESTABLISHED_EVENT&&&&&&&&&&&&0x05
//!& Sent when the Establish Link Request is complete.
&用此时pEvent变为:
typedef struct
&&osal_event_hdr_t&&&&&&&//!&
GAP_MSG_EVENT and status
&&&&&&&&&&&&&&//!&
GAP_LINK_ESTABLISHED_EVENT
devAddrT&&&&&&&&&//!&
Device address type: @ref GAP_ADDR_TYPE_DEFINES
devAddr[B_ADDR_LEN]; //!& Device address of link
connectionH&&&//!&
Connection Handle from controller used to ref the device
connI&&&&&&&//!&
Connection Interval
connL&&&&&&&&//!&
Conenction Latency
connT&&&&&&&&//!&
Connection Timeout
clockA&&&&&&&//!&
Clock Accuracy
} gapEstLinkReqEvent_t;
可以得到设备地址。连接的handle连接完成
连接过程中发送START_DISCOVERY_EVT事件进行服务器发现。就可以对相应的handle,characteristic&value进行读写操作,或者用于向主机,从机发送数据。
获得服务器相应特性值的handle有三种方法:
1.通过主服务的uuid(uuid已知)来查找。
GATT_DiscPrimaryServiceByUUID&&&&&&&&(uint16
&&&&&&&&connHandle,//&连接的handle
&&&&&&&&pValue,&&//
&&&&&&&&len,&&//
uuid的长度
&&&&&&&&taskId&&//&&&&&&&&&接收消息的任务ID
发送&ATT_FIND_BY_TYPE_VALUE_RSP
或者 ATT_ERROR_RSP由相应任务接收处理
static void simpleBLEGATTDiscoveryEvent( gattMsgEvent_t
*pMsg )通过此函数进行通过UUID来查找相应的Handle进行对特性值的相关操作。
2.查找所有的服务
GATT_DiscAllPrimaryServices&&&&&&&&(uint16
&&&&&&&&connHandle,//连接handle
&&&&&&&&taskId&&&&&&&&&//接收消息的任务ID
)&&&&&&&&&&&&&&&&&&&&&&&&
&osal_start_timerEx( simpleBLETaskId,
START_DISCOVERY_EVT, DEFAULT_SVC_DISCOVERY_DELAY );
到此连接完成。
3、GATT_DiscAllCharDescs()&这个接口,这个能自动把所有service
查找完,应该能发现你要的UUID。
终止连接:
GAP_TerminateLinkReq(任务id,handle)发送断开连接event
GAP_LINK_TERMINATED_EVENT&&&&又一次调用&&simpleBLECentralEventCB(
gapCentralRoleEvent_t *pEvent )&
typedef struct
&&osal_event_hdr_t&&&&&&&//!&
GAP_MSG_EVENT and status
&&&&&&&&&&&&&&//!&
GAP_LINK_ESTABLISHED_EVENT
devAddrT&&&&&&&&&//!&
Device address type: @ref GAP_ADDR_TYPE_DEFINES
devAddr[B_ADDR_LEN]; //!& Device address of link
connectionH&&&//!&
Connection Handle from controller used to ref the device
connI&&&&&&&//!&
Connection Interval
connL&&&&&&&&//!&
Conenction Latency
connT&&&&&&&&//!&
Connection Timeout
clockA&&&&&&&//!&
Clock Accuracy
} gapEstLinkReqEvent_t;
4、绑定过程
BLE中主从机建立连接,到配对和绑定过程如下图
// Setup the GAP Bond
Manager&&&//GAP
绑定管理器设置
&&&&uint32
passkey = 0; // passkey "000000"
pairMode =
GAPBOND_PAIRING_MODE_WAIT_FOR_REQ;//配对模式,配置成等待主机的配对请求
mitm = TRUE;
ioCap = GAPBOND_IO_CAP_DISPLAY_ONLY;//只显示设备
bonding = TRUE;
&&&&GAPBondMgr_SetParameter(
GAPBOND_DEFAULT_PASSCODE, sizeof ( uint32 ), &passkey );
//密钥,范围是 0-999999,默认值为 0
&&&&GAPBondMgr_SetParameter(
GAPBOND_PAIRING_MODE, sizeof ( uint8 ), &pairMode
);//告诉绑定管理器是否配对通过,不论它等待一个请求从控制设备或者是自己发起配对.默认的设置是等待一个请求从控制设备.
配对模式:配置成等待主机的配对请求
&&&&GAPBondMgr_SetParameter(
GAPBOND_MITM_PROTECTION, sizeof ( uint8 ), &mitm
);//设置中间人保护是否使能.如果使能了,配对请求将鉴定连接在从和主之间.profile默认的值为FALSE,即使应用设置它为TRUE在初始化的时候.
打开密钥保护的配对算法
&&&&GAPBondMgr_SetParameter(
GAPBOND_IO_CAPABILITIES, sizeof ( uint8 ), &ioCap
);//告诉绑定管理器设备的输入和输出的能力.为了判断设备是否有显示屏或者输入键盘这个参数是需要的.然而,默认的值为GAPBOND_IO_CAP_DISPLAY_ONLY,表明设备有一个显示屏但没有键盘.即使设备没有物理意义上的显示器,一个展示的钥匙(在用户指导中)被认为是一个显示器.默认的万能钥匙是一个六位数字字符串”000000”.
&&&&GAPBondMgr_SetParameter(
GAPBOND_BONDING_ENABLED, sizeof ( uint8 ), &bonding
);//使能绑定.profile默认的值为FALSE,即使SimpleBLEPeripheral应用设置它为TRUE在初始化时.
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。1130人阅读
IOS开发(53)
CBCentral类表述了APP端的central设备与本地的peripheral设备连接的过程,就是说:当你实现了CBperipheral类时,central能够使用CBCentral对象类和你取得连接。远端的central设备被唯一的UUID(universally unique identifiers )所指定。这个iUUID在NSUUID对象中有显示。
需要实现的任务:
标识远端的Central
identifier:分配给central的UUID,这个是只读的对象,不能做修改。
maximunUpdateValueLength:指示central接受单个通知或象征的最大数据长度。
UUID:central的UUID,但在IOS 7以后已经被APPLE弃用了,使用identifier代替。
参数(Properties):
idertifier:central的UUID;定义方法为:@property(readonly, nonatomic) NSUUID *identifier,这个是Central唯一的标识符,central的UUID是有peripheral的服务、特性、以及描述来决定的。
maximumUpdateValueLength:central接收单个通知或者象征的数据的最大长度,以byte为单位。具体使用看updateValue:forCharacteristic:onSubscribedCentral:。
其实这个类很简单,最大的不同就是IOS 7之后用idertifier取代了UUID。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:60342次
积分:1002
积分:1002
排名:千里之外
原创:40篇
转载:16篇
(2)(1)(1)(1)(8)(1)(1)(2)(2)(7)(26)(8)

我要回帖

更多关于 photoshopcs配置错误 的文章

 

随机推荐