Closed l1k closed 1 year ago
Depends on https://github.com/RevolutionPi/linux/pull/135 to compile cleanly.
Successfully tested in mixed setup (arm64):
{
"time_local": "2022-12-01T12:12:34.435184",
"duration_s": 30.0,
"cycles": 3000,
"min_ms": 22,
"max_ms": 23,
"mean_ms": 22.82,
"module_config": [
"device_RevPiDO_20160818_1_0_001",
"device_RevPiDI_20160818_1_0_002",
"device_RevPiMIO_20200901_1_0_001",
"device_RevPiAIO_20170301_1_0_002",
"device_RevPiCore_20170404_1_2_001",
"device_RevPiAIO_20170301_1_0_001",
"device_RevPiDIO_20160818_1_0_001",
"device_RevPiDIO_20160818_1_0_002",
"device_RevPiDI_20160818_1_0_001"
],
"system": {
"kernel_version": "#1 SMP PREEMPT_RT Thu, 01 Dec 2022 10:50:13 +0100",
"kernel_release": "5.10.152-rt75-v8+",
"machine": "aarch64"
}
}
Later today I plan to test with armhf too.
Code changes look good, but I see a lot of error when using the MIO:
piControl: recv len from pibridge err(got:0, exp:20)
piControl: talk with mio for aio data error(addr:31, ret:-70)
piControl: recv len from pibridge err(got:0, exp:20)
piControl: talk with mio for dio data error(addr:31, ret:-70)
Those error do not result from these changes though, the problems seems to be 2b3dd1a28b3e931b77279163ff6ea0e27e77af75 ("pibridge-serdev: fix wait for event"). I am currently investigating this and will wait with my approvement for this PR until I have verified that it does not break anything else.
Glad to hear that, thanks for the review and tests @linosanfilippo-kunbus @nbuchwitz !
... and throw in a bunch of cleanups for good measure.
All of these changes have only been compile-tested so far. I don't have a MIO module at my disposal for testing. If someone could test this on actual hardware I'd be grateful. Thanks!