embeded/raspberry pi2024. 7. 16. 10:30

신호 발생기 통해서 넣어 보니 3.3V 에서 65535로 가득 찬다.

raw base  
60398 65535 3.04132753490501
62367 65535 3.14047608148318
64319 65535 3.23876859693294
65535 65535 3.3

ADC 입력 범위는 0~3.3V 인 듯(음수도 넣어 볼 걸 그랬나..

GND의 경우 0 으로 뜨니 음수는 안될 것 같기도 한데 과연?

 

ADC가 12bit 인데 16bit 값으로 해서 0.05V 정도 오차가 생기는게 아닐까 싶긴 하다

(혹은 내부 AREF 회로에서 RC 회로로 구현해 오차가 발생한걸지도)

'embeded > raspberry pi' 카테고리의 다른 글

pgadmin4 를 rpi에 설치하기 성공  (0) 2024.07.29
pgadmin3 안되잖아?!  (0) 2024.07.26
rpi pico / micropython  (0) 2024.07.15
rpi 콘솔 옮기기  (0) 2024.02.26
rpi libcamera?  (0) 2024.02.26
Posted by 구차니
embeded/raspberry pi2024. 7. 15. 22:59

circuit python 을 예전에 사용했었는데

circuit python 에서 import machine 하면 모듈이 없다고 해서 찾아보니

micropython 에서 제공하는 녀석이라고 한다.

 

machine is a built-in module in MicroPython which means it's part of MicroPython itself. CircuitPython and MicroPython similar but not exactly the same. One difference is that CircuitPython has no built-in module called machine.

[링크 : https://forums.raspberrypi.com/viewtopic.php?t=314090]

 

[링크 : https://micropython.org/download/RPI_PICO/]

'embeded > raspberry pi' 카테고리의 다른 글

pgadmin3 안되잖아?!  (0) 2024.07.26
rpi pico ADC 범위  (0) 2024.07.16
rpi 콘솔 옮기기  (0) 2024.02.26
rpi libcamera?  (0) 2024.02.26
3d 프린트 한 라즈베리 케이스  (0) 2024.02.21
Posted by 구차니
프로그램 사용/kinect2024. 7. 15. 21:57

10세대 노트북에서 해서 그런가 잘 된다.

2세대에는 native USB3.0이 없어서 그런가?

 

[  102.223422] usb 1-3: new high-speed USB device number 5 using xhci_hcd
[  102.375595] usb 1-3: New USB device found, idVendor=045e, idProduct=02d9, bcdDevice= 0.70
[  102.375609] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  102.375615] usb 1-3: Product: NuiSensor Adaptor      
[  102.375619] usb 1-3: Manufacturer: Microsoft Corporation  
[  102.377490] hub 1-3:1.0: USB hub found
[  102.377643] hub 1-3:1.0: 1 port detected
[  102.832793] usb 2-3: new SuperSpeed USB device number 3 using xhci_hcd
[  105.820384] usb 2-3: New USB device found, idVendor=045e, idProduct=02d9, bcdDevice= 0.73
[  105.820400] usb 2-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  105.820406] usb 2-3: Product: NuiSensor Adaptor      
[  105.820411] usb 2-3: Manufacturer: Microsoft Corporation  
[  105.825068] hub 2-3:1.0: USB hub found
[  105.825375] hub 2-3:1.0: 1 port detected
[  106.307431] usb 2-3.1: new SuperSpeed USB device number 4 using xhci_hcd
[  106.328374] usb 2-3.1: New USB device found, idVendor=045e, idProduct=02d8, bcdDevice= 1.00
[  106.328380] usb 2-3.1: New USB device strings: Mfr=1, Product=2, SerialNumber=4
[  106.328381] usb 2-3.1: Product: Xbox NUI Sensor
[  106.328383] usb 2-3.1: Manufacturer: Microsoft
[  106.328384] usb 2-3.1: SerialNumber: 501441643042
[  106.379651] usbcore: registered new interface driver snd-usb-audio
[  120.739532] usb 2-3.1: reset SuperSpeed USB device number 4 using xhci_hcd
[  163.891946] warning: `ThreadPoolForeg' uses wireless extensions which will stop working for Wi-Fi 7 hardware; use nl80211
[  188.498922] usb 1-3: USB disconnect, device number 5
[  188.581688] usb 2-3: USB disconnect, device number 3
[  188.581693] usb 2-3.1: USB disconnect, device number 4

 

되니 좋긴한데.. 되서 나쁘네.. 컴퓨터 바꾸어야 한다는 말이잖아.. ㅠㅠ

libfreenect2/build/bin$ ./Protonect 
Version: 0.2.0
Environment variables: LOGFILE=<protonect.log>
Usage: ./Protonect [-gpu=<id>] [gl | cl | clkde | cuda | cudakde | cpu] [<device serial>]
        [-noviewer] [-norgb | -nodepth] [-help] [-version]
        [-frames <number of frames to process>]
To pause and unpause: pkill -USR1 Protonect
[Info] [Freenect2Impl] enumerating devices...
[Info] [Freenect2Impl] 8 usb devices connected
[Info] [Freenect2Impl] found valid Kinect v2 @2:4 with serial 501441643042
[Info] [Freenect2Impl] found 1 devices
libva info: VA-API version 1.14.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_14
libva info: va_openDriver() returns 0
[Info] [VaapiRgbPacketProcessorImpl] driver: Intel iHD driver for Intel(R) Gen Graphics - 22.3.1 ()
[Info] [Freenect2DeviceImpl] opening...
[Info] [Freenect2DeviceImpl] transfer pool sizes rgb: 20*16384 ir: 60*8*33792
[Info] [Freenect2DeviceImpl] opened
[Info] [Freenect2DeviceImpl] starting...
[Debug] [Freenect2DeviceImpl] status 0x090000: 9729
[Debug] [Freenect2DeviceImpl] status 0x090000: 9731
[Info] [Freenect2DeviceImpl] submitting rgb transfers...
[Info] [Freenect2DeviceImpl] submitting depth transfers...
[Debug] [DepthPacketStreamParser] not all subsequences received 0
[Info] [Freenect2DeviceImpl] started
device serial: 501441643042
device firmware: 4.0.3911.0
[Debug] [DepthPacketStreamParser] not all subsequences received 960
[Debug] [DepthPacketStreamParser] not all subsequences received 1007
[Info] [DepthPacketStreamParser] 1 packets were lost
[Debug] [DepthPacketStreamParser] not all subsequences received 1022
[Debug] [DepthPacketStreamParser] not all subsequences received 511
[Debug] [DepthPacketStreamParser] not all subsequences received 1019
[Info] [DepthPacketStreamParser] 3 packets were lost
[Debug] [DepthPacketStreamParser] not all subsequences received 1015
[Debug] [DepthPacketStreamParser] not all subsequences received 1015
[Debug] [DepthPacketStreamParser] not all subsequences received 1019
[Info] [DepthPacketStreamParser] 3 packets were lost
[Info] [OpenGLDepthPacketProcessor] avg. time: 7.41895ms -> ~134.79Hz
[Info] [VaapiRgbPacketProcessor] avg. time: 3.69809ms -> ~270.41Hz
[Debug] [DepthPacketStreamParser] not all subsequences received 1015
[Info] [DepthPacketStreamParser] 1 packets were lost
[Info] [OpenGLDepthPacketProcessor] avg. time: 7.03777ms -> ~142.091Hz
[Info] [VaapiRgbPacketProcessor] avg. time: 3.92516ms -> ~254.767Hz
[Debug] [DepthPacketStreamParser] not all subsequences received 1022
[Debug] [DepthPacketStreamParser] not all subsequences received 1019
[Debug] [DepthPacketStreamParser] not all subsequences received 1022
[Debug] [DepthPacketStreamParser] not all subsequences received 1022
[Debug] [DepthPacketStreamParser] not all subsequences received 991
[Debug] [DepthPacketStreamParser] not all subsequences received 1022
[Debug] [DepthPacketStreamParser] not all subsequences received 987
[Info] [DepthPacketStreamParser] 7 packets were lost
[Debug] [DepthPacketStreamParser] not all subsequences received 511
[Debug] [DepthPacketStreamParser] not all subsequences received 511
[Debug] [DepthPacketStreamParser] not all subsequences received 991
[Debug] [DepthPacketStreamParser] not all subsequences received 511
[Debug] [DepthPacketStreamParser] not all subsequences received 1022
[Debug] [DepthPacketStreamParser] not all subsequences received 1019
[Debug] [DepthPacketStreamParser] not all subsequences received 767
[Debug] [DepthPacketStreamParser] not all subsequences received 991
[Debug] [DepthPacketStreamParser] not all subsequences received 1019
[Info] [DepthPacketStreamParser] 9 packets were lost
[Debug] [DepthPacketStreamParser] not all subsequences received 1022
[Debug] [DepthPacketStreamParser] not all subsequences received 1022
[Debug] [DepthPacketStreamParser] not all subsequences received 971
[Debug] [DepthPacketStreamParser] not all subsequences received 511
[Debug] [DepthPacketStreamParser] not all subsequences received 511
[Debug] [DepthPacketStreamParser] not all subsequences received 1022
[Info] [VaapiRgbPacketProcessor] avg. time: 4.29916ms -> ~232.603Hz
[Debug] [DepthPacketStreamParser] not all subsequences received 1019
[Debug] [DepthPacketStreamParser] not all subsequences received 511
[Debug] [DepthPacketStreamParser] not all subsequences received 511
[Info] [DepthPacketStreamParser] 9 packets were lost
[Debug] [DepthPacketStreamParser] not all subsequences received 1022
[Debug] [DepthPacketStreamParser] not all subsequences received 1022
[Debug] [DepthPacketStreamParser] not all subsequences received 987
[Info] [OpenGLDepthPacketProcessor] avg. time: 7.66351ms -> ~130.489Hz
[Debug] [DepthPacketStreamParser] not all subsequences received 511
[Debug] [DepthPacketStreamParser] not all subsequences received 1022
[Debug] [DepthPacketStreamParser] not all subsequences received 1019
[Debug] [DepthPacketStreamParser] not all subsequences received 511
[Debug] [DepthPacketStreamParser] not all subsequences received 511
[Debug] [DepthPacketStreamParser] not all subsequences received 511
[Info] [DepthPacketStreamParser] 9 packets were lost
[Debug] [DepthPacketStreamParser] not all subsequences received 1022
[Debug] [DepthPacketStreamParser] not all subsequences received 1019
[Info] [DepthPacketStreamParser] 2 packets were lost
[Debug] [DepthPacketStreamParser] not all subsequences received 1022
[Debug] [DepthPacketStreamParser] not all subsequences received 1007
[Info] [VaapiRgbPacketProcessor] avg. time: 4.41688ms -> ~226.404Hz
[Info] [DepthPacketStreamParser] 2 packets were lost
[Debug] [DepthPacketStreamParser] not all subsequences received 1022
[Debug] [DepthPacketStreamParser] not all subsequences received 1019
[Info] [DepthPacketStreamParser] 2 packets were lost
[Debug] [DepthPacketStreamParser] not all subsequences received 1022
[Info] [OpenGLDepthPacketProcessor] avg. time: 6.63554ms -> ~150.704Hz
[Debug] [DepthPacketStreamParser] not all subsequences received 510
[Debug] [DepthPacketStreamParser] not all subsequences received 1022
[Debug] [DepthPacketStreamParser] not all subsequences received 1019
[Debug] [DepthPacketStreamParser] not all subsequences received 1015
[Info] [DepthPacketStreamParser] 5 packets were lost
[Debug] [DepthPacketStreamParser] not all subsequences received 1022
[Debug] [DepthPacketStreamParser] not all subsequences received 1022
[Info] [DepthPacketStreamParser] 2 packets were lost
[Info] [VaapiRgbPacketProcessor] avg. time: 4.01999ms -> ~248.757Hz
[Debug] [DepthPacketStreamParser] not all subsequences received 511
[Info] [DepthPacketStreamParser] 1 packets were lost
[Debug] [DepthPacketStreamParser] not all subsequences received 1022
[Debug] [DepthPacketStreamParser] not all subsequences received 511
[Debug] [DepthPacketStreamParser] not all subsequences received 1022
[Info] [OpenGLDepthPacketProcessor] avg. time: 6.68671ms -> ~149.55Hz
[Debug] [DepthPacketStreamParser] not all subsequences received 1022
[Debug] [DepthPacketStreamParser] not all subsequences received 1022
[Info] [DepthPacketStreamParser] 5 packets were lost
[Debug] [DepthPacketStreamParser] not all subsequences received 511
[Debug] [DepthPacketStreamParser] not all subsequences received 511
[Info] [DepthPacketStreamParser] 2 packets were lost
[Info] [VaapiRgbPacketProcessor] avg. time: 4.43949ms -> ~225.251Hz
[Info] [OpenGLDepthPacketProcessor] avg. time: 6.87763ms -> ~145.399Hz
[Info] [VaapiRgbPacketProcessor] avg. time: 4.5502ms -> ~219.771Hz
[Info] [OpenGLDepthPacketProcessor] avg. time: 6.86435ms -> ~145.68Hz
[Debug] [DepthPacketStreamParser] not all subsequences received 511
[Debug] [DepthPacketStreamParser] not all subsequences received 959
[Debug] [DepthPacketStreamParser] not all subsequences received 895
[Debug] [DepthPacketStreamParser] not all subsequences received 511
[Debug] [DepthPacketStreamParser] not all subsequences received 959
[Info] [DepthPacketStreamParser] 5 packets were lost
[Info] [VaapiRgbPacketProcessor] avg. time: 4.07819ms -> ~245.207Hz
[Info] [OpenGLDepthPacketProcessor] avg. time: 6.89874ms -> ~144.954Hz
[Info] [VaapiRgbPacketProcessor] avg. time: 4.5117ms -> ~221.646Hz
[Debug] [DepthPacketStreamParser] not all subsequences received 991
[Info] [DepthPacketStreamParser] 1 packets were lost
[Info] [OpenGLDepthPacketProcessor] avg. time: 7.00382ms -> ~142.779Hz
[Info] [VaapiRgbPacketProcessor] avg. time: 4.54288ms -> ~220.125Hz
[Info] [OpenGLDepthPacketProcessor] avg. time: 7.04759ms -> ~141.892Hz
[Info] [VaapiRgbPacketProcessor] avg. time: 4.4388ms -> ~225.286Hz
[Debug] [DepthPacketStreamParser] not all subsequences received 959
[Info] [DepthPacketStreamParser] 1 packets were lost
[Info] [Freenect2DeviceImpl] stopping...
[Info] [Freenect2DeviceImpl] canceling rgb transfers...
[Info] [OpenGLDepthPacketProcessor] avg. time: 7.02522ms -> ~142.344Hz
[Info] [Freenect2DeviceImpl] canceling depth transfers...
[Info] [Freenect2DeviceImpl] stopped
[Info] [Freenect2DeviceImpl] closing...
[Info] [Freenect2DeviceImpl] releasing usb interfaces...
[Info] [Freenect2DeviceImpl] deallocating usb transfer pools...
[Info] [Freenect2DeviceImpl] closing usb device...
[Info] [Freenect2DeviceImpl] closed
[Info] [Freenect2DeviceImpl] closing...
[Info] [Freenect2DeviceImpl] already closed, doing nothing

 

디버그 모드로 하니 몇 줄 더 나오긴 한데.. 별 차이가 없어 보인다

$ LIBUSB_DEBUG=3 ./Protonect 
Version: 0.2.0
Environment variables: LOGFILE=<protonect.log>
Usage: ./Protonect [-gpu=<id>] [gl | cl | clkde | cuda | cudakde | cpu] [<device serial>]
        [-noviewer] [-norgb | -nodepth] [-help] [-version]
        [-frames <number of frames to process>]
To pause and unpause: pkill -USR1 Protonect
libusb: warning [libusb_init] installing new context as implicit default
[Info] [Freenect2Impl] enumerating devices...
[Info] [Freenect2Impl] 8 usb devices connected
[Info] [Freenect2Impl] found valid Kinect v2 @2:6 with serial 501441643042
[Info] [Freenect2Impl] found 1 devices
libva info: VA-API version 1.14.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_14
libva info: va_openDriver() returns 0
[Info] [VaapiRgbPacketProcessorImpl] driver: Intel iHD driver for Intel(R) Gen Graphics - 22.3.1 ()
[Info] [Freenect2DeviceImpl] opening...
[Info] [Freenect2DeviceImpl] transfer pool sizes rgb: 20*16384 ir: 60*8*33792
[Info] [Freenect2DeviceImpl] opened
[Info] [Freenect2DeviceImpl] starting...
libusb: error [udev_hotplug_event] ignoring udev action change
libusb: error [udev_hotplug_event] ignoring udev action change
[Debug] [Freenect2DeviceImpl] status 0x090000: 1024
[Debug] [Freenect2DeviceImpl] status 0x090000: 9729
[Debug] [Freenect2DeviceImpl] status 0x090000: 9731
[Info] [Freenect2DeviceImpl] submitting rgb transfers...
[Info] [Freenect2DeviceImpl] submitting depth transfers...
[Debug] [DepthPacketStreamParser] not all subsequences received 0
[Info] [Freenect2DeviceImpl] started
device serial: 501441643042
device firmware: 4.0.3911.0
[Debug] [DepthPacketStreamParser] not all subsequences received 896
[Info] [OpenGLDepthPacketProcessor] avg. time: 7.5057ms -> ~133.232Hz
[Info] [VaapiRgbPacketProcessor] avg. time: 4.58964ms -> ~217.882Hz
[Debug] [DepthPacketStreamParser] not all subsequences received 511

 

$ lsusb -t -v
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 10000M
    ID 1d6b:0003 Linux Foundation 3.0 root hub
    |__ Port 3: Dev 5, If 0, Class=Hub, Driver=hub/1p, 5000M
        ID 045e:02d9 Microsoft Corp. 
        |__ Port 1: Dev 6, If 0, Class=Vendor Specific Class, Driver=, 5000M
            ID 045e:02d8 Microsoft Corp. 
        |__ Port 1: Dev 6, If 1, Class=Vendor Specific Class, Driver=, 5000M
            ID 045e:02d8 Microsoft Corp. 
        |__ Port 1: Dev 6, If 2, Class=Audio, Driver=snd-usb-audio, 5000M
            ID 045e:02d8 Microsoft Corp. 
        |__ Port 1: Dev 6, If 3, Class=Audio, Driver=snd-usb-audio, 5000M
            ID 045e:02d8 Microsoft Corp. 
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/12p, 480M
    ID 1d6b:0002 Linux Foundation 2.0 root hub
    |__ Port 3: Dev 6, If 0, Class=Hub, Driver=hub/1p, 480M
        ID 045e:02d9 Microsoft Corp. 
    |__ Port 5: Dev 2, If 0, Class=Vendor Specific Class, Driver=, 12M
        ID 04e8:730b Samsung Electronics Co., Ltd 
    |__ Port 6: Dev 3, If 0, Class=Video, Driver=uvcvideo, 480M
        ID 2b7e:0134  
    |__ Port 6: Dev 3, If 1, Class=Video, Driver=uvcvideo, 480M
        ID 2b7e:0134  
    |__ Port 10: Dev 4, If 0, Class=Wireless, Driver=btusb, 12M
        ID 8087:0026 Intel Corp. AX201 Bluetooth
    |__ Port 10: Dev 4, If 1, Class=Wireless, Driver=btusb, 12M
        ID 8087:0026 Intel Corp. AX201 Bluetooth

 

 

+

2024.07.18

빌드 타임 추가 (노트북)

8쓰레드 4쓰레드 2쓰레드 1쓰레드
real 0m6.974s
user 0m27.675s
sys 0m2.416s
real 0m7.923s
user 0m19.886s
sys 0m1.687s
real 0m11.978s
user 0m19.263s
sys 0m1.688s
real 0m17.982s
user 0m16.453s
sys 0m1.503s

 

+

2024.07.20

빌드 타임 추가 (데스크 탑 / i7-3770)

8쓰레드 4쓰레드 2쓰레드 1쓰레드
real 0m4.899s
user 0m22.435s
sys 0m2.366s
real 0m5.263s
user 0m14.712s
sys 0m1.612s
real 0m8.456s
user 0m13.561s
sys 0m1.707s
real 0m15.343s
user 0m13.623s
sys 0m1.707s

 

 

'프로그램 사용 > kinect' 카테고리의 다른 글

libfreenect2 on 2760p 성공  (0) 2024.08.18
libfreenect2 성공  (0) 2024.07.17
libfreenect2 실행 실패  (0) 2024.07.14
libfreenect2 CUDA 끄고 빌드 성공  (0) 2024.07.13
kinect v2 / freenect 실패  (0) 2024.07.09
Posted by 구차니

BOS가 그래서 머하는건지 까지 가려면.. USB 스펙을 다 읽어야 할 것 같은 느낌이... 크흡

[링크 : https://www.usb.org/bos-descriptor-types]

 

However I'm having trouble finding the Binary Device Object Store (BOS) descriptor using either method.



The header BOS descriptor is:

struct usb_bos_descriptor_header {
    u8_t bLength;
    u8_t bDescriptorType;
    u16_t wTotalLength;
    u8_t bNumDeviceCaps;
};

[링크 : https://stackoverflow.com/questions/57947195/]

 

EFI_USB_BOS_DESCRIPTOR 구조체는 USB 함수 드라이버에 BOS(Binary Object Store)에 대한 정보를 제공합니다.

[링크 : https://learn.microsoft.com/ko-kr/windows-hardware/drivers/bringup/efi-usb-bos-descriptor]

[링크 : https://techcommunity.microsoft.com/t5/microsoft-usb-blog/usb-2-1-2-0-1-1-device-enumeration-changes-in-windows-8/ba-p/270775]

'이론 관련 > 컴퓨터 관련' 카테고리의 다른 글

DDR3 pinout과 ECC  (0) 2024.04.01
uefi dxe pei  (0) 2024.04.01
radix 4 - fp4  (0) 2024.03.21
1.58bit  (0) 2024.03.16
gps kalman  (0) 2024.03.13
Posted by 구차니
프로그램 사용/kinect2024. 7. 14. 11:19

처음 실행하니 권한부족.. libusb가 권한이 필요한 녀석이었던가?

libfreenect2/build/bin$ ./Protonect 
Version: 0.2.0
Environment variables: LOGFILE=<protonect.log>
Usage: ./Protonect [-gpu=<id>] [gl | cl | clkde | cuda | cudakde | cpu] [<device serial>]
        [-noviewer] [-norgb | -nodepth] [-help] [-version]
        [-frames <number of frames to process>]
To pause and unpause: pkill -USR1 Protonect
[Info] [Freenect2Impl] enumerating devices...
[Info] [Freenect2Impl] 10 usb devices connected
[Error] [Freenect2Impl] failed to open Kinect v2: @4:3 LIBUSB_ERROR_ACCESS Access denied (insufficient permissions)
[Info] [Freenect2Impl] found 0 devices
no device connected!

 

짜잔~하고 먼가 나오길 기대했지만... 안된다 -_-

$ sudo ./Protonect 
Version: 0.2.0
Environment variables: LOGFILE=<protonect.log>
Usage: ./Protonect [-gpu=<id>] [gl | cl | clkde | cuda | cudakde | cpu] [<device serial>]
        [-noviewer] [-norgb | -nodepth] [-help] [-version]
        [-frames <number of frames to process>]
To pause and unpause: pkill -USR1 Protonect
[Info] [Freenect2Impl] enumerating devices...
[Info] [Freenect2Impl] 10 usb devices connected
[Info] [Freenect2Impl] found valid Kinect v2 @4:5 with serial 501441643042
[Info] [Freenect2Impl] found 1 devices
[Info] [Freenect2DeviceImpl] opening...
[Info] [Freenect2DeviceImpl] transfer pool sizes rgb: 20*16384 ir: 60*8*33792
[Info] [Freenect2DeviceImpl] opened
[Info] [Freenect2DeviceImpl] starting...
[Debug] [Freenect2DeviceImpl] status 0x090000: 9729
[Error] [protocol::UsbControl] failed to set ir interface state! LIBUSB_ERROR_OTHER Other error. Try debugging with environment variable: export LIBUSB_DEBUG=3 .
[Info] [Freenect2DeviceImpl] closing...
[Info] [Freenect2DeviceImpl] releasing usb interfaces...
[Info] [Freenect2DeviceImpl] deallocating usb transfer pools...
[Info] [Freenect2DeviceImpl] closing usb device...
[Info] [Freenect2DeviceImpl] closed

 

LIBUSB_DEBUG를 줘도 두 줄 추가 되는 것 외에는 별다른 에러 메시지가 없다.

# LIBUSB_DEBUG=3 ./Protonect 
Version: 0.2.0
Environment variables: LOGFILE=<protonect.log>
Usage: ./Protonect [-gpu=<id>] [gl | cl | clkde | cuda | cudakde | cpu] [<device serial>]
        [-noviewer] [-norgb | -nodepth] [-help] [-version]
        [-frames <number of frames to process>]
To pause and unpause: pkill -USR1 Protonect
libusb: warning [libusb_init] installing new context as implicit default
[Info] [Freenect2Impl] enumerating devices...
[Info] [Freenect2Impl] 10 usb devices connected
[Info] [Freenect2Impl] found valid Kinect v2 @4:7 with serial 501441643042
[Info] [Freenect2Impl] found 1 devices
[Info] [Freenect2DeviceImpl] opening...
[Info] [Freenect2DeviceImpl] transfer pool sizes rgb: 20*16384 ir: 60*8*33792
[Info] [Freenect2DeviceImpl] opened
[Info] [Freenect2DeviceImpl] starting...
libusb: error [udev_hotplug_event] ignoring udev action change
libusb: error [udev_hotplug_event] ignoring udev action change
[Debug] [Freenect2DeviceImpl] status 0x090000: 9731
libusb: error [op_set_interface] set interface failed, errno=28
[Error] [protocol::UsbControl] failed to set ir interface state! LIBUSB_ERROR_OTHER Other error. Try debugging with environment variable: export LIBUSB_DEBUG=3 .
[Info] [Freenect2DeviceImpl] closing...
[Info] [Freenect2DeviceImpl] releasing usb interfaces...
[Info] [Freenect2DeviceImpl] deallocating usb transfer pools...
[Info] [Freenect2DeviceImpl] closing usb device...
[Info] [Freenect2DeviceImpl] closed
libusb: warning [libusb_exit] device 4.7 still referenced
libusb: warning [libusb_exit] device 4.6 still referenced
libusb: warning [libusb_exit] device 4.1 still referenced

 

커널 메시지로는.... 엥? 왜 갑자기 대역폭 부족?

$ sudo dmesg -w
[  415.484074] usb 4-1.1: reset SuperSpeed USB device number 7 using xhci_hcd
[  415.595900] usb 4-1.1: Not enough bandwidth for new device state.
[  415.595907] usb 4-1.1: Not enough bandwidth for altsetting 1

 

라이브러리 홈페이지 가서 다시 보니 

make install 하고 udev rule을 복사한 뒤, 키넥트를 뽑았다 꽂으라고 한다.

Build (if you have run cd depends previously, cd .. back to the libfreenect2 root directory first.)
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/freenect2
make
make install
You need to specify cmake -Dfreenect2_DIR=$HOME/freenect2/lib/cmake/freenect2 for CMake based third-party application to find libfreenect2.
Set up udev rules for device access: sudo cp ../platform/linux/udev/90-kinect2.rules /etc/udev/rules.d/, then replug the Kinect.
Run the test program: ./bin/Protonect
Run OpenNI2 test (optional): sudo apt-get install openni2-utils && sudo make install-openni2 && NiViewer2. Environment variable LIBFREENECT2_PIPELINE can be set to cl, cuda, etc to specify the pipeline.

[링크 : https://github.com/OpenKinect/libfreenect2]

 

먼가 잔뜩 뜨긴 한데.. udev 쪽 먼가 실행하는 것 같진 않고..

[  517.098960] usb 3-1: new high-speed USB device number 5 using xhci_hcd
[  517.251097] usb 3-1: New USB device found, idVendor=045e, idProduct=02d9, bcdDevice= 0.70
[  517.251115] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  517.251122] usb 3-1: Product: NuiSensor Adaptor      
[  517.251127] usb 3-1: Manufacturer: Microsoft Corporation  
[  517.254367] hub 3-1:1.0: USB hub found
[  517.254752] hub 3-1:1.0: 1 port detected
[  517.704842] usb 4-1: new SuperSpeed USB device number 8 using xhci_hcd
[  520.690577] usb 4-1: New USB device found, idVendor=045e, idProduct=02d9, bcdDevice= 0.73
[  520.690597] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  520.690604] usb 4-1: Product: NuiSensor Adaptor      
[  520.690610] usb 4-1: Manufacturer: Microsoft Corporation  
[  520.694210] hub 4-1:1.0: USB hub found
[  520.694623] hub 4-1:1.0: 1 port detected
[  521.187545] usb 4-1.1: new SuperSpeed USB device number 9 using xhci_hcd
[  521.212947] usb 4-1.1: New USB device found, idVendor=045e, idProduct=02d8, bcdDevice= 1.00
[  521.212966] usb 4-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=4
[  521.212973] usb 4-1.1: Product: Xbox NUI Sensor
[  521.212977] usb 4-1.1: Manufacturer: Microsoft
[  521.212982] usb 4-1.1: SerialNumber: 501441643042

 

키넥트 관련은 MODE 주는 것 외에는 별다른게 없어 보인다.

src/libfreenect2/build/bin# cat ../../platform/linux/udev/90-kinect2.rules 
# this file belongs in /etc/udev/rules.d/
# ATTR{product}=="Kinect2"
SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02c4", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02d8", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02d9", MODE="0666"

 

에러는 동일하게 대역폭 부족이 뜬다.

$ sudo ./Protonect 
Version: 0.2.0
Environment variables: LOGFILE=<protonect.log>
Usage: ./Protonect [-gpu=<id>] [gl | cl | clkde | cuda | cudakde | cpu] [<device serial>]
        [-noviewer] [-norgb | -nodepth] [-help] [-version]
        [-frames <number of frames to process>]
To pause and unpause: pkill -USR1 Protonect
[Info] [Freenect2Impl] enumerating devices...
[Info] [Freenect2Impl] 10 usb devices connected
[Info] [Freenect2Impl] found valid Kinect v2 @4:13 with serial 501441643042
[Info] [Freenect2Impl] found 1 devices
[Info] [Freenect2DeviceImpl] opening...
[Info] [Freenect2DeviceImpl] transfer pool sizes rgb: 20*16384 ir: 60*8*33792
[Info] [Freenect2DeviceImpl] opened
[Info] [Freenect2DeviceImpl] starting...
[Debug] [Freenect2DeviceImpl] status 0x090000: 9731
[Error] [protocol::UsbControl] failed to set ir interface state! LIBUSB_ERROR_OTHER Other error. Try debugging with environment variable: export LIBUSB_DEBUG=3 .
[Info] [Freenect2DeviceImpl] closing...
[Info] [Freenect2DeviceImpl] releasing usb interfaces...
[Info] [Freenect2DeviceImpl] deallocating usb transfer pools...
[Info] [Freenect2DeviceImpl] closing usb device...
[Info] [Freenect2DeviceImpl] closed

 

[  786.203660] usb 4-2.1: reset SuperSpeed USB device number 13 using xhci_hcd
[  786.318931] usb 4-2.1: Not enough bandwidth for new device state.
[  786.318939] usb 4-2.1: Not enough bandwidth for altsetting 1

 

혹시나 해서 USB2.0에 꽂아보니 아래와 같이 에러가 발생한다.

$ sudo ./Protonect 
Version: 0.2.0
Environment variables: LOGFILE=<protonect.log>
Usage: ./Protonect [-gpu=<id>] [gl | cl | clkde | cuda | cudakde | cpu] [<device serial>]
        [-noviewer] [-norgb | -nodepth] [-help] [-version]
        [-frames <number of frames to process>]
To pause and unpause: pkill -USR1 Protonect
[Info] [Freenect2Impl] enumerating devices...
[Info] [Freenect2Impl] 9 usb devices connected
[Info] [Freenect2Impl] found valid Kinect v2 @2:5 with serial 501441643042
[Info] [Freenect2Impl] found 1 devices
[Info] [Freenect2DeviceImpl] opening...
[Error] [protocol::UsbControl] failed to claim interface with IrInterfaceId(=1)! LIBUSB_ERROR_BUSY Resource busy. Try debugging with environment variable: export LIBUSB_DEBUG=3 .
[Info] [Freenect2DeviceImpl] closing...
[Info] [Freenect2DeviceImpl] deallocating usb transfer pools...
[Info] [Freenect2DeviceImpl] closing usb device...
[Info] [Freenect2DeviceImpl] closed
[Error] [Freenect2Impl] failed to open Kinect v2: @2:5
failure opening device!

 

dmesg 상에는 아래와 같이 BOS desciptor 가 없거나 너무 짧다는게 그건 또 머냐..

[  683.513603] usb 2-1.1.1: reset high-speed USB device number 5 using ehci-pci
[  683.634757] usb 2-1.1.1: unable to get BOS descriptor or descriptor too short

 

expresscard to USB3.0 을 써서 생기는 문제인가.. 아니면 빌드라던가 다른 문제인가..

 

 

+

2024.07.15

usbfs 크기가 적으니 늘리는게 도움이 된다는데 해도 해결은 안된다.

기본은 ubutu 22.04 에서 16MB 인 듯한데 1000MB로 늘려도 안된다.

$ cat /etc/default/grub | grep GRUB_CMDLINE_LINUX_DEFAULT
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
$ cat /sys/module/usbcore/parameters/usbfs_memory_mb
16
$ sudo sh -c 'echo 1000 > /sys/module/usbcore/parameters/usbfs_memory_mb'
$ cat /sys/module/usbcore/parameters/usbfs_memory_mb
1000

[링크 : https://github.com/OpenKinect/libfreenect2/issues/971]

[링크 : https://importgeek.wordpress.com/2017/02/26/increase-usbfs-memory-limit-in-ubuntu/]

 

+

혹시나 해서 찾아보는데..

expresscard의 경우 PCIe 2 or USB 3 mode 일 경우 3.2Gbps로 USB3.0의 5Gbps 에는 어떤 모드던 부족하다.

그런데 풀 대역폭을 쓰진 않을수도 있긴한데.. USB 장치에서 필요로 하는 대역폭을 다 커버 할 수 없는건가?

 

Speed
480 Mbit/s effective (USB 2 mode)
1.6 Gbit/s effective (PCIe 1 mode)
3.2 Gbit/s effective (PCIe 2 or USB 3 mode)

[링크 : https://en.wikipedia.org/wiki/ExpressCard]

 

칩셋인 uPD720202도 스펙상 PCIe Gen2 1 lane 이고, 속도까진 나와있지 않다

System I/F: PCIe Gen2 x 1 Lane

[링크 : https://www.renesas.com/us/en/products/interface/usb-switches-hubs/upd720202-usb-30-host-controller#overview]

 

i5-2520m 도 PCIe Gen 2 라고 하는데

확장 옵션
PCI Express 개정판 2.0
PCI Express 구성 ‡ 1x16, 2x8, 1x8+2x4
최대 PCI Express 레인 수 16

[링크 : https://www.intel.co.kr/content/www/kr/ko/products/sku/52229/intel-core-i52520m-processor-3m-cache-up-to-3-20-ghz/specifications.html]

 

pci-e 2.0 lane 1은 5.0GT/s 이고 5Gbps로 계산이 되긴한다.

반대로 생각하면 USB3.0이 생각외로 빠른거구나..

[링크 : https://en.wikipedia.org/wiki/PCI_Express]

 

Depends on your thinkpad's generation of Expresscard
Gen 1 is 1.6gbps
Gen 2 is 3.2gbps
Gen 3 is 6.4gbps, but each usb port can only do a max of 5gbps
In this case it's a T420 so it has gen 2 expresscard

[링크 : https://www.reddit.com/r/thinkpad/comments/xy44zj/finally_got_the_cheapest_usb_30_express_card_for/]

 

expresscard 34 규격의 sony sxs pro 라는 저장장치 인데

우연인지 아니면 대역폭 한계인지 3.2Gbps가 검색되서 나온다. expresscard와 pci-e 와는 속도 차이가 존재하는건가?

Max. Speeds
Read speed 3.5Gbps (=440MB/s) (1)
Write Speed 3.2Gbps (=400MB/s) (1)

[링크 : https://ccktech.com/product/sony-sxs-pro/]

[링크 :  https://ccktech.com/product-interface/expresscard-34/]

'프로그램 사용 > kinect' 카테고리의 다른 글

libfreenect2 성공  (0) 2024.07.17
libfreenect2 실행 성공..  (0) 2024.07.15
libfreenect2 CUDA 끄고 빌드 성공  (0) 2024.07.13
kinect v2 / freenect 실패  (0) 2024.07.09
xbox one S / 기본형?  (0) 2024.06.25
Posted by 구차니
프로그램 사용/kinect2024. 7. 13. 23:05

귀찮으니 실행은 다음에 해보는 걸로 ㅋ

 

cmake .. -DENABLE_CUDA=OFF
CMake Deprecation Warning at CMakeLists.txt:1 (CMAKE_MINIMUM_REQUIRED):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.


-- using tinythread as threading library
-- Checking for modules 'libva;libva-drm'
--   No package 'libva' found
--   No package 'libva-drm' found
-- Could NOT find TegraJPEG (missing: TegraJPEG_LIBRARIES TegraJPEG_INCLUDE_DIRS TegraJPEG_WORKS) 
CMake Warning (dev) at /home/minimonk/.local/lib/python3.10/site-packages/cmake/data/share/cmake-3.30/Modules/FindOpenGL.cmake:415 (message):
  Policy CMP0072 is not set: FindOpenGL prefers GLVND by default when
  available.  Run "cmake --help-policy CMP0072" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  FindOpenGL found both a legacy GL library:

    OPENGL_gl_LIBRARY: /usr/lib/x86_64-linux-gnu/libGL.so

  and GLVND libraries for OpenGL and GLX:

    OPENGL_opengl_LIBRARY: /usr/lib/x86_64-linux-gnu/libOpenGL.so
    OPENGL_glx_LIBRARY: /usr/lib/x86_64-linux-gnu/libGLX.so

  OpenGL_GL_PREFERENCE has not been set to "GLVND" or "LEGACY", so for
  compatibility with CMake 3.10 and below the legacy GL library will be used.
Call Stack (most recent call first):
  CMakeLists.txt:269 (FIND_PACKAGE)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Could NOT find OpenCL (missing: OpenCL_LIBRARY OpenCL_INCLUDE_DIR) 
-- Linking with these libraries: 
 /usr/lib/x86_64-linux-gnu/libusb-1.0.so
 pthread
 /usr/lib/x86_64-linux-gnu/libturbojpeg.so.0
 /usr/lib/x86_64-linux-gnu/libglfw.so
 /usr/lib/x86_64-linux-gnu/libGL.so
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) 
-- Configurating examples
CMake Deprecation Warning at examples/CMakeLists.txt:1 (CMAKE_MINIMUM_REQUIRED):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.


-- Using in-tree freenect2 target
-- Feature list:
--   CUDA    disabled
--   CXX11    disabled
--   Examples    yes
--   OpenCL    no
--   OpenGL    yes
--   OpenNI2    yes
--   TegraJPEG    no
--   Threading    tinythread
--   TurboJPEG    yes
--   VAAPI    no
--   VideoToolbox    no (Apple only)
--   streamer_recorder    disabled
-- Configuring done (0.1s)
-- Generating done (0.0s)
-- Build files have been written to: /home/minimonk/src/libfreenect2/build

 

$ make -j4
[  2%] Building CXX object CMakeFiles/generate_resources_tool.dir/tools/generate_resources.cpp.o
[  5%] Linking CXX executable bin/generate_resources_tool
[  5%] Built target generate_resources_tool
[  8%] Generating resources.inc.h
[ 10%] Building CXX object CMakeFiles/freenect2.dir/src/transfer_pool.cpp.o
[ 13%] Building CXX object CMakeFiles/freenect2.dir/src/event_loop.cpp.o
[ 16%] Building CXX object CMakeFiles/freenect2.dir/src/usb_control.cpp.o
[ 18%] Building CXX object CMakeFiles/freenect2.dir/src/allocator.cpp.o
[ 21%] Building CXX object CMakeFiles/freenect2.dir/src/frame_listener_impl.cpp.o
[ 24%] Building CXX object CMakeFiles/freenect2.dir/src/packet_pipeline.cpp.o
[ 27%] Building CXX object CMakeFiles/freenect2.dir/src/rgb_packet_stream_parser.cpp.o
[ 29%] Building CXX object CMakeFiles/freenect2.dir/src/rgb_packet_processor.cpp.o
[ 32%] Building CXX object CMakeFiles/freenect2.dir/src/depth_packet_stream_parser.cpp.o
[ 35%] Building CXX object CMakeFiles/freenect2.dir/src/depth_packet_processor.cpp.o
[ 37%] Building CXX object CMakeFiles/freenect2.dir/src/cpu_depth_packet_processor.cpp.o
[ 40%] Building CXX object CMakeFiles/freenect2.dir/src/resource.cpp.o
[ 43%] Building CXX object CMakeFiles/freenect2.dir/src/command_transaction.cpp.o
[ 45%] Building CXX object CMakeFiles/freenect2.dir/src/registration.cpp.o
[ 48%] Building CXX object CMakeFiles/freenect2.dir/src/logging.cpp.o
/home/minimonk/src/libfreenect2/src/cpu_depth_packet_processor.cpp: In member function ‘virtual void libfreenect2::CpuDepthPacketProcessor::loadP0TablesFromCommandResponse(unsigned char*, size_t)’:
/home/minimonk/src/libfreenect2/src/cpu_depth_packet_processor.cpp:844:53: warning: taking address of packed member of ‘libfreenect2::protocol::P0TablesResponse’ may result in an unaligned pointer value [-Waddress-of-packed-member]
  844 |     flipHorizontal(Mat(424, 512, p0table->p0table0), impl_->p0_table0);
      |                                            ~~~~~~~~~^~~~~~~~
/home/minimonk/src/libfreenect2/src/cpu_depth_packet_processor.cpp:845:53: warning: taking address of packed member of ‘libfreenect2::protocol::P0TablesResponse’ may result in an unaligned pointer value [-Waddress-of-packed-member]
  845 |     flipHorizontal(Mat(424, 512, p0table->p0table1), impl_->p0_table1);
      |                                            ~~~~~~~~~^~~~~~~~
/home/minimonk/src/libfreenect2/src/cpu_depth_packet_processor.cpp:846:53: warning: taking address of packed member of ‘libfreenect2::protocol::P0TablesResponse’ may result in an unaligned pointer value [-Waddress-of-packed-member]
  846 |     flipHorizontal(Mat(424, 512, p0table->p0table2), impl_->p0_table2);
      |                                            ~~~~~~~~~^~~~~~~~
/home/minimonk/src/libfreenect2/src/cpu_depth_packet_processor.cpp:850:42: warning: taking address of packed member of ‘libfreenect2::protocol::P0TablesResponse’ may result in an unaligned pointer value [-Waddress-of-packed-member]
  850 |     Mat p00(424, 512, p0table->p0table0);
      |                                 ~~~~~~~~~^~~~~~~~
/home/minimonk/src/libfreenect2/src/cpu_depth_packet_processor.cpp:852:38: warning: taking address of packed member of ‘libfreenect2::protocol::P0TablesResponse’ may result in an unaligned pointer value [-Waddress-of-packed-member]
  852 |     Mat(424, 512, p0table->p0table1).copyTo(impl_->p0_table1);
      |                             ~~~~~~~~~^~~~~~~~
/home/minimonk/src/libfreenect2/src/cpu_depth_packet_processor.cpp:853:38: warning: taking address of packed member of ‘libfreenect2::protocol::P0TablesResponse’ may result in an unaligned pointer value [-Waddress-of-packed-member]
  853 |     Mat(424, 512, p0table->p0table2).copyTo(impl_->p0_table2);
      |                             ~~~~~~~~~^~~~~~~~
[ 51%] Building CXX object CMakeFiles/freenect2.dir/src/libfreenect2.cpp.o
[ 54%] Building CXX object CMakeFiles/freenect2.dir/src/tinythread/tinythread.cpp.o
[ 56%] Building CXX object CMakeFiles/freenect2.dir/src/turbo_jpeg_rgb_packet_processor.cpp.o
[ 59%] Building CXX object CMakeFiles/freenect2.dir/src/flextGL.cpp.o
[ 62%] Building CXX object CMakeFiles/freenect2.dir/src/opengl_depth_packet_processor.cpp.o
[ 64%] Linking CXX shared library lib/libfreenect2.so
[ 64%] Built target freenect2
[ 70%] Building CXX object examples/CMakeFiles/Protonect.dir/Protonect.cpp.o
[ 72%] Building CXX object CMakeFiles/freenect2-openni2.dir/src/openni2/ColorStream.cpp.o
[ 72%] Building CXX object examples/CMakeFiles/Protonect.dir/__/src/flextGL.cpp.o
[ 75%] Building CXX object examples/CMakeFiles/Protonect.dir/viewer.cpp.o
[ 78%] Building CXX object CMakeFiles/freenect2-openni2.dir/src/openni2/DepthStream.cpp.o
/home/minimonk/src/libfreenect2/examples/Protonect.cpp: In function ‘int main(int, char**)’:
/home/minimonk/src/libfreenect2/examples/Protonect.cpp:157:7: warning: variable ‘deviceId’ set but not used [-Wunused-but-set-variable]
  157 |   int deviceId = -1;
      |       ^~~~~~~~
[ 81%] Building CXX object CMakeFiles/freenect2-openni2.dir/src/openni2/DeviceDriver.cpp.o
[ 83%] Building CXX object CMakeFiles/freenect2-openni2.dir/src/openni2/IrStream.cpp.o
[ 86%] Building CXX object CMakeFiles/freenect2-openni2.dir/src/openni2/Registration.cpp.o
[ 89%] Linking CXX executable ../bin/Protonect
[ 89%] Built target Protonect
[ 91%] Building CXX object CMakeFiles/freenect2-openni2.dir/src/openni2/Utility.cpp.o
[ 94%] Building CXX object CMakeFiles/freenect2-openni2.dir/src/openni2/VideoStream.cpp.o
[ 97%] Building CXX object CMakeFiles/freenect2-openni2.dir/src/tinythread/tinythread.cpp.o
In file included from /usr/include/string.h:535,
                 from /usr/include/openni2/Linux-x86/OniPlatformLinux-x86.h:34,
                 from /usr/include/openni2/OniPlatform.h:42,
                 from /usr/include/openni2/Driver/OniDriverAPI.h:24,
                 from /home/minimonk/src/libfreenect2/src/openni2/DeviceDriver.cpp:35:
In function ‘char* strncpy(char*, const char*, size_t)’,
    inlined from ‘void Freenect2Driver::Driver::register_uri(std::string)’ at /home/minimonk/src/libfreenect2/src/openni2/DeviceDriver.cpp:404:14:
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:95:34: warning: ‘char* __builtin_strncpy(char*, const char*, long unsigned int)’ specified bound 256 equals destination size [-Wstringop-truncation]
   95 |   return __builtin___strncpy_chk (__dest, __src, __len,
      |          ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
   96 |                                   __glibc_objsize (__dest));
      |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~
[100%] Linking CXX shared library lib/libfreenect2-openni2.so
[100%] Built target freenect2-openni2

 

~/src/libfreenect2/build$ tree -L 2 
.
├── CMakeCache.txt
├── CMakeFiles
│   ├── 3.30.0
│   ├── CMakeConfigureLog.yaml
│   ├── CMakeDirectoryInformation.cmake
│   ├── CMakeRuleHashes.txt
│   ├── CMakeScratch
│   ├── Makefile.cmake
│   ├── Makefile2
│   ├── TargetDirectories.txt
│   ├── cmake.check_cache
│   ├── freenect2-openni2.dir
│   ├── freenect2.dir
│   ├── generate_resources_tool.dir
│   ├── install-openni2.dir
│   ├── pkgRedirects
│   └── progress.marks
├── Makefile
├── bin
│   ├── Protonect
│   └── generate_resources_tool
├── cmake_install.cmake
├── doc
│   ├── CMakeFiles
│   ├── Makefile
│   └── cmake_install.cmake
├── examples
│   ├── CMakeFiles
│   ├── Makefile
│   └── cmake_install.cmake
├── freenect2.pc
├── freenect2Config.cmake
├── freenect2ConfigVersion.cmake
├── lib
│   ├── libfreenect2-openni2.so -> libfreenect2-openni2.so.0
│   ├── libfreenect2-openni2.so.0
│   ├── libfreenect2.so -> libfreenect2.so.0.2
│   ├── libfreenect2.so.0.2 -> libfreenect2.so.0.2.0
│   └── libfreenect2.so.0.2.0
├── libfreenect2
│   ├── config.h
│   └── export.h
└── resources.inc.h

15 directories, 28 files

 

bin/Protonect 를 실행하면 스트리밍 된다고 한다.

[링크 : https://www.notaboutmy.life/posts/run-kinect-2-on-ubuntu-20-lts/]

 

소스를 뒤져보니 glfw 라는 접두로 된 녀석을 통해 그리는데, openGL ES와 vulkan으로 그리는 듯?

[링크 : https://www.glfw.org/]

'프로그램 사용 > kinect' 카테고리의 다른 글

libfreenect2 실행 성공..  (0) 2024.07.15
libfreenect2 실행 실패  (0) 2024.07.14
kinect v2 / freenect 실패  (0) 2024.07.09
xbox one S / 기본형?  (0) 2024.06.25
kinect for windows v2 설치  (0) 2024.06.24
Posted by 구차니
Microsoft/Windows2024. 7. 13. 21:20

윈도우 바탕화면을 바꿀수 있다는게 신기한데

프로그램에 따라서 프로젝트 파일이 절대경로로 되어있는 경우에

다른 드라이브나 위치를 변경했을 경우 인식을 못한다는 문제아닌 문제가 발생한다.

 

다른 경로를 누르고 이동을 누르면 바탕화면을 복사한다고 시간이 좀 걸리는데

삭제는 그 이후에 따로 하는지 좀 버벅댄다.

 

C 드라이브를 자꾸 채워서 바로가기로 하는걸로 관리가 절대 안되는 분들을 위한

나름.. 차선책이랄까..

 

[링크 : https://san51k.tistory.com/entry/윈도우10-TIP-13-바탕화면-폴더-경로-변경-과-복원하기]

Posted by 구차니
개소리 왈왈/컴퓨터2024. 7. 13. 21:18

기존에 i7-2xxx 시리즈 노트북 쓰시는데

아무래도 nvidia 그래픽 카드가 내장되어 있어도 구형이고

모바일 cpu 한계가 있어서 느리다 보니

 

이번에 어떻게 처분할까 고민하던 i5-4670과 i7-3770 중에

i5-4670 / 32GB / 1050 2GB로 셋트를 만들어 드리는걸로 결정!

 

드리고 나니 동영상이 42분 걸리던게 5~6분 정도 걸리는거 봐서는

역시 모바일과 데스크탑 cpu 성능 차이는 무시할 수 없다라는 뜬금없는 결론이..

'개소리 왈왈 > 컴퓨터' 카테고리의 다른 글

3세대 intel 데스크탑 USB3.0  (0) 2024.07.16
빨콩 교체!  (0) 2024.07.16
express card 34 to USB 3.0 도착 (uPD720202)  (0) 2024.07.08
컴퓨터 회수  (0) 2024.07.04
가진거, 가지고 싶은거  (0) 2024.07.02
Posted by 구차니
embeded/Cortex-M3 STM2024. 7. 12. 17:30

timer 설명에 설정값에 따라 GPIO 출력이 바뀌게 되는게 가능한건 알고 있었는데

그걸 어떻게 써먹나 어따 써먹다 이런게 안떠올라서 잊고 있던걸 구현된 코드를 처음으로 봄 -_-

 

IP로 구현된 통신이 아닌

GPIO를 통해 정확한 시간 간격에 오가야 한다면

타이머 값이 매치되면 값이 바뀌는게 가장 정확할 수 밖에 없겠구나 싶어진다.

 

[링크 : https://m.blog.naver.com/eziya76/221461279858]

[링크 : https://m.blog.naver.com/eziya76/222712447615]

[링크 : https://eteo.tistory.com/159]

Posted by 구차니
이론 관련/전기 전자2024. 7. 11. 18:27

sink는 끌려 가도록/ 끌려 가지 않도록 제어(?) 하고 -> + 극을 차단/연결

source는 끌고 오도록 제어 한다 -> GND를 차단/연결

 

영어식이라서 전원을 어느 방향으로 가지 않도록 제어하냐로 보면 좀 쉬우려나?

+극 -> -극에 빼앗긴다 -> +극을 차단/연결한다 (안보내면 그만이야~)

-극 -> +극에서 들어온다(입력받음) -> -극을 차단/연결한다(안받아~)

 

[링크 : https://m.blog.naver.com/3lastbaek5/221581453670]

[링크 : https://usefulpen.cafe24.com/1892/]

 

 

+

[링크 : https://blog.naver.com/shkh13/221030410600]

[링크 : https://usefulpen.cafe24.com/1892/]

[링크 : https://article2.tistory.com/1425]

[링크 : https://gammabeta.tistory.com/609] 싱크(NPN) 소스(PNP)

[링크 : https://gammabeta.tistory.com/968]

'이론 관련 > 전기 전자' 카테고리의 다른 글

BJT - bipolar junction transistor  (0) 2024.08.13
clock is gated  (0) 2024.07.19
shunt(션트) 저항  (0) 2024.07.11
THD N  (0) 2024.04.03
아날로그 컴퓨터  (0) 2023.10.11
Posted by 구차니