1.1 --- a/test.cpp Wed May 21 16:11:09 2014 +0200
1.2 +++ b/test.cpp Wed May 21 22:43:19 2014 +0200
1.3 @@ -258,7 +258,7 @@
1.4 iButtonSetAllPixels->enable();
1.5
1.6 //
1.7 - iOutputReportBuffer=new unsigned char[KFutabaOutputReportLength]; //TODO: use connected_device->output_report_length
1.8 + iOutputReportBuffer=new unsigned char[KFutabaMaxHidReportSize]; //TODO: use connected_device->output_report_length
1.9
1.10 return 1;
1.11 }
1.12 @@ -305,9 +305,6 @@
1.13
1.14 device_list->clearItems();
1.15
1.16 - //Define Futaba vendor ID to filter our list of device
1.17 - const unsigned short KFutabaVendorId = 0x1008;
1.18 -
1.19 // List the Devices
1.20 hid_free_enumeration(devices);
1.21 devices = hid_enumerate(0x0, 0x0);
1.22 @@ -505,14 +502,14 @@
1.23 long
1.24 MainWindow::onFutabaClearDisplay(FXObject *sender, FXSelector sel, void *ptr)
1.25 {
1.26 - memset(iOutputReportBuffer, 0x0, KFutabaOutputReportLength);
1.27 + memset(iOutputReportBuffer, 0x0, KFutabaMaxHidReportSize);
1.28 iOutputReportBuffer[0]=0x00; //Report ID
1.29 iOutputReportBuffer[1]=0x04; //Report length
1.30 iOutputReportBuffer[2]=0x1B; //
1.31 iOutputReportBuffer[3]=0x5B; //
1.32 iOutputReportBuffer[4]=0x32; //
1.33 iOutputReportBuffer[5]=0x4A; //
1.34 - int res = hid_write(connected_device, iOutputReportBuffer, KFutabaOutputReportLength);
1.35 + int res = hid_write(connected_device, iOutputReportBuffer, KFutabaMaxHidReportSize);
1.36
1.37 return 1;
1.38 }
1.39 @@ -520,7 +517,7 @@
1.40 long
1.41 MainWindow::onFutabaDimming(FXObject *sender, FXSelector sel, void *ptr)
1.42 {
1.43 - memset(iOutputReportBuffer, 0x0, KFutabaOutputReportLength);
1.44 + memset(iOutputReportBuffer, 0x0, KFutabaMaxHidReportSize);
1.45 iOutputReportBuffer[0]=0x00; //Report ID
1.46 iOutputReportBuffer[1]=0x06; //Report length
1.47 iOutputReportBuffer[2]=0x1B; //
1.48 @@ -530,7 +527,7 @@
1.49 iOutputReportBuffer[6]=0x44; //
1.50 iDimming = (iDimming==0x35?0x30:++iDimming);
1.51 iOutputReportBuffer[7]=iDimming;
1.52 - int res = hid_write(connected_device, iOutputReportBuffer, KFutabaOutputReportLength);
1.53 + int res = hid_write(connected_device, iOutputReportBuffer, KFutabaMaxHidReportSize);
1.54
1.55 return 1;
1.56 }
1.57 @@ -540,7 +537,7 @@
1.58 {
1.59 //@1B 5B F0 00 00 07 00 01 FF
1.60
1.61 - memset(iOutputReportBuffer, 0x0, KFutabaOutputReportLength);
1.62 + memset(iOutputReportBuffer, 0x0, KFutabaMaxHidReportSize);
1.63 iOutputReportBuffer[0]=0x00; //Report ID
1.64 iOutputReportBuffer[1]=0x09; //Report length
1.65 iOutputReportBuffer[2]=0x1B; //
1.66 @@ -552,7 +549,7 @@
1.67 iOutputReportBuffer[8]=0x00; //
1.68 iOutputReportBuffer[9]=0x01; //
1.69 iOutputReportBuffer[10]=0xFF; //
1.70 - int res = hid_write(connected_device, iOutputReportBuffer, KFutabaOutputReportLength);
1.71 + int res = hid_write(connected_device, iOutputReportBuffer, KFutabaMaxHidReportSize);
1.72
1.73
1.74 return 1;
1.75 @@ -584,7 +581,7 @@
1.76 void MainWindow::SetPixelBlock(int aX, int aY, int aHeight, int aSize, unsigned char aValue)
1.77 {
1.78 //Size must be 63 or below
1.79 - memset(iOutputReportBuffer, 0x0, KFutabaOutputReportLength);
1.80 + memset(iOutputReportBuffer, 0x0, KFutabaMaxHidReportSize);
1.81 iOutputReportBuffer[0]=0x00; //Report ID
1.82 iOutputReportBuffer[1]=0x08+aSize; //Report length
1.83 iOutputReportBuffer[2]=0x1B; //
1.84 @@ -595,9 +592,9 @@
1.85 iOutputReportBuffer[7]=aHeight; //Y length before return. Though outside the specs, setting this to zero apparently allows us to modify a single pixel without touching any other.
1.86 iOutputReportBuffer[8]=0x00; //Size of pixel data in bytes (MSB)
1.87 iOutputReportBuffer[9]=aSize; //Size of pixel data in bytes (LSB)
1.88 - memset(iOutputReportBuffer+10, aValue, KFutabaOutputReportLength);
1.89 + memset(iOutputReportBuffer+10, aValue, KFutabaMaxHidReportSize);
1.90 //iOutputReportBuffer[10]=aValue; //Pixel data
1.91 - int res = hid_write(connected_device, iOutputReportBuffer, KFutabaOutputReportLength);
1.92 + int res = hid_write(connected_device, iOutputReportBuffer, KFutabaMaxHidReportSize);
1.93 }
1.94
1.95 /**
1.96 @@ -607,7 +604,7 @@
1.97 void MainWindow::SendFutabaOutputReport(unsigned char* aReportData, unsigned char aSize)
1.98 {
1.99 //
1.100 - memset(iOutputReportBuffer, 0x0, KFutabaOutputReportLength);
1.101 + memset(iOutputReportBuffer, 0x0, KFutabaMaxHidReportSize);
1.102 iOutputReportBuffer[0]=0x00; //Report ID is always null
1.103 iOutputReportBuffer[1]=0x08+aSize; //Report length
1.104 iOutputReportBuffer[2]=0x1B; //
1.105 @@ -618,9 +615,9 @@
1.106 iOutputReportBuffer[7]=aHeight; //Y length before return. Though outside the specs, setting this to zero apparently allows us to modify a single pixel without touching any other.
1.107 iOutputReportBuffer[8]=0x00; //Size of pixel data in bytes (MSB)
1.108 iOutputReportBuffer[9]=aSize; //Size of pixel data in bytes (LSB)
1.109 - memset(iOutputReportBuffer+10, aValue, KFutabaOutputReportLength);
1.110 + memset(iOutputReportBuffer+10, aValue, KFutabaMaxHidReportSize);
1.111 //iOutputReportBuffer[10]=aValue; //Pixel data
1.112 - int res = hid_write(connected_device, iOutputReportBuffer, KFutabaOutputReportLength);
1.113 + int res = hid_write(connected_device, iOutputReportBuffer, KFutabaMaxHidReportSize);
1.114 }
1.115 */
1.116
1.117 @@ -678,7 +675,7 @@
1.118 MainWindow::onFutabaReadId(FXObject *sender, FXSelector sel, void *ptr)
1.119 {
1.120 //1BH,5BH,63H,49H,44H
1.121 - memset(iOutputReportBuffer, 0x0, KFutabaOutputReportLength);
1.122 + memset(iOutputReportBuffer, 0x0, KFutabaMaxHidReportSize);
1.123 iOutputReportBuffer[0]=0x00; //Report ID
1.124 iOutputReportBuffer[1]=0x05; //Report length
1.125 iOutputReportBuffer[2]=0x1B; //
1.126 @@ -686,7 +683,7 @@
1.127 iOutputReportBuffer[4]=0x63; //
1.128 iOutputReportBuffer[5]=0x49; //
1.129 iOutputReportBuffer[6]=0x44; //
1.130 - int res = hid_write(connected_device, iOutputReportBuffer, KFutabaOutputReportLength);
1.131 + int res = hid_write(connected_device, iOutputReportBuffer, KFutabaMaxHidReportSize);
1.132
1.133 return 1;
1.134 }
1.135 @@ -695,7 +692,7 @@
1.136 MainWindow::onFutabaReadFirmwareRevision(FXObject *sender, FXSelector sel, void *ptr)
1.137 {
1.138 //1BH,5BH,63H,46H,52H
1.139 - memset(iOutputReportBuffer, 0x0, KFutabaOutputReportLength);
1.140 + memset(iOutputReportBuffer, 0x0, KFutabaMaxHidReportSize);
1.141 iOutputReportBuffer[0]=0x00; //Report ID
1.142 iOutputReportBuffer[1]=0x05; //Report length
1.143 iOutputReportBuffer[2]=0x1B; //
1.144 @@ -703,7 +700,7 @@
1.145 iOutputReportBuffer[4]=0x63; //
1.146 iOutputReportBuffer[5]=0x46; //
1.147 iOutputReportBuffer[6]=0x52; //
1.148 - int res = hid_write(connected_device, iOutputReportBuffer, KFutabaOutputReportLength);
1.149 + int res = hid_write(connected_device, iOutputReportBuffer, KFutabaMaxHidReportSize);
1.150
1.151 return 1;
1.152 }
1.153 @@ -712,7 +709,7 @@
1.154 MainWindow::onFutabaPowerSupplyMonitor(FXObject *sender, FXSelector sel, void *ptr)
1.155 {
1.156 //1BH,5BH,63H,50H,4DH
1.157 - memset(iOutputReportBuffer, 0x0, KFutabaOutputReportLength);
1.158 + memset(iOutputReportBuffer, 0x0, KFutabaMaxHidReportSize);
1.159 iOutputReportBuffer[0]=0x00; //Report ID
1.160 iOutputReportBuffer[1]=0x05; //Report length
1.161 iOutputReportBuffer[2]=0x1B; //
1.162 @@ -720,7 +717,7 @@
1.163 iOutputReportBuffer[4]=0x63; //
1.164 iOutputReportBuffer[5]=0x50; //
1.165 iOutputReportBuffer[6]=0x4D; //
1.166 - int res = hid_write(connected_device, iOutputReportBuffer, KFutabaOutputReportLength);
1.167 + int res = hid_write(connected_device, iOutputReportBuffer, KFutabaMaxHidReportSize);
1.168
1.169 return 1;
1.170 }