WLED icon indicating copy to clipboard operation
WLED copied to clipboard

E1.31-2018 compliance issues

Open RichardTea opened this issue 2 years ago • 4 comments

What happened?

The current E1.31 reception doesn't quite meet the minimum requirements of the ANSI E1.31-2018 standard.

The issues appear to be:

  1. Data using Alternate Start Codes is treated as level data. (ANSI E1.11-2018: 8.5)
  2. Data marked PREVIEW is acted upon. (ANSI E1.31-2018: 6.2.6)
  3. Priority is ignored (E1.31: 6.2.3)
  4. Source CID is ignored, if there are multiple active sources it flickers rapidly between them all, causing denial-of-service (E1.31: 6.2.3)
  5. Sources Exceeded behaviour is not stated. (E1.31: 6.2.3.5)

To Reproduce Bug

Enable E1.31 reception and send data using a test tool such as sACNView

Expected Behavior

  1. WLED should only act on Null-Start-Code data, other start codes have other purposes. Some standardised, many manufacturer-specific.
  2. WLED should ignore any packets marked with the PREVIEW flag. Preview is intended to feed visualisation, and may be sent by one or more controllers at the same time as 'real' level data.
  3. Universe Priority to be used to select the winning CID for each universe
  4. Data from any CIDs other than the chosen one to be ignored.
  5. Sources Exceeded behaviour to be documented as "There Can Only Be One", as this is a very low power device. HTP merging would need far too much RAM, so almost certainly isn't appropriate here.

Install Method

Binary from WLED.me

What version of WLED?

WLED 0.13.1 (build 2203150)

Which microcontroller/board are you seeing the problem on?

ESP32

Relevant log/trace output

No response

Anything else?

The relevant standards are published here: https://tsp.esta.org/tsp/documents/published_docs.php

I've started putting together a PR to fix these issues. I don't expect any of them will require configuration changes as any compliant senders will work just fine, and the CID and Priority checks will only make any difference if there are multiple active sources - and as that situation currently doesn't work, it can't make anything any worse!

Code of Conduct

  • [X] I agree to follow this project's Code of Conduct

RichardTea avatar Jan 30 '23 22:01 RichardTea

Thank you for the very concise bug report! Most of the points in order to be compliant with the standard seem to be able to be added quite easily.

Aircoookie avatar Jan 30 '23 22:01 Aircoookie

1 and 2 are trivial and I've already fixed them in a test build, though I've not tested as I'm not yet totally sure how to reflash my ESP32. I'll probably pop onto the Discord tomorrow for help on flashing my board :)

RichardTea avatar Jan 30 '23 22:01 RichardTea

Please test latest PR and provide feedback here: https://wled.discourse.group/t/e1-31-port-priority-beta-testing/7270

mxklb avatar Feb 13 '23 16:02 mxklb

Hey! This issue has been open for quite some time without any new comments now. It will be closed automatically in a week if no further activity occurs. Thank you for using WLED! ✨

github-actions[bot] avatar Apr 15 '24 12:04 github-actions[bot]

Hey! This issue has been open for quite some time without any new comments now. It will be closed automatically in a week if no further activity occurs. Thank you for using WLED! ✨

github-actions[bot] avatar Aug 16 '24 12:08 github-actions[bot]