'프로그램 사용 > libmodbus' 카테고리의 다른 글
| libmodbus 예제 프로그램 (0) | 2022.05.04 |
|---|---|
| libmodbus tcp 예제 (0) | 2022.05.04 |
| libmodbus (0) | 2022.05.03 |
| modbus tcp 테스트 툴 (0) | 2022.05.03 |
| modbus 프로토콜 (0) | 2015.09.16 |
| libmodbus 예제 프로그램 (0) | 2022.05.04 |
|---|---|
| libmodbus tcp 예제 (0) | 2022.05.04 |
| libmodbus (0) | 2022.05.03 |
| modbus tcp 테스트 툴 (0) | 2022.05.03 |
| modbus 프로토콜 (0) | 2015.09.16 |
ssh를 통해 원격명령어 실행하려는데 watch의 경우 실행이 되지 않아 찾아보니
-t 옵션을 주어 pseudo-tty 할당하도록 하면 실행이 된다.
| ssh -t |
[링크 : https://stackoverflow.com/questions/47936491/using-watch-with-ssh]
| ssh ecdsa 미지원(ubuntu 22.04) (0) | 2023.05.30 |
|---|---|
| ubuntu ssh x11 forwarding시 gnome 화면 끌어오기 (0) | 2022.07.11 |
| ssh Are you sure you want to continue connecting (yes/no)? (0) | 2022.04.25 |
| sshd 에서 ssh 로그인 끄고 sftp만 허용하기 (0) | 2022.04.01 |
| ssh 압축전송하기 (0) | 2021.12.14 |
호스트의 키가 변경되면 ssh 로그인시 경고를 날리는데
-y 같이 해당 옵션을 무조건 yes로 무시하는게 없나 찾아보는 중
| $ ssh 192.168.53.144 The authenticity of host '192.168.53.144 (192.168.53.144)' can't be established. ECDSA key fingerprint is SHA256: Are you sure you want to continue connecting (yes/no)? |
개인적으로는 옵션으로 처리가능한게 깔끔해서 좋음.
| $ ssh 192.168.53.144 -o StrictHostKeyChecking=no Warning: Permanently added '192.168.53.144' (ECDSA) to the list of known hosts. pi@192.168.53.144's password: |
| ubuntu ssh x11 forwarding시 gnome 화면 끌어오기 (0) | 2022.07.11 |
|---|---|
| ssh 슈도 터미널 실행 (0) | 2022.04.25 |
| sshd 에서 ssh 로그인 끄고 sftp만 허용하기 (0) | 2022.04.01 |
| ssh 압축전송하기 (0) | 2021.12.14 |
| ssh 원격 명령어 실행 (0) | 2021.09.29 |
kinect for window 중고로 구매예정이라
라즈배리 파이나 라눅스애서 사용이 가능한지 검색중
[링크 : http://openkinect.org/]
[링크 : https://github.com/OpenKinect/libfreenect]
[링크 : https://m.blog.naver.com/sharonlog/12020745]
| kinect + rpi + ros = slam (0) | 2022.04.27 |
|---|---|
| azure kinect (0) | 2022.04.27 |
| kinect 360 (0) | 2022.04.27 |
| kinect for windows on ubuntu (0) | 2022.04.26 |
| kinect for window 도착 그리고 윈도우10에서 시도 (0) | 2022.04.26 |
| ffmpeg -framerate 30 -i Image%08d.jpg -crf 23 Output.mp4 |
[링크 : https://stackoverflow.com/questions/3002601/converting-avi-frames-to-jpgs-on-linux]
| ffmpeg -i in.avi -vsync cfr -r 1 -f image2 'img-%03d.jpeg' |
| ffmpeg을 이용하여 gif 만들기 (0) | 2026.04.29 |
|---|---|
| ffmpeg을 이용한 원하는 동영상 구간 자르기 (0) | 2022.07.28 |
| mp4 복구 시도 (0) | 2022.01.24 |
| ffmpeg을 이용한 rgb565 to bmp (0) | 2021.10.18 |
| ffmpeg 재생 어렵다 -_ㅠ (0) | 2021.02.22 |
아.. 설정은 가능하구나.
| $ sudo vim /etc/sshd_config #Subsystem sftp /usr/lib/openssh/sftp-server Subsystem sftp internal-sftp |
[링크 : https://techglimpse.com/allow-sftp-disallow-ssh-ubuntu/]
| ssh 슈도 터미널 실행 (0) | 2022.04.25 |
|---|---|
| ssh Are you sure you want to continue connecting (yes/no)? (0) | 2022.04.25 |
| ssh 압축전송하기 (0) | 2021.12.14 |
| ssh 원격 명령어 실행 (0) | 2021.09.29 |
| reverse ssh (0) | 2021.01.03 |
윈도우용 라벨링 프로그램 찾다가 발견
| tensorflow keras dataset (0) | 2024.01.02 |
|---|---|
| tensorflow lite / mnist 학습 (0) | 2024.01.02 |
| tflite bazel rpi3b+ (0) | 2022.01.27 |
| bazel cross compile (0) | 2022.01.27 |
| bazel clean (0) | 2021.10.19 |
해당 명령을 입력한 콘솔로 출력된다. (시리얼, ssh 에서 각각 해 봄)
| export WAYLAND_DEBUG=1 |
[링크 : https://wiki.st.com/stm32mpu/wiki/How_to_debug_Weston]
| libwayland (0) | 2022.06.27 |
|---|---|
| weston desktop-shell output destory (0) | 2022.06.08 |
| weston drm atomic (0) | 2022.03.17 |
| wayvnc 실행 실패 (0) | 2022.02.17 |
| wayland-scanner (0) | 2022.02.16 |
테스트 중 아래와 같은 에러가 보여서 atomic이 먼가 찾아보는데..
| [11:49:06.216] atomic: couldn't commit new state: Invalid argument [11:49:06.217] repaint-flush failed: Invalid argument |
말그대로.. 데이터의 atomic이 깨졌다는 건가..
| At the other end there's struct drm_plane, representing a scanout engine that reads pixel data from memory represented by a struct drm_framebuffer and provides it to the display hardware. |
[링크 : https://lwn.net/Articles/653071/]
backend-drm/kms.c 에서 해당 에러를 출력한다.
| weston desktop-shell output destory (0) | 2022.06.08 |
|---|---|
| weston debug message (0) | 2022.03.18 |
| wayvnc 실행 실패 (0) | 2022.02.17 |
| wayland-scanner (0) | 2022.02.16 |
| wayland wl_fixed_t 변수 (0) | 2022.02.07 |
weston 소스를 보는데 희한한(?) 문자열 선언이 보여서 확인
| static const char * const connector_type_names[] = { [DRM_MODE_CONNECTOR_Unknown] = "Unknown", [DRM_MODE_CONNECTOR_VGA] = "VGA", [DRM_MODE_CONNECTOR_DVII] = "DVI-I", [DRM_MODE_CONNECTOR_DVID] = "DVI-D", [DRM_MODE_CONNECTOR_DVIA] = "DVI-A", [DRM_MODE_CONNECTOR_Composite] = "Composite", [DRM_MODE_CONNECTOR_SVIDEO] = "SVIDEO", [DRM_MODE_CONNECTOR_LVDS] = "LVDS", [DRM_MODE_CONNECTOR_Component] = "Component", [DRM_MODE_CONNECTOR_9PinDIN] = "DIN", [DRM_MODE_CONNECTOR_DisplayPort] = "DP", [DRM_MODE_CONNECTOR_HDMIA] = "HDMI-A", [DRM_MODE_CONNECTOR_HDMIB] = "HDMI-B", [DRM_MODE_CONNECTOR_TV] = "TV", [DRM_MODE_CONNECTOR_eDP] = "eDP", [DRM_MODE_CONNECTOR_VIRTUAL] = "Virtual", [DRM_MODE_CONNECTOR_DSI] = "DSI", [DRM_MODE_CONNECTOR_DPI] = "DPI", }; |
느낌은 알겠는데.. 도대체 어디서 정의된 문법이냐...
| $ cat str.c #include <stdio.h> static const char * const connector_type_names[] = { [0] = "Unknown", [1] = "VGA", [2] = "DVI-I", [3] = "DVI-D", [4] = "DVI-A", [5] = "Composite", [6] = "SVIDEO", [7] = "LVDS", [8] = "Component", [9] = "DIN", [10] = "DP", [11] = "HDMI-A", [12] = "HDMI-B", [13] = "TV", [14] = "eDP", [15] = "Virtual", [16] = "DSI", [17] = "DPI", }; void main() { for(int i = 0; i < 10; i++) printf("%s\n",connector_type_names[i]); } $ gcc str.c $ ./a.out Unknown VGA DVI-I DVI-D DVI-A Composite SVIDEO LVDS Component DIN |
| $ cat str.c #include <stdio.h> static const char * const connector_type_names[] = { [2] = "Unknown", [1] = "VGA", [0] = "DVI-I", [3] = "DVI-D", [4] = "DVI-A", [5] = "Composite", [6] = "SVIDEO", [7] = "LVDS", [8] = "Component", [9] = "DIN", [10] = "DP", [11] = "HDMI-A", [12] = "HDMI-B", [13] = "TV", [14] = "eDP", [15] = "Virtual", [16] = "DSI", [17] = "DPI", }; void main() { for(int i = 0; i < 10; i++) printf("%s\n",connector_type_names[i]); } $ gcc str.c $ ./a.out DVI-I VGA Unknown DVI-D DVI-A Composite SVIDEO LVDS Component DIN |
+
ISO C99, GNU C90 에서 지원하는 듯.
| In ISO C99 you can give the elements in any order, specifying the array indices or structure field names they apply to, and GNU C allows this as an extension in C90 mode as well. This extension is not implemented in GNU C++. To specify an array index, write ‘[index] =’ before the element value. For example, int a[6] = { [4] = 29, [2] = 15 }; |
[링크 : https://gcc.gnu.org/onlinedocs/gcc/Designated-Inits.html]
| $ gcc -std=c89 str.c str.c: In function ‘main’: str.c:26:2: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode for(int i = 0; i < 10; i++) ^~~ str.c:26:2: note: use option -std=c99, -std=gnu99, -std=c11 or -std=gnu11 to compile your code $ gcc -std=c90 str.c str.c: In function ‘main’: str.c:26:2: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode for(int i = 0; i < 10; i++) ^~~ str.c:26:2: note: use option -std=c99, -std=gnu99, -std=c11 or -std=gnu11 to compile your code $ gcc -std=c99 str.c |
| gcc fstack-protector-strong (0) | 2022.12.06 |
|---|---|
| gcc vectorization 실패 (0) | 2022.06.02 |
| static link (0) | 2022.02.07 |
| 구조체 타입과 변수명은 구분된다? (0) | 2021.11.18 |
| gcc unsigned to signed upcast 테스트 (0) | 2021.07.08 |