183 lines
4.4 KiB
C
183 lines
4.4 KiB
C
#ifndef MANCH_H
|
|
#define MANCH_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
|
|
|
|
|
|
struct MANCH_READ_BITS { // bits description
|
|
Uint16 but_0:1; // 1
|
|
Uint16 but_1:1; // 1
|
|
Uint16 but_2:1; // 1
|
|
Uint16 but_3:1; // 1
|
|
Uint16 but_4:1; // 1
|
|
Uint16 but_5:1; // 1
|
|
Uint16 but_6:1; // 1
|
|
Uint16 but_7:1; // 1
|
|
Uint16 press_any_key:1; // 0
|
|
};
|
|
|
|
|
|
union MANCH_READ_REG {
|
|
Uint16 all;
|
|
struct MANCH_READ_BITS bit;
|
|
};
|
|
|
|
|
|
struct MANCH_WRITE_BITS { // bits description
|
|
int number0:14; // 1
|
|
int number1:14; // 1
|
|
Uint16 data_control:1; // 1
|
|
Uint16 case_line_recive2:1; // 1
|
|
Uint16 res0:1; // 1
|
|
Uint16 res1:1; // 1
|
|
Uint16 set_ratio_indicator:4; // 1
|
|
union {
|
|
Uint16 all;
|
|
struct
|
|
{
|
|
Uint16 lamp_0:1; // 1
|
|
Uint16 lamp_1:1; // 1
|
|
Uint16 lamp_2:1; // 1
|
|
Uint16 lamp_3:1; // 1
|
|
Uint16 lamp_4:1; // 1
|
|
Uint16 lamp_5:1; // 1
|
|
Uint16 lamp_6:1; // 1
|
|
Uint16 lamp_7:1; // 1
|
|
Uint16 lamp_8:1; // 1
|
|
Uint16 lamp_9:1; // 1
|
|
Uint16 lamp_10:1; // 1
|
|
Uint16 lamp_11:1; // 1
|
|
Uint16 lamp_12:1; // 1
|
|
Uint16 lamp_13:1; // 1
|
|
Uint16 lamp_14:1; // 1
|
|
Uint16 lamp_15:1; // 1
|
|
} bit;
|
|
} lamps;
|
|
union {
|
|
Uint16 all;
|
|
struct
|
|
{
|
|
Uint16 lamp_0:1; // 1
|
|
Uint16 lamp_1:1; // 1
|
|
Uint16 lamp_2:1; // 1
|
|
Uint16 lamp_3:1; // 1
|
|
Uint16 lamp_4:1; // 1
|
|
Uint16 lamp_5:1; // 1
|
|
Uint16 lamp_6:1; // 1
|
|
Uint16 lamp_7:1; // 1
|
|
Uint16 lamp_8:1; // 1
|
|
Uint16 lamp_9:1; // 1
|
|
Uint16 lamp_10:1; // 1
|
|
Uint16 lamp_11:1; // 1
|
|
Uint16 lamp_12:1; // 1
|
|
Uint16 lamp_13:1; // 1
|
|
Uint16 lamp_14:1; // 1
|
|
Uint16 lamp_15:1; // 1
|
|
} bit;
|
|
} lamps_2;
|
|
Uint16 res2:1; // 1
|
|
Uint16 res3:1; // 1
|
|
Uint16 set_ratio_lamp:4; // 1
|
|
Uint16 case_line_receive1:1;
|
|
};
|
|
|
|
/*
|
|
|
|
struct MANCH_WRITE1_BITS { // bits description
|
|
Uint16 number0:16; // 1
|
|
};
|
|
|
|
|
|
|
|
struct MANCH_WRITE2_BITS { // bits description
|
|
Uint16 number1:8; // 1
|
|
Uint16 data_control:1; // 1
|
|
Uint16 case_line_recive2:1; // 1
|
|
Uint16 res10:1; // 1
|
|
Uint16 res11:1; // 1
|
|
|
|
Uint16 res1:6; // 1
|
|
};
|
|
|
|
struct MANCH_WRITE3_BITS { // bits description
|
|
Uint16 lamp_0:1; // 1
|
|
Uint16 lamp_1:1; // 1
|
|
Uint16 lamp_2:1; // 1
|
|
Uint16 lamp_3:1; // 1
|
|
Uint16 lamp_4:1; // 1
|
|
Uint16 lamp_5:1; // 1
|
|
Uint16 lamp_6:1; // 1
|
|
Uint16 lamp_7:1; // 1
|
|
Uint16 lamp_8:1; // 1
|
|
Uint16 lamp_9:1; // 1
|
|
Uint16 lamp_10:1; // 1
|
|
Uint16 lamp_11:1; // 1
|
|
Uint16 lamp_12:1; // 1
|
|
Uint16 lamp_13:1; // 1
|
|
Uint16 lamp_14:1; // 1
|
|
Uint16 lamp_15:1; // 1
|
|
};
|
|
|
|
|
|
union MANCH_WRITE1_REG {
|
|
Uint16 all;
|
|
struct MANCH_WRITE1_BITS bit;
|
|
};
|
|
|
|
union MANCH_WRITE2_REG {
|
|
Uint16 all;
|
|
struct MANCH_WRITE2_BITS bit;
|
|
};
|
|
|
|
union MANCH_WRITE3_REG {
|
|
Uint16 all;
|
|
struct MANCH_WRITE3_BITS bit;
|
|
};
|
|
|
|
*/
|
|
|
|
typedef volatile struct { // bits description
|
|
union MANCH_READ_REG reg1;
|
|
} MANCH_READ_REGS;
|
|
|
|
/*
|
|
typedef volatile struct { // bits description
|
|
union MANCH_WRITE1_REG reg1;
|
|
union MANCH_WRITE2_REG reg2;
|
|
union MANCH_WRITE3_REG reg3;
|
|
} MANCH_WRITE_REGS;
|
|
*/
|
|
|
|
typedef volatile struct MANCH_WRITE_BITS MANCH_WRITE_REGS;
|
|
|
|
|
|
|
|
|
|
|
|
extern MANCH_READ_REGS ManchReadRegs_00;
|
|
extern MANCH_READ_REGS ManchReadRegs_01;
|
|
extern MANCH_READ_REGS ManchReadRegs_02;
|
|
extern MANCH_READ_REGS ManchReadRegs_03;
|
|
|
|
extern MANCH_WRITE_REGS ManchWriteRegs_00;
|
|
extern MANCH_WRITE_REGS ManchWriteRegs_01;
|
|
|
|
|
|
|
|
void read_manch();
|
|
int write_manch();
|
|
void tune_manch_lines_v1();
|
|
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif /* extern "C" */
|
|
|
|
|
|
#endif // end of MANCH_H definition
|
|
|