From 4070976d86cff0544132e53dc5ed27b915b4d7e6 Mon Sep 17 00:00:00 2001 From: jaseg Date: Fri, 15 Mar 2013 00:17:14 +0100 Subject: [PATCH] Fixed the LED matrix code for inversed matrices --- avr/led_matrix.c.tp | 4 ++++ configs/nerdarea.json | 17 +++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 configs/nerdarea.json diff --git a/avr/led_matrix.c.tp b/avr/led_matrix.c.tp index a966d69..b98caee 100644 --- a/avr/led_matrix.c.tp +++ b/avr/led_matrix.c.tp @@ -33,7 +33,11 @@ void ${loop_function()} (){ uint8_t data = ${modulevar("raw_buffer")}[i]; DDR${member["port"]} = 0; //FIXME This is supposed to prevent "ghosting". Is it really necessary? PORT${member["port"]} = 0; +% if member.get("inverted", False): + PORT${member["port"]} = ~data | row; +% else: PORT${member["port"]} = data; +% endif DDR${member["port"]} = data | row; i++; row <<= 1; diff --git a/configs/nerdarea.json b/configs/nerdarea.json new file mode 100644 index 0000000..2255578 --- /dev/null +++ b/configs/nerdarea.json @@ -0,0 +1,17 @@ +{ + "type": "avr", + "version": 23, + "url": "http://jaseg.github.com/cerebrum", + "members": { + "panelsecke": { + "type": "led_matrix", + "port": "F", + "inverted": true + }, + "panelsgang": { + "type": "led_matrix", + "port": "K", + "inverted": true + } + } +} -- 2.11.4.GIT