:::: MENU ::::
Browsing posts in: Development

CAM350에서 Eagle CAD NC drill 데이터를 제대로 불러오기

위 그림은 CAM350에서 Eagle CAD로 만든 거버데이터를 Auto import로 불러온 것이다. drill data의 좌표가 맞지 않아서 우측 상단에 표시된 것 을 볼 수 있다. 이렇게 된 이유는 Eagle CAD에서 NC 데이터를 출력하는 포맷은 2.5인데 CAM350의 기본 설정은 2.4이다. 따라서 다음과 같이 CAM350의 Auto import 포맷에서 Digits항목을 2, 5로 수정하면 된다.

단순히 거버 데이터를 보는 수준이면 상관이 없는데 샘플 PCB가격을 아끼기 위해 2개 이상의 거버데이터를 합기기(영어로 PCB Penalization)위해서는 중요한 이슈이다.


Github – Fork한 repo를 업데이트 하기

Github에서  Fork한  repo를 원본과 싱크를 맞추어 업데이트하려면… Fork한 repo를 셋업하고 local clone을 만든다.

$ git clone https://github.com/YOUR-USERNAME/xxxx.git

그리고 이것을 original과 sync하려면 먼저 리모트 설정하고 패치를 하면 된다. local clone의 위치로 이동을 하고..

$ git remote add upstream https://github.com/xxxx/xxxx.git

확인

$ git remote -v
# origin    https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch)
# origin    https://github.com/YOUR_USERNAME/YOUR_FORK.git (push)
# upstream  https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (fetch)
# upstream  https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (push)

패치

$ git fetch upstream
# remote: Counting objects: 75, done.
# remote: Compressing objects: 100% (53/53), done.
# remote: Total 62 (delta 27), reused 44 (delta 9)
# Unpacking objects: 100% (62/62), done.
# From https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY
#  * [new branch]      master     -> upstream/master

체크아웃

$ git checkout -b master
# Switched to branch 'master'

참고

https://help.github.com/articles/fork-a-repo/

https://help.github.com/articles/syncing-a-fork/


USB 디바이스의 VID, PID

USB 디바이스 제품을 개발하려면 필요한 것이 USB 디바이스의 VID(Vendor ID), PID(Product ID)이다. 여기서 VID는 제조사의 ID이고, PID 제조사의 제품의 ID로 이해할 수 있는데 각각 2바이트로 VID-PID의 쌍으로 수많은 USB 디바이스와 구별이 가능하게 된다.  VID, PID는 USB Implementers Forum, Inc.(http://www.usb.org)에서 발급을 하는데 문제는 발급하는 데 드는 비용이 $5,000이다.

발급 신청서 링크 – http://www.usb.org/developers/vendor/VID_Only_Form_withCCAuth_010113.pdf

이 발급 신청서에 보면 다음과 같이 발급된 VID는 다른 사람에게 판매할 수 없다고 되어 있다. 예외 조항은  “special circumstances, and then only upon prior written approval by USB-IF”

The company set forth above hereby applies for a USB Vendor ID Number and agrees to the following: The USB Implementers Forum is the authority which assigns and maintains all USB Vendor ID Numbers. Each Vendor ID Number is assigned to one company for its sole and exclusive use, along with associated Product ID Numbers. They may not be sold, transferred, or used by others, directly or indirectly, except in special circumstances, and then only upon prior written approval by USB-IF. Unauthorized use of assigned or unassigned USB Vendor ID Numbers and associated Product ID Numbers are strictly prohibited.

하지만 MCS에서는 PID를 9.95유로에 판매(링크)를 한다. 그리고 openmoko의 경우 오픈소스하드웨어에 한하여 PID를 사용할 수 있게 하고 있다. http://wiki.openmoko.org/wiki/USB_Product_IDs  이 리스트를 보니, Marlin, Pinoccio, SparkCore, Tessel등이 openmoko로 부터 PID를 받은 것을 알 수 있다.

각 업체들이 받은 VID, PID는 http://www.linux-usb.org/usb.ids  링크를 참고. 그리고 PC에 연결된 디바이스의 VID, PID를 확인하려면 windows의 경우 장치관리자에서 확인이 가능하다.  

Mac OS에서는 “이 Mac에 관하여 > 개요> 시스템 리포트의 USB” 항목에서 확인이 가능하다.


Allegro PCB에서 DXF파일 만드는 법

Allegro PCB에서 DXF파일 만드는 법은 다음과 같다.

  1. 보드파일 brd를 연다.
  2. File > Export -> Select dxf를 선택
  3. Layer Conversion File에서 임의의 이름을 지정한다. ex) name.cnv
  4. Dxf output 파일에는 변환할 파일의 이름
  5. Layer Conversion File에서 Edit 을 클릭하고 dxf로 변환하기를 원하는 항목만 체크한다.
  6. 중요한 것은 아래 그림과 같이 새로운 DXF Layer를 만들고 DXF layer에 이것을 지정한다.


토그 단위 변환

토크는 회전력을 나타내는 물리량이며 기호는 그리스문자 (타우)로 나타낸다. 단위는 뉴턴 미터(N.m)
따라서 수식은 다음과 같다

\boldsymbol{\tau} = \mathbf{r} \times \mathbf{F}

여기서 F는 가한 힘, r은 회전축에서 힘을 가하는 위치까지의 변위

그런데 힘 또는 거리의 단위가 여러가지로 사용이 되어서 변환이 필요한데, 다음의 사이트에서 쉽게 변환이 가능하다.

http://www.numberfactory.com/nf%20torque.htm


git 관련 팁 – .gitignore

.gitignore를 설정 전에 원하지 않는 파일(예를 들면 소스가 아닌 컴파일된 obj 파일 같은..)이 repositary에 add/initilized된 경우는 cache를 지우고 tracking을 다시 설정해야 한다.
먼저 필요한 파일들을 commit한후 다음의 명령어를 실행한다.
cache 삭제

git rm -r –cached .

다시 tracking 하도록 설정

git add .

그 다음 commit

git commit -m “.gitignore is now working”


Sublime Text 단축키 -열선택

에디터에서 열선택 기능이 있으면 유용하다. Sublime Text의 맥버전에서는

Option + 마우스키

기타 많이 사용하는 단축키는

Editing

Keypress Command
⌘ + X Cut line
⌘ + D  Select word – Repeat to select next occurrence
⌃ + M Jump to closing parentheses Repeat to jump to opening parentheses
⌘ + ] Indent current line(s)
⌘ + [ Un-indent current line(s)
⌘ + / Comment/un-comment current line
⌘ + ⌥ + / Block comment current selection

General

Keypress Command
⌘ + ⇧ + P Command Palette

Find/Replace

Keypress Command
⌘ + F Find
⌘ + ⌥ + F Replace
⌘ + ⇧ + F Find in files

참고: http://docs.sublimetext.info/en/latest/reference/keyboard_shortcuts_osx.html


github에 SSH키 생성 및 등록

Permission denied (publickey).
fatal: Could not read from remote repository.

github을 잘 사용하다가 어느 순간 위와 같은 Permission 에러가 나서 다시 SSH키를 등록했다.

아래와 같이 터미널에 입력하는데 이메일은 github에 등록한 이메일을 사용한다.
ssh-keygen -t rsa -C “[email protected]

passphrase(암호)를 넣어준다.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:

새로운 키를 에이전트에 추가한다.
eval “$(ssh-agent -s)”
ssh-add ~/.ssh/id_rsa

다음과 같이 입력하면 새로 만든 키가 클립보드에 저장이 된다.
pbcopy < ~/.ssh/id_rsa.pub

github.com 에 로그인하고 Settings에 들어가 SSH Keys 메뉴를 선택하고, Add 버튼을 선택한 후 클립보드에 복사된 내용을 붙여 넣는다.

터미널에 입력하여 확인한다.
ssh -T [email protected]

다음과 같은 메세지가 나타나면 정상
Hi username! You've successfully authenticated, but GitHub does not
# provide shell access.

참고: https://help.github.com/articles/generating-ssh-keys/


SparkCore 와이파이 모듈 deep update

CLI를 통해 SparkCore의 내부 펌웨어 업데이트 순서

1. Spark CLI 설치

node.js 설치

$ sudo npm install -g spark-cli

$ spark cloud login

2. dfu-util  설치

brew install dfu-util

3. 디바이스를 dfu mode로 진입

USB 케이블을 연결 후 Mode 버튼과 Reset 버튼을 동시에 누른후 Reset  버튼을 뗀다.

다음 커멘드를 실행한다.

spark flash –usb deep_update_2014_06

참고: https://github.com/spark/spark-cli#performing-a-deep-update


Dfu-util – Device Firmware Upgrade Utilities

USB 인터페이스를 가지는 디바이스의 firmware를 업데이트 하는 툴

Supported Devices

맥에서는 Homebrew를 사용해서 다음과 같이 설치한다.

“brew install dfu-util”

참고: http://dfu-util.sourceforge.net/


Pages:1...78910111213...24