wiring 1.0.1
wiring: ^1.0.1 copied to clipboard
OrangePI WiringOP Binding for Flutter Android.
wiring #
Android端OrangePI WiringOP的Flutter绑定, 仅绑定了wiringPI.h中可用的方法, 需要串口,I2C,SPI等请参考wiringSerial.h, wiringPiI2C.h, wiringPiSPI.h中的方法定义自行添加
OrangePI WiringOP Binding for Flutter Android.
Example #
import 'package:wiring/wiring.dart';
late final WiringOP _wOP;
// Setup 1:
// 获取WiringOP操作对象, 烧录的Android需要具备ROOT权限(一般都具备), 否则su命令不存在,
// 会自调用Process并执行 'su -c chmod 666 /dev/mem'
//
// execute shell 'su -c chmod 666 /dev/mem'
_wOP = await WiringOP.get();
// Setup 2:
// 设置当前使用的模组, 因为 piBoardId 方法在Android中不可用, 所以使用手动方式设置
//
// set current model
_wOP.wiringPiSetModel(PI_MODEL_5_PRO);
// Setup 3:
// 之后就可以像C/C++中一样调用方法即可
//
// like of C/C++ to call
_wOP.wiringPiSetup();
Read/Write GPIO #
// Example:
// OrangePI 5 Pro一共40个引脚, 其中28个可作为普通GPIO使用,
// 具体调用传参请参考自己的板型
//
// 40 pin(s) by OrangePI 5 Pro, only 28 pin(s) can use by GPIO,
// please read your model manual to call WiringOP method(s).
for (var x = 0; x < 28; x++) {
_wOP.pinMode(x, INPUT); // or OUTPUT
_wOP.pullUpDnControl(x, PUD_DOWN); // or PUD_UP/PUD_OFF
}
// Read GPIO(s) level value.
for (var x = 0; x < 28; x++) {
final value = _wOP.digitalRead(x);
// _wOP.digitalWrite(x, HIGH); // or LOW
if (kDebugMode) print('PIN=$x LEVEL=$value');
}