Exemple #1
0
void close_ifport ()
{
	BYTE spicmd[2] = {FLAG, SPI_DISABLE};


	switch (PortType) {
		case TY_COMM :
			_outp(COM_MCR, 0);
			_outp(COM_LCR, 3);
			break;

		case TY_VCOM :
			break;

		case TY_BRIDGE :
			send_bridge(spicmd, 2);
			read_bridge(spicmd, 1);
			break;

		case TY_AVRSP :
			_outp(LPT_DAT, 0);
			break;

		case TY_STK200 :
			_outp(LPT_DAT, BS_DIS);
			break;

		case TY_XILINX :
			_outp(LPT_DAT, BX_DIS1|BX_DIS2);
			break;

		case TY_LATTICE :
			_outp(LPT_DAT, BL_DIS);
			break;

		case TY_ALTERA :
			_outp(LPT_CTL, 0);
			break;
#if AVRSPX
		case TY_USBASP :	//@@@ by t.k
			usbasp_close();
			break;

		case TY_HIDASP :	//@@@ by k-k
			hidasp_close();
			break;

		case TY_RSCR :	//@@@ by t.k
			if (hComm != INVALID_HANDLE_VALUE)
				rscr_close();
			break;
#endif

	}

	if(hComm != INVALID_HANDLE_VALUE)
		CloseHandle(hComm);

	PortType = 0;
}
Exemple #2
0
//----------------------------------------------------------------------------
int usbasp_write_serial(char *SerialNumber, char *NewSerialNumber)
{
    int ret;
    
    if (usbasp_open(SerialNumber) != 0) {
        fprintf(stderr, "USBasp serial number set [%s] to [%s].\n", SerialNumber, NewSerialNumber);
        return RC_FAIL;
    }
    
    ret = usbasp_set_serial(NewSerialNumber);
    
    usbasp_close();
    
    if (ret == 0) {
        fprintf(stderr, "USBasp serial number set to [%s].\n", NewSerialNumber);
        return 0;
    }
    
    return RC_FAIL;
}