Moving base HID classes into separate files.
9 //This was computed from our number of pixels as follow 256x64/8/64 = 32 + 1 = 33
10 //+1 was added for our header
11 const int KFutabaMaxCommandOutputReport = 33;
12 //TODO: Get ride of that constant once we figure out a way to get it from hidapi
13 const int KFutabaMaxHidReportSize = 65;
15 const int KHidReportIdIndex=0;
16 const int KFutabaHidReportSizeIndex=1;
17 //Define Futaba vendor ID to filter our list of device
18 const unsigned short KFutabaVendorId = 0x1008;
19 const unsigned short KFutabaProductIdGP1212A01A = 0x100C;
20 const unsigned short KFutabaProductIdGP1212A02A = 0x1013; //Or is it 0x1015
23 //typedef struct hid_device_info HidDeviceInfo;
29 class FutabaVfdReport: public HidReport<KFutabaMaxHidReportSize>
39 Define a generic Futaba VFD command.
41 class FutabaVfdCommand
47 //void Create(int aMaxSize);
50 //inline unsigned char& operator[](int aIndex){return iBuffer[aIndex];}
55 //unsigned char* iBuffer;
56 FutabaVfdReport iReports[KFutabaMaxCommandOutputReport];
63 class FutabaVfd : public HidDevice
66 virtual int MinBrightness()=0;
67 virtual int MaxBrightness()=0;
68 virtual void SetBrightness(int aBrightness)=0;
69 virtual void Clear()=0;
75 class FutabaGraphicVfd : public FutabaVfd
78 virtual int WidthInPixels()=0;
79 virtual int HeightInPixels()=0;
80 virtual void SetPixel(int aX, int aY, bool aOn)=0;
81 virtual void SetAllPixels(bool aOn)=0;
86 Common functionality between GP1212A01A and GP1212A02A
88 class GP1212XXXX : public FutabaGraphicVfd
92 virtual int MinBrightness(){return 0;};
93 virtual int MaxBrightness(){return 5;};
97 GP1212A01A is a graphic display module using a FUTABA 256x64dots VFD.
98 The module do not include character ROM, the customer will compile the character
99 by themselves (from main system).
101 class GP1212A01A : public GP1212XXXX
105 //From FutabaGraphicVfd
106 virtual int WidthInPixels(){return 256;};
107 virtual int HeightInPixels(){return 64;};
108 virtual void SetPixel(int aX, int aY, bool aOn);
109 virtual void SetAllPixels(bool aOn);
111 virtual void SetBrightness(int aBrightness);
112 virtual void Clear();
114 void SetPixelBlock(int aX, int aY, int aHeight, int aSize, unsigned char aValue);
118 //FutabaVfdReport iReport;
120 unsigned char iPixelBuffer[256][128];