feat: sACN-Belegung rgb als Vorgabe
Pixelorientierte Werkzeuge wie LedFx schreiben drei Kanaele je Pixel; mit dem Dimmer voran landet deren erstes Pixel auf Dimmer, R, G. rgb ist damit die Belegung, die out of the box das Richtige tut - der Dimmer bleibt fuer DMX-Pulte eine Umschaltung entfernt.
This commit is contained in:
@@ -238,20 +238,20 @@ static void test_record_without_sacn_gets_defaults(void)
|
||||
|
||||
/* Die Satzlaenge muss durch 4 teilbar bleiben, sonst laufen Schreiber und Leser beim CRC
|
||||
* auseinander (siehe NL_SETTINGS_CRC_OFF in nl_settings.c). */
|
||||
static void test_sacn_layout_defaults_to_dimmer(void)
|
||||
static void test_sacn_layout_defaults_to_rgb(void)
|
||||
{
|
||||
nl_settings_t s;
|
||||
TEST_ASSERT_FALSE(nl_settings_load(&s));
|
||||
TEST_ASSERT_EQUAL_UINT8(0, s.sacn_layout);
|
||||
TEST_ASSERT_EQUAL_UINT8(1, s.sacn_layout);
|
||||
}
|
||||
|
||||
static void test_sacn_layout_roundtrip(void)
|
||||
{
|
||||
nl_settings_t in = sample("layout"), out;
|
||||
in.sacn_layout = 1;
|
||||
in.sacn_layout = 0; /* weg von der Vorgabe, sonst prueft der Test nur diese */
|
||||
TEST_ASSERT_EQUAL_INT(0, nl_settings_save(&in));
|
||||
TEST_ASSERT_TRUE(nl_settings_load(&out));
|
||||
TEST_ASSERT_EQUAL_UINT8(1, out.sacn_layout);
|
||||
TEST_ASSERT_EQUAL_UINT8(0, out.sacn_layout);
|
||||
}
|
||||
|
||||
/* Derselbe Fallstrick wie bei sacn_enabled, eine Feldgeneration weiter: ein Satz, der von
|
||||
@@ -261,7 +261,7 @@ static void test_record_without_layout_gets_the_default(void)
|
||||
{
|
||||
nl_settings_t in = sample("vor-layout"), out;
|
||||
uint32_t crc;
|
||||
in.sacn_layout = 1;
|
||||
in.sacn_layout = 0; /* der abgeschnittene Satz darf diese 0 nicht zurueckliefern */
|
||||
nl_settings_save(&in);
|
||||
{
|
||||
uint16_t shorter = 216u; /* sizeof(nl_settings_t) vor dem Layout-Feld */
|
||||
@@ -272,7 +272,7 @@ static void test_record_without_layout_gets_the_default(void)
|
||||
TEST_ASSERT_TRUE(nl_settings_load(&out));
|
||||
TEST_ASSERT_EQUAL_STRING("vor-layout", out.name);
|
||||
TEST_ASSERT_EQUAL_UINT8(1, out.sacn_enabled);
|
||||
TEST_ASSERT_EQUAL_UINT8(0, out.sacn_layout);
|
||||
TEST_ASSERT_EQUAL_UINT8(1, out.sacn_layout);
|
||||
}
|
||||
|
||||
static void test_record_size_stays_aligned(void)
|
||||
@@ -297,7 +297,7 @@ int main(void)
|
||||
RUN_TEST(test_sacn_defaults);
|
||||
RUN_TEST(test_sacn_roundtrip);
|
||||
RUN_TEST(test_record_without_sacn_gets_defaults);
|
||||
RUN_TEST(test_sacn_layout_defaults_to_dimmer);
|
||||
RUN_TEST(test_sacn_layout_defaults_to_rgb);
|
||||
RUN_TEST(test_sacn_layout_roundtrip);
|
||||
RUN_TEST(test_record_without_layout_gets_the_default);
|
||||
RUN_TEST(test_record_size_stays_aligned);
|
||||
|
||||
Reference in New Issue
Block a user