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]; }
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)); }
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); }