Turns out I was missing: /usr/lib/camera/com.qti.tuned.default.bin
It appears to be working now.
Turns out I was missing: /usr/lib/camera/com.qti.tuned.default.bin
It appears to be working now.
@Vinny, I'm adding a little more context to our efforts on UFS1 support.
We tied the detect pin to ground but the clock line on J5 still doesn't show a clock signal on an oscilloscope.
We tried going back to the M0062-2 with an SDCard to see if that would work. In our tests, the voxl2 did not communicate correctly with the SDCard. We get the following dmesg output:
[ 75.085028] mmc0: sdhci_msm_execute_tuning: no tuning point found
[ 75.085083] mmc0: tuning execution failed: -5
[ 75.085126] mmc0: error -5 whilst initialising SD card
We also tried digging around on Qualcomm's website to check the device tree. I found this handy website that lists some of the addresses used for UFS.
https://docs.qualcomm.com/doc/80-88500-4/topic/90_UFS_hardware.html
It shows the UFS_MEM_MPHY_UFS register as 0x01D87000 and UFS_MEM_UFS at 0x01D8400. for the "Embedded UFS memory address" I see these in the m0054-kona.dtsi device tree:
ufsphy_mem: ufsphy_mem@1d87000 {
reg = <0x1d87000 0xe00>, <0x1d90000 0x8000>; /* PHY regs */
reg-names = "phy_mem", "ufs_ice";
...
};
and
ufshc_mem: ufshc@1d84000 {
compatible = "qcom,ufshc";
reg = <0x1d84000 0x3000>, <0x1d90000 0x8000>;
reg-names = "ufs_mem", "ufs_ice";
...
};
That same website also shows the UFS_CARD_MPHY_UFS as 0x01DA7000 and UFS_CARD_UFS as 0x01DA4000. I do not see those addresses used in m0054-kona.dtsi.
I do see the SDC 2 memory addresses of 0x08804000 (https://docs.qualcomm.com/doc/80-88500-4/topic/97_SD_SDIO_hardware.html) listed in the m0054-kona.dtsi.
sdhc_2: sdhci@8804000 {
compatible = "qcom,sdhci-msm-v5";
reg = <0x8804000 0x1000>;
reg-names = "hc_mem";
Do you know if the current device tree should support the UFS Card interface? It seems curious to me that we do not see the UFS Card addresses in the device tree.
Should we expect an SDCard to work on the m0062-2? If so, I'll experiment further with other boards and other SD cards to try to isolate the issue.
We have been informed the Orqa handheld controller is not acceptable as an "NDAA-compliant" controller due to components inside of the remote. What options are there for modifying the Starling 2 Max drone to take in an SBus input from some other handheld controller? We are comfortable disassembling the Starling 2 Max, replacing boards, soldering, etc.
We would like to modify the front camera mount on the Starling 2 Max to tilt the camera down. Can you share the 3D model used for making the front (horizontal view) camera mount?
Turns out I was missing: /usr/lib/camera/com.qti.tuned.default.bin
It appears to be working now.
voxl2:/$ voxl-camera-server -d 0
=================================================================
configuration for 1 cameras:
cam #0
name: hires
sensor type: imx678
isEnabled: 1
camId: 0
camId2: -1
fps: 30
en_rotate: 0
en_rotate2: 0
en_preview: 0
pre_width: 640
pre_height: 480
en_raw_preview: 0
en_small_video: 1
small_video_width: 1024
small_video_height: 768
en_large_video: 1
large_video_width: 2048
large_video_height: 1536
en_snapshot: 1
snap_width: 3840
snap_height: 2160
ae_mode: isp
standby_enabled: 0
decimator: 1
independent_exposure:0
=================================================================
DEBUG: Attempting to open the hal module
DEBUG: SUCCESS: Camera module opened on attempt 0
DEBUG: ----------- Number of cameras: 0
DEBUG: Cam idx: 0, Cam slot: 3, Slave Address: 0x0034, Sensor Id: 0xA602
ERROR: Found zero cameras connected, need at least one.
I have a new VOXL2 with voxl-suite 1.1.3-1:
--------------------------------------------------------------------------------
system-image: 1.7.4-M0054-14.1a-perf
kernel: #1 SMP PREEMPT Fri Feb 9 22:38:25 UTC 2024 4.19.125
--------------------------------------------------------------------------------
hw platform: M0054
mach.var: 1.2
--------------------------------------------------------------------------------
voxl-suite: 1.1.3-1
--------------------------------------------------------------------------------
no current network connection
--------------------------------------------------------------------------------
I have an MDK-M0061-2-06 IMX678 hires camera connected via M0084 Dual Camera Adapter JU to VOXL2 Camera Group 1 J7.
When I first have voxl-camera-server list connected cameras it of course doesn't find the camera until I copy over the .bin for that camera. Once I copy the .bin to /usr/lib/camera then it seems to find the camera, but yet it also thinks it doesn't find it.
Excerpt:
DEBUG: Cam idx: 0, Cam slot: 3, Slave Address: 0x0034, Sensor Id: 0xA602
DEBUG: Number of cameras: 0
I have also used the configuration file helper script: camera-server-config-helper hires:imx678:0
Rebooting doesn't help.
What step am I missing to get the IMX678 to be used by voxl-camera-server?
Showing no camera, then copying the .bin file, then pseudo-finding the camera:
voxl2:/$ voxl-camera-server -l
DEBUG: Attempting to open the hal module
DEBUG: SUCCESS: Camera module opened on attempt 0
DEBUG: ----------- Number of cameras: 0
DEBUG: Note: This list comes from the HAL module and may not be indicative
DEBUG: of configurations that have full pipelines
DEBUG: Number of cameras: 0
voxl2:/$ cp /usr/share/modalai/chi-cdk/imx678/com.qti.sensormodule.imx678_3.bin /usr/lib/camera/
voxl2:/$ voxl-camera-server -l
DEBUG: Attempting to open the hal module
DEBUG: SUCCESS: Camera module opened on attempt 0
DEBUG: ----------- Number of cameras: 0
DEBUG: Cam idx: 0, Cam slot: 3, Slave Address: 0x0034, Sensor Id: 0xA602
DEBUG: Note: This list comes from the HAL module and may not be indicative
DEBUG: of configurations that have full pipelines
DEBUG: Number of cameras: 0
I configured the camera as:
voxl2:/$ camera-server-config-helper hires:imx678:0
successfully wrote this camera config to disk:
=================================================================
configuration for 1 cameras:
cam #0
name: hires
sensor type: imx678
isEnabled: 1
camId: 0
camId2: -1
fps: 30
en_rotate: 0
en_rotate2: 0
en_preview: 0
pre_width: 640
pre_height: 480
en_raw_preview: 0
en_small_video: 1
small_video_width: 1024
small_video_height: 768
en_large_video: 1
large_video_width: 2048
large_video_height: 1536
en_snapshot: 1
snap_width: 3840
snap_height: 2160
ae_mode: isp
standby_enabled: 0
decimator: 1
independent_exposure:0
=================================================================
camera_server_config_helper is done
Trying to just run the camera-server:
voxl2:/$ voxl-camera-server
=================================================================
configuration for 1 cameras:
cam #0
name: hires
sensor type: imx678
isEnabled: 1
camId: 0
camId2: -1
fps: 30
en_rotate: 0
en_rotate2: 0
en_preview: 0
pre_width: 640
pre_height: 480
en_raw_preview: 0
en_small_video: 1
small_video_width: 1024
small_video_height: 768
en_large_video: 1
large_video_width: 2048
large_video_height: 1536
en_snapshot: 1
snap_width: 3840
snap_height: 2160
ae_mode: isp
standby_enabled: 0
decimator: 1
independent_exposure:0
=================================================================
ERROR: Found zero cameras connected, need at least one.
Are the 10x10 Hires cameras NDAA compliant?
https://www.modalai.com/products/msu-00024-1?variant=44804551016752
The only camera I found available from ModalAI that references NDAA compliance is the Starvis IMX678 w/ M12-style Lens, which has been out of stock for some time.
https://www.modalai.com/products/mdk-m0061-2?_pos=4&_sid=217fbb18c&_ss=r
The NDAA compliance page only mentions the Hadron 320 and the DragonEye and no ModalAI cameras. Do you sell cables that can connect the VOXL2 to either the Hadron 320 or the DragonEye?
https://www.modalai.com/pages/blue-uas-framework?_pos=6&_sid=217fbb18c&_ss=r
The documentation for the 5G Modem Carrier Board lists the pinout for numerous connections, but does not include the pinout for the M.2 connector. There is a table for on https://docs.modalai.com/5G-Modem-datasheet/ for the M.2 pinout, but it is not populated. Can you send the M.2 pinout for this board?