If you have serial ports available, just switch LW20C to serial configuration (also change parameters on CAN node). Not perfect but it’s working.
So, the problem is only present when using I2C? If I set the sensor to Serial it works with the CAN node?
Yes, it is an issue only with I2C. I tested it few months ago on mRo and Matek CAN nodes - serial configuration works just fine.
That’s great news. I probably only need to swap to the UART port on the CAN node then, because from what I understand the LW20/C selects the correct communication interface (I2C or UART)?
Yes, you have to change connector on LW20/C (refer to lidar and can node datasheet, I2C and Serial connectors are not compatible), it will select correct interface. Also in CAN Node parameters change lidar type from 7 (Lightware I2C) to 8 (Lightware Serial) and set correct Baud Rate and port. In case it’s not working you may have to mess around serial port settings.
Should hopefully be fixed when this is merged: AP_RangeFinder: populate last_reading_ms in the backend for some sensors by rishabsingh3003 · Pull Request #27620 · ArduPilot/ardupilot · GitHub