Typica version 1.4 is now out. There was a lot that I wanted to get into this release that I just couldn’t get polished to an acceptable point. At some point you have to say, “no, it’s time to release and let people start using what is ready.” That said, I wouldn’t be surprised to see a revision point release in December or at least an updated example configuration. There are currently 8 known bugs but none of them are show stoppers and most people will probably never run into them so while I intend to fix all of them I’m not going to delay the release to do it.
There are several behind the scenes changes that will make future maintenance of the program easier for me and help with future planned features.
The following is a high level non-exhaustive overview of what’s changed since the 1.3.11 release.
Typica now has an application icon. It looks like this:
Arithmetic Support in Numeric Table Columns:
Tables in which numeric values are expected now allow entering mathematical expressions. I’d like to extend that feature to numeric fields that are not part of a table in the future where it would be even more useful, but there’s a planned feature that makes it potentially useful in the tables, too. (previously reported here)
Automatic Database Setup:
The Setup Database button has been removed from the example configuration. This is now handled automatically.
Some SQL queries used the same positional placeholder multiple times in a query to hold the same value. I think this worked at one time but it no longer does. The provided example configuration has been audited to remove all such duplicate placeholders (I hope). There were some other examples of SQL statements that were not quite right which have also been corrected.
Some typographical errors in example configurations prevented proper operation. Where noticed, these have been corrected.
A missing initializer in the MeasurementModel class has been corrected leading to faster performance when opening windows containing a table view of roasting data and eliminating the possibility of this causing the program to become unresponsive.
A bug involving periodic unresponsiveness when logging data with certain versions of NI DAQmx on Windows has been fixed.
Exporting roasting data as CSV now only exports the data currently shown in the table view (often one measurement every several seconds instead of multiple measurements per second). To export every measurement as CSV it is necessary to set the view to show all measurements first. In general this means that exported data is much smaller, more regular, and easier to work with.
Derived Measurement Series by Linear Spline Interpolation:
It is now possible to produce a measurement series based on linear spline interpolation using measured values as input. I can’t guarantee that the technique is generally applicable but I’ve been using it to generate a data series at my lab roaster that matches the measurements I would be collecting at the production roaster. This allows me to use half as much coffee to develop new roast profiles and reliably match these profiles at the production roaster.
Expanded Hardware Support:
In addition to the previously supported National Instruments USB 9211, USB 9211A, and USB TC01, it is now possible to use the 9211A with either NI DAQmx Base or NI DAQmx on Windows (on Mac OSX NI DAQmx is unavailable but hardware that is supported through NI DAQmx Base will continue to work). This allows the use of the 9211 module with newer USB carriers which do not work with NI DAQmx Base. Additionally, there is limited support for devices which communicate using the Modbus RTU protocol through a serial port on all platforms. Such devices are available in a number of standard panel mount sizes from several different manufacturers and can generally replace the panel displays provided with the roaster. Note that you will need documentation on any Modbus RTU device you would like to use with Typica indicating the addresses of the data you intend to log for that particular device and instructions on how to check or set the communications settings for your particular device.
All windows now save their size and position when closed and restore themselves to the same state when re-opened if possible. Configurations no longer need to handle this explicitly. Some other widgets with size and position state also preserve that information which previously have not.
Historical Profile Viewing:
When viewing a previously roasted batch from the batch log, all of the view transformation options that are available in the logging view are also available here. Saving to a file, exporting to CSV or XHTML+SVG, and printing are also now available in this view. This should improve usability for those who insist on working in Celsius and for those who wish to share roasting data with outside firms.
Internal Device and Logging Window Configuration:
There is now a graphical interface within Typica for configuring the devices and annotation controls for one or more coffee roasters. This has allowed the number of example configurations provided with Typica to be reduced to 1. This configuration window can be used to set up logging windows equivalent to all of the previously provided example configurations and all of the most common customizations that were performed with the previously provided examples including changing the thermocouple type for a given channel and customizing the annotation controls.
Multiple Device Configuration Support:
Through the above and with some other changes behind the scenes, it is now easy to configure Typica to collect measurements from multiple devices simultaneously. Note that it is recommended at least one channel in any given configuration collects data at a rate faster than 1 measurement per second. This is related to one of the aforementioned bugs. You pretty much don’t need to worry about this unless you’re attempting to use a NI 9211 module with all four channels in use and no other devices or if attempting to use a Modbus RTU device on a serial port operating less than 1/10th the slowest rate I’ve seen for such devices.
It is possible to configure Typica to perform roast profile translation as seen in this video (but with the column to match and the temperature at which to perform that match configurable).
The new -c command line argument can be used to specify which configuration you want Typica to use instead of prompting for that when the application is started. This is most useful when specified in a shortcut.
Reports no longer need to be referenced explicitly in configurations. Placing a file describing a report into the Reports directory will add that report to the Reports menu. That file will be read every time you instantiate the report so fine tuning new reports can be done much faster as Typica need not be restarted between edits. (previously reported here)
It is now possible to organize reports into a menu hierarchy of arbitrary depth (please try to keep it shallow). (previously reported here)
Some included reports now allow weight and weight derived data to be reported in either pounds or kilograms. Changing that setting in one report will propagate that preference to all reports opened after that which currently support this feature. I intend to extend this to all reports.
Table views on roasting data no longer pretend to be editable. The background on this is too long for this post. The short story is that this view never should have been editable. I might revisit this during the 2.0 release series.
Unified Driver Build:
There is no longer a need to be careful in selecting which build of Typica to download. All hardware that is supported on a given platform is now supported in the single build for that platform. All supported hardware can now be used simultaneously.
The pre-compiled distribution of Typica on Windows now uses Qt 4.8.3, libpq 9.0.3, and is compiled with g++ 4.6.1. Typica on Mac OS X also uses Qt 4.8.3.
Version info is now displayed in the executable file properties on Windows.
Not a change in Typica per se, but the project web site has an updated design. There’s still some work to do on this (it needs more pictures and documentation updated to the current release).