Rev 1031 | Rev 1187 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | SVN | RSS feed
| Rev 1031 | Rev 1038 | ||
|---|---|---|---|
| Line 72... | Line 72... | ||
| 72 | { |
72 | { |
| 73 | switch (rxMsg->Header.Command) |
73 | switch (rxMsg->Header.Command) |
| 74 | { |
74 | { |
| 75 | case CAN_MODULE_CMD_KS0108_LCD_CLEAR: |
75 | case CAN_MODULE_CMD_KS0108_LCD_CLEAR: |
| 76 | if (rxMsg->Length == 1) { |
76 | if (rxMsg->Length == 1) { |
| 77 | glcdSetColor(( |
77 | glcdSetColor((0x80&rxMsg->Data[0])>>7); |
| 78 | } |
78 | } |
| 79 | glcdClear(); |
79 | glcdClear(); |
| 80 | rxMsg->Data[0] = glcdGetColor()<<7; |
80 | rxMsg->Data[0] = glcdGetColor()<<7; |
| 81 | StdCan_Set_direction(rxMsg->Header, DIRECTIONFLAG_FROM_OWNER); |
81 | StdCan_Set_direction(rxMsg->Header, DIRECTIONFLAG_FROM_OWNER); |
| 82 | rxMsg->Length = 1; |
82 | rxMsg->Length = 1; |
| 83 | while (StdCan_Put(rxMsg) != StdCan_Ret_OK); |
83 | while (StdCan_Put(rxMsg) != StdCan_Ret_OK); |
| 84 | break; |
84 | break; |
| 85 | case CAN_MODULE_CMD_KS0108_LCD_INVERT: |
85 | case CAN_MODULE_CMD_KS0108_LCD_INVERT: |
| 86 | if (rxMsg->Length == 1) { |
86 | if (rxMsg->Length == 1) { |
| 87 | if (( |
87 | if ((0x80&rxMsg->Data[0])>>7 != glcdGetColor()) |
| 88 | glcdInvert(); |
88 | glcdInvert(); |
| 89 | } else |
89 | } else |
| 90 | glcdInvert(); |
90 | glcdInvert(); |
| 91 | rxMsg->Data[0] = glcdGetColor()<<7; |
91 | rxMsg->Data[0] = glcdGetColor()<<7; |
| 92 | StdCan_Set_direction(rxMsg->Header, DIRECTIONFLAG_FROM_OWNER); |
92 | StdCan_Set_direction(rxMsg->Header, DIRECTIONFLAG_FROM_OWNER); |
| Line 94... | Line 94... | ||
| 94 | while (StdCan_Put(rxMsg) != StdCan_Ret_OK); |
94 | while (StdCan_Put(rxMsg) != StdCan_Ret_OK); |
| 95 | break; |
95 | break; |
| 96 | case CAN_MODULE_CMD_KS0108_LCD_CURSOR: |
96 | case CAN_MODULE_CMD_KS0108_LCD_CURSOR: |
| 97 | if (rxMsg->Length == 2) { |
97 | if (rxMsg->Length == 2) { |
| 98 | glcdSetXY((0x3f&rxMsg->Data[0])*6, rxMsg->Data[1]*8); |
98 | glcdSetXY((0x3f&rxMsg->Data[0])*6, rxMsg->Data[1]*8); |
| 99 | color = (( |
99 | color = ((0x80&rxMsg->Data[2])>>7); |
| 100 | Transparent = (( |
100 | Transparent = ((0x40&rxMsg->Data[2])>>6); |
| 101 | } |
101 | } |
| 102 | rxMsg->Data[0] = glcdGetColor()<<7; |
102 | rxMsg->Data[0] = glcdGetColor()<<7; |
| 103 | rxMsg->Data[0] = Transparent<<6; |
103 | rxMsg->Data[0] = Transparent<<6; |
| 104 | rxMsg->Data[0] |= (0x3f & (glcdGetX()/6)); |
104 | rxMsg->Data[0] |= (0x3f & (glcdGetX()/6)); |
| 105 | rxMsg->Data[1] |= ((glcdGetY()/8)); |
105 | rxMsg->Data[1] |= ((glcdGetY()/8)); |
| Line 111... | Line 111... | ||
| 111 | 111 | ||
| 112 | case CAN_MODULE_CMD_KS0108_LCD_TEXTAT: |
112 | case CAN_MODULE_CMD_KS0108_LCD_TEXTAT: |
| 113 | glcdSetXY((0x3f&rxMsg->Data[0])*6, rxMsg->Data[1]*8); |
113 | glcdSetXY((0x3f&rxMsg->Data[0])*6, rxMsg->Data[1]*8); |
| 114 | for (n = 2; n < rxMsg->Length; n++) |
114 | for (n = 2; n < rxMsg->Length; n++) |
| 115 | { |
115 | { |
| 116 | if ((( |
116 | if (((0x40&rxMsg->Data[0])>>6)== TRANSPARENT) |
| 117 | glcdWriteCharTransparent((char)rxMsg->Data[n], ( |
117 | glcdWriteCharTransparent((char)rxMsg->Data[n], (0x80&rxMsg->Data[0])>>7); |
| 118 | else |
118 | else |
| 119 | glcdWriteChar((char)rxMsg->Data[n], ( |
119 | glcdWriteChar((char)rxMsg->Data[n], (0x80&rxMsg->Data[0])>>7); |
| 120 | } |
120 | } |
| 121 | break; |
121 | break; |
| 122 | 122 | ||
| 123 | case CAN_MODULE_CMD_KS0108_LCD_TEXT: |
123 | case CAN_MODULE_CMD_KS0108_LCD_TEXT: |
| 124 | for (n = 0; n < rxMsg->Length; n++) |
124 | for (n = 0; n < rxMsg->Length; n++) |
| Line 162... | Line 162... | ||
| 162 | 162 | ||
| 163 | while (StdCan_Put(&txMsg) != StdCan_Ret_OK); |
163 | while (StdCan_Put(&txMsg) != StdCan_Ret_OK); |
| 164 | break; |
164 | break; |
| 165 | 165 | ||
| 166 | case CAN_MODULE_CMD_KS0108_LCD_DRAWRECT: |
166 | case CAN_MODULE_CMD_KS0108_LCD_DRAWRECT: |
| 167 | if (( |
167 | if ((0x40&rxMsg->Data[0])>>6) |
| 168 | glcdFillRect(rxMsg->Data[1], rxMsg->Data[2], rxMsg->Data[3], rxMsg->Data[4], ( |
168 | glcdFillRect(rxMsg->Data[1], rxMsg->Data[2], rxMsg->Data[3], rxMsg->Data[4], (0x80&rxMsg->Data[0])>>7); |
| 169 | else |
169 | else |
| 170 | if (rxMsg->Data[5] == 0) |
170 | if (rxMsg->Data[5] == 0) |
| 171 | glcdDrawRect(rxMsg->Data[1], rxMsg->Data[2], rxMsg->Data[3], rxMsg->Data[4], ( |
171 | glcdDrawRect(rxMsg->Data[1], rxMsg->Data[2], rxMsg->Data[3], rxMsg->Data[4], (0x80&rxMsg->Data[0])>>7); |
| 172 | else |
172 | else |
| 173 | glcdDrawRoundRect(rxMsg->Data[1], rxMsg->Data[2], rxMsg->Data[3], rxMsg->Data[4], rxMsg->Data[5],( |
173 | glcdDrawRoundRect(rxMsg->Data[1], rxMsg->Data[2], rxMsg->Data[3], rxMsg->Data[4], rxMsg->Data[5],(0x80&rxMsg->Data[0])>>7); |
| 174 | break; |
174 | break; |
| 175 | 175 | ||
| 176 | case CAN_MODULE_CMD_KS0108_LCD_DRAWLINE: |
176 | case CAN_MODULE_CMD_KS0108_LCD_DRAWLINE: |
| 177 | glcdDrawLine(rxMsg->Data[1], rxMsg->Data[2], rxMsg->Data[3], rxMsg->Data[4], ( |
177 | glcdDrawLine(rxMsg->Data[1], rxMsg->Data[2], rxMsg->Data[3], rxMsg->Data[4], (0x80&rxMsg->Data[0])>>7); |
| 178 | break; |
178 | break; |
| 179 | 179 | ||
| 180 | case CAN_MODULE_CMD_KS0108_LCD_DRAWCIRCLE: |
180 | case CAN_MODULE_CMD_KS0108_LCD_DRAWCIRCLE: |
| 181 | glcdDrawCircle(rxMsg->Data[1], rxMsg->Data[2], rxMsg->Data[3], ( |
181 | glcdDrawCircle(rxMsg->Data[1], rxMsg->Data[2], rxMsg->Data[3], (0x80&rxMsg->Data[0])>>7); |
| 182 | break; |
182 | break; |
| 183 | 183 | ||
| 184 | case CAN_MODULE_CMD_KS0108_LCD_INVERTRECT: |
184 | case CAN_MODULE_CMD_KS0108_LCD_INVERTRECT: |
| 185 | glcdInvertRect(rxMsg->Data[0], rxMsg->Data[1], rxMsg->Data[2], rxMsg->Data[3]); |
185 | glcdInvertRect(rxMsg->Data[0], rxMsg->Data[1], rxMsg->Data[2], rxMsg->Data[3]); |
| 186 | break; |
186 | break; |