is it possible to use the camera remote API while charging? I use a Sony QX1. It seems that the camera stops its WLAN connection when you plug in an USB cable even it is only connected with a power adapter. Is there a way to avoid the behaviour?
Best regards,
Oliver Bollmann
Some of the cameras have an option which will change the USB behaviour. Allowing it to be on while charging.
Sony needs to make all these cameras have an 'always on' mode. As is, most have soft power which means any power outage and the camera will never turn back on without user intervention.
Related
I want to use the USB 2.0 Port on an STM32G431CB as Virtual Com Port (VCP). The Device is self powered, so I need to enable the USB Link Power Management, to detect when the USB Cable is plugged in. The STM32G431 has no dedicated VBUS Pin, so according to this document [1] any 5 Volt tolerant pin with EXTI capabilities should be able to fullfill that role.
So far so good, but how do I reset the USB statemachine, when I detect, that the USB Power has been connected / the USB cable has been plugged in? I looked through several documents, but I could not find any hint, how I caould reset the USB Statemachine, when this Interrupt occurs. Is there any HAL function or something similar?
But it's even more confusing, that I can enable the Link Power Management in CubeMX, but there are no further parameters, like which Pin I'd like to use, or callback functions, etc. It's just an "enabled" or "disabled" - even the tooltip / online help is empty.
can anyone point me in the right direction?
[1] Link: https://community.st.com/s/article/FAQ-Management-of-VBUS-sensing-for-USB-device-design
I am working on a product with an LPC1788 which needs the following USB features:
Firmware download (from host PC to device, not through a USB
key).
File upload (from device to host).
Ideally we'd also be able to get some information from the device like serial number etc.
The device should only work with a custom Windows application, so simply using a mass-storage device as-is will not do. There are quite a lot of data to upload (200MB +), so using USB bulk transfers seem necessary to me.
What is the best way to approach this? I imagine I would need to create some sort of USB composite device(?). However, I was hoping to use nxpUSBlib or winUSB so I don't have to go through the Windows driver validation process.... What are my options? Perhaps there some way to make the mass-storage device invisible for Windows?
Thanks!
Dirk
I think you'll definitely want to go with a vendor specific bulk device and you can easily use WinUSB for all of this. This should be sufficient for everything you've specified here.
For your firmware loader I'd recommend looking at the DFU (device firmware update) specification. You'll probably want make some command for your device that when sent will cause it to reenumerate itself in to DFU mode for update (rather than a composite device that is always exposed - this restricts the issue of the other interface being in use while you're flashing your device). Then you can flash it and reset it so it will reenumerate as your vendor specific bulk device again.
I wouldn't recommend mucking with mass storage, from your requirements it will be better to implement your own protocol and create some application or DLL that consumes the WinUSB API to communicate with your device, including the firmware update.
I noticed this paragraph in the BackgroundTransferService documentation:
This property allows applications to request that background transfers proceed when only a cellular connection is available and when the device is on battery power. This is only a preference setting. It does not guarantee that transfers will take place under these conditions. The default value is None, which indicates that transfers should occur only when a Wi-Fi connection is available and when the device is connected to external power.
http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh286419(v=vs.105).aspx
I'm not a native english speaker, but does that means that the API will roll some dices to choose whether or not an upload will work, whatever are the preferences I chose, and that transfer can pause or fail?
I want to verify with you, as at first sight, it doesn't make sense to rely on randomness.
I agree that the wording can be confusing. Changing this setting allows the background transfer to occur if the phone is not connected to WiFi and not plugged in (which is the default). It's best to look at the available values.
None Allow transfers only when the device is using external power and has a Wi-Fi connection. This is the default setting.
AllowCellular Allow transfers when the device is connected to external power and has a Wi-Fi or cellular connection.
AllowBattery Allow transfers when there is a Wi-Fi connection and the device is using battery or external power.
AllowCellularAndBattery Allow transfers when the device is using battery or external power and has a Wi-Fi or cellular connection.
The default value states that transfers can ONLY happen when the phone has WiFi AND plugged in. By changing this value you allow the phone to not have WiFi and/or not plugged in. The transfer will still happen if connected to WiFi or pluggin in.
Hope this helps
I want to test an iPad app that needs an internet connection. I want to sit at my desk next to my router and test it against a poor wifi connection. How can I replicate a really poor wifi connection? Wrap the router in tin foil? Try and limit the router connection speed to the internet?
Thanks.
In the end I tested the app using the iOS simulator in Xcode on a Mac, then used the excellent Network Link Conditioner tool (that comes with Xcode) to tune my network speed as required. Worked a treat.
Better ways to do these tests are to use RF isolation chambers.
Did you try reducing the power levels on Access Point to minimum?
On a different note, if you want to have a bad Wi-Fi environment,create lot of interference on same channel from another Access Point.
If I have two iOS devices, both on same WiFi network and both with Bluetooth turned on, and I use GameKit (specifically GKSession) to manually setup a communications channel between them (without using GKPeerPickerController), I cant tell if it is using WiFi or Bluetooth.
Does iOS prioritise one over the other? I'm hoping that it uses Wifi before Bluetooth, but id like to be sure.
If WiFi is available and bluetooth isn't, it uses Wifi, if Bluetooth is available and Wifi isn't, it uses Bluetooth. Im wondering how they're talking if both bluetooth and WiFi are available, which does GameKit choose over the other?
The only way I can see to find this out is by running a packet sniffer on my WiFi and running several tests across different devices. Kinda hoping someone can save me that effort!
Thanks :-)
According to Apple's documentation if you use a GKPeerPickerController to create your GKSession you will be able to select bluetooth or wifi connectivity (see GKPeerPickerConnectionType).
I'm hoping that it uses Wifi before Bluetooth, but id like to be sure.
It seems an internet connections requires a bit of user code (but not bluetooth) so I would guess it defaults to bluetooth to avoid making this requirement mandatory.