⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 globals.h

📁 port of ARM to NOkia 3310 display
💻 H
字号:
/***************************************************************************************************************
*
*
*
*
***************************************************************************************************************/
/* INCLUDES */
#include <pkgconf/system.h>
#include <cyg/kernel/kapi.h>
#include <pkgconf/kernel.h>
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
#include <cyg/infra/diag.h>
#include <pkgconf/io_serial.h>
#include <cyg/hal/hal_io.h>
#include <cyg/io/io.h>
#include <cyg/io/serialio.h>
#include <cyg/hal/hal_intr.h>
#include <cyg/hal/hal_arch.h>



#define  testbit(var, bit)   	((var) &   (1 <<(bit)))




/* GLOBALS */
extern volatile unsigned char c;
// olimex LPC-P2106: one led on P0.7 (active low)
#define LEDPIN  7
#define LED_ON      (*(volatile unsigned long *)ASHLING_IOCLR)|=1<<LEDPIN
#define LED_OFF    (*(volatile unsigned long *)ASHLING_IOSET)|=1<<LEDPIN
// olimex LPC-P2106: one switch on P0.31 (active low)
#define SWPIN 	31
//
#define SOUNDPIN  25
#define  IOPIN        (*(volatile unsigned long *)ASHLING_IOPIN) 


//THREAD FUNCTION PROTOTYPES
void SER0_program(cyg_addrword_t data);
void GPS_program(cyg_addrword_t data);
void LCD_program(cyg_addrword_t data);
void BTN_program(cyg_addrword_t index);
void ALARM_program( cyg_addrword_t data );


/* FONT.H */
extern const char FontLookup[][5];
extern const char LED[][68];
extern const char eCos[];
extern const char eCos1[];
extern const char eCos2[];
extern const char eCos3[];
extern const char eCos4[];
extern const char uBlox[];
extern const char arm[];
extern const char sd[];
extern const char hand[];
extern const char info[];

/* BEEP.H */
#define beep_0		(*(volatile unsigned long *)ASHLING_IOCLR) |= 1<< SOUNDPIN 
#define beep_1		(*(volatile unsigned long *)ASHLING_IOSET) |= 1<< SOUNDPIN
void beep(unsigned char Rate, unsigned char Num);
void music(void);
extern unsigned char beep_flag;

/* LCD.H */
#define lcd_unlock()  (lcd_key=0)
#define lcd_lock()  (lcd_key=1)
#define INIT_PERIPHERALS     7
#define LCD_MAX_CHAR        16
#define LCD_X_RES               84
#define LCD_Y_RES               48
#define LCD_CACHE_SIZE     ((LCD_X_RES * LCD_Y_RES)/8)
//
#define nok_sclk_0		(*(volatile unsigned long *)ASHLING_IOCLR) |= 1<< 26 
#define nok_sclk_1		(*(volatile unsigned long *)ASHLING_IOSET) |= 1<< 26

#define nok_sda_0	 	(*(volatile unsigned long *)ASHLING_IOCLR) |= 1<< 27
#define nok_sda_1	       (*(volatile unsigned long *)ASHLING_IOSET) |= 1<< 27

#define nok_dc_0          (*(volatile unsigned long *)ASHLING_IOCLR) |= 1<< 28	
#define nok_dc_1	 	(*(volatile unsigned long *)ASHLING_IOSET) |= 1<< 28

#define nok_cs_0	       (*(volatile unsigned long *)ASHLING_IOCLR) |= 1<< 29
#define nok_cs_1	 	(*(volatile unsigned long *)ASHLING_IOSET) |= 1<< 29

#define nok_res_0		(*(volatile unsigned long *)ASHLING_IOCLR) |= 1<< 30
#define nok_res_1		(*(volatile unsigned long *)ASHLING_IOSET) |= 1<< 30
//
void LedButInit(void);
void cls(void);
void nokia_init(unsigned char contrast);
void LcdBin(unsigned char byte);
void LcdDec(int c);
void ascii_to_nokia(unsigned char c, unsigned char big);
void nokia_write_command(void);				// nokia lcd routines
void nokia_write_dorc(void);
void nokia_build_DDRAM(void);
void nokia_write_data(void);
void nokia_gotoxy(unsigned char xnokia, unsigned char ynokia);
void nokia_printchar(unsigned char c, unsigned char big);
void nokia_printmessage(const char* message, unsigned char big);
void LcdContrast (unsigned char contrast);
void LcdUpdate ( void );
void LcdChr (unsigned char ch );
void LcdStr (unsigned char *dataPtr );
void LcdGotoXY ( unsigned char x,unsigned char y );
void led_to_nokia(int NUM);
void LcdInfo(unsigned char X, unsigned char Y, unsigned char * msg);
void EcosLogo(void);
void lcd(const char *message);
void clear(unsigned char x, unsigned char y, unsigned char zero);



#define     PIXEL_OFF   0
#define     PIXEL_ON     1
#define     PIXEL_XOR   2



//Graphic Data Base
void LcdPixel ( unsigned char  x, unsigned char  y, unsigned char mode );
void LcdLine  ( unsigned char  x1, unsigned char  y1, unsigned char  x2, unsigned char  y2, unsigned char  mode );
void LCDCircle(unsigned char CenterX,unsigned char CenterY,unsigned char Radius, unsigned char mode);


//GPS.H
extern char  Gps_buff[128];
extern char  ser0_buff[128];
extern char  console_buff[128]; 
extern char  GPRMC[128];
extern char  GPGGA[128];



extern unsigned char time_stamp[7];
extern unsigned char current_latitude[11];
extern unsigned char current_longitude[12];
extern unsigned char speed_knots[6];
extern unsigned char true_curse[6];
extern unsigned char date_stamp[7];
extern unsigned char variation[6];
extern unsigned char current_altitude[6];

//RTC
extern int time;
extern int date;
extern unsigned char Hour;
extern unsigned char Min;
extern unsigned char Sec;

//UTM
extern cyg_uint32 offset_x, offset_y;
extern double f_temp,f_syousu,f_seisu;


//FLAGS
extern unsigned char mode;
extern unsigned char gps_status_flag;
extern unsigned char gps_gmt_flag;
extern unsigned char gps_latitude_flag;

//PROTOTYPES
void gps_gmt(void);
void gps_status(void);
void gps_latitude(void);
void GPS(void);
void UTM(void);

/* COLOR LCD */

/*
RESET -> P0.8
CS       -> P0.9
SDATA -> P0.10
SCLK   -> P0.11
*/

#define SCLK_0		(*(volatile unsigned long *)ASHLING_IOCLR) |= 1<< 24
#define SCLK_1		(*(volatile unsigned long *)ASHLING_IOSET) |= 1<< 24

#define SDATA_0	 	(*(volatile unsigned long *)ASHLING_IOCLR) |= 1<< 6
#define SDATA_1	       (*(volatile unsigned long *)ASHLING_IOSET) |= 1<< 6

#define CS_0	              (*(volatile unsigned long *)ASHLING_IOCLR) |= 1<< 5
#define CS_1	 	       (*(volatile unsigned long *)ASHLING_IOSET) |= 1<< 5

#define RESET_0		(*(volatile unsigned long *)ASHLING_IOCLR) |= 1<< 4
#define RESET_1		(*(volatile unsigned long *)ASHLING_IOSET) |= 1<< 4

#define CMD		     0
#define DATA	            1

extern unsigned char Lcd_doublesize;
extern unsigned char Lcd_posx;
extern unsigned char Lcd_posy;
extern unsigned char Lcd_fcolor;
extern unsigned char Lcd_bcolor;

void color_nokia_init(void);
void send(unsigned char data, unsigned char cd);
void cs(void);
void Lcd_setframe(unsigned char Lcd_left, unsigned char Lcd_top, unsigned char Lcd_width, unsigned char Lcd_height );
void Lcd_setcolor(unsigned char Forecolor, unsigned char Backcolor);
void Lcd_setdoublesize(unsigned char size);
void Lcd_cls(void);
void Lcd_print(unsigned char * Lcd_text);


/* WINDOWS.C */
#define ICON_NUMBER   4
#define ICON_COUNTER (ICON_NUMBER-1)
void draw_image(unsigned char X, unsigned char Y, unsigned char SIZEX, unsigned char SIZEY, const char *image);
void draw_select_border(void);
void draw_picture(const char *pic);
void Draw_Window(unsigned char sxa,unsigned char syb, unsigned char xa, unsigned char yb, const char *text, const char *text1);

//variables
extern const char mainwin[];
extern unsigned char menu_counter;
extern const char batt[];
extern const char tools[];
extern const char clock[];
extern const char weather[];

//CONSOLE
extern unsigned char console_msg_flag;
void console(void);
//eof

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -