반응형

http://junil-hwang.com/blog/sublimtext-%EB%8B%A8%EC%B6%95%ED%82%A4/

 

SublimeText (서브라임텍스트) - 기본 단축키 및 기능

서브라임텍스트는 가장 강력한 텍스트 에디터입니다. 특히 HTML과 CSS를 사용할 때 두각을 보입니다. 그런데 생각보다 서브라임텍스트에 대한 기능을 모르는 사람이 많습니다. 서브라임 텍스트의 강력한 기능들을 소개합니다.

junil-hwang.com

 

반응형
반응형

 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가 들어있다.

1~9 리스트 출력

_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 테스트

car cdr을 활용한 box좌표 뽑기

https://ansan-survivor.tistory.com/158?category=390224

 

[Cadence SKILL] SKILL 언어 point(점), line(선), Box(사각박스) 만들기

리스트를 활용하고 내장된 함수를 이용하여 기본적인 점, 선, 사각박스를 만든다. 1. 점(Point) 표현하기. 아래와 같이 (300, 400) 포인트를 아주 쉬운 방법으로 좌표값을 저장 하고자 할때, 콜론(:) 을

ansan-survivor.tistory.com

1번 index 출력, index 초과시 nil
member, lengh함수 Test
홀수 짝수 필터링 함수

8. 문장 String을 단어 String List로 쪼개기

단 여기서 쪼개서 나온 모든 인자는 List의 인덱스 형태로 나오게 된다.

결과

9. String으로 쪼개진 이 단어중 숫자만 골라서 연산하기.

  먼저 100과 200 String을 뽑아낸다.

" " 가 있으므로 이 결과값은 String이다.

String끼리는 서로 연산이 불가능하다.

고로 아래와 같이 evalstring() 함수를 이용해 숫자로 만드는 과정을 거친 후 계산한다.

결과

실수값도 잘 계산이 되는가 테스트 해보았다.

잘된다.

 

<추가> 실용적인 기능들

 - 리스트내 최대값과 최소값 뽑기

https://ansan-survivor.tistory.com/286

 

[Cadence SKILL] List에서 최대값(max)과 최소값(min)을 뽑는 방법. (LISP 문법)

Cadence SKILL은 LISP 언어를 기반으로 한다. 따라서 LISP에서 지원하는 문법들이 통한다. 어떤 리스트내에서 최대값과 최소값을 뽑는다. 최대값은 55, 최소값은 1 이므로 아래와 같이 결과가 리턴 (참��

ansan-survivor.tistory.com

 

 - 리스트 순서 정렬하는 방법 (숫자 또는 문자)

https://ansan-survivor.tistory.com/287

 

[Cadence SKILL] List를 Sorting(sort) 하기 \ 리스트 오름차순, 내림차순 정렬

Cadence SKILL user-reference에서 발췌. sort 함수 sortcar 함수 간단 테스트

ansan-survivor.tistory.com

 

 - 리스트 내부 인자 값을 바꾸는 법

https://ansan-survivor.tistory.com/288

 

[Cadence SKILL] 리스트 내 값을 변경 하기

리스트내 값을 변경하기 위한 함수로, rplaca 와 rplacd 두개의 함수가 필요하다. 테스트 결과

ansan-survivor.tistory.com

 

반응형
반응형

맨처음 본인의  IP주소를 확인하려면 네이버에서 "내 아이피" 치면 나온다.

 

 

1. LG U+의 라우터로 들어가는 방법은 192.168.219.1 을 치면 된다.

2. 라우터에 접속한다. 암호를 모르겠으면 아래 포스팅 참고한다.

https://ansan-survivor.tistory.com/108?category=365344

 

LG U+ 공유기 웹 관리자(admin) 접속, 암호 변경

요즘 LG U+ 공유기를 많이 쓰고 셋탑에 연결하는 추세이다. 그러나 홈 IOT 구축을 위해서는 공유기의 관리자 계정을 알아야 한다. LG U+ 공유기는 초기 암호가 바닥에 적혀있다. 보통 admin 암호 웹~~ 암호 이러면..

ansan-survivor.tistory.com

3. 네트워크설정 - 유선네트워크

반응형

 

4. 저 끝에만 아무거나 변경한다. 예) C5 , D5 등등

그리고 네이버에서 내아이피라고 다시 검색해보면 바뀐걸 확인할 수 있ㄷㅏ.

반응형
반응형

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창이 열린다.

 

 

 

 

 

 

 

SKILL 기초 문법 사용

Allegro Editor에서 SKILL사용은 불편함으로 필자는 Sublime 3라는 편집기를 이용했다. 세팅하는 방법은 아래 참조.

https://ansan-survivor.tistory.com/22

 

[PCB Editor] Cadence Allegro PCB Skill 언어 쉽게 사용하는 환경 구축

Cadence Skill 언어를 비주얼 스튜디오처럼 자동완성기능이나 하이라이트 기능을 해서 쉽게 코딩할 수 있는 환경을 구축한다. 이를 위해서 먼저 Sublime3를 설치한다. (Notepad++ 같은 가벼운 텍스트 편집툴이지만..

ansan-survivor.tistory.com

 

1. 주석 달기

    한줄 주석은 ; 를 사용

    여러줄 주석은 /*  */ 를 사용한다. (C언어와 동일)

2. 변수 선언 및 내장함수 대입

실행 결과

3. 변수 선언, 값 증분 및 감소 (C언어와 동일)

4. 변수에 문자열 저장 (문자열은 " "사이에 입력)

5. 변수의 Type 확인하기

6. 한줄에 여러 변수 선언, println, printf 함수 사용

    println은 화면에 값을 출력하고 성공했다고 리턴값으로 nil 을 출력한다.

    printf는 화면에 값을 출력하고 성공했다고 리턴값으로 t 를 출력한다.

    printf는 문자열 내 변수값을 넣을 때 C언어 처럼 %n (정수), %f (실수), %s (문자열)을 추가 할 수 있다.

한줄에 3개 변수 선언 후 확인

(하나의 변수 확인 출력)

(문자열내 변수 삽입하여 출력)

(printf 테스트 해보기)

테스트 변수선언
결과

==============================================================

 

이미 저장된 SKILL 파일( .il )파일을 Allegro PCB에 로딩시키는 방법으로는 아래와 같다.

 

1. 현재 실행하는 Board 파일의 디렉터리 위치를 확인한다.

2. 해당 위치에 SKILL 파일 ( .il )파일을 작성하여 놓는다.

hello를 3번 반복

3. 해당 위치에 있는 .brd 파일을 실행시킨다.

> skill load("hello.il") 를 입력하면, 해당 스킬파일이 실행된다.

<Tip> 만약 skill 파일을 "skill_file" 이라는 폴더를 만들고 그 안에 넣고 싶으면 아래와 같이한다.

(리눅스의 구분자와 동일하다)

. 현재위치

/ 디렉터리 이동

<Tip> 절대경로로 skill파일 불러오기 테스트 SKILL에서 디렉터리 구분자로는 윈도우의 역슬래쉬(\)가 아니고 리눅스처럼 슬래쉬(/) 이어야 한다.

해당 경로에 넣어서 불러오기

 

 

 

( 추가 )

아래 블로거님들께서 SKILL에 대한 OS관련 함수 및 Data Type 정리를 잘해주셨다. 

https://sanghurn.tistory.com/category/Language/SKILL

 

'Language/SKILL' 카테고리의 글 목록

오스틴의 개인 블로그

sanghurn.tistory.com

https://blog.naver.com/avalros/220015350162

 

SKILL language command

- SKILL 함수 Print함수 - print(), println(), printf() ※ C언어와 동일... BindKey - hiGetB...

blog.naver.com

 

아래 영상 참고

https://www.youtube.com/watch?v=qhoigB-HSLc 

 

반응형
반응형

Place - Manually 를 누르면 해당 창이 떠야되는데... 뜨질 않았다.

placement 창이 뜨지 않고 이상태로 있음.

해결 방법으로는 HOME 작업폴더(보통 SPB_Data 폴더)에서 pcbenv 내 allegro.geo 파일을 삭제하고, PCB Editor를 다시 켠다.

필자의 경우 환경변수는 다음과 같다.

반응형
반응형

OrCAD/Allegro PCB Editor에서 제공하는 Package Designer wizard를 이용해 쉽게 풋프린트를 만들어본다.

Atmega8 을 만들어본다.

Atmega8 datasheet
datasheet.pdf
0.26MB

위 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 을 실행시킨다.

좌측하단 단위를 mm로 변경

2. Design layer탭과 Mask layer탭을 선택 - Rectangle , 1.5 x 0.5 mm

3. rect1_5x0_5  파일명으로 저장한다. 

저장경로는 .brd파일이 있는 위치(보통 allgro 폴더) 상위경로에 Symbols라는 폴더를 만들고 그 내부에 저장하면 자동 인식한다.
.pad 파일을 확인한다.

4. OrCAD Allegro PCB Editor를 실행 시키고 Package symbol (wizard)로 새로 만든다.

File - New
Package symbol (wizard) 를 실행
PLCC.QFP 선택
Load Template 누르고, Next
mm단위 사용, 자릿수는 소수점 2쨰자리까지
핀 개수는 위아래로 8개씩 총 32개, 핀간격(Pitch)는 0.8mm, Pin 1번을 왼쪽 코너에 위치
Datasheet를 보면 e가 pitch이며, 0.8mm임을 알 수 있다.

Datasheet를 참고하여 아래와 같은 방식으로 값을 넣어준다.

... 을 클릭하고, Rect라고 친 후 필터링 된 아까만든 pad를 선택하여 ok를 누른다.

부품배치시 원점을 Pin 1번으로 택함.
풋프린트가 다음과 같이 만들어진다.
그럼 아까 .pad가 위치한 곳에 여러파일이 생성되는데, .pad .psm 가 풋프린트의 핵심 데이터다. 이중 하나라도 없으면 풋프린트를 불러올 수 없다. .dra는 저 풋프린트를 PCB Editor창으로 열기 위한 확장명이다. 고로, .psm .pad .dra 이렇게 쌍으로 필요한 풋프린트를 만들어 제공할 수 있다.

풋프린트를 만들어 다른곳에 넘겨주거나 다른 프로젝트에서 사용할 때, Symbols아래 이 3가지 파일만 있으면 된다. (.dra는 없어도 상관없음)

(참고) 실크스크린이 Pad위에 있으면 생기는 문제점.

https://macrofab.com/blog/handling-silkscreen-pads/

 

Handling Silkscreen On Pads - MacroFab

One of the issues commonly seen in PCB design is silkscreen information overlapping exposed copper on pads. If the ink from the silkscreening process

macrofab.com

 

Capture 심볼 만드는 법은 아래 참고

https://ansan-survivor.tistory.com/144

 

<전자캐드기능사> OrCAD Capture 심볼 만들기 - Atmega 8

다음작업은 OrCAD Capture 17.2 버전에서 진행했다. 1. 심볼을 생성하기 위해 이전에 라이브러리를 생성 2. 생성된 Library아래에서 New part를 눌러 새로운 파트를 생성. 3. 외곽선과 핀 만들기, ATMEGA8 핀은..

ansan-survivor.tistory.com

 

반응형
반응형

어떤 작업을 하고 내림차순으로 변경을 원할때 아래 블로그를 참고

 

https://post.naver.com/viewer/postView.nhn?volumeNo=16517451&memberNo=25014136

 

[엑셀 TIP #76] 범위의 셀 순서를 거꾸로 만들기

[BY 어메이징추어] 어메이징추어입니다. 여러분께서는 엑셀을 하시다가, 이런 일 혹시 겪지 않으셨나요?...

m.post.naver.com

 

반응형
1···160161162163164165166···181

+ Recent posts