Introducing Threshold Annotations

If you read the source code for Typica you'll find a little class called ThresholdDetector. The idea behind this is you can create an instance of that class, connect it to a data source, and tell it a value that it should be watching for on either an ascent or a descent. When the specified conditions are met, it emits a signal which can be connected to other parts of Typica to do interesting things.

That class was first introduced to handle profile translation. The signal was used to line up live data with a roasting plan at a given point. Later it was used to trigger range timers. Today's commit to Typica's development branch adds the ability to automatically annotate your roasting log.

Configuring a threshold annotation

Why is this useful? Data with an annotation will appear in some of Typica's reports to provide a brief summary of a batch. Suppose you want to see events like the start of first and second crack in these reports. You could set up annotation buttons and use those manually to record that information during the roast, but if you have a well positioned bean probe chances are good that these events are starting at a consistent temperature. You could set up a threshold annotation to record that information automatically.

The feature also works very well with range timers. If you find a range of temperatures useful to note the duration of, chances are you'd also like to see the measurements at the start and end of each range. With threshold annotations, that's very easy to do.

There is a little more work that I'd like to do to make this feature even more useful before doing another pre-release build, but people who compile Typica from source can pull the latest development branch from github and start using this feature now.