📄 struct.h
字号:
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 + -