Moar inline docs
[dmxpainter.git] / src / buf.c
index cb88b1f..713f434 100644 (file)
--- a/src/buf.c
+++ b/src/buf.c
@@ -1,83 +1,20 @@
 #include "buf.h"
 
-char gg_buf_gs[512] = {
-  /* R     G     B */
-   0xFF, 0xFF, 0xFF,  // 01
-   0xFF, 0x00, 0xFF,  // 02
-   0x00, 0x00, 0x00,  // 03
-   0xDD, 0xDD, 0xDD,  // 04
-   0xCC, 0xCC, 0xCC,  // 05
-   0xBB, 0xBB, 0xBB,  // 06
-   0xAA, 0xAA, 0xAA,  // 07
-   0x99, 0x99, 0x99,  // 08
-   0x88, 0x88, 0x88,  // 09
-   0x77, 0x77, 0x77,  // 10
-   0x66, 0x66, 0x66,  // 11
-   0x55, 0x55, 0x55,  // 12
-   0x44, 0x44, 0x44,  // 13
-   0x33, 0x33, 0x33,  // 14
-   0x22, 0x22, 0x22,  // 15
-
-   0x33, 0x00, 0x33   // 16
-
-};
-
-
-#define DC(p) (char)(0x3F * ((char)p - 0) / 100)
-#define DC_RGB(r, g, b, x) { DC(r), DC(g), DC(b) }
-char gg_buf_dc[3] = DC_RGB(
-                          100,
-                           30,
-                           30,
-                           0);
-
-
-///////////////////////////////
-
-#include "mcu.h"
-#include "tlc.h"
-
-#include <string.h>
-
-volatile uint32_t g_delay;
-volatile uint8_t g_rgb = 0;
-void reset_counter(void)
-{
-  g_delay = 0;
-}
-
-void buf_init(void)
-{
-#if 0
-  #define BUFFER_INIT_KEEP 1
-  #if BUFFER_INIT_KEEP == 0
-  memset(gg_buf_gs, 0x00, sizeof(gg_buf_gs));
-  #endif
-
-  for (uint8_t i = 0; i < (TLC_N_CHANNELS / TLC_N_TLCS_PER_PAINTER - BUFFER_INIT_KEEP); i++)
-    for (uint8_t rgb = 0; rgb < 3; rgb++)
-      gg_buffer_gs[i * 3 + rgb] = 0xF0 | (rgb + 1);
-   reset_counter();
-#endif
-}
-
-#if 0
-void buf_next(void)
-{
-  char * foo = gg_buf_gs + 15 * 3;
-
-  //if (g_delay++ < 100000) return 0;
-  //reset_counter();
-  foo[0] = (g_rgb % 3) == 0 ? 0xFF : 0x00;
-  foo[1] = (g_rgb % 3) == 1 ? 0xFF : 0x00;
-  foo[2] = (g_rgb % 3) == 2 ? 0xFF : 0x00;
-  //g_rgb--;
-
-  tlc_set_data_done();
-}
-
-void buf_do(void)
-{
-  g_rgb--;
-}
-#endif
+/*********************************************************************/
+/* Declaration of public global variables.                           */
+
+/**
+ * All channel greyscale data is initialized to zero.
+ * TODO: Size should be based on N_PAINTER but got to fix the dmx 
+ * code first.
+ */
+volatile char buf_gs__[512];
+
+/**
+ * One dot correction for everything.
+ */
+#define BUF_DC_MAX 0x3F
+#define BUF_DC_R   BUF_DC_MAX
+#define BUF_DC_G   0x12
+#define BUF_DC_B   0x12
+const char buf_dc__[3] = { BUF_DC_R, BUF_DC_G, BUF_DC_B };