test.cpp
changeset 10 4c3d32f38c09
parent 9 e6c42e1e2a96
child 11 11a0e8a2346e
     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  }