macOS 에서 리산테크 AVR FLASHER 10 사용하기

![img_1](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjh_UQMMViB7Of1FnJHfsB5xeHz97bHSsjJk1JtteJCBYDswq109E_WFqRIsOuYLcGFQ2UXLdkERQHWFspN9JUUzCywiamd4JVcXVp3fPrjd0kMElJ2wlAC6fZlICVxuw6JV3bSRDRQBpITNEQgEWaCBStmQwkSV9yVxjOcZUX_XTVnxlxohNqYlUvRKls/s4000/KakaoTalk_Photo_2025-01-04-00-14-17.jpeg) AVR 프로그래밍에 주로 사용하는 리산테크의 AVR FLASHER 10 제품이다. 총 10개의 서로다른 펌웨어를 저장하여 PC 없이도 타겟 장치의 전원으로 펌웨어 다운로드가 가능하다. 펌웨어 다운로드가 고속으로 이루어지기 때문에 아주 편하다. 최근 윈도우 데스크탑 보다 맥북으로 작업을 하는 상황이 많아지면서 이 장비를 사용하는데에 소프트웨어 지원이 윈도우만 되기때문에 불편함을 격고 있었다. 이것때문에 윈도우 노트북을 장만하는건 말이 안되는거 같고 그렇다고 매번 데스크탑을 켜는것도 불편하고 고민만 하고 있었다. 예전에는 부트캠프를 사용해 윈도우 용 프로그램을 쉽게 사용할수 있었지만 맥북이 애플실리콘을 사용하면서 이런점은 살짝 불편해 졌다고 볼수도있다. 호환성이 많이 좋아졌다고 하지만 예전에 Whisky로 시도했다가 실패한 경험이 있었기 때문에 큰 기대는 하지 않으려고했다. 아직 가상화는 시도해보지 않았는데 UTM 은 좀 쓰기가 불편했고 Parallels 는 과금방식이 전부터 마음에 들지 않았다. 사실 개인 사용 목적으로는 VMWare가 무료이기 때문에 다른 선택지가 없다. ![img_2](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjl6Piz058YvIQ1Wv-lqH-lgM7cpMD1KP4Qps0jIAQ2KPVy8mK51ecO-iCA4eH3teAte-Kk...

[macOS] - 맥의 화면을 회전해보자 (programmatic way)

피버시노를 만들고나서 다른 OS에서도 사용하기위한 준비를 하고있다.
예전에 들었던 소문 중에 Macbook을 태블릿PC 로 모딩해주는 모드북이 있어 알아보던 중 macOS  에서 프로그램 방식으로 디스플레이 화면을 회전시킬 수 있는 fb-rotate을 발견했다.

#macOS 환경에서의 디스플레이 로테이션.

macOS 환경에서 디스플레이 회전은 iPad 처럼 작동하지 않는다. (애니메이션 효과 X) 심지어 Windows만큼 빠릿한 경험을 제공해주지도 않는다.

화면 회전 할 때마다 다른 모니터들까지 깜빡이면서 기본 설정으로 원복이 되는데, 만약 해당 모니터의 기본 설정이 맥에서 사용 할 수 없는 경우에는 화면이 출력되지 않는 당황스러운 문제도 발생한다.
(macOS에서 사용 할 수 없는 주사율의 모니터일 경우 블랙스크린이된다.)

이런 상황의 사용자는 모든 방향으로 한번씩 회전 시켜서 커스텀 설정을 저장해줄 필요가있다.
한번만 해주면 로테이션 값이 바뀌어도 그대로 유지가 된다.

2대의 모니터를 사용하는 Windows의 경우 평소와 다른 순서로 모니터가 연결되면 2번모니터와 1번모니터를 혼동하여 비정상적인 작동을 보여주었는데 macOS 에서는 이런방식 덕분인지 그런 문제는 발생하지 않았다. 단점 같지만 장점이 되기도 한다.


macOS는 com.apple.windowserver.plist에 모든 상황의 유저 설정 리스트를 따로 만들어 관리한다.
나는 Windows가 어떻게 모니터 설정 리스트를 관리하는진 모른다.
하지만 추측해보건데 이런식으로 관리하진 않는것 같다.
그랬으면 프로그램에서 주 모니터와 보조 모니터를 혼동하는 일이 발생하지 않았을 것이다.

#시작하기전 컴파일은 반드시 해주어야한다.

1. 모니터 리스트 : fb-rotate -l 
현재 사용중인 모니터의 리스트를 보여준다.
$ ./fb-rotate -l Display ID       Resolution 0x5809d1c2       2560x1440                  [main display] 0x745e1a47       1080x1920   


2. 모니터 정보 : fb-rotate -i
재미있는건 마우스 커서위치까지 알려준다.
 com.apple.windowserver.plist와 다르게 fb-rotate는 항상 최신정보를 보여준다.
$ ./fb-rotate -i #  Display_ID    Resolution  ____Display_Bounds____  Rotation 0  0x5809d1c2    2560x1440      0     0  2560  1440      0    [main] 1  0x745e1a47    1080x1920  -1080     0     0  1920     90    Mouse Cursor Position:  (  1455 ,  1200 )


3. 모니터 회전 : fb-rotate -d (디스플레이) -r (각도)
(디스플레이)에는 번호나 디스플레이 ID 를 넣어주어도 된다.
$./fb-rotate -d 0x745e1a47 -r 0 $ ./fb-rotate -i #  Display_ID    Resolution  ____Display_Bounds____  Rotation 0  0x5809d1c2    2560x1440      0     0  2560  1440      0    [main] 1  0x745e1a47    1920x1080  -1920     0     0  1080      0    Mouse Cursor Position:  (  1510 ,  1122 ) $ ./fb-rotate -d 0x745e1a47 -r 90 $ ./fb-rotate -i #  Display_ID    Resolution  ____Display_Bounds____  Rotation 0  0x5809d1c2    2560x1440      0     0  2560  1440      0    [main] 1  0x745e1a47    1080x1920  -1080     0     0  1920     90    Mouse Cursor Position:  (  1510 ,  1122 )


4. 주 모니터 변경 : fb-rotate -d (디스플레이) -m
(디스플레이)를 주 모니터로 변경해준다.
$./fb-rotate -i #  Display_ID    Resolution  ____Display_Bounds____  Rotation 0  0x5809d1c2    2560x1440      0     0  2560  1440      0    [main] 1  0x745e1a47    1080x1920  -1080     0     0  1920     90    Mouse Cursor Position:  (  2088 ,  1068 ) $ ./fb-rotate -d 0x745e1a47 -m $ ./fb-rotate -i #  Display_ID    Resolution  ____Display_Bounds____  Rotation 0  0x745e1a47    1080x1920      0     0  1080  1920     90    [main] 1  0x5809d1c2    2560x1440   1080     0  3640  1440      0    Mouse Cursor Position:  (  2088 ,  1068 ) $ ./fb-rotate -d 0x5809d1c2 -m $ ./fb-rotate -i #  Display_ID    Resolution  ____Display_Bounds____  Rotation 0  0x5809d1c2    2560x1440      0     0  2560  1440      0    [main] 1  0x745e1a47    1080x1920  -1080     0     0  1920     90    Mouse Cursor Position:  (  2059 ,  1186 )


이번 목표는 프로그램 소스들을 활용해서 피버시노가 macOS에서도 작동 할 수 있게 하는 것 이다.
이 와 비슷 한 프로그램으로 displayplacer가 있다.

Comments

Popular posts from this blog

[POE] - 패스 오브 엑자일 획득키 F 의 사용법 (Path of Exile)

[Arduino] - HC-06를 이용해 PC 와 Arduino 블루투스 연결

[Python] - 블루투스 모듈 HC-06의 MAC 주소를 이용하여 통신 포트 찾기