bam_eep.h
/****************************************************************************/ /* MODULE: bam_eep.h */ /* FUNCTION: EEPROM programming definitions and prototypes. */ /* HISTORY: 4-3-96 L.R. Erickson - Original */ /****************************************************************************/ #ifndef INCL_BAM_EEP #define INCL_BAM_EEP /********************************************************/ /* defines */ /********************************************************/ #define EEP_TX_BUF_SIZE 6s #define EEP_RX_BUF_SIZE 22 #define MAX_PROG_CHARS 16 #define EEP_WT_MSG_STATE 0 #define EEP_WT_CMD_STATE 1 #define EEP_WT_CNT_STATE 2 #define EEP_WT_HI_ADD_STATE 3 #define EEP_WT_LO_ADD_STATE 4 #define EEP_WT_DATA_STATE 5 #define EEP_WT_CHK_STATE 6 #define EEP_BUF_ERR 0 #define EEP_CMD_STATE_ERR 1 #define EEP_FE_ERR 2 #define EEP_OE_ERR 3 #define EEP_UNK_CMD_ERR 4 #define EEP_MAX_CNT_ERR 5 #define EEP_CHK_SUM_ERR 6 #define EEP_PROG_CMD_ACK 7 #define EEP_PROG_CMD_DONE 8 #define EEP_PROG_CMD_FAIL 9 #define EEP_PROG_CMD 1 #define EEP_REPLY 1 /******************************************************** typedefs ********************************************************/ typedef volatile struct EEP_TX_struct { unsigned char head_index ; unsigned char tail_index ; unsigned char tx_buf[EEP_TX_BUF_SIZE] ; unsigned char tx_busy ; } EEP_TX_struct ; typedef volatile struct EEP_RX_struct { unsigned char head_index ; unsigned char tail_index ; unsigned char rx_buf[EEP_RX_BUF_SIZE] ; unsigned char rx_stat[EEP_RX_BUF_SIZE] ; unsigned char rx_crash ; unsigned char rx_proc_state ; unsigned char rx_proc_chksum ; unsigned char rx_proc_cmd ; unsigned char rx_proc_cnt ; unsigned char rx_data_cnt ; unsigned int rx_proc_ld_add ; unsigned char rx_prog_chars[MAX_PROG_CHARS] ; } EEP_RX_struct ; /********************************************************/ /* Function prototypes */ /********************************************************/ #ifdef SRC_BAM_EEP void eep_main(void) ; void eep_transmit(void) ; void eep_receive(void) ; void init_eep_data(void) ; void process_eep_char(void) ; void send_eep_msg(int) ; unsigned char eep_chk_ch_bit(unsigned char, unsigned char) ; unsigned char write_eeprom(void) ; #pragma model(kc) #define TRUE 1 #define FALSE 0 #else extern void eep_main(void) ; extern void eep_transmit(void) ; extern void eep_receive(void) ; #endif #endif