#ifdef __cplusplus
extern "C" {
#endif

#include "arduino.h"

/*
#define PIN_RESET				LCD_RST_Pin      // XRES
#define PORT_RESET			LCD_RST_GPIO_Port
#define PIN_SCE					LCD_CS_Pin      //  XCE
#define PORT_SCE				LCD_CS_GPIO_Port
#define PIN_SDIN				LCD_SI_Pin      // SDA
#define PORT_SDIN				LCD_SI_GPIO_Port
#define PIN_SCLK				LCD_SCK_Pin      // SCLK
#define PORT_SCLK				LCD_SCK_GPIO_Port
*/

#define RESET_Pin   10
#define CS_Pin      11
#define SI_Pin      12
#define SCK_Pin     13
#define DC_Pin      14

#define LCD_C 0 // Command
#define LCD_D 1 // Data


#define RESET_LOW       digitalWrite(RESET_Pin, LOW);
#define RESET_HIGH      digitalWrite(RESET_Pin, HIGH);
#define CS_LOW          digitalWrite(CS_Pin, LOW);
#define CS_HIGH         digitalWrite(CS_Pin, HIGH);
#define SI_LOW          digitalWrite(SI_Pin, LOW);
#define SI_HIGH         digitalWrite(SI_Pin, HIGH);
#define SCK_LOW         digitalWrite(SCK_Pin, LOW);
#define SCK_HIGH        digitalWrite(SCK_Pin, HIGH);
#define DC_LOW          digitalWrite(DC_Pin, LOW);
#define DC_HIGH         digitalWrite(DC_Pin, HIGH);



void LcdWrite(char dc, char data);
void LcdCharacter(char character);
void LcdClear(void);
void LcdClear_line(char l);
void Lcd_set_pos_pix(char c, char r);
void Lcd_set_pos(char c, char r);
void lcd_crlf(void);
void Lcd_drawColumn(char sline, char value);
void LcdInitialise(void);
void LcdString(char *characters);
void LcdString_neg(char *characters, unsigned char neg);
void LcdString_f(unsigned int func);
void DrawVlin (char y0, char y1);
void draw_progbar(int value,int row);
void draw_bitmap( const unsigned char *bitmap,unsigned char X_size,unsigned char Y_size,unsigned char X_start,unsigned char Y_start);

#ifdef __cplusplus
}
#endif
