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에 사용할 보호회로 없는 배터리 구매  (2) 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에 사용할 보호회로 없는 배터리 구매  (2) 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 구차니
Linux API/linux2026. 4. 3. 12:06

 

22.5 cmdline_find_option()
command line에서 option을 파싱하는 함수다.

이 함수는 __cmdline_find_option()를 호출한다. booting시의 함수라면 cmdline의 위치가 1M 위쪽에 있으면 찾지않고 리턴한다.

[링크 : https://www.iamroot.org/ldocs/linux.html#sec-22-5]

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

kernel driver  (0) 2026.04.06
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. 1. 22:58

어우 빡세다.

전륜부 부품을 봐서는 오프로드는 꿈을 꾸면 안 될 느낌이고

그 와중에 천막이 있어서 머지 싶어서 주워오지 않았는데 그게 레이싱 트랙인 것 같았고(!)

 

서보는 잠시 켜서 car.steering = 0 해서 놔둔다음 수직으로 해야지 그나마 좌우 조향 각이 맞는 것 같고

그걸 위해서 짧은 샤프트는 정말 엄청 짧게 만들어야 했다.

앞 바퀴쪽은 너트들도 작아서 조립이 고생 후..

이제 보호회로 들은 배터리 들어갈수 있도록 좀 눌러주고 하면 어찌 될 듯

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

 

pcie 무선랜/블투는 뽑아버리고

귀찮으니(!) usb로 대체할 예정

안테나 달기 귀찮고 박스에 비해서 폭이 커지는 바람에 박스는 딱 부품용..

조립 이후에도 넣을수 있게 해두었으면 좋았을텐데 아쉽다.

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

jetracer interactive-regression  (1) 2026.04.04
imx219-160  (0) 2026.04.03
jetson nano 조이스틱 연결  (0) 2026.03.31
jetracer 서보는 되는데 모터가 안될때  (0) 2026.03.30
jetson nano + m.2 wifi  (0) 2026.03.20
Posted by 구차니
embeded/jetson2026. 3. 31. 23:31

jetson이 아닌 PC 쪽에서 노트북으로 원격 접속하고 하는데

이걸 당연히(?) jetson 꽂고 하는 줄 알고 했는데 PC에 꽂아야 하는 거였군 -_-

 

아무튼 PC에서 노트북으로 원격접속했고

새 노트북을 열어서 했는데

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

jetson에 usb를 연결해놨으면 아래와 같이 "Connect gamepad and press any button." 이라고 나오고 ui가 나오지 않는다.

        

그래서 혹시나 몰라 PC에 연결하고, 인덱스 바꾸고 해보니 바로 나온다.

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

[링크 : https://mosoon0329.tistory.com/48]

[링크 : https://stackoverflow.com/questions/79348304/ipywidgets-controller-not-working-properly-fields-empty]

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

imx219-160  (0) 2026.04.03
jetracer 조립 거의 완료  (0) 2026.04.01
jetracer 서보는 되는데 모터가 안될때  (0) 2026.03.30
jetson nano + m.2 wifi  (0) 2026.03.20
jetracer jetcard  (0) 2026.03.20
Posted by 구차니
embeded/jetson2026. 3. 30. 23:26

jetracer 에서 서보 모터는 제어가 되는데

쓰로틀(전진 후진) 이 안될 경우 waveshare의 jetracer git을 받고 설치해주면 된다.

$ git clone https://github.com/waveshare/jetracer
$ cd jetracer
$ sudo python3 setup.py install

[링크 : https://github.com/waveshare/jetracer]

 

waveshare에서 이미지 받아서 한 거 같은데, 왜 jetracer 모듈이 nvidia_iot의 것이 되어있었을까??

[링크 : https://github.com/NVIDIA-AI-IOT/jetracer/issues/66]

[링크 : https://forums.developer.nvidia.com/t/throttle-not-responding-for-jetracer-waveshare-kit-running-on-jetson-nano/128967/6]

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

jetracer 조립 거의 완료  (0) 2026.04.01
jetson nano 조이스틱 연결  (0) 2026.03.31
jetson nano + m.2 wifi  (0) 2026.03.20
jetracer jetcard  (0) 2026.03.20
seeed studio J202 carrier  (0) 2026.03.19
Posted by 구차니
Programming/qt2026. 3. 30. 11:58

이벤트 처리

[링크 : https://flower0.tistory.com/296]

[링크 : https://coding-chobo.tistory.com/34]

 

 

qt thread / worker

[링크 : https://jheaon.tistory.com/entry/QThread을-사용하여-작업-단위-분리하기]

[링크 : https://doc.qt.io/qt-6/qthread.html]

 

qt concurrent (비동기 수행)

[링크 : https://khj1999.tistory.com/229]

 

Qt Concurrent
Qt Concurrent 모듈은 뮤텍스, 읽기-쓰기 잠금, 대기 조건 또는 세마포어와 같은 저수준 스레딩 프리미티브를 사용하지 않고도 멀티스레드 프로그램을 작성할 수 있는 고수준 API를 제공합니다. Qt Concurrent 으로 작성된 프로그램은 사용 가능한 프로세서 코어 수에 따라 사용되는 스레드 수를 자동으로 조정합니다. 즉, 오늘 작성된 애플리케이션은 향후 멀티코어 시스템에 배포할 때 계속 확장할 수 있습니다.

Qt Concurrent 에는 공유 메모리(비분산) 시스템을 위한 MapReduce 및 FilterReduce 구현과 GUI 애플리케이션에서 비동기 계산을 관리하기 위한 클래스 등 병렬 목록 처리를 위한 함수형 프로그래밍 스타일 API가 포함되어 있습니다:

[링크 : https://doc.qt.io/qt-6/ko/qtconcurrent-index.html]

 

[링크 : https://blog.naver.com/kkyy3402/221332058583]

[링크 : https://truelightn.tistory.com/8]

[링크 : https://1d1cblog.tistory.com/514]

'Programming > qt' 카테고리의 다른 글

Qtimer를 이용한 반복/1회성 이벤트 생성  (0) 2026.03.30
qt6 시그널  (0) 2026.03.30
QLCDNumber class  (0) 2026.03.23
qt qrc 리소스 등록 후 이미지로 띄우기  (0) 2026.03.23
qt 6 프로그래밍 공개 ebook  (0) 2026.03.23
Posted by 구차니