KSM edits to RA8875

Dependents:   Liz_Test_Code

Revision:
137:9e09f6081ef1
Parent:
136:224e03d5c31f
Child:
140:33ca352755a2
--- a/RA8875.cpp	Wed Nov 16 02:48:45 2016 +0000
+++ b/RA8875.cpp	Thu Dec 08 12:29:54 2016 +0000
@@ -1739,20 +1739,21 @@
 
 RetCode_t RA8875::BlockMove(uint8_t dstLayer, uint8_t dstDataSelect, point_t dstPoint,
     uint8_t srcLayer, uint8_t srcDataSelect, point_t srcPoint,
-    uint16_t bte_width, uint16_t bte_height,
+    dim_t bte_width, dim_t bte_height,
     uint8_t bte_op_code, uint8_t bte_rop_code)
 {
     uint8_t cmd;
 
     PERFORMANCE_RESET;
+    ///@todo range check and error return rather than to secretly fix
     srcPoint.x &= 0x3FF;    // prevent high bits from doing unexpected things
     srcPoint.y &= 0x1FF;
     dstPoint.x &= 0x3FF;
     dstPoint.y &= 0x1FF;
     WriteCommandW(0x54, srcPoint.x);
-    WriteCommandW(0x56, ((srcLayer & 1) << 7) | srcPoint.y);
+    WriteCommandW(0x56, ((dim_t)(srcLayer & 1) << 15) | srcPoint.y);
     WriteCommandW(0x58, dstPoint.x);
-    WriteCommandW(0x5A, ((dstLayer & 1) << 7) | dstPoint.y);
+    WriteCommandW(0x5A, ((dim_t)(dstLayer & 1) << 15) | dstPoint.y);
     WriteCommandW(0x5C, bte_width);
     WriteCommandW(0x5E, bte_height);
     WriteCommand(0x51,  ((bte_rop_code & 0x0F) << 4) | (bte_op_code & 0x0F));