/* Draw a Pixel of grayscale at coordinate (x,y) to LCD.  */
void halLcdPixel(int x, int y, unsigned char GrayScale)
/* Draw a Pixel of grayscale at coordinate (x,y) to LCD.  */
void halLcdPixel(int x, int y, unsigned char GrayScale)
{
  int  Address, Value;
  unsigned char offset;
  if ( (x>=0 ) && (x<LCD_COL) && (y>=0) && (y<LCD_ROW))
  {
    Address = (y << 5) + (x >> 3) ;
    Value = LCD_MEM[(y << 4)+ y + (x>>3)];
    offset = (x & 0x07) << 1;
    Value &= ~  (3 << offset);
    Value |= GrayScale << offset;
    halLcdDrawBlock( Address, Value );
  }
}