The EnOcean LON Stack DX enables developers to build networks of communicating devices, as part of the Industrial Internet of Things, using any processor supporting the C programming language for connected devices. The LON protocol is an open standard defined by the ISO/IEC 14908 series of standards.
If DecodeTxTimer in lcs_node.c is called with longTimer == true, then for values of txTimerIn exceeding 7 the returned value will exceed the range of a uint16_t type and produce unexpected results.
Returned values from DecodeTxTimer with txTimerIn in the valid range [0...15] are:
4096
6144
8192
12288
16384
24576
32768
49152
0
32768
0
0
0
0
0
0
I do not have a copy of the referenced "Tech Device Data Rev 1 p.9-17" (if there is a copy available please let me know!) but I suspect that this behavior is not intended.
We're using the Enocean U60 USB interface for having the LON-FT communication feature on our i.MX6 platform.
This is working with the lon-stack-ex at the moment. Now I wonder if the lon-stack-dx would be a more actual alternative for us? Now the question: Has anyone tried the lon-stack-dx with the U60 interface on Linux? Is this working (at least theoretically)?
My first tries with added functions in IzoTHal.c and IzoTCal.c are running on the i.MX6 platform with Linux but LON communication is not working yet. The U60 is registered in my system as an own network interface. I try to use sockets on this network interface on port 2541 and receive no communication - although I see the LON-FT traffic on the network interface statistics (packet and byte counts).
Thanks for any hints.
If this is interesting for the community, of cause we will share our additional code we did on the stack.