On the Subject of RGB Arithmetic

These aren’t numbers, what am I supposed to do with these!?

The module has two 4×4 grids of RGB colours with LEDs in each corner.

Each colour gives three digits, corresponding to each colour channel:

  • If the channel is not present at all, the digit is “-”.
  • If the channel is maximised, the digit is “+”.
  • Otherwise the digit is “0”.

Each LED on the corners of each screen corresponds to a transformation to be applied to the respective colour channel on the grid:

  1. Bottom left- Swap the rows and columns i.e. A2 ↔ B1.
  2. Top left- Flip the grid horizontally.
  3. Top right- Flip the grid vertically.
  4. Bottom right- Invert the channel i.e. + ↔ -.

If the same transformation is applied to multiple channels, its respective LED additively mixes the corresponding colours.

The module has three stages:

  1. No transformations are applied to either grid.
  2. The same transformations are applied to all three colour channels.
  3. No limitations on which transformations can be applied.

The right screen displays a character corresponding to one of the operators below.
Apply the operator to the digits corresponding to each colour channel of each square in the same position of the respective transformed grids.
The result of the operation corresponds to the channel of the target colour of the respective square in the centre grid.

+-0+
---0
0-0+
+0++
!-0+
-++0
0+0-
+0--
-0+
-+0-
0000
+-0+
m-0+
----
0-00
+-0+
M-0+
--0+
000+
++++
#-0+
-+-+
0-0-
++-+
-0+
--+0
0+0-
+0-+
Ø-0+
-0-+
0-0-
++-0
-0+
-0-0
0-0+
+0+0

Use the three RGB selectors to generate the target colours, and select the squares on the centre grid to fill them with the selected colour.

Press the check button to submit the colours of the centre grid:

  • If all colours match the target, the center grid will flash green and the module will progress to the next stage.
  • Otherwise:
    • Squares that match the target colour will flash green before returning to the submitted colour.
    • Squares that do not match the target colour will flash red before resetting and turning black.

Pressing the reset button will turn every square in the centre grid black.

Appendix: Colour referencing

The chart below can be used to reference the possible colours on the module.