Don't think! Just do it!

종합 IT 기술 정체성 카오스 블로그! 이... 이곳은 어디지?

임베디드 하드웨어/Kicad

Schematic variable on label!!(동작안함!!!)

방피터 2023. 2. 23. 00:31

동작을 잘 하는 줄 알았는데 동작 안함.

Label에는 Varialble을 사용하지 마!!! PCB로 잘 안넘어가!!!

회로 그릴 때 반복되는 도면을 계속 그려야 할 때가 가끔씩 있어.

control + c, control + v 해서 컴포넌트들은 붙여 넣을 수는 있지만 포트 번호들은 전부 변경해줘야 하잖아? 난 이게 너무 짜증나더라구.. 예를 들어 아래와 같이 T1부터 T10까지 똑같은 회로가 반복된다고 해보자구 ㅋㅋ 아주 그냥 신나지? ㅋㅋㅋ

T1부터 T10까지 10번 반복..

아래 처럼 연결되는 똑같은 도면이 10개.... 이 핀 번호들 전부 다 바꾸려면... 아이고~~ 한숨부터 나오네...에휴.. 안그래도 나이를 먹으니 점점 손가락 관절염이 심해지는 것 같은데 ㅠㅠ 모두들 오래오래 먹고 살려면 손가락 관리 잘해라 ㅠㅠ 마우스 키보드 막 좋은 거 쓰고 그래.  "고수는 장비 탓을 안한다!!" 뭐 이딴 개소리 하지 말자고 ㅋ

도면 하나에 바꿔야할 핀 번호가 수십개

난 T1 하다가 때려쳤어 ㅋㅋㅋ 그리고 아주 신박한 기능을 찾아냈지! 훗 ㅋㅋㅋㅋㅋ

kicad에도 뭔가 이런 경우를 대비해서 변수를 넣는다던가 할 수 있을 것 같더라고 그래서 이리저리 찾다보니 핀 라벨다는 창을 보니 Syntax help 라는 부분이 있고 말이지 ㅋ 

Syntex help

클릭해보면 아래처럼 여러가지 라벨다는 방법이 나오는데 그중에 우리가 살펴볼 부분이 ${variable}이야 ㅋㅋ

${variable}

크~~~ 이거 잘 활용하면 반복적인 작업을 막을 수 있을 것 같더라고 ㅋ 그래서 해봤지👇👇

원래 label이 T1_SWDIO였다면 T${MODULE_NO}_SWDIO 이렇게 숫자 부분을 ${MODULE_NO} 라고 변경했어.

label에 variable 적용
그냥 label properties에 쓰자

이제 저 MODULE_NO 를 어디에 선언해야 하잖아? 그건 Hierarchical Sheet -> Properties 에서 할 수 있어.👇👇👇

Hierarchical Sheet -> Properties

여기에서 MODULE_NO, 1을 추가하면!👇👇👇

 T${MODULE_NO}_SWDIO가 T1_SWDIO로 변경되어 있는 걸 볼 수 있지 ㅋㅋ

🎉🎉🎉 아씨 신난다 ㅋㅋㅋ 이제 10개까지 복붙하고 각 Sheet Properties에서 MODULE_NO 값만 변경해 주자 ㅋㅋ👇 그럼 아래 캡쳐처럼 라벨이 아주 이쁘게 잘 붙었을 거야!

복붙 복붙
T10까지 잘 붙었다

혹시나 이름만 이쁘게 붙고 PCB로 제대로 안넘어 갈까봐 걱정했는데 ㅋㅋㅋ 넘겨봤는데 이것도 잘 되더라구 ㅋㅋ 아주 좋아 ㅋㅋ!

그런데 말이지! 음... 한가지 문제가 있어. 어떤 프로젝트에서는 심각한 문제가 될 수도 있는데! 그게 뭐냐면! ERC가 정상적으로 동작하지 않아.. 버그인지, 의도한건지 모르겠지만 자식 도면에 연결이 안 되어 있다고 나와.

ERC가 정상적으로 동작하지 않는다.

뭐 PCB에는 정상적으로 넘어가는 거 같으니 괜찮을지도 모르지만 핀수가 많고 복잡한 프로젝트에서 ERC 체크 안하고 넘어가면 실수가 발생할 확률이 높아지겠지! 그러니까 이 기능(label에 변수를 사용하는 기능)은 단순하지만 반복적일 때만 사용하도록 하자구. 아디오스!!

 

추가) Mac에서는 kicad 7.0 버전 아래에서는 정상적으로 동작하지 않더라고;;; 나도 이 글 쓰다가 급 6.0 -> 7.0으로 업그래이드 했음;;;

반응형