support more pixels per output
Stefan Schuermans

Stefan Schuermans commited on 2017-05-31 21:42:20
Showing 3 changed files, with 8 additions and 6 deletions.

... ...
@@ -18,7 +18,7 @@
18 18
 LIBTARGET := libetherpix
19 19
 VER_MAJ   := 1
20 20
 VER_MIN   := 1
21
-VER_REV   := 0
21
+VER_REV   := 1
22 22
 VERSION   := $(VER_MAJ).$(VER_MIN).$(VER_REV)
23 23
 
24 24
 SRCS    := $(wildcard src/*.c)
... ...
@@ -27,7 +27,7 @@
27 27
                                    *   available */
28 28
 #define ETP_OUTPUT_MAX_CNT (128)  /**< maximum number of outputs per
29 29
                                    *   distributor */
30
-#define ETP_PIXEL_MAX_CNT  (128)  /**< maximum number of pixels that can
30
+#define ETP_PIXEL_MAX_CNT  (1024) /**< maximum number of pixels that can
31 31
                                    *   be connected to an output of a
32 32
                                    *   distributor */
33 33
 
... ...
@@ -36,9 +36,9 @@
36 36
                       "\x00\x00\x00\x00" \
37 37
                       "\x00\x03\x00\xFF")     /**< data of MCUF header */
38 38
 #define ETP_MCUF_HDR_LEN              (12)    /**< length of MCUF header */
39
-#define ETP_MCUF_HDR_OFS_OUTPUTS      (5)     /**< offset of output count
39
+#define ETP_MCUF_HDR_OFS_OUTPUTS_U16  (4)     /**< offset of output count
40 40
                                                *   in MCUF data */
41
-#define ETP_MCUF_HDR_OFS_PIXELS       (7)     /**< offset of pixel count
41
+#define ETP_MCUF_HDR_OFS_PIXELS_U16   (6)     /**< offset of pixel count
42 42
                                                *   in MCUF data */
43 43
 #define ETP_MCUF_MAX_FRAME_INTERVAL_MS (1000) /**< maximum interval between
44 44
                                                    two MCUF frames */
... ...
@@ -145,8 +145,10 @@ int etp_config_proc_distri(etp_config_ctx_t *p_ctx, char *p_setting_part2,
145 145
   }
146 146
   memset(p_distri->p_msg_buf, 0, p_distri->msg_len);
147 147
   memcpy(p_distri->p_msg_buf, etp_mcuf_hdr, ETP_MCUF_HDR_LEN);
148
-  p_distri->p_msg_buf[ETP_MCUF_HDR_OFS_OUTPUTS] = (etp_u8_t)out;
149
-  p_distri->p_msg_buf[ETP_MCUF_HDR_OFS_PIXELS] = (etp_u8_t)pix;
148
+  p_distri->p_msg_buf[ETP_MCUF_HDR_OFS_OUTPUTS_U16 + 0] = (etp_u8_t)(out >> 8);
149
+  p_distri->p_msg_buf[ETP_MCUF_HDR_OFS_OUTPUTS_U16 + 1] = (etp_u8_t)out;
150
+  p_distri->p_msg_buf[ETP_MCUF_HDR_OFS_PIXELS_U16 + 0] = (etp_u8_t)(pix >> 8);
151
+  p_distri->p_msg_buf[ETP_MCUF_HDR_OFS_PIXELS_U16 + 1] = (etp_u8_t)pix;
150 152
   /* store pointer to distributor */
151 153
   p_ctx->p_display->distri_ptrs[distri] = p_distri;
152 154
 
153 155