'일상' 카테고리의 다른 글
시간 12 AM, 12 PM 헷갈림에 대해서 (0) | 2020.05.18 |
---|---|
2차원 함수 그래프를 쉽게 그려주는 사이트 (0) | 2020.04.13 |
엑셀(excel) 내림차순으로 변경하기 (0) | 2020.03.30 |
한글 파일 네모 체크박스에 V표시 넣기 (0) | 2020.03.26 |
화면 녹화 프로그램 곰캠 (Gom Cam) 단축키 (0) | 2020.03.26 |
시간 12 AM, 12 PM 헷갈림에 대해서 (0) | 2020.05.18 |
---|---|
2차원 함수 그래프를 쉽게 그려주는 사이트 (0) | 2020.04.13 |
엑셀(excel) 내림차순으로 변경하기 (0) | 2020.03.30 |
한글 파일 네모 체크박스에 V표시 넣기 (0) | 2020.03.26 |
화면 녹화 프로그램 곰캠 (Gom Cam) 단축키 (0) | 2020.03.26 |
SKILL문법 List. 파이썬을 써본사람은 알겠지만, List는 여러 index를 입맛에 맞게 통제할 때 좋다.
SKILL에서 리스트는 소괄호로 표시된다. -> ( )
1. 리스트 만들기.
type( )함수로 해당변수를 찍어보면 list임을 확인할 수 있다.
delimeter(구분자)로는 공백도 되고 쉼표도 된다.
'( ) 는 내부에 연산자가 들어갈 수 없음
list( )는 내부에 연산자를 넣을 수 있음
1-1. 리스트 내 인자 인덱싱(indexing)하기
리스트 내에 있는 값을 적절히 뽑아서 활용해야 한다. 인덱싱 하는방법으로는
nthelem( ) 함수를 쓴다.
* 파이썬과 다르게 0번이 아니라 1번부터 인덱싱을 시작한다.
* 파이썬은 List를 벗어나면 에러를 띄우지만, SKILL은 nil이 출력된다.
2. 리스트 줄 표시(line display) 내장 변수 _itemsperline
Default로 list를 찍어보면, 아래와 같이 한 라인에 표시하는 List 갯수를 제한해 놓았다.
Display방식만 그렇다는 것이다. 데이터가 바뀌거나 하지는 않는다.
아래에서 numlist 변수 내 1 ~ 9개 총 9개의 index가 들어있다.
_itemsperline 내장된 변수에 값을 집어넣으면 딱 그에 맞는 List가 화면에 보여진다.
아래 예시는 _itemsperline값으로 2와 10을 넣었을 때, list가 어떻게 표시되는지에 대한 예시.
3. list() 함수 사용하기
3-1. 리스트 만드는 방법중, list() 함수와 '( ) 방법의 차이
1. list()함수로 만들면 리스트내 변수 속성이 그대로 따라간다.
2. '( ) 으로 만들면 해당 변수 이름을 떠나 symbol type 으로 저장된다.
4. cons() 함수 사용하여 List내 인덱스 통제하기
몇가지 Test.
referenceList라는 리스트값을 지닌 변수를 기준으로, 아래와 같이 value(값), valueList(값이 들어있는 리스트), strList(문자열이 들어있는 리스트)를 추가하여 resultList에 대입해보았다.
5. reverse( 리스트변수 ), 값의 순서를 뒤집기.
아래를 보면 리스트 인덱스 순서가 뒤바뀐것을 볼 수 있다.
6. append( 리스트변수, 리스트변수 ), 두개의 리스트를 합치기
변수값 선언
결과 확인
오류 발생 케이스
1. 2번째 인자로 반드시 list를 넣어야 한다.
2. 1번째 인자로 반드시 list를 넣어야 한다.
3. 인자로는 반드시 2개만 넣어야 한다.
7. cons() 함수와 append()함수 테스트
** 리스트 함수 사용을 위한 인덱싱 함수들
car cdr을 활용한 box좌표 뽑기
https://ansan-survivor.tistory.com/158?category=390224
8. 문장 String을 단어 String List로 쪼개기
단 여기서 쪼개서 나온 모든 인자는 List의 인덱스 형태로 나오게 된다.
결과
9. String으로 쪼개진 이 단어중 숫자만 골라서 연산하기.
먼저 100과 200 String을 뽑아낸다.
" " 가 있으므로 이 결과값은 String이다.
String끼리는 서로 연산이 불가능하다.
고로 아래와 같이 evalstring() 함수를 이용해 숫자로 만드는 과정을 거친 후 계산한다.
실수값도 잘 계산이 되는가 테스트 해보았다.
<추가> 실용적인 기능들
- 리스트내 최대값과 최소값 뽑기
https://ansan-survivor.tistory.com/286
- 리스트 순서 정렬하는 방법 (숫자 또는 문자)
https://ansan-survivor.tistory.com/287
- 리스트 내부 인자 값을 바꾸는 법
https://ansan-survivor.tistory.com/288
맨처음 본인의 IP주소를 확인하려면 네이버에서 "내 아이피" 치면 나온다.
1. LG U+의 라우터로 들어가는 방법은 192.168.219.1 을 치면 된다.
2. 라우터에 접속한다. 암호를 모르겠으면 아래 포스팅 참고한다.
https://ansan-survivor.tistory.com/108?category=365344
3. 네트워크설정 - 유선네트워크
4. 저 끝에만 아무거나 변경한다. 예) C5 , D5 등등
그리고 네이버에서 내아이피라고 다시 검색해보면 바뀐걸 확인할 수 있ㄷㅏ.
IPTIME 공유기 포트포워딩 원격접속 설정 (0) | 2020.06.22 |
---|---|
FTP사용 파일질라(FileZilla Client) 접속 및 자동접속 등록 (파일질라 즐겨찾기 등록) (0) | 2020.04.07 |
공유기와 허브의 차이점 (0) | 2020.02.15 |
LG U+ 공유기 포트포워딩 원격접속 설정/원격으로 집 컴퓨터 접속하기 (5) | 2020.02.07 |
LG U+ 공유기 웹 관리자(admin) 접속, 암호 변경 (4) | 2020.02.07 |
SKILL언어에서 띄어쓰기/공백(Space)는 중요한 요소임으로 주의한다.
1.
E- *Error* eval: not a function 오류 발생
특히 함수(function)을 만들 때 아래와 같은 사항을 주의.
2.
E- *Error* eval: unbound variable 오류 발생
특히 함수(function)을 만들 때 아래와 같은 사항을 주의.
3.
잘못된 데이터 인자를 넣을 때 발생하는 오류.
E- *Error* strcat: argument #2 should be either a string or a symbol (type template = "S") - 5
(E- *Error* 함수이름: argument #몇번째인자 should be either a string or a symbol (type template = "S") - 수정할 위치)
4.
이건 Allegro SKILL 인터프리터의 문제지만... 모르고 있으면 뒤통수 맞기 쉽상이다..
set telskill로 만든 창 크기가 영향이 있다.. (해상도 작은 사람은 답이 없다 ㅠㅠ)
아래 정확히 t값을 리턴하는 작동되는 함수가 있다. 줄이 길어 함수가 옆으로 쭉 늘여져 있는데, 이를 인터프리터 창을 줄이고 실행하면 에러가 발생한다 ;;
에러발생..;; 황당하지만 모르고 왜 안되지 하며 삽질할 수도 있다...
Cadence Allegro PCB Editor에서는 SKILL이라는 언어를 제공하여 기능을 사용할 수 있다.
이를 활용해본다. SKILL에서는 띄어쓰기(Space) 구분자가 중요함으로 이를 각별히 주의한다.
Allegro PCB Editor에서 SKILL 사용법. 인터프리터를 사용한다.
아래 Command 스크립트 창에 > set telskill 이라고 입력한다.
SKILL 기초 문법 사용
Allegro Editor에서 SKILL사용은 불편함으로 필자는 Sublime 3라는 편집기를 이용했다. 세팅하는 방법은 아래 참조.
https://ansan-survivor.tistory.com/22
1. 주석 달기
한줄 주석은 ; 를 사용
여러줄 주석은 /* */ 를 사용한다. (C언어와 동일)
2. 변수 선언 및 내장함수 대입
3. 변수 선언, 값 증분 및 감소 (C언어와 동일)
4. 변수에 문자열 저장 (문자열은 " "사이에 입력)
5. 변수의 Type 확인하기
6. 한줄에 여러 변수 선언, println, printf 함수 사용
println은 화면에 값을 출력하고 성공했다고 리턴값으로 nil 을 출력한다.
printf는 화면에 값을 출력하고 성공했다고 리턴값으로 t 를 출력한다.
printf는 문자열 내 변수값을 넣을 때 C언어 처럼 %n (정수), %f (실수), %s (문자열)을 추가 할 수 있다.
(하나의 변수 확인 출력)
(문자열내 변수 삽입하여 출력)
(printf 테스트 해보기)
==============================================================
이미 저장된 SKILL 파일( .il )파일을 Allegro PCB에 로딩시키는 방법으로는 아래와 같다.
1. 현재 실행하는 Board 파일의 디렉터리 위치를 확인한다.
2. 해당 위치에 SKILL 파일 ( .il )파일을 작성하여 놓는다.
3. 해당 위치에 있는 .brd 파일을 실행시킨다.
> skill load("hello.il") 를 입력하면, 해당 스킬파일이 실행된다.
<Tip> 만약 skill 파일을 "skill_file" 이라는 폴더를 만들고 그 안에 넣고 싶으면 아래와 같이한다.
(리눅스의 구분자와 동일하다)
. 현재위치
/ 디렉터리 이동
<Tip> 절대경로로 skill파일 불러오기 테스트 SKILL에서 디렉터리 구분자로는 윈도우의 역슬래쉬(\)가 아니고 리눅스처럼 슬래쉬(/) 이어야 한다.
( 추가 )
아래 블로거님들께서 SKILL에 대한 OS관련 함수 및 Data Type 정리를 잘해주셨다.
https://sanghurn.tistory.com/category/Language/SKILL
https://blog.naver.com/avalros/220015350162
아래 영상 참고
https://www.youtube.com/watch?v=qhoigB-HSLc
Place - Manually 를 누르면 해당 창이 떠야되는데... 뜨질 않았다.
해결 방법으로는 HOME 작업폴더(보통 SPB_Data 폴더)에서 pcbenv 내 allegro.geo 파일을 삭제하고, PCB Editor를 다시 켠다.
OrCAD/Allegro PCB Editor에서 제공하는 Package Designer wizard를 이용해 쉽게 풋프린트를 만들어본다.
Atmega8 을 만들어본다.
위 Datasheet를 보고 Atmega8를 측정해보면, 아래와 같다. 아트메가의 핀은 0.3x1.0mm 이므로 이를 납땜하기 위해서는 약 1.2~1.5배정도 커야 한다. 필자는 1.5배 확대하여 SMD pad를 제작. ((0.45는 0.5로 근사화 시킴) -> 0.5x1.5 mm) 여유가 있다면 폭은 넓은게 납땜하기 편리하다.
1. 먼저 SMD Pad를 만들것이다. PadStack 을 실행시킨다.
2. Design layer탭과 Mask layer탭을 선택 - Rectangle , 1.5 x 0.5 mm
3. rect1_5x0_5 파일명으로 저장한다.
4. OrCAD Allegro PCB Editor를 실행 시키고 Package symbol (wizard)로 새로 만든다.
Datasheet를 참고하여 아래와 같은 방식으로 값을 넣어준다.
... 을 클릭하고, Rect라고 친 후 필터링 된 아까만든 pad를 선택하여 ok를 누른다.
풋프린트를 만들어 다른곳에 넘겨주거나 다른 프로젝트에서 사용할 때, Symbols아래 이 3가지 파일만 있으면 된다. (.dra는 없어도 상관없음)
(참고) 실크스크린이 Pad위에 있으면 생기는 문제점.
https://macrofab.com/blog/handling-silkscreen-pads/
Capture 심볼 만드는 법은 아래 참고
https://ansan-survivor.tistory.com/144
<전자캐드기능사> 2020년 공개문제 신유형 OrCAD PCB 제작하기 (OrCAD 16.6버전) (7) | 2020.06.08 |
---|---|
<전자캐드기능사> 2020년 공개문제 신유형 OrCAD Capture & Footprint 제작하기 (OrCAD 16.6버전) (3) | 2020.06.05 |
<전자캐드기능사> OrCAD Capture 17.2버전 심볼 엑셀로 만들기 - Atmega 8 (0) | 2020.03.27 |
<전자캐드기능사> OrCAD Capture에서 심볼(Symbol)과 풋프린트(Footprint) (2) | 2020.03.13 |
<전자캐드기능사> 전국 시험장별 OrCAD 설치된 버전. (0) | 2020.03.12 |
어떤 작업을 하고 내림차순으로 변경을 원할때 아래 블로그를 참고
https://post.naver.com/viewer/postView.nhn?volumeNo=16517451&memberNo=25014136
2차원 함수 그래프를 쉽게 그려주는 사이트 (0) | 2020.04.13 |
---|---|
sublime text 3 단축키 (0) | 2020.04.05 |
한글 파일 네모 체크박스에 V표시 넣기 (0) | 2020.03.26 |
화면 녹화 프로그램 곰캠 (Gom Cam) 단축키 (0) | 2020.03.26 |
자막 읽어주는 프로그램 (TTL) (0) | 2020.02.12 |