Beispiel #1
0
int initDongle(libusb_context *ctx) {
	int result = -1;
	result = initHid(ctx);
	if (result < 0) {
		return result;
	}
	return result;
}
Beispiel #2
0
int writeEp(SHidDev* pHidDev, const char* data, const int len)
{
  if(!devReady(pHidDev)) return 0;
  initHid(pHidDev, pHidDev->packetLen);
  fillTxData(pHidDev, data, len);
  //doit
  ioctl(pHidDev->fd,HIDIOCSUSAGES, &pHidDev->ref_u); 
  ioctl(pHidDev->fd,HIDIOCSREPORT, &pHidDev->rinfo_u);
  return 0;
}
Beispiel #3
0
const char* getControl(SHidDev* pHidDev)
{
  if(!devReady(pHidDev)) return 0;
  initHid(pHidDev,pHidDev->packetLen);
  //doit
  ioctl(pHidDev->fd,HIDIOCGREPORT, &pHidDev->rinfo_i);
  ioctl(pHidDev->fd,HIDIOCGUSAGES, &pHidDev->ref_i);

  compr_s32toChar(pHidDev->ref_i.values, pHidDev->ref_i.num_values);
  return (char*)(pHidDev->ref_i.values);
}
Beispiel #4
0
const char* readEp(SHidDev* pHidDev)
//~ const __u8* readEp(SHidDev* pHidDev, const int len)
{
  if(!devReady(pHidDev)) return 0;
  initHid(pHidDev , pHidDev->packetLen);
   //doit
  ioctl(pHidDev->fd,HIDIOCGUSAGES, &pHidDev->ref_i); 
  ioctl(pHidDev->fd,HIDIOCGREPORT, &pHidDev->rinfo_i);

  compr_s32toChar(pHidDev->ref_i.values, pHidDev->ref_i.num_values);
  //~ return (__u8*)(pHidDev->ref_i.values);
  return (char*)(pHidDev->ref_i.values);
}
Beispiel #5
0
int setFeature(SHidDev* pHidDev, const char* data, const int len)
{
  if(!devReady(pHidDev)) return 0;
  initHid(pHidDev, pHidDev->packetLen);
  fillTxData(pHidDev, data, len);
  
  pHidDev->rinfo_u.report_type = HID_REPORT_TYPE_FEATURE;
  pHidDev->ref_u.uref.report_type = HID_REPORT_TYPE_FEATURE;
  //doit
  ioctl(pHidDev->fd,HIDIOCSUSAGES, &pHidDev->ref_u);
  ioctl(pHidDev->fd,HIDIOCSREPORT, &pHidDev->rinfo_u);
  return pHidDev->packetLen;
}
Beispiel #6
0
const char* getFeature(SHidDev* pHidDev)
{
  if(!devReady(pHidDev)) return 0;
  initHid(pHidDev, pHidDev->packetLen);
  pHidDev->rinfo_i.report_type =HID_REPORT_TYPE_FEATURE;
  pHidDev->ref_i.uref.report_type =HID_REPORT_TYPE_FEATURE;  
  //doit  
  ioctl(pHidDev->fd,HIDIOCGREPORT, &pHidDev->rinfo_i);
  ioctl(pHidDev->fd,HIDIOCGUSAGES, &pHidDev->ref_i);
  
  //copy2Text(pHidDev, pHidDev->ref_i.values, len);
  compr_s32toChar(pHidDev->ref_i.values, pHidDev->packetLen);
  return (char*)(pHidDev->ref_i.values);
}