다음 명령어들은 HT의 동작모드와 상관없이 공통적으로 사용됩니다.
명령어 | 하위 명령어 | 설명 | ||
---|---|---|---|---|
set | mode | output | pulse | 모드 설정: 펄스출력모드 |
toggle | 모드 설정: 토글출력모드 | |||
pwm | 모드 설정: PWM출력모드 | |||
capture | rise | 캡쳐모드 설정: 상승 에지 | ||
fall | 캡쳐모드 설정: 하강 에지 | |||
toggle | 캡쳐모드 설정: 상승 또는 하강 에지 | |||
div | ms | 단위 설정: 밀리 초 | ||
us | 단위 설정: 마이크로 초 | |||
trigger | from | ht0 | 트리거 대상 설정 (ht0만 사용 가능) | |
php | 트리거 대상 설정: 없음 | |||
reset | - | 초기화 | ||
get | state | 상태 읽기 | ||
div | 분주 비 확인 | |||
repc | 남은 출력 및 캡쳐 횟수 확인 | |||
start | - | 시작 | ||
stop | - | 정지 |
HT는 다양한 출력 및 캡쳐모드를 지원합니다. 각각의 모드 설정 방법은 다음과 같습니다.
구분 | 문법 | |
---|---|---|
출력모드 | 펄스출력모드 | pid_ioctl($pid, "set mode output pulse"); |
토글출력모드 | pid_ioctl($pid, "set mode output toggle"); | |
PWM출력모드 | pid_ioctl($pid, "set mode output pwm"); | |
캡쳐모드 | 상승 에지 | pid_ioctl($pid, "set mode capture rise"); |
하강 에지 | pid_ioctl($pid, "set mode capture fall"); | |
상승/하강 에지 | pid_ioctl($pid, "set mode capture toggle"); |
HT는 밀리 초 또는 마이크로 초 단위로 설정 가능하며 기본 값은 마이크로 초 입니다. 설정 방법은 다음과 같습니다.
구분 | 문법 |
---|---|
밀리 초 | pid_ioctl($pid, "set div ms"); |
마이크로 초 | pid_ioctl($pid, "set div us"); |
HT의 트리거 설정 방법은 다음과 같습니다.
구분 | 문법 |
---|---|
ht0 | pid_ioctl($pid, "set trigger from ht0"); // 트리거 대상: HT0 |
php | pid_ioctl($pid, "set trigger from php"); // 트리거 대상 없음 |
HT의 트리거의 대상으로는 HT0를 지정할 수 있습니다. HT의 트리거 설정 기본 값은 "대상 없음(php)" 입니다.
"reset"명령어는 다음과 같은 동작을 합니다:
구분 | 문법 |
---|---|
초기화 | pid_ioctl($pid, "reset"); |
"get" 명령어는 HT의 여러 가지 상태를 읽는 명령어 입니다.
구분 | 문법 |
---|---|
동작 상태 | pid_ioctl($pid, "get state"); |
분주 비 | pid_ioctl($pid, "get div"); |
남은 출력 / 캡쳐 횟수 | pid_ioctl($pid, "get repc"); |
각 상태 확인에 대한 반환 값은 정수 형태이며 다음과 같습니다.
구분 | 반환 값 | 설명 |
---|---|---|
디바이스 상태 | 0 | 정지 |
1 ~ 3 | 동작 중 | |
분주 비 | 42 | 마이크로 초 |
42000 | 밀리 초 | |
남은 출력 / 캡쳐 횟수 | 0 ~ 64 | - |
HT를 시작시키기 위해서는 "start"명령을 사용합니다.
구분 | 문법 |
---|---|
시작 | pid_ioctl($pid, "start"); |
HT를 정지시키기 위해서는 "stop"명령을 사용합니다. 출력모드에서 HT를 정지시키면 출력 핀의 상태는 정지 시점의 상태를 유지합니다.
구분 | 문법 |
---|---|
정지 | pid_ioctl($pid, "stop"); |