Adding read functionnality to our HidDevice.
Fixing some state issues upon connection.
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;
85 Common functionality between GP1212A01A and GP1212A02A
87 class GP1212XXXX : public FutabaGraphicVfd
91 virtual int MinBrightness(){return 0;};
92 virtual int MaxBrightness(){return 5;};
96 GP1212A01A is a graphic display module using a FUTABA 256x64dots VFD.
97 The module do not include character ROM, the customer will compile the character
98 by themselves (from main system).
100 class GP1212A01A : public GP1212XXXX
104 //From FutabaGraphicVfd
105 virtual int WidthInPixels(){return 256;};
106 virtual int HeightInPixels(){return 64;};
107 virtual void SetPixel(int aX, int aY, bool aOn);
108 virtual void SetAllPixels(bool aOn);
110 virtual void SetBrightness(int aBrightness);
111 virtual void Clear();
113 void SetPixelBlock(int aX, int aY, int aHeight, int aSize, unsigned char aValue);
117 //FutabaVfdReport iReport;
119 unsigned char iPixelBuffer[256][128];