Giter Club home page Giter Club logo

i-link's Introduction

Evaluation version

This repository contains an evaluation version of I-Link, a IO-Link stack for IO-Link master implementations. It is easy to use and provides a small footprint. It is especially well suited for embedded systems where resources are limited and efficiency is crucial. It is written in C and can be run on bare-metal hardware, an RTOS such as rt-kernel, or on Linux.

It does not contain any ports and cannot be built without adding additional sources.

See readme for more information on the complete version of the stack and the releases for binary downloads for common targets.

This version of I-Link can be used for evaluation purposes only. Contact [email protected] if you intend to use this stack in a product or if you need assistance during evaluation. The commercial version of this stack is supplied with full sources.

i-link's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

i-link's Issues

Io-link communication

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:

  • How can i know if my device is in Operate mode.
  • Do you use Process channel (0x00) in MC message when accessing Process data memory?

Demo application stuck in PREOPERATE_6

Hi,

I would like to get the demo application running, but i ran into a problem that I was not able to solve.
I am using a setup with a Embedded Linux System and a MAX14819 EVKIT. I am able to build and run the stack as well as the demo application on the target, for example I can set the LEDs on the EVKIT.

Here is the problem: The stack initializes and reaches the PREOPERATE_6 status for the attached devices (verified with message 0x9A in the communication trace). All information is transferred correctly from the device (e.g., device ID, vendor ID, etc). After that, I would expect message 0x99 from the master to enter OPERATIONAL state (I have another master demo setup where I can observe this).

However, this message does not appear so the device stays in PREOPERATE_6 and the main loop in the iolink_handler is entered without further activity (other than the timeout printing โ€œ.โ€). The behavior was tested with the two devices from the demo setup (Display IFM E30391 and RFID Reader IFM DTI515) as well as with one IFM proximity sensor (IF 6124).

Is there any kind of message though the internal messaging mechanisms (iolink_app_master.app_event) that the IO link handler expects?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.