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

📄 struct.h

📁 串行通讯程序,为电池分析仪与电脑通讯软件,效果不错.
💻 H
📖 第 1 页 / 共 3 页
字号:
	char	r_min2;
	char	r_sec2;
	char	repeat[2];	 						/* repeat count for TRUE and FALSE conditions		*/
};

struct programs {								/* battery charging programs				*/
	struct program_phase_set phase[6];					/* 6 "phases" for each program				*/
	char   name[10];                                                        /* program name						*/
};

struct event_log {								/* system event log					*/
	char code;								/* event code						*/
	UINT  jd;								/* julian date						*/
	char hour;								/* time - hour						*/
	char min;								/* time - minute					*/
	char slave;								/* slave number (1-15)					*/
	char stn;								/* station number (0-3)					*/
};

struct data_log {								/* system data log					*/
	char code;								/* event code						*/
	char day;								/* date - day						*/
	char month;								/* date - month						*/
	UINT year;								/* date - year						*/
	char hour;								/* time - hour						*/
	char min;								/* time - minute					*/
	char sec;								/* time - second					*/
	char slv;								/* slave number						*/
	char stn;								/* station number (0-3)					*/
};

struct log_events {								/* event log control					*/
	char data_start;							/* data log entry starting point			*/
	char data_end;								/* data log entry ending point				*/
	char event_start;							/* event log entry starting point			*/
	char event_end;								/* event log entry ending point				*/
	char entry;								/* current log entry					*/
	unsigned char errors  :1;						/* log errors						*/
	unsigned char warnings:1;						/* log warnings						*/
	unsigned char system  :1;						/* log system events					*/
	unsigned char event   :1;						/* battery events					*/
	unsigned char cycle   :1;						/* log battery cycle					*/
	unsigned char print   :1;						/* immediate print					*/
	unsigned char working :1;						/* printing in progress					*/
	unsigned char 		  :1;
};

#include "adapters.h"

/* 1Kbit (128 byte) UCC Adapter (note: I2C interface) */

typedef struct {								/* UCC adapter structure			*/
	UINT		id;							/*   2 bytes						*/
	eerom2_setup    setup[SETUPS_UCC];					/*  84 bytes (42 bytes *  2 setups)			*/
	char		fill[22];						/*  22 bytes						*/
	eerom2_info	info;							/*  18 bytes						*/
	UINT		current;						/*   2 bytes						*/
} eerom4;									/* 128 bytes total					*/

/* 4Kbit (512 byte) C7000 Adapter */

typedef struct {								/* C7 adapter structure					*/
	UINT		id;							/*   2 bytes						*/
	eerom2_setup	setup[SETUPS_4K+1];					/* 462 bytes (42 bytes * 11 setups)			*/
	char		fill[28];						/*  28 bytes spare					*/
	eerom2_info     info;							/*  18 bytes						*/
	UINT		current;						/*   2 bytes - active setup #				*/
} eerom2;									/* 512 bytes total					*/


/* 16Kbit (2,048 byte) C7x00 Adapter */

typedef struct {
	UINT		 id;							/*    2 bytes            		2	0X002	*/
	eerom2_setup setup[SETUPS_16Kb+1];                                      /*  462 bytes (42 bytes * 11 setups)	464	0X1D0	*/
	char        	 fill1[460];						/*  460 bytes				924	0X39C	*/
	struct learned_profile qtest[SETUPS_16Kb+1];				/* 1100 bytes (100 bytes * 11 setups)	2024	0X7E8	*/
	char		 fill2[4];						/*    4 bytes				2028    0X7EC	*/
	eerom2_info	 info;							/*   18 bytes				2046	0X7FE	*/
	UINT		 current;						/*    2 bytes - active setup #		2048		*/
} eerom3;									/* 2048 bytes total				*/

struct io_data {								/* io data pointer and counter			*/
	char *ptr;								/* buffer pointer					*/
	UINT bytes;								/* byte count						*/
	//char page;								/* contant data page					*/
};

struct lpt_data {								/* parallel printer					*/
	struct io_data out;							/* data out parameters					*/
	char timer;								/* timeout timer (seconds)				*/
	char errors;								/* error counter					*/
};

struct com_data {								/* serial port						*/
	struct io_data in;							/* data in parameters					*/
	struct io_data out;							/* data out parameters					*/
	char xmit;								/* ok to send flag					*/
	char error;								/* receive error flag					*/
	char timer;								/* timeout timer (seconds)				*/
	char buffer[COM_BUFFER];						/* data buffer						*/
};

struct net_data {								/* master/slave port					*/
	struct io_data in;							/* data in parameters					*/
	struct io_data out;							/* data out parameters					*/
	char   cmd1_in;								/* command received					*/
	char   cmd2_in;								/* extended command byte				*/
	char   cmd1_out;							/* command being sent					*/
	char   cmd2_out;	
	/* extended command					*/
	char   error;								/* receive error flag					*/
	char   busy;								/* port busy flag					*/
	char   extended;							/* extended command receive flag			*/
	char   *data_in;							/* pointer to routine's buffer				*/
	char   in_buf[NET_BUFFER];						/* receive data buffer					*/
	char   out_buf[NET_BUFFER];						/* transmit data buffer					*/
};

typedef struct {								/* data structure for network command #11		*/
	char	status;
	char	pgm;
	char	cap;
	int	volts;
	int	ma;
	int	temp;
	int	day;
	int	min;
} net11_data;

typedef struct {								/* data structure for network command #11		*/
	char		setups;
	basic_cc	cc[10];
} net39_data;

struct disp_volts {
	unsigned int	v_high;
	unsigned int	v_low;
};

/*typedef char *jmp_buf[3];							 set_env, long_jump data structure			*/

typedef struct {
	char	pcb_serial[16];
	char	unit_serial[16];
} serial_number;


struct cpgm_display_data {
	struct programs pgm;
	struct program_phase *faze;
	char clear;								/* set to clear the screen		*/
	char busy;								/* custom program is in use		*/
	char screen;								/* the display screen to use	*/
	char program;
	char phase;
	char step;
	char prev;
	char next;
	hms  *timed;
};

struct saved_system {								/* these must match the start of the system structure */
	char      program;							/* default processing program				*/
	char      capacity;							/* default target capacity				*/
	struct    serial_port serial;						/* serial port data					*/
	char      password[5];							/* system password					*/
	char	  company[21];							/* company name						*/
	char	  data_log;							/* data logging enable (bit0-3=station1-4)		*/
	char      labels;							/* labels per battery					*/
	unsigned char prt_port  :3;                                             /* parallel port device					*/
	unsigned char prt_serial:1;						/* set for using serial port				*/
	unsigned char ccode	:1;						/* set for verbose c-code display			*/
	unsigned char key_beep	:1;						/* keypress beep on/off					*/
	unsigned char alert_beep:1;						/* other beeps on/off					*/
	unsigned char vpc	:1;						/* voltage display method 0=per cell 1=terminal		*/
	char     	  standby_process;					/* station on standby discharge/charge cycle		*/
	char		  security;						/* security level					*/
	unsigned char ohmtest   :1;						/* automatic ohmtest					*/
	unsigned char pgm_target:1;
	unsigned char nixx_v    :1;						/* 0=1.20V 1=1.25V per cell Nixx			*/
	unsigned char optimize  :1;						/* charge optimization 0=capacity  1=time		*/
	unsigned char usb	:1;						/* USB port in use flag					*/
	unsigned char batshop   :1;						/* connected to BatteryShop				*/
	unsigned char           :2;
	char          sdchg_hrs;						/* self discharge rest hours				*/
	UINT          resume_tm;						/* resume time (minutes)				*/
	unsigned int  life_rest_time; 						/* life_cycle test discharge  rest time			*/
	struct Alarm_Param Alarm_Param;
};

struct e2_data {
	char sernum[2][17];							/* board and unit serial numbers			*/
	long date;								/* manufacture date yyyymmdd				*/
        UINT hc12_version;							/* FLASH loader software version			*/
	UINT v_err[5];								/* station calibration values				*/
	UINT iset0[5];								/* 0 charge current DAC setting				*/
	UINT impedance[4];							/* impedance setpoints					*/
	int  runtime[6];							/* runtime program discharge currents			*/
	battery_counter	       battery_count;				        /* processing counter					*/
        struct programs        cpgms[4];					/* custom programs					*/
        struct log_events      events;						/* system logs						*/
        struct system_messages message;						/* message options					*/
        struct saved_system    system;						/* retained system variables				*/
};

/*************************** EXTERNAL DECLARATIONS ****************************/
	extern const UINT			 eeprom_vers;
	extern const char			 rom_type;
	extern const UINT			 version;
	extern const char			 revision;
	extern  struct system_parameters 	 system;
	extern struct diagnostics       	 diagnostic;
	extern UINT				 v_err[];
	extern UINT				 iset0[];
	extern UINT				 impedance[];
	extern int				 runtime[];
	extern struct station_process		 sp;
	extern struct station_process		 wp;
	extern struct sys_time			 time;
	extern struct sys_date			 date;
	extern char				 eport_a;
	extern char				 eport_b;
	extern char				 line_count;
	extern battery_counter			 battery_count;
	extern const UINT			 no_batt[];
	extern jmp_buf				 print_env;
	extern  struct screen_parameters 	 screen;
	extern struct system_messages		 message;
	extern struct station_parameters	 station[];
	extern struct quick_test		 qtest[];
	extern struct programs			 program[];
	extern  struct event_log	 	 event[];
	extern  struct data_log		 	 datalog[];
	extern struct log_events		 log_event;
	extern  struct lpt_data		 	 lpt;
	extern  struct com_data		 	com;
	extern  struct com_data		 	bar;
	extern  struct net_data		 	net;
#if preset_in_flash == 0
	extern 	struct programs const*	 preset_pgms[];
#else
	extern 	struct programs *	 preset_pgms[];
#endif
	extern __flash struct vsense_atten	 vs_nicd[];
	extern __flash struct vsense_atten	 vs_sla[];
	extern __flash struct vsense_atten	 vs_li[];
	extern  struct vsense_atten __flash*	 vs_list[];
	extern const UINT			 fail_led[];
	extern const UINT			 rdy_led[];
	extern const UINT			 run_led[];
	extern  char   const*			 pname[];
	extern int     mr_cnt,sr_cnt,ms_cnt,ss_cnt,net_cnt;
	extern unsigned int DCIZERO[4];
	extern uchar SystemID[8];
	__eeprom __no_init struct e2_data e2  @0x100;
	__eeprom __no_init char   initialized @0xFFC;
        __eeprom __no_init char   fw_reset    @0xFFD;
        __eeprom __no_init char   boot_update @0xFFE;
	__eeprom __no_init char   prom_update @0xFFF;
	
#endif

⌨️ 快捷键说明

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