Programming/web 관련2024. 10. 18. 11:13

시대가 좋아지긴 했다.

맨날 카메라에서 옮기고, Depth에서 막히고 그랬는데

웹에서 이렇게 작동하는 소스를 바로 생성이 가능하다니.

이걸 다시 분석하고 이해해서 원하는걸 만들어 봐야겠다.

그나저나 쉐이더까지 뚝딱이라니.. 무섭네

 

 

webgl-camera-control.html
0.01MB

'Programming > web 관련' 카테고리의 다른 글

웹 브라우저에서 웹 캠 띄우기  (0) 2024.09.24
three.js  (0) 2024.09.19
XMLHttpRequest 가로채기  (0) 2024.07.19
web worker  (0) 2024.07.19
mirage.js - api mockup  (0) 2024.07.19
Posted by 구차니

우어어 미친듯이 피곤하다.

아부지 수술이 잘되서 다행이긴한데

신경쓸게 한개 큰게 늘어서 그런가..

'개소리 왈왈 > 육아관련 주저리' 카테고리의 다른 글

개산책하다가 수다  (0) 2024.10.23
개피곤  (0) 2024.10.19
병문안  (0) 2024.10.16
아버지 수술 끝  (0) 2024.10.15
수술전 상담  (0) 2024.10.14
Posted by 구차니

병원가는 길에 길가에 세워진 차가 웃기고 귀여워서 찰칵

 

 

이런 느낌인것 같기도 하고(!)

[링크 : https://playvod.imbc.com/Templete/ClipView?bid=1002768100137100002]

 

 

닛산 피가로, 2만대 한정 생산품

[링크 : https://topictree.co.kr/issue/nissan-figaro/]

'개소리 왈왈 > 사진과 수다' 카테고리의 다른 글

눈 @.@  (0) 2024.11.27
캐논 카메라 sd 카드 쓰기 잠금 문제  (0) 2024.06.20
크랍바디에 대한 오해가 있었구나..  (0) 2024.06.17
eos 웹캠 유틸리티  (0) 2024.06.16
렌즈 욕심 + 카메라 욕심  (0) 2024.06.15
Posted by 구차니

가도 못 뵈고 옴

아무튼 이제 수술한지 24시간 겨우 지났는데

진통제도 멀 하나 달아야 처방 대로 놓을수 있는데

먼가 하나 달아 놓지 않았다고 못 다는 이상한(?) 상황이 되어서

꽤나 고생하신듯.

'개소리 왈왈 > 육아관련 주저리' 카테고리의 다른 글

개피곤  (0) 2024.10.19
개피곤  (0) 2024.10.17
아버지 수술 끝  (0) 2024.10.15
수술전 상담  (0) 2024.10.14
불꽃놀이  (0) 2024.10.05
Posted by 구차니

개흉 수술이라 그런지

오전 8시 들어가서 (준비 단계)

오전 10시에나 수술실로 가고 (수술중 단계)

오후 5시에나 되어서 수술실에서 나와서 중환자 실로 가고 (회복중)

끝이 났다.

 

 

근데 문득 드는 의문점..

수술이 길어지면 의사들은 밥 먹으면서 수술하나?

'개소리 왈왈 > 육아관련 주저리' 카테고리의 다른 글

개피곤  (0) 2024.10.17
병문안  (0) 2024.10.16
수술전 상담  (0) 2024.10.14
불꽃놀이  (0) 2024.10.05
사과 사세요  (0) 2024.10.03
Posted by 구차니

의외로 별별 이야기 없고

몇가지 이야기만 통보하고 끝

'개소리 왈왈 > 육아관련 주저리' 카테고리의 다른 글

병문안  (0) 2024.10.16
아버지 수술 끝  (0) 2024.10.15
불꽃놀이  (0) 2024.10.05
사과 사세요  (0) 2024.10.03
아버지 입원  (0) 2024.10.02
Posted by 구차니

아래 소스를 보고 설정을 보니 조금 이해가 가는 느낌 0.1mg

/* download a periodic sinusoidal effect */
memset(&effects[0],0,sizeof(effects[0]));
effects[0].type = FF_PERIODIC;
effects[0].id = -1;
effects[0].u.periodic.waveform = FF_SINE;
effects[0].u.periodic.period = 100; /* 0.1 second */
effects[0].u.periodic.magnitude = 0x7fff; /* 0.5 * Maximum magnitude */
effects[0].u.periodic.offset = 0;
effects[0].u.periodic.phase = 0;
effects[0].direction = 0x4000; /* Along X axis */
effects[0].u.periodic.envelope.attack_length = 1000;
effects[0].u.periodic.envelope.attack_level = 0x7fff;
effects[0].u.periodic.envelope.fade_length = 1000;
effects[0].u.periodic.envelope.fade_level = 0x7fff;
effects[0].trigger.button = 0;
effects[0].trigger.interval = 0;
effects[0].replay.length = 20000;  /* 20 seconds */
effects[0].replay.delay = 1000;

/* download a constant effect */
effects[1].type = FF_CONSTANT;
effects[1].id = -1;
effects[1].u.constant.level = 0x2000; /* Strength : 25 % */
effects[1].direction = 0x6000; /* 135 degrees */
effects[1].u.constant.envelope.attack_length = 1000;
effects[1].u.constant.envelope.attack_level = 0x1000;
effects[1].u.constant.envelope.fade_length = 1000;
effects[1].u.constant.envelope.fade_level = 0x1000;
effects[1].trigger.button = 0;
effects[1].trigger.interval = 0;
effects[1].replay.length = 20000;  /* 20 seconds */
effects[1].replay.delay = 0;

/* download a condition spring effect */
effects[2].type = FF_SPRING;
effects[2].id = -1;
effects[2].u.condition[0].right_saturation = 0x7fff;
effects[2].u.condition[0].left_saturation = 0x7fff;
effects[2].u.condition[0].right_coeff = 0x2000;
effects[2].u.condition[0].left_coeff = 0x2000;
effects[2].u.condition[0].deadband = 0x0;
effects[2].u.condition[0].center = 0x0;
effects[2].u.condition[1] = effects[2].u.condition[0];
effects[2].trigger.button = 0;
effects[2].trigger.interval = 0;
effects[2].replay.length = 20000;  /* 20 seconds */
effects[2].replay.delay = 0;

/* download a condition damper effect */
effects[3].type = FF_DAMPER;
effects[3].id = -1;
effects[3].u.condition[0].right_saturation = 0x7fff;
effects[3].u.condition[0].left_saturation = 0x7fff;
effects[3].u.condition[0].right_coeff = 0x2000;
effects[3].u.condition[0].left_coeff = 0x2000;
effects[3].u.condition[0].deadband = 0x0;
effects[3].u.condition[0].center = 0x0;
effects[3].u.condition[1] = effects[3].u.condition[0];
effects[3].trigger.button = 0;
effects[3].trigger.interval = 0;
effects[3].replay.length = 20000;  /* 20 seconds */
effects[3].replay.delay = 0;

/* a strong rumbling effect */
effects[4].type = FF_RUMBLE;
effects[4].id = -1;
effects[4].u.rumble.strong_magnitude = 0x8000;
effects[4].u.rumble.weak_magnitude = 0;
effects[4].replay.length = 5000;
effects[4].replay.delay = 1000;

/* a weak rumbling effect */
effects[5].type = FF_RUMBLE;
effects[5].id = -1;
effects[5].u.rumble.strong_magnitude = 0;
effects[5].u.rumble.weak_magnitude = 0xc000;
effects[5].replay.length = 5000;
effects[5].replay.delay = 0;

[링크 : https://github.com/flosse/linuxconsole/blob/master/utils/fftest.c]

[링크 : https://www.kernel.org/doc/html/v5.2/input/ff.html] 리눅스 커널에서의 ffb 내용

 

weak/strong rumble 하려면 다 안넣어줘도 된다는 거군..

 

attack fade는 충격의 앞/뒤라고 보면 될 듯

[링크 : https://learn.microsoft.com/en-us/previous-versions/windows/desktop/ee416225(v=vs.85)]

'모종의 음모 > force feedback' 카테고리의 다른 글

ffb direction on windows  (0) 2024.10.21
ffb window api  (0) 2024.10.20
evtest 를 이용하여 진동패드 진동시키기  (0) 2024.10.12
ffbchecker 컴파일 및 설치  (0) 2024.10.12
new-lg4ff 와 oversteer 설치 시도  (0) 2024.10.12
Posted by 구차니

force feedback과는 별개로 진동이 되는 녀석은 진동만 시킬수 있나 본데?

 

fftest /dev/input/event16
Force feedback test program.
HOLD FIRMLY YOUR WHEEL OR JOYSTICK TO PREVENT DAMAGES

Device /dev/input/event16 opened
Features:
  * Absolute axes: X, Y, Z, RX, RY, RZ, Hat 0 X, Hat 0 Y, 
    [3F 00 03 00 00 00 00 00 ]
  * Relative axes: 
    [00 00 ]
  * Force feedback effects types: Periodic, Rumble, Gain, 
    Force feedback periodic effects: Square, Triangle, Sine, 
    [00 00 00 00 00 00 00 00 00 00 03 07 01 00 00 00 ]
  * Number of simultaneous effects: 16

Setting master gain to 75% ... OK
Uploading effect #0 (Periodic sinusoidal) ... OK (id 0)
Uploading effect #1 (Constant) ... Error: Invalid argument
Uploading effect #2 (Spring) ... Error: Invalid argument
Uploading effect #3 (Damper) ... Error: Invalid argument
Uploading effect #4 (Strong rumble, with heavy motor) ... OK (id 1)
Uploading effect #5 (Weak rumble, with light motor) ... OK (id 2)
Enter effect number, -1 to exit
Use effects 4 and 5 to test rumble effects:

Enter effect number, -1 to exit
4
Now Playing: Strong Rumble
Enter effect number, -1 to exit
5
Now Playing: Weak Rumble
Enter effect number, -1 to exit

[링크 : https://askubuntu.com/questions/1139960/how-to-enable-a-vibration-in-a-pc-gamepad-in-xubuntu-18-10]

 

evtest와는 별개라 설치를 해주어야 한다.

$ fftest
명령어 'fftest' 을(를) 찾을 수 없습니다. 그러나 다음을 통해 설치할 수 있습니다:
sudo apt install joystick

 

설치하고 해보니 권한이 부족하댄다 -_-

$ fftest
Force feedback test program.
HOLD FIRMLY YOUR WHEEL OR JOYSTICK TO PREVENT DAMAGES

Open device file: Permission denied

 

그래서 sudo로 해주니 뜬금없이(?) event0를 붙여 버리네?

$ sudo fftest
Force feedback test program.
HOLD FIRMLY YOUR WHEEL OR JOYSTICK TO PREVENT DAMAGES

Device /dev/input/event0 opened
Features:
  * Absolute axes: 
    [00 00 00 00 00 00 00 00 ]
  * Relative axes: 
    [00 00 ]
  * Force feedback effects types: 
    Force feedback periodic effects: 
    [00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ]
  * Number of simultaneous effects: 0

Uploading effect #0 (Periodic sinusoidal) ... Error:: Function not implemented
Uploading effect #1 (Constant) ... Error: Function not implemented
Uploading effect #2 (Spring) ... Error: Function not implemented
Uploading effect #3 (Damper) ... Error: Function not implemented
Uploading effect #4 (Strong rumble, with heavy motor) ... Error: Function not implemented
Uploading effect #5 (Weak rumble, with light motor) ... Error: Function not implemented
Enter effect number, -1 to exit

 

그래서 0이 먼가 봤는데 어라.. sleep button.. 야이 -_-

$ sudo evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0: Sleep Button
/dev/input/event1: Lid Switch
/dev/input/event10: HDA Intel PCH Line
/dev/input/event11: HDA Intel PCH Dock Line Out
/dev/input/event12: HDA Intel PCH Headphone
/dev/input/event13: HDA Intel PCH HDMI/DP,pcm=3
/dev/input/event14: Wacom Serial Penabled 2FG Touchscreen Pen
/dev/input/event15: Wacom Serial Penabled 2FG Touchscreen Finger
/dev/input/event16: GreenAsia Inc.    USB Joystick     
/dev/input/event2: Power Button
/dev/input/event3: AT Translated Set 2 keyboard
/dev/input/event4: PS/2 Generic Mouse
/dev/input/event5: SynPS/2 Synaptics TouchPad
/dev/input/event6: HP WMI hotkeys
/dev/input/event7: ST LIS3LV02DL Accelerometer
/dev/input/event8: Video Bus
/dev/input/event9: HDA Intel PCH Mic
Select the device event number [0-16]: ^C

 

일반 사용자로 하니 지금 새로 추가된 조이스틱만 뜬다.

아무튼 이렇게 event 번호를 획득하고

$ evtest
No device specified, trying to scan all of /dev/input/event*
Not running as root, no devices may be available.
Available devices:
/dev/input/event16: GreenAsia Inc.    USB Joystick     
Select the device event number [0-16]:

 

fftest 뒤에 장치명을 붙여주면 된다니까

$ fftest --help
Force feedback test program.
HOLD FIRMLY YOUR WHEEL OR JOYSTICK TO PREVENT DAMAGES

Usage: fftest /dev/input/eventXX
Tests the force feedback driver

 

일반 사용자 권한으로 조이스틱을 연결하면 똭!

ok 뜨는게 0,4,5 뿐인데

먼가 진동이 오긴한다!

$ fftest /dev/input/event16
Force feedback test program.
HOLD FIRMLY YOUR WHEEL OR JOYSTICK TO PREVENT DAMAGES

Device /dev/input/event16 opened
Features:
  * Absolute axes: X, Y, Z, RZ, Hat 0 X, Hat 0 Y, Misc ,
    [27 00 03 00 00 01 00 00 ]
  * Relative axes: 
    [00 00 ]
  * Force feedback effects types: Periodic, Rumble, Gain, 
    Force feedback periodic effects: Square, Triangle, Sine, 
    [00 00 00 00 00 00 00 00 00 00 03 07 01 00 00 00 ]
  * Number of simultaneous effects: 16

Setting master gain to 75% ... OK
Uploading effect #0 (Periodic sinusoidal) ... OK (id 0)
Uploading effect #1 (Constant) ... Error: Invalid argument
Uploading effect #2 (Spring) ... Error: Invalid argument
Uploading effect #3 (Damper) ... Error: Invalid argument
Uploading effect #4 (Strong rumble, with heavy motor) ... OK (id 1)
Uploading effect #5 (Weak rumble, with light motor) ... OK (id 2)
Enter effect number, -1 to exit

 

 

'모종의 음모 > force feedback' 카테고리의 다른 글

ffb window api  (0) 2024.10.20
fftest 소스코드와 설정 값  (0) 2024.10.13
ffbchecker 컴파일 및 설치  (0) 2024.10.12
new-lg4ff 와 oversteer 설치 시도  (0) 2024.10.12
플심용 자작 시뮬레이터  (2) 2024.10.11
Posted by 구차니

qt로 되어서 빌드가 조금 귀찮았는데

문제는 인터넷 상에 문서가 별로 없어서

어떻게 써야지 핸들이 턱에 걸려서 휙~ 돌아가게 제어할수 있는지 모르겠다

 

 

qt 때문에 설치해야 할 패키지

$ sudo apt-get install qtbase5-dev

[링크 : https://askubuntu.com/questions/374755/what-package-do-i-need-to-build-a-qt-5-cmake-application]

 

빌드는 아래 명령으로 하면 된다.

$ git clone https://github.com/MadCatX/FFBChecker
$ cd FFBChecker
$ mkdir build
$ cd build
$ cmake ../ -DCMAKE_BUILD_TYPE=Release
$ make
$ ./FFBChecker

[링크 : https://github.com/MadCatX/FFBChecker]

 

+

Type을 periodic force로 하면, waveform에 따라서 하위 항목이 변하진 않는다.

설정값을 어떻게 넣어야 하나..

[링크 :https://vru.vibrationresearch.com/lesson/sine-test-control-parameters/]

Posted by 구차니
개소리 왈왈/자전거2024. 10. 12. 19:01

와....!

 

10년간 불편했던게 한번에 해소됨

한번 땡겨나 볼걸.. 왜 이렇게 불편하게 탔었을까..

 

물론 핸들스템 길이도 줄여놔서 더 효과가 있는 거겠지만..

'개소리 왈왈 > 자전거' 카테고리의 다른 글

오랫만(?)에 서울로 자전거  (1) 2024.10.09
서울 자전거  (0) 2024.10.06
자전거 대행진 취소  (0) 2024.04.18
오랫만에 약간 먼 자전거  (0) 2024.04.06
서울 자전거 대행진 신청  (0) 2024.04.01
Posted by 구차니