📄 fp_handler_config.h
字号:
/* **************************************************************************************
* Created by William Lei 2005/12/25
*
* File: $Workfile: Fp_lut.c $
*
* Description: PANDA:PD-6881,MODEL:62-VFD
* ============
* Front Panel look up table
*
**************************************************************************************** */
//#include "Config.h" // Global Configuration - do not remove!
//#include "include\sysdefs.h" // Global definition - do not remove!
#ifndef _FP_HANDLER_CONFIG_H_
#define _FP_HANDLER_CONFIG_H_
/*
* This file can be shared by all vfd_tbl.c. This allows easier and
* more consistent customization.
*
* Customization steps:
* - Find the VFD anode connection table for your VFD. It looks
* something like:
* 7G 6G 5G 4G 3G 2G 1G
* P1
* P2 x
* ...
* P16
*
* In each grid point, there is a corresponding symbol. Use the
* following macros to represent the symbol, e.g.
*
* #define ICON_x ANODE_G5P2
*
* - You may notice that we have
* 1 <= P <= 16 and 1 <= G <= 16
*
* Unfortunately, some of the VFD's have P equal to 17 or more, e.g.
* 7G 6G 5G 4G 3G 2G 1G
* P1
* P2
* ...
* P16
* P17 a b c d e f g
*
* In which case, treat
* G1P17 to G1P24 as G8P1 to G8P8
* G2P17 to G2P24 as G8P9 to G8P16
* G3P17 to G3P24 as G9P1 to G9P8
* G4P17 to G4P24 as G9P9 to G9P16
* G5P17 to G5P24 as G10P1 to G10P8
* G6P17 to G6P24 as G10P9 to G10P16
* G7P17 to G7P24 as G11P1 to G11P8
*
* Graphically, our code "thinks" the VFD looks like:
*
* 11G 10G 9G 8G 7G 6G 5G 4G 3G 2G 1G
* P1 g e c a
* P2
* ...
* P9 f d b
* ...
* P16
*
* This way, you can still use the same set of macro without having
* to redefine them.
*
* - Customize your VFD_refresh_address table. GxPx corresponds to how
* we internally treat the VFD table. However, the actual hardware
* may use a different convention. VFD_refresh_address table will link
* the two sets together.
*
* If your P is <= 16, then refresh table is simplying
*
* unsigned char VFD_refresh_address[] = {0, 1, 2, ..., 2*G-1};
*
* If your 17 <= P <= 24, since the way our code represents the VFD
* is different from the actual VFD, the refresh table looks like:
*
* unsigned char VFD_refresh_address[] = {
* 0, 1,
* 3, 4,
* 6, 7,
* ...
* 3G-3, 3G-2,
* 2,
* 5,
* ...
* 3G-1
* };
*
* In other words, we use our internal representation to index
* the VFD_refresh_address table, while the content of the table gives
* the actual VFD address from hardware's point of view.
*/
#ifdef UPD_16311
#define g_vfd_type 3
#else
#define g_vfd_type 2
#endif
#define G1P1 0x0001
#define G1P2 0x0002
#define G1P3 0x0004
#define G1P4 0x0008
#define G1P5 0x0010
#define G1P6 0x0020
#define G1P7 0x0040
#define G1P8 0x0080
#define G1P9 0x0101
#define G1P10 0x0102
#define G1P11 0x0104
#define G1P12 0x0108
#define G1P13 0x0110
#define G1P14 0x0120
#define G1P15 0x0140
#define G1P16 0x0180
#define G1P17 0x0201
#define G1P18 0x0202
#define G1P19 0x0204
#define G1P20 0x0208
#define G2P1 (0x0001 | (g_vfd_type<<8))
#define G2P2 (0x0002 | (g_vfd_type<<8))
#define G2P3 (0x0004 | (g_vfd_type<<8))
#define G2P4 (0x0008 | (g_vfd_type<<8))
#define G2P5 (0x0010 | (g_vfd_type<<8))
#define G2P6 (0x0020 | (g_vfd_type<<8))
#define G2P7 (0x0040 | (g_vfd_type<<8))
#define G2P8 (0x0080 | (g_vfd_type<<8))
#define G2P9 (0x0001 | ((g_vfd_type+1)<<8))
#define G2P10 (0x0002 | ((g_vfd_type+1)<<8))
#define G2P11 (0x0004 | ((g_vfd_type+1)<<8))
#define G2P12 (0x0008 | ((g_vfd_type+1)<<8))
#define G2P13 (0x0010 | ((g_vfd_type+1)<<8))
#define G2P14 (0x0020 | ((g_vfd_type+1)<<8))
#define G2P15 (0x0040 | ((g_vfd_type+1)<<8))
#define G2P16 (0x0080 | ((g_vfd_type+1)<<8))
#define G2P17 (0x0001 | ((g_vfd_type+2)<<8))
#define G2P18 (0x0002 | ((g_vfd_type+2)<<8))
#define G2P19 (0x0004 | ((g_vfd_type+2)<<8))
#define G2P20 (0x0008 | ((g_vfd_type+2)<<8))
#define G3P1 (0x0001 | ((g_vfd_type*2)<<8))
#define G3P2 (0x0002 | ((g_vfd_type*2)<<8))
#define G3P3 (0x0004 | ((g_vfd_type*2)<<8))
#define G3P4 (0x0008 | ((g_vfd_type*2)<<8))
#define G3P5 (0x0010 | ((g_vfd_type*2)<<8))
#define G3P6 (0x0020 | ((g_vfd_type*2)<<8))
#define G3P7 (0x0040 | ((g_vfd_type*2)<<8))
#define G3P8 (0x0080 | ((g_vfd_type*2)<<8))
#define G3P9 (0x0001 | (((g_vfd_type*2)+1)<<8))
#define G3P10 (0x0002 | (((g_vfd_type*2)+1)<<8))
#define G3P11 (0x0004 | (((g_vfd_type*2)+1)<<8))
#define G3P12 (0x0008 | (((g_vfd_type*2)+1)<<8))
#define G3P13 (0x0010 | (((g_vfd_type*2)+1)<<8))
#define G3P14 (0x0020 | (((g_vfd_type*2)+1)<<8))
#define G3P15 (0x0040 | (((g_vfd_type*2)+1)<<8))
#define G3P16 (0x0080 | (((g_vfd_type*2)+1)<<8))
#define G3P17 (0x0001 | (((g_vfd_type*2)+2)<<8))
#define G3P18 (0x0002 | (((g_vfd_type*2)+2)<<8))
#define G3P19 (0x0004 | (((g_vfd_type*2)+2)<<8))
#define G3P20 (0x0008 | (((g_vfd_type*2)+2)<<8))
#define G4P1 (0x0001 | ((g_vfd_type*3)<<8))
#define G4P2 (0x0002 | ((g_vfd_type*3)<<8))
#define G4P3 (0x0004 | ((g_vfd_type*3)<<8))
#define G4P4 (0x0008 | ((g_vfd_type*3)<<8))
#define G4P5 (0x0010 | ((g_vfd_type*3)<<8))
#define G4P6 (0x0020 | ((g_vfd_type*3)<<8))
#define G4P7 (0x0040 | ((g_vfd_type*3)<<8))
#define G4P8 (0x0080 | ((g_vfd_type*3)<<8))
#define G4P9 (0x0001 | (((g_vfd_type*3)+1)<<8))
#define G4P10 (0x0002 | (((g_vfd_type*3)+1)<<8))
#define G4P11 (0x0004 | (((g_vfd_type*3)+1)<<8))
#define G4P12 (0x0008 | (((g_vfd_type*3)+1)<<8))
#define G4P13 (0x0010 | (((g_vfd_type*3)+1)<<8))
#define G4P14 (0x0020 | (((g_vfd_type*3)+1)<<8))
#define G4P15 (0x0040 | (((g_vfd_type*3)+1)<<8))
#define G4P16 (0x0080 | (((g_vfd_type*3)+1)<<8))
#define G4P17 (0x0001 | (((g_vfd_type*3)+2)<<8))
#define G4P18 (0x0002 | (((g_vfd_type*3)+2)<<8))
#define G4P19 (0x0004 | (((g_vfd_type*3)+2)<<8))
#define G4P20 (0x0008 | (((g_vfd_type*3)+2)<<8))
#define G5P1 (0x0001 | ((g_vfd_type*4)<<8))
#define G5P2 (0x0002 | ((g_vfd_type*4)<<8))
#define G5P3 (0x0004 | ((g_vfd_type*4)<<8))
#define G5P4 (0x0008 | ((g_vfd_type*4)<<8))
#define G5P5 (0x0010 | ((g_vfd_type*4)<<8))
#define G5P6 (0x0020 | ((g_vfd_type*4)<<8))
#define G5P7 (0x0040 | ((g_vfd_type*4)<<8))
#define G5P8 (0x0080 | ((g_vfd_type*4)<<8))
#define G5P9 (0x0001 | (((g_vfd_type*4)+1)<<8))
#define G5P10 (0x0002 | (((g_vfd_type*4)+1)<<8))
#define G5P11 (0x0004 | (((g_vfd_type*4)+1)<<8))
#define G5P12 (0x0008 | (((g_vfd_type*4)+1)<<8))
#define G5P13 (0x0010 | (((g_vfd_type*4)+1)<<8))
#define G5P14 (0x0020 | (((g_vfd_type*4)+1)<<8))
#define G5P15 (0x0040 | (((g_vfd_type*4)+1)<<8))
#define G5P16 (0x0080 | (((g_vfd_type*4)+1)<<8))
#define G5P17 (0x0001 | (((g_vfd_type*4)+2)<<8))
#define G5P18 (0x0002 | (((g_vfd_type*4)+2)<<8))
#define G5P19 (0x0004 | (((g_vfd_type*4)+2)<<8))
#define G5P20 (0x0008 | (((g_vfd_type*4)+2)<<8))
#define G6P1 (0x0001 | ((g_vfd_type*5)<<8))
#define G6P2 (0x0002 | ((g_vfd_type*5)<<8))
#define G6P3 (0x0004 | ((g_vfd_type*5)<<8))
#define G6P4 (0x0008 | ((g_vfd_type*5)<<8))
#define G6P5 (0x0010 | ((g_vfd_type*5)<<8))
#define G6P6 (0x0020 | ((g_vfd_type*5)<<8))
#define G6P7 (0x0040 | ((g_vfd_type*5)<<8))
#define G6P8 (0x0080 | ((g_vfd_type*5)<<8))
#define G6P9 (0x0001 | (((g_vfd_type*5)+1)<<8))
#define G6P10 (0x0002 | (((g_vfd_type*5)+1)<<8))
#define G6P11 (0x0004 | (((g_vfd_type*5)+1)<<8))
#define G6P12 (0x0008 | (((g_vfd_type*5)+1)<<8))
#define G6P13 (0x0010 | (((g_vfd_type*5)+1)<<8))
#define G6P14 (0x0020 | (((g_vfd_type*5)+1)<<8))
#define G6P15 (0x0040 | (((g_vfd_type*5)+1)<<8))
#define G6P16 (0x0080 | (((g_vfd_type*5)+1)<<8))
#define G6P17 (0x0001 | (((g_vfd_type*5)+2)<<8))
#define G6P18 (0x0002 | (((g_vfd_type*5)+2)<<8))
#define G6P19 (0x0004 | (((g_vfd_type*5)+2)<<8))
#define G6P20 (0x0008 | (((g_vfd_type*5)+2)<<8))
#define G7P1 (0x0001 | ((g_vfd_type*6)<<8))
#define G7P2 (0x0002 | ((g_vfd_type*6)<<8))
#define G7P3 (0x0004 | ((g_vfd_type*6)<<8))
#define G7P4 (0x0008 | ((g_vfd_type*6)<<8))
#define G7P5 (0x0010 | ((g_vfd_type*6)<<8))
#define G7P6 (0x0020 | ((g_vfd_type*6)<<8))
#define G7P7 (0x0040 | ((g_vfd_type*6)<<8))
#define G7P8 (0x0080 | ((g_vfd_type*6)<<8))
#define G7P9 (0x0001 | (((g_vfd_type*6)+1)<<8))
#define G7P10 (0x0002 | (((g_vfd_type*6)+1)<<8))
#define G7P11 (0x0004 | (((g_vfd_type*6)+1)<<8))
#define G7P12 (0x0008 | (((g_vfd_type*6)+1)<<8))
#define G7P13 (0x0010 | (((g_vfd_type*6)+1)<<8))
#define G7P14 (0x0020 | (((g_vfd_type*6)+1)<<8))
#define G7P15 (0x0040 | (((g_vfd_type*6)+1)<<8))
#define G7P16 (0x0080 | (((g_vfd_type*6)+1)<<8))
#define G7P17 (0x0001 | (((g_vfd_type*6)+2)<<8))
#define G7P18 (0x0002 | (((g_vfd_type*6)+2)<<8))
#define G7P19 (0x0004 | (((g_vfd_type*6)+2)<<8))
#define G7P20 (0x0008 | (((g_vfd_type*6)+2)<<8))
#define G8P1 (0x0001 | ((g_vfd_type*7)<<8))
#define G8P2 (0x0002 | ((g_vfd_type*7)<<8))
#define G8P3 (0x0004 | ((g_vfd_type*7)<<8))
#define G8P4 (0x0008 | ((g_vfd_type*7)<<8))
#define G8P5 (0x0010 | ((g_vfd_type*7)<<8))
#define G8P6 (0x0020 | ((g_vfd_type*7)<<8))
#define G8P7 (0x0040 | ((g_vfd_type*7)<<8))
#define G8P8 (0x0080 | ((g_vfd_type*7)<<8))
#define G8P9 (0x0001 | (((g_vfd_type*7)+1)<<8))
#define G8P10 (0x0002 | (((g_vfd_type*7)+1)<<8))
#define G8P11 (0x0004 | (((g_vfd_type*7)+1)<<8))
#define G8P12 (0x0008 | (((g_vfd_type*7)+1)<<8))
#define G8P13 (0x0010 | (((g_vfd_type*7)+1)<<8))
#define G8P14 (0x0020 | (((g_vfd_type*7)+1)<<8))
#define G8P15 (0x0040 | (((g_vfd_type*7)+1)<<8))
#define G8P16 (0x0080 | (((g_vfd_type*7)+1)<<8))
#define G8P17 (0x0001 | (((g_vfd_type*7)+2)<<8))
#define G8P18 (0x0002 | (((g_vfd_type*7)+2)<<8))
#define G8P19 (0x0004 | (((g_vfd_type*7)+2)<<8))
#define G8P20 (0x0008 | (((g_vfd_type*7)+2)<<8))
#define G9P1 (0x0001 | ((g_vfd_type*8)<<8))
#define G9P2 (0x0002 | ((g_vfd_type*8)<<8))
#define G9P3 (0x0004 | ((g_vfd_type*8)<<8))
#define G9P4 (0x0008 | ((g_vfd_type*8)<<8))
#define G9P5 (0x0010 | ((g_vfd_type*8)<<8))
#define G9P6 (0x0020 | ((g_vfd_type*8)<<8))
#define G9P7 (0x0040 | ((g_vfd_type*8)<<8))
#define G9P8 (0x0080 | ((g_vfd_type*8)<<8))
#define G9P9 (0x0001 | (((g_vfd_type*8)+1)<<8))
#define G9P10 (0x0002 | (((g_vfd_type*8)+1)<<8))
#define G9P11 (0x0004 | (((g_vfd_type*8)+1)<<8))
#define G9P12 (0x0008 | (((g_vfd_type*8)+1)<<8))
#define G9P13 (0x0010 | (((g_vfd_type*8)+1)<<8))
#define G9P14 (0x0020 | (((g_vfd_type*8)+1)<<8))
#define G9P15 (0x0040 | (((g_vfd_type*8)+1)<<8))
#define G9P16 (0x0080 | (((g_vfd_type*8)+1)<<8))
#define G9P17 (0x0001 | (((g_vfd_type*8)+2)<<8))
#define G9P18 (0x0002 | (((g_vfd_type*8)+2)<<8))
#define G9P19 (0x0004 | (((g_vfd_type*8)+2)<<8))
#define G9P20 (0x0008 | (((g_vfd_type*8)+2)<<8))
#define G10P1 (0x0001 | ((g_vfd_type*9)<<8))
#define G10P2 (0x0002 | ((g_vfd_type*9)<<8))
#define G10P3 (0x0004 | ((g_vfd_type*9)<<8))
#define G10P4 (0x0008 | ((g_vfd_type*9)<<8))
#define G10P5 (0x0010 | ((g_vfd_type*9)<<8))
#define G10P6 (0x0020 | ((g_vfd_type*9)<<8))
#define G10P7 (0x0040 | ((g_vfd_type*9)<<8))
#define G10P8 (0x0080 | ((g_vfd_type*9)<<8))
#define G10P9 (0x0001 | (((g_vfd_type*9)+1)<<8))
#define G10P10 (0x0002 | (((g_vfd_type*9)+1)<<8))
#define G10P11 (0x0004 | (((g_vfd_type*9)+1)<<8))
#define G10P12 (0x0008 | (((g_vfd_type*9)+1)<<8))
#define G10P13 (0x0010 | (((g_vfd_type*9)+1)<<8))
#define G10P14 (0x0020 | (((g_vfd_type*9)+1)<<8))
#define G10P15 (0x0040 | (((g_vfd_type*9)+1)<<8))
#define G10P16 (0x0080 | (((g_vfd_type*9)+1)<<8))
#define G10P17 (0x0001 | (((g_vfd_type*9)+2)<<8))
#define G10P18 (0x0002 | (((g_vfd_type*9)+2)<<8))
#define G10P19 (0x0004 | (((g_vfd_type*9)+2)<<8))
#define G10P20 (0x0008 | (((g_vfd_type*9)+2)<<8))
#define G11P1 (0x0001 | ((g_vfd_type*10)<<8))
#define G11P2 (0x0002 | ((g_vfd_type*10)<<8))
#define G11P3 (0x0004 | ((g_vfd_type*10)<<8))
#define G11P4 (0x0008 | ((g_vfd_type*10)<<8))
#define G11P5 (0x0010 | ((g_vfd_type*10)<<8))
#define G11P6 (0x0020 | ((g_vfd_type*10)<<8))
#define G11P7 (0x0040 | ((g_vfd_type*10)<<8))
#define G11P8 (0x0080 | ((g_vfd_type*10)<<8))
#define G11P9 (0x0001 | (((g_vfd_type*10)+1)<<8))
#define G11P10 (0x0002 | (((g_vfd_type*10)+1)<<8))
#define G11P11 (0x0004 | (((g_vfd_type*10)+1)<<8))
#define G11P12 (0x0008 | (((g_vfd_type*10)+1)<<8))
#define G11P13 (0x0010 | (((g_vfd_type*10)+1)<<8))
#define G11P14 (0x0020 | (((g_vfd_type*10)+1)<<8))
#define G11P15 (0x0040 | (((g_vfd_type*10)+1)<<8))
#define G11P16 (0x0080 | (((g_vfd_type*10)+1)<<8))
#define G11P17 (0x0001 | (((g_vfd_type*10)+2)<<8))
#define G11P18 (0x0002 | (((g_vfd_type*10)+2)<<8))
#define G11P19 (0x0004 | (((g_vfd_type*10)+2)<<8))
#define G11P20 (0x0008 | (((g_vfd_type*10)+2)<<8))
#define G12P1 (0x0001 | ((g_vfd_type*11)<<8))
#define G12P2 (0x0002 | ((g_vfd_type*11)<<8))
#define G12P3 (0x0004 | ((g_vfd_type*11)<<8))
#define G12P4 (0x0008 | ((g_vfd_type*11)<<8))
#define G12P5 (0x0010 | ((g_vfd_type*11)<<8))
#define G12P6 (0x0020 | ((g_vfd_type*11)<<8))
#define G12P7 (0x0040 | ((g_vfd_type*11)<<8))
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -