@BrianKitchen10 I have some new information from a technical guy I know at Ricoh.
PTP can be used in plug-in mode
BLE API can be used in plug-in mode
USB OTG can be used if battery is not an issue
It appears that the USB OTG will not charge the camera, thus, it may not be a good solution.
PTP should work, but we don’t have an example. What happened when you tried to trigger the dual-fisheye image with the USB cable using PTP? Did it not detect the camera? For example, if you were using a Raspberry Pi to test the USB connection, can the Raspberry Pi detect the THETA V?
You have done so much! I have had to turn my attention to other projects for the last twoish days and will probably get back to it on Monday. I’m testing using ptpcam from libptp2 and get:
PTP: Device Busy
ERROR: Could not Capture
ptpcam will take pictures when the plugin is not enabled. I can get/delete pictures in plugin mode. This kind of seems like the fisheye plugin is holding onto the camera file descriptor and some the other camera app is attempting to respond to the ptp request but cant open the fd.
Thanks for your help providing this information. I’ll work with @jcasman to send another question to a technical guy we know at Ricoh.
I’m just taking a guess, but the plug-in may need to be modified to release control of the camera resources. The Camera API referred to below is the plug-in Camera API.
Notifying Camera Device Control
When using “com.theta360.plugin.ACTION_MAIN_CAMERA_CLOSE” with Broadcast Intent, the fact that the plug-in is controlling camera resources will be reported to the camera, and the Camera API will be able to be used.
When using “com.theta360.plugin.ACTION_MAIN_CAMERA_OPEN” with Broadcast Intent, the fact that the plug-in has released camera resources will be reported to the camera, and the Camera API will not be able to be used.
Update August 3, 2018
This is a snippet from a conversation we had with a knowledgeable developer.
all APIs are available under plugin mode. But if the plugin uses Camera API, they will not be supported. Under the case of CameraAPI, it will be the similar status as sleep mode. WebAPI cannot be available, BLE and USB APIs behave as sleep mode.
Update August 4, 2018
Question: Is there any way to take a dual-fisheye image using a USB or Ethernet cable?
Response: No, those APIs can be used for capturing standard still or video. To capture a dual fisheye image, the Camera API needs to be used. Therefore, there are some limitations as sleep mode.
The camera api referenced above is the plug-in Camera API.
Thanks for the updates. So it sounds like I can’t take a dual fisheye using a remote capture command.
What about this idea… I turn the camera on and then put it into plugin-mode (can that be done remotely?). In plugin mode it will take a picture right away. It then falls into a never-ending loop which monitors the image database for the presence of any items. I know I can grab and delete an image from the ricoh remotely even with a plugin active. Whenever I need a picture, I will delete whatever picture is in the database. The plugin will then see the database is empty then it takes another picture. I can then grab that image, and wait to delete it until I next want an image.
Does that seem like it has a prayer of working?
Thanks for all your help with this, you have saved me a huge amount of time not following useless trails.
I don’t think you can turn the camera on remotely and then put it into plug-in mode.
If the user can manually put the camera into plug-in mode, you should be able to put the plug-in into the loop you describe and have it check for the image and then take the dual-fisheye. You can then send the image to another source using Wi-Fi, BLE, or a cable.
BTW, I got the Ethernet working with a cheap $14 adapter. However, I think the battery is still draining. I have not done a long-term test yet. I’m also not taking a dual-fisheye picture with this implementation.
package name should now be com.hirota41.dualfisheye_plugin
Stability improvement on the latest FW
Reduced interval for 1 shot mode (light blue mode)
This apk is being submitted to the THETA Store, but developers can use it now during the assessment and quality control process. You need to have an unlocked camera, which is free to get unlocked if you join the partner program, which is also free to join right now.
Sorry, bad grammar on my part. I meant that I turn the camera on physically and remotely put it into plug in mode. Even if I can’t do that, if what I described should work then it would just be the initial startup where the user would have to do something manually.
Thanks for the ethernet info. I’m going to buy one now.
Thanks for the info about the updated apk, I will also download that now.
@jcasman, do you know if the camera can be put into plug-in mode with the Wi-Fi API or can it be set to boot automatically into plug-in mode? If you don’t know, can you ask your contact at Ricoh?
I seem to remember a discussion about this, but I don’t remember the answer.
@BrianKitchen10 I sent you the direct link to download the updated apk.
Generates a HDR image from multiple photographs ....
MKHDRI - Version 1.33.0434 (2005 - 2011)
locale is : English_United States.1252
file 'D:\Documents\plugin-samples\dual-fisheye\sample images\20180806141130.JPG' (8-BIT 5792x2896) opened
file 'D:\Documents\plugin-samples\dual-fisheye\sample images\20180806141129.JPG' (8-BIT 5792x2896) opened
file 'D:\Documents\plugin-samples\dual-fisheye\sample images\20180806141128.JPG' (8-BIT 5792x2896) opened
EV : 1.321928
estimate brightness transfer functions ...
estimate camera curve for channel 1 ...
estimate camera curve for channel 2 ...
estimate camera curve for channel 3 ...
combining images ...
dynamic range : 77.864608
true EV span : 6.282896
max radiance : 1.16555
success
Stitching
Converted of picturenaut from tiff to jpg format.
Using PTGui for the stitch test. Note that stitching is not perfect with PTGui and is shown only as a rough test. I’ll repeat the HDR test with Ichi’s stitching library when I receive the updated version.
Please note that I confirmed that the camera cannot be powered by the Ethernet USB OTG adapter. This may limit the usefulness of the Ethernet technique, depending on your application. The camera will stop working when the rechargeable battery runs out.
@jcasman is checking to see if the camera can be put into plug-in mode using an API call or boot setting.
BTW, the stitching application is still available for Android. It has a watermark on the free demo version. Link to download the demo version is in the plug-in developer guide.
Thanks for the information. @jcasman and I tested the plug-in yesterday using a 7-shot modification. We were not able to replicate the problem, but we will keep testing this.
We are planning to use the source code of the dual-fisheye plug-in as part of a workshop in San Francisco on August 30 from 6-8pm.