openiolink / io-link-master-shield-hat-sw

Software for the IO-Link Master Shield/Hat for Arduino and Raspberry Pi
Apache License 2.0
25 stars 6 forks source link

IO-Link communication #56

Closed KennethKnudsen97 closed 2 years ago

KennethKnudsen97 commented 2 years ago

I'm building a library for io-link in Rust and i've used your repository as inspiration. I do have some questians i would like to ask you. Hope it is okay that i write here as an issue.

I have a problem getting process data from my io-link device and communicating with other Types than Type_0. I can get 1 byte of procces data by using M-sequence Type_0 in any mode (Startup, Preoperate, Operate).

By reading the M-sequence capability (page 1 of direct parameter) i know what M-sequence Type my device are supporting (Type_2_V). But when i try to use this Type, my device doesn't respons. I've calculated the ProcessDataIn and ProcessDataOut length also by reading it from Page 1 so i should be sending the right quantity of octets.

I know that when the device are in Statup Mode it only supports Type_0, so it seems like my device never enters in Operate mode. The thing is that my device has a green light indicator, which is solid green when in SIO communication, and blinking when in io-link communication. So i tried sending a Fallback(0x5A) mastercommand and the light turned Solid so i assume sending a Operate mode(0x99) command also works.

My questian is: