////////////////////////////////////////////////////////////////////// // File: convolucao.h // Date: 12 August 2000 // Author: Antonio Esteves, GEC-DI-UM // // Definitions for the hw/sw implementation of the convolution. // ////////////////////////////////////////////////////////////////////// #ifndef _CONVOLUCAO_H_ #define _CONVOLUCAO_H_ #include "windrvr.h" #include "edgar2_lib.h" // ADDRESSES USED TO ACCESS H/W REGISTERS OR RAM #define ADD_R_LSB_LINE_OUT(offset) (DWORD) (0x08000 + offset) #define ADD_R_MSB_LINE_OUT(offset) (DWORD) (0x08200 + offset) #define ADD_R_LSB_MAX (DWORD) 0x10000 #define ADD_R_MSB_MAX (DWORD) 0x10004 #define ADD_R_LSB_MIN (DWORD) 0x10008 #define ADD_R_MSB_MIN (DWORD) 0x1000C #define ADD_R_ACCEPT3L (DWORD) 0x10010 #define ADD_R_CONV1LINE_DONE (DWORD) 0x10014 #define ADD_R_CONVOL_DONE (DWORD) 0x10018 #define ADD_W_LINES_IN(offset) (DWORD) (0x00000 + offset) #define ADD_W_READ_DONE (DWORD) 0x10000 #define ADD_W_WRITE_DONE (DWORD) 0x10004 #define ADD_W_WR_FINISHED (DWORD) 0x10008 #define ADD_W_WRITTEN3L (DWORD) 0x1000C #define ADD_W_RESET_FF (DWORD) 0x10010 #define ADD_W_START_FSM (DWORD) 0x10014 // READ VALUES IF H/W FLIP-FLOPS ARE SET #define TRUE_ACCEPT3L (DWORD) 0x01010101 #define TRUE_CONV1LINE_DONE (DWORD) 0x01010101 #define TRUE_CONVOL_DONE (DWORD) 0x01010101 // READ VALUES IF H/W FLIP-FLOPS ARE CLEARED #define FALSE_ACCEPT3L (DWORD) 0x00000000 #define FALSE_CONV1LINE_DONE (DWORD) 0x00000000 #define FALSE_CONVOL_DONE (DWORD) 0x00000000 // VALUES USED TO SET H/W FLIP-FLOPS #define TRUE_READ_DONE (DWORD) 0x01010101 #define TRUE_WRITE_DONE (DWORD) 0x01010101 #define TRUE_WR_FINISHED (DWORD) 0x01010101 #define TRUE_WRITTEN3L (DWORD) 0x01010101 #define TRUE_RESET_FF (DWORD) 0x01010101 #define TRUE_START_FSM (DWORD) 0x01010101 // VALUES USED TO RESET H/W FLIP-FLOPS #define FALSE_READ_DONE (DWORD) 0x00000000 #define FALSE_WRITE_DONE (DWORD) 0x00000000 #define FALSE_WR_FINISHED (DWORD) 0x00000000 #define FALSE_WRITTEN3L (DWORD) 0x00000000 #define FALSE_RESET_FF (DWORD) 0x00000000 #define FALSE_START_FSM (DWORD) 0x00000000 #define GRAYLEVELS 256 #define maskY 3 #define NAME_FILE_OUT "folha_hwsw_out.raw" #define NAME_FILE_IN "folha.raw" typedef short int SWORD; typedef struct { WORD Xsize,Ysize; BYTE *data; } Image; typedef struct { WORD Xsize,Ysize; SWORD *data; } ImageSWORD; //--------------------------------------------------------- Image *CreateImage (WORD Xsize, WORD Ysize); void DestroyImage(Image *img); ImageSWORD *CreateImageSWORD (WORD Xsize, WORD Ysize); void DestroyImageSWORD(ImageSWORD *img); Image* Readfile(BYTE *nome); int savefile(Image *img, BYTE *nome); int read_write (EDGAR2A_HANDLE hEDGAR2A, EDGAR2A_ADDR e2addrSpace); #endif