考慮: https://github.com/dmichel76/ViSi-Genie-RaspPi-Library
raspbian から 4d パネルまで、シリアルの読み取りと書き込みを試みましたが、すべて正常に動作しました。
私はスライダー コントローラーを使用しようとしています。この方法では 1 分間動作し、読み取り時に -1 を返します。
import geniePi as D
import wiringpi2 as W
W.wiringPiSetup()
D.genieSetup("/dev/ttyAMA0", 115200)
while 1:
a = D.genieReadObj(32,0)
print ("a:" % (a))
この問題を解決するためにgenieGetReplyを見ています(ReadObjの使用を避けるため):
しかし、swig ファイルを見ると、genieReplyAvail が常に 0 と見なされているように見えます。
SWIGINTERN PyObject *_wrap_genieReplyAvail(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
PyObject *resultobj = 0;
int result;
したがって、genieGetReply() は呼び出されません。genieGetReply() を使用するには、構造体 genieReplyStruct のクラスを作成する必要があるようです。
x =D.genieReplyStruct()
D.genieGetReply(x)
(geniReplyAvail が 0 以外の値を取得しない場合、これは delay(1) ステートメントに永久に残ります)
これをどのように実装して呼び出す必要があるのか 理解できないので、少しアドバイスをお願いします。