Rank: 1247 based on 52 downloads (last 30 days) and 8 files submitted
photo

Geoffrey Akien

E-mail
Company/University
University of Nottingham

Personal Profile:

I'm in the final year of my PhD at university, and I've recently discovered the joys of MATLAB and programming and am trying to get better at doing both of them.

Professional Interests:
Instrument automation

 

Watch this Author's files

 

Files Posted by Geoffrey View all
Updated   File Tags Downloads
(last 30 days)
Comments Rating
10 May 2011 Linked Pan and Zoom Pans and zooms multiple axes on the same figure, with full control of axes linking. Author: Geoffrey Akien gui, axes, zoom, pan, linkaxes 5 1
20 Jan 2010 Screenshot Tooltip Waitbar Displays a tooltip-sized waitbar beneath uicontrols. Author: Geoffrey Akien gui, tooltip, waitbar 8 3
  • 5.0
5.0 | 2 ratings
08 Jan 2010 Published MATLAB Files CO2gui - lab control and automation Software used for controlling and data logging lab equipment. Author: Geoffrey Akien rs232, jasco, communications, gui, hplc, eurotherm 9 0
  • 4.0
4.0 | 1 rating
07 Jan 2010 Readtext wrapper A wrapper for READTEXT which builds it in smaller chunks (reduces peak memory footprint). Author: Geoffrey Akien data import 3 0
06 Jan 2010 Realterm communications suite Use Realterm the way you can using the MATLAB "serial" commands and instrument control toolbox. Author: Geoffrey Akien realterm, serial, rs232, communications 5 0
Comments and Ratings by Geoffrey View all
Updated File Comments Rating
01 Sep 2011 Eurotherm Modbus RS232 Control Reads and writes information to Eurotherm controllers via Modbus RTU protocols. Author: Geoffrey Akien

"split" is a subfunction within tempobjcomm for converting 16 bit integers into 8 bit integers in the right format for modbus communication. I wasn't aware that it was also the name for a FileExchange submission (searching for "split" turns up 96 results), and this is only a subfunction, which means that only tempobjcomm can see that it exists, and if split exists as an M-file or whatever in your own path, subfunctions take precedence (within tempobjcomm.m) so that it will not interfere with its operation ( http://www.mathworks.com/help/techdoc/matlab_prog/f4-70666.html ).

11 Jul 2009 CELLWRITE Cellwrite writes mixed cell array data to a CSV file. Author: Francis Barnhart

I've been using this for a while now and its great but...one of the tests for changing numbers into text needs adjusting for logicals...

I change:
if isnumeric(contents)

into

if isnumeric(contents) || islogical(contents)

Because the logical class is not including in isnumeric (helpfully). It may add a small speed hit, but it increases the robustness a little.

Thanks for the program though!

10 May 2009 Get Available COM PORT Get available COM port on your PC Author: Daniel Lavoie

Very handy utility, but unfortunately the way MATLAB finds these serial ports does not take into account if other programs are using them - although fopen will of course prevent you from using that port. Also, when I incorporated it into a GUI, it did not stand up to being run a second time - it could not access the error message which instead replies with a 0x1 structure.

Comments and Ratings on Geoffrey's Files View all
Updated File Comment by Comments Rating
01 Sep 2011 Eurotherm Modbus RS232 Control Reads and writes information to Eurotherm controllers via Modbus RTU protocols. Author: Geoffrey Akien Akien, Geoffrey

"split" is a subfunction within tempobjcomm for converting 16 bit integers into 8 bit integers in the right format for modbus communication. I wasn't aware that it was also the name for a FileExchange submission (searching for "split" turns up 96 results), and this is only a subfunction, which means that only tempobjcomm can see that it exists, and if split exists as an M-file or whatever in your own path, subfunctions take precedence (within tempobjcomm.m) so that it will not interfere with its operation ( http://www.mathworks.com/help/techdoc/matlab_prog/f4-70666.html ).

01 Sep 2011 Eurotherm Modbus RS232 Control Reads and writes information to Eurotherm controllers via Modbus RTU protocols. Author: Geoffrey Akien Trae

You use 'split' function in your command that you send to your device. 'split' is not part of the standard MATLAB library and your usage doesn't follow the 'split' on FileExchange and it's usage. Can you fill in some information there?

16 May 2011 CO2gui - lab control and automation Software used for controlling and data logging lab equipment. Author: Geoffrey Akien ahmed
10 May 2011 Linked Pan and Zoom Pans and zooms multiple axes on the same figure, with full control of axes linking. Author: Geoffrey Akien Joseph

This did not work for me.

First, in line 110, I believe there is an error 'oget' should be 'get'.

After I changed that, I received the following error, it could not find the referenced function 'getposition':

??? Undefined function or method 'getposition' for input arguments of type 'double'.

Error in ==> panzoom>windowButtonDownFcn at 152
axesPositions = getposition(axesHandles, 'pixels');
 
??? Error while evaluating figure WindowButtonDownFcn

17 Jan 2010 Tooltip Waitbar Displays a tooltip-sized waitbar beneath uicontrols. Author: Geoffrey Akien Altman, Yair

I like it better now: it works correctly if you don't abuse the syntax too much, and provides explanatory error messages if you do; The code is well documented and indented, enabling a very easy reading.

I like the implementation use of three overlapping empty-text uicontrols with different background - an innovative alternative to what would normally be done with axes and a patch object (which are admittedly more cumbersome/heavy).

I think this utility, although useful as-is, could be improved further. Here are a few ideas:

1. Enable the context-menu by default (currently off by default - why?)
2. Provide sample usages in the main help comment (for example, modification of the progress bar color, addition of percentage labels etc.)
3. Combine the 3 sub-functions into a single m-file with a single interface. For example: calling tooltipwaitbar with a negative progress to delete the waitbar; calling tooltipwaitbar with its own handle to update the progress value.
4. Accept percentage progress values (between 0-100), not just 0-1 values
5. The main function is fairly large (>200 lines) - I would break it into sub-functions for readability.
6. enable accepting a context-menu handle (not just a true/false flag).
7. There are quite a few other waitbar implementations on the FEX - if you take a look you might get some other interesting ideas.

But as I said above, this utility is already useful as-is. An innovative idea and a good implementation. Good work!

While not a 5-star utility in my eyes, it does merit an A+ for innovation and the author's quick response to early feedback; I also wish to offset my original rating.

Top Tags Applied by Geoffrey
gui, rs232, serial, communications, eurotherm
Files Tagged by Geoffrey View all
Updated   File Tags Downloads
(last 30 days)
Comments Rating
10 May 2011 Linked Pan and Zoom Pans and zooms multiple axes on the same figure, with full control of axes linking. Author: Geoffrey Akien gui, axes, zoom, pan, linkaxes 5 1
20 Jan 2010 Screenshot Tooltip Waitbar Displays a tooltip-sized waitbar beneath uicontrols. Author: Geoffrey Akien gui, tooltip, waitbar 8 3
  • 5.0
5.0 | 2 ratings
08 Jan 2010 Published MATLAB Files CO2gui - lab control and automation Software used for controlling and data logging lab equipment. Author: Geoffrey Akien rs232, jasco, communications, gui, hplc, eurotherm 9 0
  • 4.0
4.0 | 1 rating
07 Jan 2010 Readtext wrapper A wrapper for READTEXT which builds it in smaller chunks (reduces peak memory footprint). Author: Geoffrey Akien data import 3 0
06 Jan 2010 Realterm communications suite Use Realterm the way you can using the MATLAB "serial" commands and instrument control toolbox. Author: Geoffrey Akien realterm, serial, rs232, communications 5 0

Contact us at files@mathworks.com