RevolutionPi / piControl

Kernel module for data exchange with RevPi I/O-Modules and Gateways
81 stars 24 forks source link

Migrate MIO communication to pibridge library #80

Closed l1k closed 1 year ago

l1k commented 1 year ago

... 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!

l1k commented 1 year ago

Depends on https://github.com/RevolutionPi/linux/pull/135 to compile cleanly.

nbuchwitz commented 1 year ago

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.

linosanfilippo-kunbus commented 1 year ago

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.

l1k commented 1 year ago

Glad to hear that, thanks for the review and tests @linosanfilippo-kunbus @nbuchwitz !