void InterruptGenerator::addInterrupt(unsigned short int interrupt)
{
  // Add new interrupt to pending interrupts
  ComponentRegistry::instance().pendingInterrupts().valueRef().setBit(interrupt);
  sendInterrupt();

}
Exemple #2
0
void setDC201FromInterrupt(qhyccd_device_handle *handle,unsigned char PWM,unsigned char FAN)
{
	unsigned char Buffer[3];
	Buffer[0]=0x01;
	
	if (PWM==0)
	{
		Buffer[2]=Buffer[2] &~ 0x80;
		Buffer[1]=0;
	}
	else
	{
		Buffer[1]=PWM;
		Buffer[2]=Buffer[2] | 0x80;
	}
	
	if (FAN==0) 	
	{
		Buffer[2]=Buffer[2] &~ 0x01;
	}
        else            
        {
        	Buffer[2]=Buffer[2] | 0x01;
        }
        sendInterrupt(handle,3, Buffer);
}
Exemple #3
0
void GuideControl(unsigned char Direction,long PulseTime) 
{
    unsigned char Buffer[4];
    unsigned short value = 0;
    unsigned short index = 0;

    if(qhyusb->QCam.CAMERA == DEVICETYPE_QHY5II || qhyusb->QCam.CAMERA == DEVICETYPE_QHY5LII)
    {
        switch(Direction)
	{
            case 0:
	    {
	        index = 0x80;
		value = 0x01;
		break;
            }
	    case 1:
	    {
		index = 0x40;
		value = 0x02;
		break;
            }
	    case 2:
	    {
		index = 0x20;
		value = 0x02;
		break;
	    }
	    case 3:
	    {
		index = 0x10;
		value = 0x01;
		break;
            }
	}
        qhyusb->qhyccd_vTXD_Ex(qhyusb->QCam.ccd_handle,0xc0,value,index,Buffer,2);
    // pulseTime unit is 1ms
        usleep(PulseTime*1000);
        qhyusb->qhyccd_vTXD_Ex(qhyusb->QCam.ccd_handle,0xc0,value,0x0,Buffer,2);
    }
    else if(qhyusb->QCam.CAMERA == DEVICETYPE_QHY6)
    {
        switch(Direction)
	{
            case 0:
	    {
	        index = 0x02;
		break;
            }
	    case 1:
	    {
		index = 0x04;
		break;
            }
	    case 2:
	    {
		index = 0x01;
		break;
	    }
	    case 3:
	    {
		index = 0x08;
		break;
            }
	}
        Buffer[0] = 0x09;
        Buffer[1] = index;
        Buffer[2] = qhyusb->MSB(PulseTime);
        Buffer[3] = qhyusb->LSB(PulseTime);
        sendInterrupt(qhyusb->QCam.ccd_handle,4,Buffer);
        usleep(PulseTime*1000);
    }
}