diff -r e6c42e1e2a96 -r 4c3d32f38c09 test.cpp --- a/test.cpp Wed May 21 16:11:09 2014 +0200 +++ b/test.cpp Wed May 21 22:43:19 2014 +0200 @@ -258,7 +258,7 @@ iButtonSetAllPixels->enable(); // - iOutputReportBuffer=new unsigned char[KFutabaOutputReportLength]; //TODO: use connected_device->output_report_length + iOutputReportBuffer=new unsigned char[KFutabaMaxHidReportSize]; //TODO: use connected_device->output_report_length return 1; } @@ -305,9 +305,6 @@ device_list->clearItems(); - //Define Futaba vendor ID to filter our list of device - const unsigned short KFutabaVendorId = 0x1008; - // List the Devices hid_free_enumeration(devices); devices = hid_enumerate(0x0, 0x0); @@ -505,14 +502,14 @@ long MainWindow::onFutabaClearDisplay(FXObject *sender, FXSelector sel, void *ptr) { - memset(iOutputReportBuffer, 0x0, KFutabaOutputReportLength); + memset(iOutputReportBuffer, 0x0, KFutabaMaxHidReportSize); iOutputReportBuffer[0]=0x00; //Report ID iOutputReportBuffer[1]=0x04; //Report length iOutputReportBuffer[2]=0x1B; // iOutputReportBuffer[3]=0x5B; // iOutputReportBuffer[4]=0x32; // iOutputReportBuffer[5]=0x4A; // - int res = hid_write(connected_device, iOutputReportBuffer, KFutabaOutputReportLength); + int res = hid_write(connected_device, iOutputReportBuffer, KFutabaMaxHidReportSize); return 1; } @@ -520,7 +517,7 @@ long MainWindow::onFutabaDimming(FXObject *sender, FXSelector sel, void *ptr) { - memset(iOutputReportBuffer, 0x0, KFutabaOutputReportLength); + memset(iOutputReportBuffer, 0x0, KFutabaMaxHidReportSize); iOutputReportBuffer[0]=0x00; //Report ID iOutputReportBuffer[1]=0x06; //Report length iOutputReportBuffer[2]=0x1B; // @@ -530,7 +527,7 @@ iOutputReportBuffer[6]=0x44; // iDimming = (iDimming==0x35?0x30:++iDimming); iOutputReportBuffer[7]=iDimming; - int res = hid_write(connected_device, iOutputReportBuffer, KFutabaOutputReportLength); + int res = hid_write(connected_device, iOutputReportBuffer, KFutabaMaxHidReportSize); return 1; } @@ -540,7 +537,7 @@ { //@1B 5B F0 00 00 07 00 01 FF - memset(iOutputReportBuffer, 0x0, KFutabaOutputReportLength); + memset(iOutputReportBuffer, 0x0, KFutabaMaxHidReportSize); iOutputReportBuffer[0]=0x00; //Report ID iOutputReportBuffer[1]=0x09; //Report length iOutputReportBuffer[2]=0x1B; // @@ -552,7 +549,7 @@ iOutputReportBuffer[8]=0x00; // iOutputReportBuffer[9]=0x01; // iOutputReportBuffer[10]=0xFF; // - int res = hid_write(connected_device, iOutputReportBuffer, KFutabaOutputReportLength); + int res = hid_write(connected_device, iOutputReportBuffer, KFutabaMaxHidReportSize); return 1; @@ -584,7 +581,7 @@ void MainWindow::SetPixelBlock(int aX, int aY, int aHeight, int aSize, unsigned char aValue) { //Size must be 63 or below - memset(iOutputReportBuffer, 0x0, KFutabaOutputReportLength); + memset(iOutputReportBuffer, 0x0, KFutabaMaxHidReportSize); iOutputReportBuffer[0]=0x00; //Report ID iOutputReportBuffer[1]=0x08+aSize; //Report length iOutputReportBuffer[2]=0x1B; // @@ -595,9 +592,9 @@ 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. iOutputReportBuffer[8]=0x00; //Size of pixel data in bytes (MSB) iOutputReportBuffer[9]=aSize; //Size of pixel data in bytes (LSB) - memset(iOutputReportBuffer+10, aValue, KFutabaOutputReportLength); + memset(iOutputReportBuffer+10, aValue, KFutabaMaxHidReportSize); //iOutputReportBuffer[10]=aValue; //Pixel data - int res = hid_write(connected_device, iOutputReportBuffer, KFutabaOutputReportLength); + int res = hid_write(connected_device, iOutputReportBuffer, KFutabaMaxHidReportSize); } /** @@ -607,7 +604,7 @@ void MainWindow::SendFutabaOutputReport(unsigned char* aReportData, unsigned char aSize) { // - memset(iOutputReportBuffer, 0x0, KFutabaOutputReportLength); + memset(iOutputReportBuffer, 0x0, KFutabaMaxHidReportSize); iOutputReportBuffer[0]=0x00; //Report ID is always null iOutputReportBuffer[1]=0x08+aSize; //Report length iOutputReportBuffer[2]=0x1B; // @@ -618,9 +615,9 @@ 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. iOutputReportBuffer[8]=0x00; //Size of pixel data in bytes (MSB) iOutputReportBuffer[9]=aSize; //Size of pixel data in bytes (LSB) - memset(iOutputReportBuffer+10, aValue, KFutabaOutputReportLength); + memset(iOutputReportBuffer+10, aValue, KFutabaMaxHidReportSize); //iOutputReportBuffer[10]=aValue; //Pixel data - int res = hid_write(connected_device, iOutputReportBuffer, KFutabaOutputReportLength); + int res = hid_write(connected_device, iOutputReportBuffer, KFutabaMaxHidReportSize); } */ @@ -678,7 +675,7 @@ MainWindow::onFutabaReadId(FXObject *sender, FXSelector sel, void *ptr) { //1BH,5BH,63H,49H,44H - memset(iOutputReportBuffer, 0x0, KFutabaOutputReportLength); + memset(iOutputReportBuffer, 0x0, KFutabaMaxHidReportSize); iOutputReportBuffer[0]=0x00; //Report ID iOutputReportBuffer[1]=0x05; //Report length iOutputReportBuffer[2]=0x1B; // @@ -686,7 +683,7 @@ iOutputReportBuffer[4]=0x63; // iOutputReportBuffer[5]=0x49; // iOutputReportBuffer[6]=0x44; // - int res = hid_write(connected_device, iOutputReportBuffer, KFutabaOutputReportLength); + int res = hid_write(connected_device, iOutputReportBuffer, KFutabaMaxHidReportSize); return 1; } @@ -695,7 +692,7 @@ MainWindow::onFutabaReadFirmwareRevision(FXObject *sender, FXSelector sel, void *ptr) { //1BH,5BH,63H,46H,52H - memset(iOutputReportBuffer, 0x0, KFutabaOutputReportLength); + memset(iOutputReportBuffer, 0x0, KFutabaMaxHidReportSize); iOutputReportBuffer[0]=0x00; //Report ID iOutputReportBuffer[1]=0x05; //Report length iOutputReportBuffer[2]=0x1B; // @@ -703,7 +700,7 @@ iOutputReportBuffer[4]=0x63; // iOutputReportBuffer[5]=0x46; // iOutputReportBuffer[6]=0x52; // - int res = hid_write(connected_device, iOutputReportBuffer, KFutabaOutputReportLength); + int res = hid_write(connected_device, iOutputReportBuffer, KFutabaMaxHidReportSize); return 1; } @@ -712,7 +709,7 @@ MainWindow::onFutabaPowerSupplyMonitor(FXObject *sender, FXSelector sel, void *ptr) { //1BH,5BH,63H,50H,4DH - memset(iOutputReportBuffer, 0x0, KFutabaOutputReportLength); + memset(iOutputReportBuffer, 0x0, KFutabaMaxHidReportSize); iOutputReportBuffer[0]=0x00; //Report ID iOutputReportBuffer[1]=0x05; //Report length iOutputReportBuffer[2]=0x1B; // @@ -720,7 +717,7 @@ iOutputReportBuffer[4]=0x63; // iOutputReportBuffer[5]=0x50; // iOutputReportBuffer[6]=0x4D; // - int res = hid_write(connected_device, iOutputReportBuffer, KFutabaOutputReportLength); + int res = hid_write(connected_device, iOutputReportBuffer, KFutabaMaxHidReportSize); return 1; }