Yes I am.
But I have got a lot of other works, so It's going slowly.
The problem is, that CAN can transfer only 29 bits ID ( 3 bytes + 5 bits ) and max. 8 bytes of data.
MySensors message has got max. 32 bytes ( 7 bytes header and 25 bytes of data ).
I must either send MySensors message like 3 packets of CAN messages or limit properties of MySensors protocol.
Now I am working on second variant.
I am able code to one CAN message:
6 bits - destination
6 bis - sender
(gateway, broadcast, 62 nodes - it is enough for me for one bus. I plane three buses and gateway can " translate " or "expand" nodes ID from and to controller )
1 bit - RACK
1 bit - IS ACK
3 bits - command
6 bits - type ( MY sensors has 56 types max. now )
6 bits - sensor id ( only 64 sensors per node ... )
3 bits - payload type ( int, uint, long .... )
The sum of these is not 29, but 32 so I am using a little "hacking" data length field in CAN frame to obtain additional 3 bits.
For data I have got 8 bytes.
It is enough for conventional data types from char to floating point.
Only text messages are limited to 8 bytes. But for us, old boys, who remember old DOS file names, it is enough.
In this time, I am able send and receive packets in that format between nodes and now I am working on transfer RS485 library to CAN library.
The problem is, that RS485 library sends destination address, node id, length of message and then MySensors message, witch "surprisingly" contain again destination and sender bytes. A little bit redundant for me.
So I must remove some fields from MySensors message, put it to CAN ID and send only payload in CAN data fields.
When I receive CAN message, I must again assemble correct MySensors message format and put it to MySensors system.
But unfortunately only documentation is library code itself :o(
I try a "stress test" like here:
I send 10 000 messages from two nodes to "gateway" ( 22kbps ).
Result - zero messages lost.
But it is expectable with CAN.