コード例 #1
0
ファイル: RFSpark_wxgui.cpp プロジェクト: junaid124/lms7suite
void RFSpark_wxgui::OnbtnRefreshADC(wxCommandEvent& event)
{
    if (m_serPort == nullptr || m_serPort->IsOpen() == false)
    {
        wxMessageBox(_("Board not connected"), _("Warning"));
        return;
    }

    LMScomms::GenericPacket pkt;
    pkt.cmd = CMD_ANALOG_VAL_RD;

	int index = cmbADCselect->GetSelection();
	pkt.outBuffer.push_back(index);
    assert(m_serPort != nullptr);
    LMScomms::TransferStatus status = m_serPort->TransferPacket(pkt);
	
    if (status != LMScomms::TRANSFER_SUCCESS || pkt.status != STATUS_COMPLETED_CMD)
    {
        wxMessageBox(_("Board response: ") + wxString::From8BitData(status2string(pkt.status)), _("Warning"));
        return;
    }
	
    assert(pkt.inBuffer.size() >= 4);

	if(index < mADCdata.size())
	{
		mADCdata[index].channel = pkt.inBuffer[0];
        mADCdata[index].units = (pkt.inBuffer[1] & 0xF0) >> 4;
        mADCdata[index].powerOf10coefficient = pkt.inBuffer[1] << 4;
		mADCdata[index].powerOf10coefficient = mADCdata[index].powerOf10coefficient >> 4;
        mADCdata[index].value = pkt.inBuffer[2] << 8 | pkt.inBuffer[3];
	}
コード例 #2
0
ファイル: pnlSPI.cpp プロジェクト: kkongling/lms-suite
void pnlSPI::OnbtnWriteClick(wxCommandEvent& event)
{
    unsigned int sample = 0;
    GenericPacket pkt;
    pkt.cmd = CMD_LMS6002_WR;
    pkt.outLen = 2;
    string address = txtWriteAddr->GetValue().ToStdString() ;
    sscanf(address.c_str(), "%x", &sample);
    pkt.outBuffer[0] = sample & 0xFF;
    string value = txtWvalue->GetValue().ToStdString() ;
    sscanf(value.c_str(), "%x", &sample);
    pkt.outBuffer[1] = sample & 0xFF;
    int status = m_serPort->TransferPacket(pkt);
    lblWstatus->SetLabel(status2string(status));
}
コード例 #3
0
ファイル: pnlSPI.cpp プロジェクト: kkongling/lms-suite
void pnlSPI::OnbtnReadClick(wxCommandEvent& event)
{
    unsigned int sample = 0;
    stringstream ss;
    ss.str( txtReadAddr->GetValue().ToStdString() );
    string address = txtReadAddr->GetValue().ToStdString() ;
    sscanf(address.c_str(), "%x", &sample);
    GenericPacket pkt;
    pkt.cmd = CMD_LMS6002_RD;
    pkt.outBuffer[0] = sample & 0xFF;
    pkt.outLen = 1;

    int status = m_serPort->TransferPacket(pkt);
    lblRstatus->SetLabel(status2string(status));

    wxString txthex = "";
    txthex= wxString::Format("%02X", pkt.inBuffer[1]);
    lblReadVal->SetLabel(txthex);
}