152 // (other items were commented in a header). |
152 // (other items were commented in a header). |
153 // ----------------------------------------------------------------------------- |
153 // ----------------------------------------------------------------------------- |
154 // |
154 // |
155 void CUsbPnInterface::HandleDeviceStateChange( TUint aDeviceState ) |
155 void CUsbPnInterface::HandleDeviceStateChange( TUint aDeviceState ) |
156 { |
156 { |
157 OstTrace1( TRACE_API, CUSBPNINTERFACE_HANDLEDEVICESTATECHANGE_ENTRY, "CUsbPnInterface::HandleDeviceStateChange;aDeviceState=%u", aDeviceState ); |
157 OstTrace1( TRACE_BORDER, CUSBPNINTERFACE_HANDLEDEVICESTATECHANGE_ENTRY, "CUsbPnInterface::HandleDeviceStateChange;aDeviceState=%u", aDeviceState ); |
158 A_TRACE( ( _T( "CUsbPnInterface::HandleDeviceStateChange( aDeviceState:%d )"), aDeviceState )); |
158 A_TRACE( ( _T( "CUsbPnInterface::HandleDeviceStateChange( aDeviceState:%d )"), aDeviceState )); |
159 |
159 |
160 if(aDeviceState & KUsbAlternateSetting) |
160 if(aDeviceState & KUsbAlternateSetting) |
161 { |
161 { |
162 OstTrace0( TRACE_API, CUSBPNINTERFACE_HANDLEDEVICESTATECHANGE, "CUsbPnInterface::HandleDeviceStateChange - Change alternate setting" ); |
162 OstTrace0( TRACE_BORDER, CUSBPNINTERFACE_HANDLEDEVICESTATECHANGE, "CUsbPnInterface::HandleDeviceStateChange - Change alternate setting" ); |
163 A_TRACE( ( _T( "CUsbPnInterface::HandleDeviceStateChange - Change alternate setting"))); |
163 A_TRACE( ( _T( "CUsbPnInterface::HandleDeviceStateChange - Change alternate setting"))); |
164 TUint altSetNbr( aDeviceState & ~KUsbAlternateSetting ); |
164 TUint altSetNbr( aDeviceState & ~KUsbAlternateSetting ); |
165 |
165 |
166 SetAltSetting( altSetNbr ); |
166 SetAltSetting( altSetNbr ); |
167 } |
167 } |
168 else |
168 else |
169 { |
169 { |
170 OstTrace0( TRACE_DETAILED, CUSBPNINTERFACE_HANDLEDEVICESTATECHANGE_DUP1, "CUsbPnInterface::HandleDeviceStateChange - Normal state change" ); |
170 OstTrace0( TRACE_INTERNALS, CUSBPNINTERFACE_HANDLEDEVICESTATECHANGE_DUP1, "CUsbPnInterface::HandleDeviceStateChange - Normal state change" ); |
171 E_TRACE( ( _T( "CUsbPnInterface::HandleDeviceStateChange - Normal state change"))); |
171 E_TRACE( ( _T( "CUsbPnInterface::HandleDeviceStateChange - Normal state change"))); |
172 switch( aDeviceState ) |
172 switch( aDeviceState ) |
173 { |
173 { |
174 case EUsbcDeviceStateUndefined: |
174 case EUsbcDeviceStateUndefined: |
175 { |
175 { |
176 OstTrace0( TRACE_API, CUSBPNINTERFACE_HANDLEDEVICESTATECHANGE_DUP4, "CUsbPnInterface::HandleDeviceStateChange - EUsbcDeviceStateUndefined" ); |
176 OstTrace0( TRACE_BORDER, CUSBPNINTERFACE_HANDLEDEVICESTATECHANGE_DUP4, "CUsbPnInterface::HandleDeviceStateChange - EUsbcDeviceStateUndefined" ); |
177 A_TRACE( ( _T( "CUsbPnInterface::HandleDeviceStateChange - EUsbcDeviceStateUndefined"))); |
177 A_TRACE( ( _T( "CUsbPnInterface::HandleDeviceStateChange - EUsbcDeviceStateUndefined"))); |
178 // Cancel async USB operations |
178 // Cancel async USB operations |
179 iUsbReceiver->SetEnumerated( EFalse ); |
179 iUsbReceiver->SetEnumerated( EFalse ); |
180 iUsbReceiver->Cancel(); |
180 iUsbReceiver->Cancel(); |
181 break; |
181 break; |
182 } |
182 } |
183 case EUsbcDeviceStateDefault: |
183 case EUsbcDeviceStateDefault: |
184 { |
184 { |
185 OstTrace0( TRACE_API, CUSBPNINTERFACE_HANDLEDEVICESTATECHANGE_DUP5, "CUsbPnInterface::HandleDeviceStateChange - EUsbcDeviceStateDefault" ); |
185 OstTrace0( TRACE_BORDER, CUSBPNINTERFACE_HANDLEDEVICESTATECHANGE_DUP5, "CUsbPnInterface::HandleDeviceStateChange - EUsbcDeviceStateDefault" ); |
186 A_TRACE( ( _T( "CUsbPnInterface::HandleDeviceStateChange - EUsbcDeviceStateDefault"))); |
186 A_TRACE( ( _T( "CUsbPnInterface::HandleDeviceStateChange - EUsbcDeviceStateDefault"))); |
187 // Cancel async USB operations |
187 // Cancel async USB operations |
188 iUsbReceiver->SetEnumerated( EFalse ); |
188 iUsbReceiver->SetEnumerated( EFalse ); |
189 iUsbReceiver->Cancel(); |
189 iUsbReceiver->Cancel(); |
190 break; |
190 break; |
191 } |
191 } |
192 default: |
192 default: |
193 { |
193 { |
194 OstTrace0( TRACE_API, CUSBPNINTERFACE_HANDLEDEVICESTATECHANGE_DUP6, "CUsbPnInterface::HandleDeviceStateChange - State of no interest" ); |
194 OstTrace0( TRACE_BORDER, CUSBPNINTERFACE_HANDLEDEVICESTATECHANGE_DUP6, "CUsbPnInterface::HandleDeviceStateChange - State of no interest" ); |
195 A_TRACE( ( _T( "CUsbPnInterface::HandleDeviceStateChange - State of no interest"))); |
195 A_TRACE( ( _T( "CUsbPnInterface::HandleDeviceStateChange - State of no interest"))); |
196 break; |
196 break; |
197 } |
197 } |
198 } |
198 } |
199 } |
199 } |
200 |
200 |
201 OstTrace0( TRACE_API, CUSBPNINTERFACE_HANDLEDEVICESTATECHANGE_EXIT, "CUsbPnInterface::HandleDeviceStateChange - return void" ); |
201 OstTrace0( TRACE_BORDER, CUSBPNINTERFACE_HANDLEDEVICESTATECHANGE_EXIT, "CUsbPnInterface::HandleDeviceStateChange - return void" ); |
202 A_TRACE( ( _T( "CUsbPnInterface::HandleDeviceStateChange() - return void"))); |
202 A_TRACE( ( _T( "CUsbPnInterface::HandleDeviceStateChange() - return void"))); |
203 } |
203 } |
204 |
204 |
205 // ----------------------------------------------------------------------------- |
205 // ----------------------------------------------------------------------------- |
206 // CUsbPnInterface::SetAltSetting |
206 // CUsbPnInterface::SetAltSetting |
240 // (other items were commented in a header). |
240 // (other items were commented in a header). |
241 // ----------------------------------------------------------------------------- |
241 // ----------------------------------------------------------------------------- |
242 // |
242 // |
243 void CUsbPnInterface::InitialiseInterfaceL() |
243 void CUsbPnInterface::InitialiseInterfaceL() |
244 { |
244 { |
245 OstTrace0( TRACE_API, CUSBPNINTERFACE_INITIALISEINTERFACEL_ENTRY, "CUsbPnInterface::InitialiseInterfaceL" ); |
245 OstTrace0( TRACE_BORDER, CUSBPNINTERFACE_INITIALISEINTERFACEL_ENTRY, "CUsbPnInterface::InitialiseInterfaceL" ); |
246 A_TRACE( ( _T( "CUsbPnInterface::InitialiseInterfaceL()" ) ) ); |
246 A_TRACE( ( _T( "CUsbPnInterface::InitialiseInterfaceL()" ) ) ); |
247 |
247 |
248 TInt ret = iCommLdd.Open(0); |
248 TInt ret = iCommLdd.Open(0); |
249 if (ret != KErrNone) |
249 if (ret != KErrNone) |
250 { |
250 { |
251 // Maybe the device is not loaded yet. |
251 // Maybe the device is not loaded yet. |
252 _LIT(KUsbLDDName, "eusbc"); |
252 _LIT(KUsbLDDName, "eusbc"); |
253 ret = User::LoadLogicalDevice( KUsbLDDName ); |
253 ret = User::LoadLogicalDevice( KUsbLDDName ); |
254 |
254 |
255 OstTrace1( TRACE_DETAILED, DUP100_CUSBPNINTERFACE_INITIALISEINTERFACEL, "CUsbPnInterface::InitialiseInterfaceL - Tried loading the device with status %d", ret ); |
255 OstTrace1( TRACE_INTERNALS, DUP100_CUSBPNINTERFACE_INITIALISEINTERFACEL, "CUsbPnInterface::InitialiseInterfaceL - Tried loading the device with status %d", ret ); |
256 E_TRACE( ( _T("CUsbPnInterface::InitialiseInterfaceL - Tried loading the device with status %d"), ret ) ); |
256 E_TRACE( ( _T("CUsbPnInterface::InitialiseInterfaceL - Tried loading the device with status %d"), ret ) ); |
257 |
257 |
258 if (ret == KErrNone || ret == KErrAlreadyExists) |
258 if (ret == KErrNone || ret == KErrAlreadyExists) |
259 { |
259 { |
260 ret = iCommLdd.Open(0); |
260 ret = iCommLdd.Open(0); |
261 } |
261 } |
262 |
262 |
263 if (ret != KErrNone) |
263 if (ret != KErrNone) |
264 { |
264 { |
265 OstTrace1( TRACE_DETAILED, CUSBPNINTERFACE_INITIALISEINTERFACEL, "CUsbPnInterface::InitialiseInterfaceL - USBPN - Cannot open Comm LDD %d", ret ); |
265 OstTrace1( TRACE_INTERNALS, CUSBPNINTERFACE_INITIALISEINTERFACEL, "CUsbPnInterface::InitialiseInterfaceL - USBPN - Cannot open Comm LDD %d", ret ); |
266 E_TRACE( ( _T( "USBPN - Cannot open Comm LDD %d" ), ret ) ); |
266 E_TRACE( ( _T( "USBPN - Cannot open Comm LDD %d" ), ret ) ); |
267 User::Leave( KErrNotReady ); |
267 User::Leave( KErrNotReady ); |
268 } |
268 } |
269 } |
269 } |
270 |
270 |
271 ret = iPnDataLdd.Open(0); |
271 ret = iPnDataLdd.Open(0); |
272 if (ret != KErrNone) |
272 if (ret != KErrNone) |
273 { |
273 { |
274 OstTrace0( TRACE_DETAILED, CUSBPNINTERFACE_INITIALISEINTERFACEL_DUP1, "CUsbPnInterface::InitialiseInterfaceL - USBPN - Cannot open PnData LDD" ); |
274 OstTrace0( TRACE_INTERNALS, CUSBPNINTERFACE_INITIALISEINTERFACEL_DUP1, "CUsbPnInterface::InitialiseInterfaceL - USBPN - Cannot open PnData LDD" ); |
275 E_TRACE( ( _T( "USBPN - Cannot open PnData LDD" ) ) ); |
275 E_TRACE( ( _T( "USBPN - Cannot open PnData LDD" ) ) ); |
276 User::Leave( KErrNotReady ); |
276 User::Leave( KErrNotReady ); |
277 } |
277 } |
278 |
278 |
279 |
279 |
280 ////////////////////////////////////////////////////////////////////// |
280 ////////////////////////////////////////////////////////////////////// |
281 // Comm interface |
281 // Comm interface |
282 ////////////////////////////////////////////////////////////////////// |
282 ////////////////////////////////////////////////////////////////////// |
283 |
283 |
284 OstTrace0( TRACE_DETAILED, CUSBPNINTERFACE_INITIALISEINTERFACEL_DUP2, "CUsbPnInterface::InitialiseInterfaceL - USBPN - Setup Comm interface" ); |
284 OstTrace0( TRACE_INTERNALS, CUSBPNINTERFACE_INITIALISEINTERFACEL_DUP2, "CUsbPnInterface::InitialiseInterfaceL - USBPN - Setup Comm interface" ); |
285 E_TRACE( ( _T( "USBPN - Setup Comm interface" ) ) ); |
285 E_TRACE( ( _T( "USBPN - Setup Comm interface" ) ) ); |
286 |
286 |
287 TUsbcInterfaceInfoBuf ifc; |
287 TUsbcInterfaceInfoBuf ifc; |
288 |
288 |
289 ifc().iString = const_cast<TDesC16*> (&KUsbPnCommIfc); |
289 ifc().iString = const_cast<TDesC16*> (&KUsbPnCommIfc); |
290 ifc().iTotalEndpointsUsed = 0; |
290 ifc().iTotalEndpointsUsed = 0; |
291 ifc().iClass.iClassNum = KCommInterfaceClass; |
291 ifc().iClass.iClassNum = KCommInterfaceClass; |
292 ifc().iClass.iSubClassNum = KCommInterfaceSubClass; |
292 ifc().iClass.iSubClassNum = KCommInterfaceSubClass; |
293 ifc().iClass.iProtocolNum = KCommInterfaceProtocol; |
293 ifc().iClass.iProtocolNum = KCommInterfaceProtocol; |
294 |
294 |
295 OstTrace0( TRACE_DETAILED, CUSBPNINTERFACE_INITIALISEINTERFACEL_DUP3, "CUsbPnInterface::InitialiseInterfaceL - USBPN - Call SetInterface 0" ); |
295 OstTrace0( TRACE_INTERNALS, CUSBPNINTERFACE_INITIALISEINTERFACEL_DUP3, "CUsbPnInterface::InitialiseInterfaceL - USBPN - Call SetInterface 0" ); |
296 E_TRACE( ( _T( "USBPN - Call SetInterface 0" ) ) ); |
296 E_TRACE( ( _T( "USBPN - Call SetInterface 0" ) ) ); |
297 |
297 |
298 ret = iCommLdd.SetInterface(0, ifc); |
298 ret = iCommLdd.SetInterface(0, ifc); |
299 if (ret != KErrNone) |
299 if (ret != KErrNone) |
300 { |
300 { |
336 desc.Append(KVendorDMAFDDescriptorLength); |
336 desc.Append(KVendorDMAFDDescriptorLength); |
337 desc.Append(KUsbDescType_CS_Interface); |
337 desc.Append(KUsbDescType_CS_Interface); |
338 desc.Append(KVendorDMADescriptorSubType); |
338 desc.Append(KVendorDMADescriptorSubType); |
339 desc.Append(KDmaCapabilities); // Is zero. Meaning interface is DMA incapable |
339 desc.Append(KDmaCapabilities); // Is zero. Meaning interface is DMA incapable |
340 |
340 |
341 OstTrace0( TRACE_DETAILED, CUSBPNINTERFACE_INITIALISEINTERFACEL_DUP4, "CUsbPnInterface::InitialiseInterfaceL - USBPN - SetCSInterfaceDescriptorBlock" ); |
341 OstTrace0( TRACE_INTERNALS, CUSBPNINTERFACE_INITIALISEINTERFACEL_DUP4, "CUsbPnInterface::InitialiseInterfaceL - USBPN - SetCSInterfaceDescriptorBlock" ); |
342 E_TRACE( ( _T( "USBPN - SetCSInterfaceDescriptorBlock" ) ) ); |
342 E_TRACE( ( _T( "USBPN - SetCSInterfaceDescriptorBlock" ) ) ); |
343 ret = iCommLdd.SetCSInterfaceDescriptorBlock(0, desc); |
343 ret = iCommLdd.SetCSInterfaceDescriptorBlock(0, desc); |
344 |
344 |
345 CleanupStack::PopAndDestroy( descBuf ); |
345 CleanupStack::PopAndDestroy( descBuf ); |
346 |
346 |
353 |
353 |
354 ////////////////////////////////////////////////////////////////////// |
354 ////////////////////////////////////////////////////////////////////// |
355 // PHONET data interface alt 0 |
355 // PHONET data interface alt 0 |
356 ////////////////////////////////////////////////////////////////////// |
356 ////////////////////////////////////////////////////////////////////// |
357 |
357 |
358 OstTrace0( TRACE_DETAILED, CUSBPNINTERFACE_INITIALISEINTERFACEL_DUP5, "CUsbPnInterface::InitialiseInterfaceL - USBPN - Register PHONET Data IF (alt 0)" ); |
358 OstTrace0( TRACE_INTERNALS, CUSBPNINTERFACE_INITIALISEINTERFACEL_DUP5, "CUsbPnInterface::InitialiseInterfaceL - USBPN - Register PHONET Data IF (alt 0)" ); |
359 E_TRACE( ( _T( "USBPN - Register PHONET Data IF (alt 0)" ) ) ); |
359 E_TRACE( ( _T( "USBPN - Register PHONET Data IF (alt 0)" ) ) ); |
360 TUsbcInterfaceInfoBuf dataifc; |
360 TUsbcInterfaceInfoBuf dataifc; |
361 |
361 |
362 dataifc().iString = const_cast<TDesC16*> (&KUsbPnDataAlt0Ifc); |
362 dataifc().iString = const_cast<TDesC16*> (&KUsbPnDataAlt0Ifc); |
363 dataifc().iClass.iClassNum = KDataInterfaceClass; |
363 dataifc().iClass.iClassNum = KDataInterfaceClass; |
364 dataifc().iClass.iSubClassNum = KDataInterfaceSubClass; |
364 dataifc().iClass.iSubClassNum = KDataInterfaceSubClass; |
365 dataifc().iClass.iProtocolNum = KDataInterfaceProtocol; |
365 dataifc().iClass.iProtocolNum = KDataInterfaceProtocol; |
366 dataifc().iTotalEndpointsUsed = 0; |
366 dataifc().iTotalEndpointsUsed = 0; |
367 |
367 |
368 OstTrace0( TRACE_DETAILED, CUSBPNINTERFACE_INITIALISEINTERFACEL_DUP6, "CUsbPnInterface::InitialiseInterfaceL - USBPN - Setup PHONET Data IF (alt 0)" ); |
368 OstTrace0( TRACE_INTERNALS, CUSBPNINTERFACE_INITIALISEINTERFACEL_DUP6, "CUsbPnInterface::InitialiseInterfaceL - USBPN - Setup PHONET Data IF (alt 0)" ); |
369 E_TRACE( ( _T( "USBPN - Setup PHONET Data IF (alt 0)" ) ) ); |
369 E_TRACE( ( _T( "USBPN - Setup PHONET Data IF (alt 0)" ) ) ); |
370 |
370 |
371 ret = iPnDataLdd.SetInterface(0, dataifc); |
371 ret = iPnDataLdd.SetInterface(0, dataifc); |
372 if (ret != KErrNone) |
372 if (ret != KErrNone) |
373 { |
373 { |
379 |
379 |
380 ////////////////////////////////////////////////////////////////////// |
380 ////////////////////////////////////////////////////////////////////// |
381 // data interface alt 1 |
381 // data interface alt 1 |
382 ////////////////////////////////////////////////////////////////////// |
382 ////////////////////////////////////////////////////////////////////// |
383 |
383 |
384 OstTrace0( TRACE_DETAILED, CUSBPNINTERFACE_INITIALISEINTERFACEL_DUP7, "CUsbPnInterface::InitialiseInterfaceL - USBPN - Register PHONET Data IF (alt 1)" ); |
384 OstTrace0( TRACE_INTERNALS, CUSBPNINTERFACE_INITIALISEINTERFACEL_DUP7, "CUsbPnInterface::InitialiseInterfaceL - USBPN - Register PHONET Data IF (alt 1)" ); |
385 E_TRACE( ( _T( "USBPN - Register PHONET Data IF (alt 1)" ) ) ); |
385 E_TRACE( ( _T( "USBPN - Register PHONET Data IF (alt 1)" ) ) ); |
386 //Register Data Interface 1 |
386 //Register Data Interface 1 |
387 TUsbcInterfaceInfoBuf dataifc1; |
387 TUsbcInterfaceInfoBuf dataifc1; |
388 // Fill in dataifc1 |
388 // Fill in dataifc1 |
389 dataifc1().iString = const_cast<TDesC16*> (&KUsbPnDataAlt1Ifc);; |
389 dataifc1().iString = const_cast<TDesC16*> (&KUsbPnDataAlt1Ifc);; |
392 dataifc1().iClass.iProtocolNum = KDataInterfaceProtocol; |
392 dataifc1().iClass.iProtocolNum = KDataInterfaceProtocol; |
393 dataifc1().iTotalEndpointsUsed = KUsbPnRequiredNumberOfEndpoints; |
393 dataifc1().iTotalEndpointsUsed = KUsbPnRequiredNumberOfEndpoints; |
394 |
394 |
395 TUsbDeviceCaps dCaps1; |
395 TUsbDeviceCaps dCaps1; |
396 ret = iPnDataLdd.DeviceCaps(dCaps1); |
396 ret = iPnDataLdd.DeviceCaps(dCaps1); |
397 OstTrace0( TRACE_DETAILED, CUSBPNINTERFACE_INITIALISEINTERFACEL_DUP8, "CUsbPnInterface::InitialiseInterfaceL - USBPN - Checking result of DeviceCaps" ); |
397 OstTrace0( TRACE_INTERNALS, CUSBPNINTERFACE_INITIALISEINTERFACEL_DUP8, "CUsbPnInterface::InitialiseInterfaceL - USBPN - Checking result of DeviceCaps" ); |
398 E_TRACE( ( _T( "USBPN - Checking result of DeviceCaps" ) ) ); |
398 E_TRACE( ( _T( "USBPN - Checking result of DeviceCaps" ) ) ); |
399 if ( ret ) |
399 if ( ret ) |
400 { |
400 { |
401 TRACE_ASSERT_ALWAYS; |
401 TRACE_ASSERT_ALWAYS; |
402 User::Leave( ret ); |
402 User::Leave( ret ); |
403 } |
403 } |
404 |
404 |
405 const TUint totalEndpoints1 = static_cast<TUint>(dCaps1().iTotalEndpoints); |
405 const TUint totalEndpoints1 = static_cast<TUint>(dCaps1().iTotalEndpoints); |
406 OstTrace1( TRACE_DETAILED, CUSBPNINTERFACE_INITIALISEINTERFACEL_DUP9, "CUsbPnInterface::InitialiseInterfaceL - USBPN - TotalEndpoints1=%d", totalEndpoints1 ); |
406 OstTrace1( TRACE_INTERNALS, CUSBPNINTERFACE_INITIALISEINTERFACEL_DUP9, "CUsbPnInterface::InitialiseInterfaceL - USBPN - TotalEndpoints1=%d", totalEndpoints1 ); |
407 E_TRACE( ( _T( "USBPN - TotalEndpoints1 %d" ), totalEndpoints1 ) ); |
407 E_TRACE( ( _T( "USBPN - TotalEndpoints1 %d" ), totalEndpoints1 ) ); |
408 if (totalEndpoints1 < KUsbPnRequiredNumberOfEndpoints) |
408 if (totalEndpoints1 < KUsbPnRequiredNumberOfEndpoints) |
409 { |
409 { |
410 TRACE_ASSERT_ALWAYS; |
410 TRACE_ASSERT_ALWAYS; |
411 User::Leave( KErrGeneral ); |
411 User::Leave( KErrGeneral ); |
427 TBool outFound = EFalse; |
427 TBool outFound = EFalse; |
428 TBool inFound = EFalse; |
428 TBool inFound = EFalse; |
429 |
429 |
430 for (TUint ii = 0 ; ii < totalEndpoints1; ii++) |
430 for (TUint ii = 0 ; ii < totalEndpoints1; ii++) |
431 { |
431 { |
432 OstTrace0( TRACE_DETAILED, CUSBPNINTERFACE_INITIALISEINTERFACEL_DUP11, "CUsbPnInterface::InitialiseInterfaceL - USBPN - Set data interface 1" ); |
432 OstTrace0( TRACE_INTERNALS, CUSBPNINTERFACE_INITIALISEINTERFACEL_DUP11, "CUsbPnInterface::InitialiseInterfaceL - USBPN - Set data interface 1" ); |
433 E_TRACE( ( _T( "USBPN - Set data interface 1" ) ) ); |
433 E_TRACE( ( _T( "USBPN - Set data interface 1" ) ) ); |
434 const TUsbcEndpointCaps* caps; |
434 const TUsbcEndpointCaps* caps; |
435 caps = &data1[ii].iCaps; |
435 caps = &data1[ii].iCaps; |
436 |
436 |
437 OstTraceExt2( TRACE_DETAILED, CUSBPNINTERFACE_INITIALISEINTERFACEL_DUP12, "CUsbPnInterface::InitialiseInterfaceL - USBPN - iTypesAndDir=%d, epSize=%d", caps->iTypesAndDir, caps->MaxPacketSize() ); |
437 OstTraceExt2( TRACE_INTERNALS, CUSBPNINTERFACE_INITIALISEINTERFACEL_DUP12, "CUsbPnInterface::InitialiseInterfaceL - USBPN - iTypesAndDir=%d, epSize=%d", caps->iTypesAndDir, caps->MaxPacketSize() ); |
438 E_TRACE( ( _T( "USBPN - iTypesAndDir %d, epSize:%d" ), caps->iTypesAndDir, caps->MaxPacketSize() ) ); |
438 E_TRACE( ( _T( "USBPN - iTypesAndDir %d, epSize:%d" ), caps->iTypesAndDir, caps->MaxPacketSize() ) ); |
439 |
439 |
440 #ifdef EXTENDED_TRACE_FLAG |
440 #ifdef EXTENDED_TRACE_FLAG |
441 if(((caps->iTypesAndDir & (KUsbEpDirIn)) == (KUsbEpDirIn) ) ) |
441 if(((caps->iTypesAndDir & (KUsbEpDirIn)) == (KUsbEpDirIn) ) ) |
442 { |
442 { |
443 OstTrace0( TRACE_DETAILED, CUSBPNINTERFACE_INITIALISEINTERFACEL_DUP13, "CUsbPnInterface::InitialiseInterfaceL - USBPN - IN" ); |
443 OstTrace0( TRACE_INTERNALS, CUSBPNINTERFACE_INITIALISEINTERFACEL_DUP13, "CUsbPnInterface::InitialiseInterfaceL - USBPN - IN" ); |
444 E_TRACE( ( _T( "USBPN - IN" ))); |
444 E_TRACE( ( _T( "USBPN - IN" ))); |
445 } |
445 } |
446 if(((caps->iTypesAndDir & (KUsbEpDirOut)) == (KUsbEpDirOut) ) ) |
446 if(((caps->iTypesAndDir & (KUsbEpDirOut)) == (KUsbEpDirOut) ) ) |
447 { |
447 { |
448 OstTrace0( TRACE_DETAILED, CUSBPNINTERFACE_INITIALISEINTERFACEL_DUP14, "CUsbPnInterface::InitialiseInterfaceL - USBPN - OUT" ); |
448 OstTrace0( TRACE_INTERNALS, CUSBPNINTERFACE_INITIALISEINTERFACEL_DUP14, "CUsbPnInterface::InitialiseInterfaceL - USBPN - OUT" ); |
449 E_TRACE( ( _T( "USBPN - OUT" ))); |
449 E_TRACE( ( _T( "USBPN - OUT" ))); |
450 } |
450 } |
451 if(((caps->iTypesAndDir & (KUsbEpTypeBulk)) == (KUsbEpTypeBulk))) |
451 if(((caps->iTypesAndDir & (KUsbEpTypeBulk)) == (KUsbEpTypeBulk))) |
452 { |
452 { |
453 OstTrace0( TRACE_DETAILED, CUSBPNINTERFACE_INITIALISEINTERFACEL_DUP15, "CUsbPnInterface::InitialiseInterfaceL - USBPN - BULK" ); |
453 OstTrace0( TRACE_INTERNALS, CUSBPNINTERFACE_INITIALISEINTERFACEL_DUP15, "CUsbPnInterface::InitialiseInterfaceL - USBPN - BULK" ); |
454 E_TRACE( ( _T( "USBPN - BULK" ))); |
454 E_TRACE( ( _T( "USBPN - BULK" ))); |
455 } |
455 } |
456 #endif // EXTENDED_TRACE_FLAG |
456 #endif // EXTENDED_TRACE_FLAG |
457 |
457 |
458 if(data1[ii].iInUse) |
458 if(data1[ii].iInUse) |
459 { |
459 { |
460 OstTrace0( TRACE_DETAILED, CUSBPNINTERFACE_INITIALISEINTERFACEL_DUP16, "CUsbPnInterface::InitialiseInterfaceL - USBPN - Ep in use. Next..." ); |
460 OstTrace0( TRACE_INTERNALS, CUSBPNINTERFACE_INITIALISEINTERFACEL_DUP16, "CUsbPnInterface::InitialiseInterfaceL - USBPN - Ep in use. Next..." ); |
461 E_TRACE( ( _T( "USBPN - Ep in use. Next..."))); |
461 E_TRACE( ( _T( "USBPN - Ep in use. Next..."))); |
462 continue; |
462 continue; |
463 } |
463 } |
464 |
464 |
465 //changes to bulk in ep |
465 //changes to bulk in ep |
466 if (((caps->iTypesAndDir & (KUsbEpTypeBulk | KUsbEpDirIn)) == |
466 if (((caps->iTypesAndDir & (KUsbEpTypeBulk | KUsbEpDirIn)) == |
467 (KUsbEpTypeBulk | KUsbEpDirIn)) && !inFound) |
467 (KUsbEpTypeBulk | KUsbEpDirIn)) && !inFound) |
468 { |
468 { |
469 OstTrace0( TRACE_DETAILED, CUSBPNINTERFACE_INITIALISEINTERFACEL_DUP17, "CUsbPnInterface::InitialiseInterfaceL - USBPN - Bulk IN found for EEndpoint1" ); |
469 OstTrace0( TRACE_INTERNALS, CUSBPNINTERFACE_INITIALISEINTERFACEL_DUP17, "CUsbPnInterface::InitialiseInterfaceL - USBPN - Bulk IN found for EEndpoint1" ); |
470 E_TRACE( ( _T( "USBPN - Bulk IN found for EEndpoint1" ) ) ); |
470 E_TRACE( ( _T( "USBPN - Bulk IN found for EEndpoint1" ) ) ); |
471 // EEndpoint1 is bulk in endpoint |
471 // EEndpoint1 is bulk in endpoint |
472 dataifc1().iEndpointData[0].iType = KUsbEpTypeBulk; |
472 dataifc1().iEndpointData[0].iType = KUsbEpTypeBulk; |
473 dataifc1().iEndpointData[0].iDir = KUsbEpDirIn; |
473 dataifc1().iEndpointData[0].iDir = KUsbEpDirIn; |
474 //dataifc1().iEndpointData[0].iInterval = 0; |
474 //dataifc1().iEndpointData[0].iInterval = 0; |
477 inFound = ETrue; |
477 inFound = ETrue; |
478 } |
478 } |
479 else if (((caps->iTypesAndDir & (KUsbEpTypeBulk | KUsbEpDirOut)) == |
479 else if (((caps->iTypesAndDir & (KUsbEpTypeBulk | KUsbEpDirOut)) == |
480 (KUsbEpTypeBulk | KUsbEpDirOut)) && !outFound) |
480 (KUsbEpTypeBulk | KUsbEpDirOut)) && !outFound) |
481 { |
481 { |
482 OstTrace0( TRACE_DETAILED, CUSBPNINTERFACE_INITIALISEINTERFACEL_DUP18, "CUsbPnInterface::InitialiseInterfaceL - USBPN - Bulk OUT found for EEndpoint2" ); |
482 OstTrace0( TRACE_INTERNALS, CUSBPNINTERFACE_INITIALISEINTERFACEL_DUP18, "CUsbPnInterface::InitialiseInterfaceL - USBPN - Bulk OUT found for EEndpoint2" ); |
483 E_TRACE( ( _T( "USBPN - Bulk OUT found for EEndpoint2" ) ) ); |
483 E_TRACE( ( _T( "USBPN - Bulk OUT found for EEndpoint2" ) ) ); |
484 // EEndpoint2 is bulk out endpoint |
484 // EEndpoint2 is bulk out endpoint |
485 dataifc1().iEndpointData[1].iType = KUsbEpTypeBulk; |
485 dataifc1().iEndpointData[1].iType = KUsbEpTypeBulk; |
486 dataifc1().iEndpointData[1].iDir = KUsbEpDirOut; |
486 dataifc1().iEndpointData[1].iDir = KUsbEpDirOut; |
487 //dataifc1().iEndpointData[1].iInterval = 0; |
487 //dataifc1().iEndpointData[1].iInterval = 0; |
493 if (outFound && inFound) |
493 if (outFound && inFound) |
494 { |
494 { |
495 break; |
495 break; |
496 } |
496 } |
497 } // end for ( ... ) |
497 } // end for ( ... ) |
498 OstTrace0( TRACE_DETAILED, CUSBPNINTERFACE_INITIALISEINTERFACEL_DUP19, "CUsbPnInterface::InitialiseInterfaceL - USBPN - Checking epFound" ); |
498 OstTrace0( TRACE_INTERNALS, CUSBPNINTERFACE_INITIALISEINTERFACEL_DUP19, "CUsbPnInterface::InitialiseInterfaceL - USBPN - Checking epFound" ); |
499 E_TRACE( ( _T( "USBPN - Checking epFound" ) ) ); |
499 E_TRACE( ( _T( "USBPN - Checking epFound" ) ) ); |
500 if (!outFound || !inFound ) |
500 if (!outFound || !inFound ) |
501 { |
501 { |
502 TRACE_ASSERT_ALWAYS; |
502 TRACE_ASSERT_ALWAYS; |
503 User::Leave( KErrGeneral ); |
503 User::Leave( KErrGeneral ); |
504 } |
504 } |
505 |
505 |
506 OstTrace0( TRACE_DETAILED, CUSBPNINTERFACE_INITIALISEINTERFACEL_DUP20, "CUsbPnInterface::InitialiseInterfaceL - USBPN - Setting LCIF Data IF (alt 1)" ); |
506 OstTrace0( TRACE_INTERNALS, CUSBPNINTERFACE_INITIALISEINTERFACEL_DUP20, "CUsbPnInterface::InitialiseInterfaceL - USBPN - Setting LCIF Data IF (alt 1)" ); |
507 E_TRACE( ( _T( "USBPN - Setting LCIF Data IF (alt 1)" ) ) ); |
507 E_TRACE( ( _T( "USBPN - Setting LCIF Data IF (alt 1)" ) ) ); |
508 |
508 |
509 ret = iPnDataLdd.SetInterface(1, dataifc1); |
509 ret = iPnDataLdd.SetInterface(1, dataifc1); |
510 if (ret != KErrNone) |
510 if (ret != KErrNone) |
511 { |
511 { |