diff --git a/src/light/nl_engine.h b/src/light/nl_engine.h index 331acf4..3ee8079 100644 --- a/src/light/nl_engine.h +++ b/src/light/nl_engine.h @@ -36,6 +36,9 @@ void nl_engine_override(const uint8_t ch[NL_CH_COUNT]); /* Beendet den Override. fade_ms > 0 blendet im Kanalraum auf das zurueck, was die * Fade-Engine gerade ausgeben wuerde; 0 schaltet sofort um. */ void nl_engine_override_clear(uint32_t fade_ms); +/* Nur fuer die Tests: sie haben sonst keinen Blick auf den Override-Zustand der Engine. + * Die Firmware fragt stattdessen nl_dmx_active() - wer hier nach einem Aufrufer im + * src/-Baum sucht, findet zu Recht keinen. */ bool nl_engine_override_active(void); #endif diff --git a/src/net/nl_e131.c b/src/net/nl_e131.c index 46b0183..bae8ed9 100644 --- a/src/net/nl_e131.c +++ b/src/net/nl_e131.c @@ -20,6 +20,12 @@ static bool pdu_len_ok(const uint8_t *p, size_t len, size_t from) return (size_t)(fl & 0x0fffu) == len - from; } +/* Bewusste Abweichung von E1.31-2018 Abschnitt 6.2.4.1: die Synchronisationsadresse + * (Offset 109-110) und das Options-Bit "force synchronization" werden ueberlesen, das Paket + * wird sofort ausgegeben. Eine einzelne Lampe hat nichts zu synchronisieren, und auf ein + * Sync-Paket zu warten hiesse, bei einem Sender mit gesetzter Adresse dunkel zu bleiben. + * Das ist kein Versehen - fuer mehrere gemeinsam getaktete Empfaenger muesste es nachgeruestet + * werden. */ bool nl_e131_parse(const uint8_t *buf, size_t len, nl_e131_packet_t *out) { static const uint8_t acn_pid[12] = { 'A', 'S', 'C', '-', 'E', '1', '.', '1', '7', 0, 0, 0 };