2022-09-01 03:14 AM
Please help me about STEVAL-IOD04KT1 with IO-Link stack v1.1. I cannot find a file in the package that describes the definitions of the following functions. Could you please provide me with the source code where the functions are defined?
StackBaseSetQuadProcessDataIn(0, tmp[3], tmp[2], tmp[1], tmp[0])
StackBaseSetValidProcesDataIn((bool)TRUE)
2022-09-01 04:44 AM
Welcome, @JUNS.1, to the community!
The functions are part of a proprietary IO-Link demo stack that is only available as a compiled binary file. The readme.txt of this middleware, part of STSW-IOD04K says:
This library provides access to API functions allowing to manage L6364 as an IO-Link device and to communicate to an IO-Link master. The current ministack library implements all the features described in "IO-Link Interface and System Specification Version 1.1.2 July 2013" except for the following:
This library is compiled for the supported MCUs:
...further down, the API functions are also listed there, including the ones you mentioned.
If you need support in developing your own IO-Link stack, one of our partners for IO-Link from our partner programme will certainly be able to help you.
Does it answer your question?
Regards
/Peter
2022-09-01 09:03 PM
Thank you very much for your kind reply.
I am building a system with L6364 bridged between an ESP32 microcontroller and an IO LINK sensor. For verification purposes, I would like to write firmware to ESP32 to check the operation of IO-LINK.
I would like to prepare the firmware by porting the STSW-IOD04K library into ESP32, and would like to know the implementation details of the function I asked about in the previous question.
I understood that the implementation detail of them is private. These functions seems like writing sensor data to the L6364 data buffer. I tried implementing a similar function that reads and writes registers with SPI, and when I tried running it, the following problems occurred.
・The value does not change from the value before writing even if some numerical value is written to the data buffer (address 0x10) .
・The value of the status byte always returns 0x40, but the data byte is always 0x00.
Do I need something special before read/write the register? I have read the L6464 specification but it is complicated.
Thank you.
2022-09-01 11:42 PM
Well, if you used an STM32 as an MCU, you would at least have the demo version. Because the handling of various devices is sometimes complex, we have created the partner programme so that the users of our devices can choose the support that suits them best.
But maybe it's also a good idea to open a personal support ticket at Online Support OLS?
Regards
/Peter
2022-09-05 03:56 AM
I'll try to contact on Online Support OLS.
Thank you.
2023-01-05 10:24 AM
Do you have an easy solution now?
Struggling with the same issue, is there an easy example to read / write the registers the correct way with HAL_SPI_Transmit / RCV...
I'm able to write / read the registers, but untill now, i'm not able to send / receive Data from the IO-Link Master, the IO-Link Master alway's say's "not Conneted"
If there's any easy example for that... (the example for the Eval-Board is a bit too complex for me)