EDIDリーダーその2

今日はこんなん。
出力の中身はほとんど変わっていないが、リファクタリングでコードは大幅に変更。
各セクション毎にクラスにして、パースや表示処理を各クラスのメソッドとして実装し直した。
やっとメインのパースのメソッドが100行に納まるようになった。


--- EDID Header ---
EDID Header Pattern: 00 FF FF FF FF FF FF 00
Manufacturer id:ACI
Manufacturer Code: 22D3
Serial number: 00023114
Manufacture Year/Week: 2011 / 50
EDID Version: 1.3

--- Basic Display Parameters ---
Input: Digital
Video white and sync levels: N/A
Blank-to-black setup: N/A
Separate sync: N/A
Composite sync: N/A
Sync on green: N/A
Compatible to VESA DFP 1.x TMDS CRGB: Not compatible
Maximum horizontal image size (cm): 48
Maximum vertical image size (cm): 27
Display gamma: 2.2
DPMS standby: Not supported
DPMS suspend: Not supported
DPMS active-off: Supported
DPMS active-off: Supported
Display type: RGB 4:4:4 + YCrCb 4:4:4
Standard sRGB color: Not supported
DTD1 preferred: Yes
GTF for dafault parameter values: No

--- Chromaticity coordinates ---
Red (0.6377, 0.3311)
Green (0.3076, 0.6553)
Blue (0.1543, 0.0723)
White (0.3135, 0.3682)

--- Established Timing ---
720x400 70Hz: Not Supported
720x400 88Hz: Supported
640x480 60Hz: Not Supported
640x480 67Hz: Not Supported
640x480 72Hz: Not Supported
640x480 75Hz: Not Supported
800x600 56Hz: Not Supported
800x600 60Hz: Not Supported
800x600 72Hz: Not Supported
800x600 75Hz: Not Supported
832x624 75Hz: Not Supported
1024x768 87Hz Interlaced: Not Supported
1024x768 60Hz: Not Supported
1024x768 72Hz: Not Supported
1024x768 75Hz: Not Supported
1280x1024 75Hz: Not Supported
1152x870 75Hz: Not Supported
Manufacturer specific bit 6: Not Supported
Manufacturer specific bit 5: Not Supported
Manufacturer specific bit 4: Not Supported
Manufacturer specific bit 3: Not Supported
Manufacturer specific bit 2: Not Supported
Manufacturer specific bit 1: Not Supported
Manufacturer specific bit 0: Not Supported

--- Standard Timing ---
Standard Timing 1: X resolution 1920, Y resolution 1080, Vertical frequency 60(Hz)
Standard Timing 2: X resolution 1280, Y resolution 960, Vertical frequency 60(Hz)
Standard Timing 3: X resolution 1280, Y resolution 1024, Vertical frequency 60(Hz)
Standard Timing 4: X resolution 1440, Y resolution 900, Vertical frequency 60(Hz)
Standard Timing 5: X resolution 1680, Y resolution 1050, Vertical frequency 60(Hz)
Standard Timing 6: X resolution 1152, Y resolution 864, Vertical frequency 75(Hz)
Standard Timing 7: X resolution 1280, Y resolution 720, Vertical frequency 60(Hz)
Standard Timing 8: X resolution 1280, Y resolution 800, Vertical frequency 60(Hz)

--- Detail Timing Descriptor ---
Pixel Clock (MHz): 148.5
Horizontal Active (Pixels): 1920
Horizontal Blanking (Pixels): 280
Horizontal Front Porch (Pixels): 88
Horizontal Sync (Pixels): 44
Horizontal Border (Pixels): 0
Vertical Active (Lines): 1080
Vertical Blanking (Lines): 45
Vertical Front Porch (Lines): 4
Vertical Sync (Lines): 5
Vertical Border (Lines): 0
Horizontal display size (mm): 475
Vertical display size (mm): 267
Interlaced: No
Stereo mode: No stereo
Sync type: Digital separated
Digital separated: Yes
Analog sync: Supported

--- EDID Text---
Monitor serial number: BCLMTF143636

--- Monitor Range Limits ---
Minimum vertical field rate: 50Hz
Maximum vertical field rate: 75Hz
Minimum horizontal line rate: 24kHz
Maximum horizontal line rate: 83kHz
Maximum pixel clock rate: 17MHz
Extended timing information type: No information
Start frequency for secondary curve: 0kHz
GTF C value: 0
GTF M value: 0
GTF K value: 0
GTF J value: 0

--- EDID Text---
Monitor name: ASUS VS229

---EDID Footer---
Number of extentions to follow 0
Checksum 0x97