From 51e659fc7109b2f0cd3e7f361d5fb9bf4188e77d Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Tue, 29 Dec 2020 15:11:09 +0100 Subject: [PATCH] nrzled/rasterSPI: fix ordering This is supposed to be sent out in GRB order (and the comment below also below claims it), but the code (and corresponding unit tests) did output RGB order. --- nrzled/nrzled.go | 4 ++-- nrzled/nrzled_spi_test.go | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/nrzled/nrzled.go b/nrzled/nrzled.go index 3557c48..40d6bd9 100644 --- a/nrzled/nrzled.go +++ b/nrzled/nrzled.go @@ -309,8 +309,8 @@ func (d *Dev) rasterSPI(dst []byte, src []byte, srcHasAlpha bool) { dOff := 3 * stride * i //3 channels * stride r, g, b := src[sOff], src[sOff+1], src[sOff+2] //grb color order, msb first - copy(dst[dOff+stride*0:dOff+stride*1], nrzMSB4[r][:]) - copy(dst[dOff+stride*1:dOff+stride*2], nrzMSB4[g][:]) + copy(dst[dOff+stride*0:dOff+stride*1], nrzMSB4[g][:]) + copy(dst[dOff+stride*1:dOff+stride*2], nrzMSB4[r][:]) copy(dst[dOff+stride*2:dOff+stride*3], nrzMSB4[b][:]) } } diff --git a/nrzled/nrzled_spi_test.go b/nrzled/nrzled_spi_test.go index a72586a..d6829d0 100644 --- a/nrzled/nrzled_spi_test.go +++ b/nrzled/nrzled_spi_test.go @@ -165,7 +165,7 @@ var writeTests = []struct { {0x80, 0xFF, 0x00, 0x00}, }), want: []byte{ - /*80*/ 0xE8, 0x88, 0x88, 0x88 /*FF*/, 0xEE, 0xEE, 0xEE, 0xEE /*00*/, 0x88, 0x88, 0x88, 0x88, + /*FF*/ 0xEE, 0xEE, 0xEE, 0xEE /*80*/, 0xE8, 0x88, 0x88, 0x88 /*00*/, 0x88, 0x88, 0x88, 0x88, /*EOF*/ 0x00, 0x00, 0x00, }, opts: Opts{ @@ -180,7 +180,7 @@ var writeTests = []struct { {0x80, 0x00, 0x00, 0x00}, }), want: []byte{ - /*80*/ 0xE8, 0x88, 0x88, 0x88 /*00*/, 0x88, 0x88, 0x88, 0x88 /*00*/, 0x88, 0x88, 0x88, 0x88, + /*00*/ 0x88, 0x88, 0x88, 0x88 /*80*/, 0xE8, 0x88, 0x88, 0x88 /*00*/, 0x88, 0x88, 0x88, 0x88, /*EOF*/ 0x00, 0x00, 0x00, }, opts: Opts{ @@ -195,7 +195,7 @@ var writeTests = []struct { {0x00, 0x80, 0x00, 0x00}, }), want: []byte{ - /*00*/ 0x88, 0x88, 0x88, 0x88 /*80*/, 0xE8, 0x88, 0x88, 0x88 /*00*/, 0x88, 0x88, 0x88, 0x88, + /*80*/ 0xE8, 0x88, 0x88, 0x88 /*00*/, 0x88, 0x88, 0x88, 0x88 /*00*/, 0x88, 0x88, 0x88, 0x88, /*EOF*/ 0x00, 0x00, 0x00, }, opts: Opts{ @@ -241,8 +241,8 @@ var writeTests = []struct { /*F0*/ 0xEE, 0xEE, 0x88, 0x88 /*F0*/, 0xEE, 0xEE, 0x88, 0x88 /*F0*/, 0xEE, 0xEE, 0x88, 0x88, /*80*/ 0xE8, 0x88, 0x88, 0x88 /*80*/, 0xE8, 0x88, 0x88, 0x88 /*80*/, 0xE8, 0x88, 0x88, 0x88, - /*80*/ 0xE8, 0x88, 0x88, 0x88 /*00*/, 0x88, 0x88, 0x88, 0x88 /*00*/, 0x88, 0x88, 0x88, 0x88, /*00*/ 0x88, 0x88, 0x88, 0x88 /*80*/, 0xE8, 0x88, 0x88, 0x88 /*00*/, 0x88, 0x88, 0x88, 0x88, + /*80*/ 0xE8, 0x88, 0x88, 0x88 /*00*/, 0x88, 0x88, 0x88, 0x88 /*00*/, 0x88, 0x88, 0x88, 0x88, /*00*/ 0x88, 0x88, 0x88, 0x88 /*00*/, 0x88, 0x88, 0x88, 0x88 /*80*/, 0xE8, 0x88, 0x88, 0x88, /*00*/ 0x88, 0x88, 0x88, 0x88 /*00*/, 0x88, 0x88, 0x88, 0x88 /*10*/, 0x88, 0x8E, 0x88, 0x88, @@ -351,8 +351,8 @@ var drawTests = []struct { want: func() []byte { var b []byte for i := 0; i < 4; i++ { - b = append(b, 0x88, 0x88, 0x88, 0x88) //0x00 b = append(b, 0xE8, 0x88, 0x88, 0x88) //0x80 + b = append(b, 0x88, 0x88, 0x88, 0x88) //0x00 b = append(b, 0xEE, 0xEE, 0xEE, 0xEE) //0xFF } for i := 0; i < 3; i++ {