pigpioの基本的なc言語関数

pigpioデーモンを介してc言語でGPIOを制御する
事前にpigpiodの起動をしておくこと

使い方

pigpiod_if2.hをインクルードしておく

#include <pigpiod_if2.h>

ソースコードprog.cとする場合、次のコマンドでビルドして実行

$ gcc -Wall -pthread -o prog prog.c -lpigpiod_if2 -lrt
$ ./prog

メモ

intを返す関数はエラーの場合 < 0 を返す

基本的な関数

int pigpio_start(char *addrStr, char *portStr)

addStr:
pigpioデーモンを実行しているRaspberryPiのホストまたはIPアドレスの指定
localhostの場合はNULL

portStr:
pigpioデーモンを実行しているRaspberryPiが使用するポートアドレスを指定
localhostの場合はNULLではなく「8888」を使用

pigpioデーモンへ接続する
OKの場合、0以上の整数値を返す。
この値は操作するRaspberrPiを指定するためにGPIOルーチンに渡される

void pigpio_stop(int pi)

pi: >=0 (pigpio_startによって返される)

pigpioデーモンへの接続を終了し、ライブラリが使用していたリソースを解放する

int set_mode(int pi, unsigned gpio, unsigned mode)

pi: >=0 (pigpio_startによって返される)
gpio: 0-53
mode:
PI_INPUT, PI_OUTPUT, PI_ALT0, PI_ALT1,PI_ALT2, PI_ALT3, PI_ALT4, PI_ALT5

GPIOモードの設定
OKの場合は0を返し、それ以外の場合はPI_BAD_GPIO、PI_BAD_MODE、
またはPI_NOT_PERMITTEDを返す

int get_mode(int pi, unsigned gpio)

pi: >=0 (pigpio_startによって返される)
gpio: 0-53

GPIOモードを取得する
OKの場合はGPIOモードを返し、そうでない場合はPI_BAD_GPIOを返す

int set_pull_up_down(int pi, unsigned gpio, unsigned pud)

pi: >=0 (pigpio_startによって返される)
gpio: 0-53
pud: PI_PUD_UP, PI_PUD_DOWN, PI_PUD_OFF

GPIOのプルアップ/ダウン抵抗を設定またはクリアする
OKの場合は0を返し、それ以外の場合はPI_BAD_GPIO、PI_BAD_PUD、
またはPI_NOT_PERMITTEDを返す

int gpio_read(int pi, unsigned gpio)

pi: >=0 (pigpio_startによって返される)
gpio: 0-53

GPIOレベルを読み取る
OKの場合はGPIOレベルを返し、それ以外の場合はPI_BAD_GPIOを返す

int gpio_write(int pi, unsigned gpio, unsigned level)

pi: >=0 (pigpio_startによって返される)
gpio: 0-53
level: 0, 1

GPIOレベルを書き込む OKの場合は0を返し、それ以外の場合はPI_BAD_GPIO、PI_BAD_LEVEL、
またはPI_NOT_PERMITTEDを返す
GPIOでPWMパルスまたはサーボパルスがアクティブな場合はOFF