Converting and Instrument Object Array (instrfind) into strings?

4 vues (au cours des 30 derniers jours)
Jason
Jason le 6 Jan 2020
Commenté : Jason le 6 Jan 2020
Hello, Im using an edit box (GUIDE) as a message reported by utilising multi lines (by setting max property >1)
I have a function that I have created to report out important information.
I am using it for RS232 connections, and want to show in my edit box the results of instrfind:
Instrument Object Array
Index: Type: Status: Name:
1 serial closed Serial-COM3
2 serial closed Serial-COM3
3 serial closed Serial-COM3
4 serial closed Serial-COM3
5 serial open Serial-COM3
Here is my ReportMessage function:
function ReportMessage(handles,msg)
currString=get(handles.editMessage,'String');
currString=[{msg};currString]; %add to top of message box
set(handles.editMessage,'String',currString);
drawnow;
How can I convert and Instrument Object Array into strings?How can I convert and Instrument Object Array into strings?
In particular, I just want to report out any open comms ports
Thanks
Jason
  2 commentaires
Guillaume
Guillaume le 6 Jan 2020
Note that as of R2019b, instrfind is not recommended, you should be using serialport instead.
There is no built-in function that directly convers an instrument object array into strings but it's trivial to write one that simply insert into strings whichever properties of the object you want to display. Therefore, what text do you want displayed?
Jason
Jason le 6 Jan 2020
Hi, thanks for this. So it would just be the coms port and its CURRENT status:
Index: Type: Status: Name:
1 serial closed Serial-COM3
2 serial closed Serial-COM3
3 serial closed Serial-COM3
4 serial closed Serial-COM3
5 serial open Serial-COM3
Thanks

Connectez-vous pour commenter.

Réponse acceptée

Guillaume
Guillaume le 6 Jan 2020
I don't have any serial port on this machine so can't really test for the actual property names, but it should be something like:
ports = instrfind('Type', 'serial');
descriptions = compose('%s on port %s is currently %s', string(ports.Name), string(ports.Port), string(ports.Status));

Plus de réponses (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by