cancel
Showing results for 
Search instead for 
Did you mean: 

Question on STEVAL-IOD04KT1 with IO-Link stack v1.1

JUNS.1
Associate II

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)

5 REPLIES 5
Peter BENSCH
ST Employee

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:

  • Event management
  • ISDU (Indexed Service Data Unit) management

This library is compiled for the supported MCUs:

  • STM32L073xx
  • STM32G071xx
  • STM32L452xx

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

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
JUNS.1
Associate II

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.

Peter BENSCH
ST Employee

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

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
JUNS.1
Associate II

I'll try to contact on Online Support OLS.

Thank you.

PRyf.1
Associate

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)