embeded/jetson2026. 4. 6. 21:16

음.. cp로 하니 이상하게 안되는 군

$ nvcc tt.cpp
tt.cpp: In function ‘void kernel_test(int*, int*, int*)’:
tt.cpp:14:12: error: ‘threadIdx’ was not declared in this scope
  int idx = threadIdx.x +blockIdx.x * blockDim.x + (gridDim.x * blockDim.x) * (blockIdx.y * blockDim.y + threadIdx.y);
            ^~~~~~~~~
tt.cpp:14:12: note: suggested alternative: ‘pthread_t’
  int idx = threadIdx.x +blockIdx.x * blockDim.x + (gridDim.x * blockDim.x) * (blockIdx.y * blockDim.y + threadIdx.y);
            ^~~~~~~~~
            pthread_t
tt.cpp:14:25: error: ‘blockIdx’ was not declared in this scope
  int idx = threadIdx.x +blockIdx.x * blockDim.x + (gridDim.x * blockDim.x) * (blockIdx.y * blockDim.y + threadIdx.y);
                         ^~~~~~~~
tt.cpp:14:25: note: suggested alternative: ‘clock’
  int idx = threadIdx.x +blockIdx.x * blockDim.x + (gridDim.x * blockDim.x) * (blockIdx.y * blockDim.y + threadIdx.y);
                         ^~~~~~~~
                         clock
tt.cpp:14:38: error: ‘blockDim’ was not declared in this scope
  int idx = threadIdx.x +blockIdx.x * blockDim.x + (gridDim.x * blockDim.x) * (blockIdx.y * blockDim.y + threadIdx.y);
                                      ^~~~~~~~
tt.cpp:14:38: note: suggested alternative: ‘clock’
  int idx = threadIdx.x +blockIdx.x * blockDim.x + (gridDim.x * blockDim.x) * (blockIdx.y * blockDim.y + threadIdx.y);
                                      ^~~~~~~~
                                      clock
tt.cpp:14:52: error: ‘gridDim’ was not declared in this scope
  int idx = threadIdx.x +blockIdx.x * blockDim.x + (gridDim.x * blockDim.x) * (blockIdx.y * blockDim.y + threadIdx.y);
                                                    ^~~~~~~
tt.cpp: At global scope:
tt.cpp:18:11: error: ‘::main’ must return ‘int’
 void main()
           ^
tt.cpp: In function ‘int main()’:
tt.cpp:61:15: error: expected primary-expression before ‘<’ token
  kernel_test<<<block,thread>>>(dev_a,dev_b,dev_c);
               ^
tt.cpp:61:30: error: expected primary-expression before ‘>’ token
  kernel_test<<<block,thread>>>(dev_a,dev_b,dev_c);
                              ^

 

음.. cuda는 main이 int 형이여야 하는군

$ nvcc tt.cu
tt.cu(18): warning: return type of function "main" must be "int"

tt.cu(18): warning: return type of function "main" must be "int"

tt.cu:18:11: error: ‘::main’ must return ‘int’
 void main()
           ^

[링크 : https://mangkyu.tistory.com/84]

 

싱글코어

$ ./a.out
cpu Time : 0.206937
gpu Time : 0.000106

 

어..? 멀티코어 돌리는게 왜 더 느려?!?!

$ nvcc  -Xcompiler -fopenmp tt.cu -o a.out.mp
jetson@nano-4gb-jp451:~$ ./a.out.mp
cpu Time : 0.231175
gpu Time : 0.000088

[링크 : https://forums.developer.nvidia.com/t/how-use-openmp-in-cu-file/2918/10]

 

2014.01.17 - [Programming/openCL & CUDA] - cuda + openmp 적용 예제

 

 

Posted by 구차니
embeded/jetson2026. 4. 6. 19:41

그냥 해보니 없는데 경로 따라가니 있다. 오호

jetson@nano-4gb-jp451:~$ nvcc
-bash: nvcc: command not found

jetson@nano-4gb-jp451:~$ /usr/local/cuda-10.2/bin/nvcc
nvcc fatal   : No input files specified; use option --help for more information

 

cuda로 심볼릭 링크되어있으니 이걸로 하면 편할듯

/usr/local$ ls -al
total 48
drwxr-xr-x 12 root root 4096 May 26  2021 .
drwxr-xr-x 12 root root 4096 Feb 19  2021 ..
drwxr-xr-x  3 root root 4096 Mar 30 07:22 bin
lrwxrwxrwx  1 root root    9 Feb 19  2021 cuda -> cuda-10.2
drwxr-xr-x 12 root root 4096 Feb 19  2021 cuda-10.2
drwxr-xr-x  3 root root 4096 May 26  2021 etc
drwxr-xr-x  2 root root 4096 Apr 26  2018 games
drwxr-xr-x  2 root root 4096 Apr 26  2018 include
drwxr-xr-x  2 root root 4096 May 26  2021 jetson_stats
drwxr-xr-x  4 root root 4096 Jun  4  2018 lib
lrwxrwxrwx  1 root root    9 Apr 26  2018 man -> share/man
drwxr-xr-x  2 root root 4096 Apr 26  2018 sbin
drwxr-xr-x 11 root root 4096 May 26  2021 share
drwxr-xr-x  2 root root 4096 Apr 26  2018 src

 

$ tail -2 ~/.bashrc
export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}$
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

[링크 : https://staycool-js.tistory.com/m/23]

Posted by 구차니
Linux API/linux2026. 4. 6. 16:14

hid multitouch 드라이버 보다가 신기한(?)거 발견

간단하게(?)  /sys 경로에 show_mt 라는 파일이 생성되고 boolean 타입으로 내용을 써주면 드라이버에서

그 값을 이용해 작동하게 되는 매크로.

 

module_param(show_mt, bool, 0444);

[링크 : https://github.com/bentiss/hid-multitouch/blob/master/hid-multitouch.c]

 

[링크 :https://reakwon.tistory.com/226]

'Linux API > linux' 카테고리의 다른 글

커널 cmdline 관련 함수  (0) 2026.04.03
kernel input_event()  (1) 2025.12.23
linux 시리얼 포트 열기(termios)  (0) 2025.10.11
LD_DEBUG=libs  (0) 2025.06.02
linux device tree(dtb) 문법...?  (0) 2024.12.04
Posted by 구차니
embeded/jetson2026. 4. 5. 19:21

 

 

양산품은 2027년

 

구버전 개발킷도 이제는 단종 시키려고 하는듯.

명시하진 않았으나 도달중인.. 표현이 참..

[링크 : https://developer.nvidia.com/embedded/lifecycle]

'embeded > jetson' 카테고리의 다른 글

jetson nano nvcc 빌드  (0) 2026.04.06
jetson nvcc 실행하기  (0) 2026.04.06
jetracer에 사용할 보호회로 없는 배터리 구매  (0) 2026.04.04
jetracer ina219 배터리 모니터링 ic  (0) 2026.04.04
jetracer interactive-regression  (1) 2026.04.04
Posted by 구차니
embeded/jetson2026. 4. 4. 21:13

중고로 3개 구매함(개당 2500원, 당근 99도!)

인터넷으로 보호회로 없는걸 사기 힘드니까 어쩔수 없긴한데

아무튼 깔끔하게 조립이 가능해져서 행복 +_+

 

그 와중에 모니터링 하고 싶은데 영 방법이 안보이네

7:10 부터 9:00 까지 전진 계속 시키고 jetson 켜놨는데

뺴고 재보니 3.9V 나오는걸 봐서는 3시간 정도 어찌 버틸듯?

 

사양만 보면 25C 고방전 사양의 배터리인가?!

'embeded > jetson' 카테고리의 다른 글

jetson nvcc 실행하기  (0) 2026.04.06
jetson nano 2gb dev kit EOL 근접  (0) 2026.04.05
jetracer ina219 배터리 모니터링 ic  (0) 2026.04.04
jetracer interactive-regression  (1) 2026.04.04
imx219-160  (0) 2026.04.03
Posted by 구차니
embeded/jetson2026. 4. 4. 21:09

있다는데 어떻게 읽지?

Features
Support three 18650 batteries (not included), 7800mAh large capacity, up to 12.6V output, stronger motor power.
On-board S-8254AA + AO4407A Li-ion battery protection circuit, with anti-overcharge, anti-over-discharge, anti-over-current and short-circuit protection functions.
Onboard APW7313 voltage regulator chip, which can provide stable 5V voltage to Jetson Nano.
Onboard TB6612FNG dual H-bridge motor driver chip can drive the left and right two motor work.
Onboard 0.91" 128×32 resolution OLED, real-time display of car IP address, memory, power, and other conditions.
Onboard INA219 acquisition chip, convenient for real-time monitoring of battery voltage.

Datasheet
Ina219
PCA96_datasheet
S-8254AA
Ads1115
TB6612FNG

[링크 : https://www.waveshare.com/wiki/JetRacer_AI_Kit]

 

근데 회로도에 없다 -_-?

회로도에는 대신이라고 하긴 뭣하지만 ads1115가 존재한다.

[링크 : https://files.waveshare.com/upload/4/4a/JetRacer_Schematic.pdf]

 

그냥 검색하면 안나오는데

jetson@nano-4gb-jp451:~ $ i2cdetect -y 1
Warning: Can't use SMBus Quick Write command, will skip some addresses
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:
10:
20:
30: -- -- -- -- -- -- -- --
40:
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60:
70:

 

-r 주면 smbus 무시하고 하는건지 먼가 나오긴한다. 그런데.. 누가 ina219고 누가 ads1115냐..

jetson@nano-4gb-jp451:~$ i2cdetect -y -r 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- 08 -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- 3c -- -- --
40: 40 41 -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: 60 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- 71 -- -- -- -- -- --

 

ADS1115 - 0x4A, 0x4B, 0x48, 0x49 라고 검색되는데 안보이고..

INA219 - 0x40, 0x41, 0x44, 0x45 라는데 일단 0x40과 0x41이 보이긴한다.

 

APW7313 - voltage regulator

 

 S-8254AA + AO4407A * 3 배터리 보호회로

 

 

근데 회로도상으로는 4407에 붙은 10mohm도 없고 4개여야 하는데 6개나 있다. 멀까?

 

NXP PCA9685 - 16ch 12bit PWM

ina219  에 100밀리옴인가?

 

TB6612FNG - Driver IC for Dual DC motor

 

 

+

gpt로 대충 작성

$ cat in.py
import board
import busio
from adafruit_ina219 import INA219
import time

# I2C
i2c = busio.I2C(board.SCL, board.SDA)

# 주소 (Waveshare는 0x42인 경우 많음)
ina219 = INA219(i2c, addr=0x41)

# R100 = 0.1Ω 설정 (중요)
ina219.shunt_resistance = 0.1

while True:
    print(f"Voltage: {ina219.bus_voltage:.3f} V")
    print(f"Current: {ina219.current:.3f} mA")
    print(f"Power: {ina219.power:.3f} mW")
    print("------")
    time.sleep(1)

 

충전 중에는 12.6V가 맞는것 같은데

선을 뽑으면 current가 0으로 떨어진다. 젯슨 나노가 쓰는게 있으니 음수 전류가 나와야 할 것 같은데

충전만 모니터링하고 방전은 안하는걸려나?

일단 수치상으로는 power는 mW가 아니라 W 일 듯?

$ python3 in.py
Voltage: 12.608 V
Current: 379.400 mA
Power: 4.962 mW
------
Voltage: 12.616 V
Current: 374.700 mA
Power: 4.752 mW
------
Voltage: 12.616 V
Current: 358.400 mA
Power: 4.542 mW
------
Voltage: 12.620 V
Current: 356.100 mA
Power: 4.890 mW
------
Voltage: 12.512 V
Current: 0.000 mA
Power: 0.000 mW
------
Voltage: 12.512 V
Current: -0.200 mA
Power: 0.004 mW
------
Voltage: 12.520 V
Current: 0.100 mA
Power: 0.000 mW
------
Voltage: 12.516 V
Current: -0.100 mA
Power: 0.000 mW
------
Voltage: 12.496 V
Current: 0.100 mA
Power: 0.000 mW

'embeded > jetson' 카테고리의 다른 글

jetson nano 2gb dev kit EOL 근접  (0) 2026.04.05
jetracer에 사용할 보호회로 없는 배터리 구매  (0) 2026.04.04
jetracer interactive-regression  (1) 2026.04.04
imx219-160  (0) 2026.04.03
jetracer 조립 거의 완료  (0) 2026.04.01
Posted by 구차니
embeded/jetson2026. 4. 4. 16:17

Data Collection 에서 사진을 찍는데

일단~~~은 dataset A / B, 두 가지가 존재하니 두 개 객체에 대해서 일단 각각 찍어 본다.

그리고 실제 학습은 저~~~기 아래 14번 BATCH_SIZE 있는데서 이뤄진다.

resnet18이긴 하지만 엣지에서 바로 학습이라니 정말 젯슨 나노가 그당시 파워풀했구나..

 

epoch를 10 주고 돌리고 나서 가장 아래의 15번째 항목에서 state live로 하고 카메라로 저장했던 객체를 들이대면

조금 따라가는 느낌이 나긴한다. 그러면 다시 위에가서 학습하고 반복

 

[링크 : https://www.waveshare.com/wiki/JetRacer_AI_Kit_Tutorial_III:_Interactive-regression?srsltid=AfmBOopvqr6oks46FDeU5oPH_3tSqexem8WTF9Gj0AN9hNURnpMbKQRM]

 

'embeded > jetson' 카테고리의 다른 글

jetracer에 사용할 보호회로 없는 배터리 구매  (0) 2026.04.04
jetracer ina219 배터리 모니터링 ic  (0) 2026.04.04
imx219-160  (0) 2026.04.03
jetracer 조립 거의 완료  (0) 2026.04.01
jetson nano 조이스틱 연결  (0) 2026.03.31
Posted by 구차니
embeded/jetson2026. 4. 3. 22:56

jetson nano에 HDMI 연결하고

nvgstcapture-1.0을 실행해서 봐도 주변부 비네팅 때문이라고 하기에는 색상 자체가 좀 붉게 변하는 느낌인데

카메라 특성인지, 아니면 렌즈 특성인지 봐야알듯.

[링크 : https://www.waveshare.com/wiki/JetRacer_AI_Kit?srsltid=AfmBOorsERJlhvBrJ2Amef8kQfvXg4Z-v-nSnbI-IMx7YLtAo6uJJP5C]

 

혹시나 해서 보는데 imx219 자체는 라즈베리에서도 되는것 같은데, libcamera는 또 머냐..

Re: Raspberry PI 3b+ IMX219 camera not seen via MMAL

Mon Feb 19, 2024 6:01 pm
IMX219 (v2 camera) is supported by the legacy camera stack, as are OV5647 (v1) and IMX477 (HQ) cameras.

IMX708 (v3) and IMX296 (Global Shutter) are NOT supported, nor are ANY cameras on a Pi5. It's libcamera only for those options.

I'd boot Raspberry Pi OS properly and check "vcgencmd get_camera" to ensure that your camera is detected properly. With Bullseye you should be able to run the old raspistill app to confirm that it all works.
Only once you've validated that would I move on to trying your bare metal approach.

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

 

raspicam과 libcamera 로 또 먼가 파편화 되었나..

 

흐음.. 라즈베리 카메라 쓴다고 먼가 설정한거 있는것 같진 않았는데 dtoverlay에 지정해줘야했나?

 

[링크 : https://www.waveshare.com/wiki/Pi5-IMX219?srsltid=AfmBOooxSr92ZhlSMtF3RCwcVU9NB1sagNT8YVbBJfXQ9lYgpPRLEtRK]

[링크 : https://www.waveshare.com/wiki/IMX219-160_Camera]

 

이건 구버전 문서인듯?

[링크 : https://www.eleparts.co.kr/goods/view?no=7664994]

'embeded > jetson' 카테고리의 다른 글

jetracer ina219 배터리 모니터링 ic  (0) 2026.04.04
jetracer interactive-regression  (1) 2026.04.04
jetracer 조립 거의 완료  (0) 2026.04.01
jetson nano 조이스틱 연결  (0) 2026.03.31
jetracer 서보는 되는데 모터가 안될때  (0) 2026.03.30
Posted by 구차니
Linux2026. 4. 3. 22:47

조이스틱 테스트 유틸리티.

그래서 js 인가..

 

$ apt-cache search jstest
joystick - set of testing and calibration tools for joysticks
jstest-gtk - joystick testing and configuration tool

 

$ jstest

Usage: jstest [<mode>] <device>

Modes:
  --normal           One-line mode showing immediate status
  --old              Same as --normal, using 0.x interface
  --event            Prints events as they come in
  --nonblock         Same as --event, in nonblocking mode
  --select           Same as --event, using select() call

 

 other에 r이 있어서 그래도 조이스틱 값은 sudo를 쓰지 않아도 읽히긴 한다.

$ ls -al /dev/input/js0
crw-rw-r--+ 1 root input 13, 0 Apr  3 06:32 /dev/input/js0

 

수치로 보니 아무튼 난잡한데

$ jstest /dev/input/js0
Driver version is 2.1.0.
Joystick (ShanWan PC/PS3/Android) has 8 axes (X, Y, Z, Rz, Gas, Brake, Hat0X, Hat0Y)
and 16 buttons (BtnA, BtnB, BtnC, BtnX, BtnY, BtnZ, BtnTL, BtnTR, BtnTL2, BtnTR2, BtnSelect, BtnStart, BtnMode, BtnThumbL, BtnThumbR, ?).
Testing ... (interrupt to exit)
Axes:  0:     0  1:     0  2:     0  3:     0  4:     0  5:     0  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:     0  1:     0  2:     0  3:     0  4:     0  5:     0  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:     0  1:     0  2:     0  3:     0  4:     0  5:     0  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:     0  1:     0  2:     0  3:     0  4:     0  5:     0  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:     0  1:     0  2:     0  3:     0  4:     0  5:     0  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:     0  1:     0  2:     0  3:     0  4:     0  5:     0  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:     0  1:     0  2:     0  3:     0  4:     0  5:     0  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:     0  2:     0  3:     0  4:     0  5:     0  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-32767  2:     0  3:     0  4:     0  5:     0  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-32767  2:-32767  3:     0  4:     0  5:     0  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-32767  2:-32767  3:-32767  4:     0  5:     0  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-32767  2:-32767  3:-32767  4:-32767  5:     0  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-32767  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-32767  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-32767  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-20607  1:-32767  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-20945  1:-32767  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-20607  1:-32767  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-20945  1:-32767  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-20607  1:-32767  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-20607  1: -7095  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-20607  1:-23648  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-20607  1:-32767  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-20945  1:-32767  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-20607  1:-32767  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-20607  1:-32767  2:-32767  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-20607  1:-32767  2:-32767  3: -1014  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-20607  1:-32767  2:-32767  3:-10135  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-20607  1:-32767  2:-32767  3:-17905  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-20607  1:-32767  2:-32767  3:-25337  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-20607  1:-32767  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-20945  1:-32767  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-26012  1:-32767  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-32767  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-32093  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-27363  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-23310  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-19932  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-19932  2: 14188  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-17905  2: 14188  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-17905  2: 29727  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-17229  2: 29727  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-17229  2: 32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-16216  2: 32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-12837  2: 32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-10811  2: 32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1: -8446  2: 32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:  -338  2: 32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:     0  2: 32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:     0  2: 32767  3:-27701  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:     0  2: 32767  3:-20607  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:     0  2: 32767  3:-13175  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:     0  2: 32767  3: -5068  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:     0  2: 32767  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:  4053  2: 32767  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1: 19931  2: 32767  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-26350  1: 19931  2: 32767  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-26350  1: 31754  2: 32767  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17567  1: 31754  2: 32767  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17567  1: 32767  2: 32767  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1: 32767  2: 32767  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1: 32767  2: 32767  3:  5405  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1: 32767  2: 32767  3:  9796  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1: 32767  2: 32767  3: 13512  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-10473  1: 32767  2: 32767  3: 13512  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-10473  1: 32767  2: 32767  3: 21957  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: -2703  1: 32767  2: 32767  3: 21957  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: -2703  1: 32767  2: 32767  3: 28376  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:     0  1: 32767  2: 32767  3: 28376  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:     0  1: 32767  2: 32767  3: 32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1: 32767  2: 32767  3: 32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1: 32767  2: 30741  3: 32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1: 32767  2:  7769  3: 32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1: 24998  2:  7769  3: 32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1: 24998  2:     0  3: 32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1: 18917  2:     0  3: 32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1: 12499  2:     0  3: 32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:  2364  2:     0  3: 32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:     0  2:     0  3: 32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:     0  2:-11486  3: 32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:     0  2:-32767  3: 32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:     0  2:-32767  3: 30065  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:     0  2:-32767  3: 18579  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:     0  2:-32767  3:  6080  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:     0  2:-32767  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1: -1352  2:-32767  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1: -8446  2:-32767  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-15878  2:-32767  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-19256  2:-32767  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-24661  2:-32767  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-31417  2:-32767  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:-32767  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:-32767  3: -8108  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:-32767  3:-20945  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:     0  1:-32767  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: -2703  1:-32767  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: -8446  1:-32767  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:-32767  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:-32767  2:-26012  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:-32767  2:-11148  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:-32767  2:     0  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17567  1:-32767  2:     0  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-24999  1:-32767  2:     0  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-32767  2:     0  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-32767  2:  5405  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-32767  2: 21282  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-32767  2: 32092  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-32767  2: 32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-30742  2: 32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-22634  2: 32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-22634  2: 32767  3:-32431  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-15540  2: 32767  3:-32431  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-15540  2: 32767  3:-17567  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1: -5406  2: 32767  3:-17567  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1: -5406  2: 32767  3: -1352  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:     0  2: 32767  3: -1352  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:     0  2: 32767  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:     0  2: 32767  3:  2364  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-28715  1:     0  2: 32767  3:  2364  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-28715  1:     0  2: 32767  3: 11485  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17567  1:     0  2: 32767  3: 11485  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17567  1:   675  2: 32767  3: 11485  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17567  1:   675  2: 32767  3: 17228  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:   675  2: 32767  3: 17228  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:  7094  2: 32767  3: 17228  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:  7094  2: 32767  3: 26687  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1: 11147  2: 32767  3: 26687  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1: 11147  2: 29052  3: 26687  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1: 11147  2: 29052  3: 30403  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1: 14188  2: 29052  3: 30403  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1: 14188  2: 15201  3: 30403  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1: 14188  2: 15201  3: 32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-15878  1: 14188  2: 15201  3: 32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-15878  1: 14526  2: 15201  3: 32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-15878  1: 14526  2:  1689  3: 32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: -6081  1: 14526  2:  1689  3: 32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: -6081  1: 14863  2:  1689  3: 32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: -6081  1: 14863  2:     0  3: 32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:     0  1: 14863  2:     0  3: 32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:     0  1: 15201  2:     0  3: 32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1: 15201  2:     0  3: 32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1: 14526  2:     0  3: 32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1: 12161  2:     0  3: 32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:  5067  2:     0  3: 32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:     0  2:     0  3: 32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:     0  2:     0  3: 26011  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:     0  2:     0  3: 15877  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:     0  2:-11824  3: 15877  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:     0  2:-11824  3:  9120  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:     0  2:-21958  3:  9120  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:     0  2:-21958  3:  2026  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:     0  2:-29728  3:  2026  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:     0  2:-29728  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:     0  2:-32767  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1: -1352  2:-32767  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-10135  2:-32767  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-17905  2:-32767  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-26350  2:-32767  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-26350  2:-32767  3:-11148  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:-32767  3:-11148  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:-32767  3:-18580  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:-32767  3:-26350  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: -2027  1:-32767  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-11824  1:-32767  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:-32767  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:-32767  2:-31755  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:-32767  2:-22296  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:-32767  2: -8446  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-28715  1:-32767  2: -8446  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-28715  1:-32767  2:     0  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-32767  2:     0  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-22972  2:     0  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:     0  2:     0  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:     0  2:  2364  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:     0  2:  7094  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:     0  2:  9458  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:     0  2: 10810  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:     0  2: 10810  3:-28377  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:     0  2: 11823  3:-28377  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:     0  2: 11823  3:-22296  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-31079  1:     0  2: 11823  3:-22296  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-31079  1:  1351  2: 11823  3:-22296  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-31079  1:  1351  2: 14188  3:-22296  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-31079  1:  1351  2: 14188  3: -9459  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-30066  1:  1351  2: 14188  3: -9459  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-30066  1:  4729  2: 14188  3: -9459  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-30066  1:  4729  2: 14188  3: -6081  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-28039  1:  4729  2: 14188  3: -6081  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-28039  1:  8783  2: 14188  3: -6081  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-28039  1:  8783  2: 14188  3: -1690  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-25674  1:  8783  2: 14188  3: -1690  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-25674  1: 12499  2: 14188  3: -1690  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-25674  1: 12499  2: 14188  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-23310  1: 12499  2: 14188  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-23310  1: 16215  2: 14188  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-18242  1: 16215  2: 14188  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-18242  1: 18917  2: 14188  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1: 18917  2: 14188  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1: 20606  2: 14188  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1: 20606  2:  7431  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1: 20606  2:     0  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1: 20268  2:     0  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1: 15539  2:     0  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:  5067  2:     0  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:     0  2:     0  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:     0  2:     0  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1: -1014  2:     0  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1: -5406  2:     0  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:-10811  2:     0  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:-17567  2:     0  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:-23985  2:     0  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:-23985  2:     0  3:     0  4:-32767  5:-32767  6:     0  7: 32767 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:-32767  2:     0  3:     0  4:-32767  5:-32767  6:     0  7: 32767 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:-32767  2:     0  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:-32767  2:     0  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-14864  1:-32767  2:     0  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-11824  1:-32767  2:     0  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: -9121  1:-32767  2:     0  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: -7770  1:-32767  2:     0  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: -7432  1:-32767  2:     0  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: -7095  1:-32767  2:     0  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: -5743  1:-32767  2:     0  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: -3379  1:-32767  2:     0  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: -1352  1:-32767  2:     0  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:     0  1:-32767  2:     0  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:     0  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:     0  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:     0  3:     0  4:-32767  5: 32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:     0  3: -4730  4:-32767  5: 32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:     0  3: -6081  4:-32767  5: 32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:     0  3: -6419  4:-32767  5: 32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:     0  3: -6081  4:-32767  5: 32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:     0  3: -4392  4:-32767  5: 32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:     0  3: -1352  4:-32767  5: 32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:     0  3:  -676  4:-32767  5: 32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:     0  3:     0  4:-32767  5: 32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:     0  3: -2703  4:-32767  5: 32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:     0  3: -8108  4:-32767  5: 32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:     0  3:-12500  4:-32767  5: 32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:     0  3:-12500  4:-32767  5: 32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:     0  3:-12500  4: 32767  5: 32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:     0  3:-16216  4: 32767  5: 32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:     0  3:-24323  4: 32767  5: 32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2: -1690  3:-24323  4: 32767  5: 32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2: -1690  3:-29728  4: 32767  5: 32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2: -7432  3:-29728  4: 32767  5: 32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2: -7432  3:-32767  4: 32767  5: 32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:-13513  3:-32767  4: 32767  5: 32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:-19932  3:-32767  4: 32767  5: 32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:-27701  3:-32767  4: 32767  5: 32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:-32767  3:-32767  4: 32767  5: 32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:-32767  3:-32767  4: 32767  5: 32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:-32767  3:-32767  4: 32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:     0  1:-32767  2:-32767  3:-32767  4: 32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: -1352  1:-32767  2:-32767  3:-32767  4: 32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-10811  1:-32767  2:-32767  3:-32767  4: 32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-10811  1:-11148  2:-32767  3:-32767  4: 32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:-11148  2:-32767  3:-32767  4: 32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:     0  2:-32767  3:-32767  4: 32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:     0  2:-32767  3:-32767  4: 32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:     0  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:     0  2:-20945  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:     0  2:  -676  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:     0  2:     0  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:     0  2:     0  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17567  1:     0  2:     0  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:     0  2:     0  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off  7:off  8:off  9:off 10:off 11:off 12:off 13:off 14:off 15:off 

 

이럴땐 gui가 좋긴해 ㅎㅎ

$ jstest-gtk






 

[링크 : https://m.blog.naver.com/zeta0807/222292943574]

[링크 : https://linux.die.net/man/1/jstest]

 

'Linux' 카테고리의 다른 글

리눅스 메모리 timing 확인하기  (0) 2026.01.27
journalctl 옵션  (0) 2026.01.20
proc fs smp_affinity  (0) 2025.09.19
sudo time  (0) 2025.09.17
dd 로 덤프 하면서 바로 압축하기  (0) 2025.07.24
Posted by 구차니
embeded/raspberry pi2026. 4. 3. 22:35

음.. 조이스틱이 먼가 이상한가 이상하게 작동한다.

아무튼! 아래부분 코드를 basic_motion.ipynb에 섞어서 하면 그럴싸하게 조작이 가능해진다.

 

[링크 : https://www.waveshare.com/wiki/JetRacer_AI_Kit?srsltid=AfmBOorvXoDjlzr5jjLjmmnLwCiNINsrvLWTPl9Jh_OOBIDI2szAebf6]

 

 

import ipywidgets.widgets as widgets
controller = widgets.Controller(index=0)
display(controller)

 

아래줄은 왜 에러나는지 모르겠다. 어떨 땐 되고, 어떨 땐 안되고 -_-

그 와중에 어댑터로 했는데 전원 부족한가 자꾸 어느정도 하다보면 죽네..

import traitlets
left_link = traitlets.dlink((controller.axes[0], 'value'), (car, 'steering'), transform=lambda x:-x)
right_link = traitlets.dlink((controller.axes[1], 'value'), (car, 'throttle'), transform=lambda x:x)

 

아무튼 조이스틱에 home을 누르면 아날로그 / 디지털 모드가 바뀐다.

서보랑 속도를 자연스럽게 조작이 가능해짐!

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

rpi pico + lcd st7735 using circuitpython + thonny  (0) 2025.10.09
라즈베리 파이 pwm 출력  (0) 2024.12.31
node-red  (0) 2024.11.21
cli 에서 chrome refresh 하기  (0) 2024.09.24
라즈베리 파이 gui 재시작(lxde)  (0) 2024.09.19
Posted by 구차니