Friday, March 1, 2013

Events, Buttons and Palettes




Artisan focus on logging your roasts. It plots temperature curves using data from a meter or manual input (using this magic device NONE). However, a roast profile is not only about temperature and time. There are important events happening during roasting that are useful to compare profiles. Between CHARGE and DROP there is the turning point (TP) where the bean temperature starts rising again after the initial temperature drop caused by inserting the cold beans. Others key events of a roast are the end of the drying phase (DE), the begin and end of the first and second crack, abbreviated as FCs, FCe, SCs, SCe. These key events can be recorded by pressing the corresponding buttons during the roast.

Cool! However, you might want to log also the moment you increased the power of the heater or closed the damper. For this, Artisan offers 4 extra event types that can be freely named and recorded during a roast. Say you want to record the modifications to the fan speed during the roast, you would open the Events dialog (via the Config/Events menu), name one of the event types "Fan" and add a custom buttons in the Buttons tab. Those buttons should be assigned a speaking name (let's say "FAN20" and "FAN80"), the correct event type selected (Fan in this case) and potentially a value. Buttons can also send messages to connected devices or call a program. For example, adding the corresponding command in the description field the speed of the fan will be set to the button value on button press.

Events Dialog

Once setup, those button are shown while roasting (press 'b' on your keyboard if they are not visible). Activating an extra event button adds an entry to the events table logging the time, value and type of that event. Recorded events are listed in the Events tab of the Roast Properties and can also be visualized in the graph by choosing "Type" or "Value" in the bars selector (Config tab of the Events dialog). Note that events by value have better performance than events by type or as annotations during sampling because they add no text to the graph.


Recorded events are also be edited from within the Mini Editor during roasts. The Mini Events Editor widget is displayed below the button rows if the corresponding flag in the Events dialog's config tab is ticked.

Extra Event Buttons and Mini Events Editor

You are right that adding a long sequence of buttons to document the speed changes of your fan is cumbersome. Therefore, Artisan v0.6 introduced sliders that follow a similar concept than the buttons and have been described in my previous post. In any case, you might have the need for different configurations of buttons and sliders for different situations. Luckily the button and slider settings can be stored in so called pallets (see  the corresponding tab of the Events dialog) and such pallets can be stored to files (just in case).

Both types of events, the standard roast events, like FCs, as well as the custom events can be edited. For the standard roast events only the time point can be changed by either editing its value in the Roast Properties dialog directly or by right-clicking the bean temperature curve (BT) after a roast and selecting the corresponding event from the popup.  To delete a standard event completely, just set its time to 00:00. This works for all but for the CHARGE event (obviously). The CHARGE event can be moved by putting negative or positive time values to indicate the left or right move of the curve with respect to its current position. Custom events can be added or deleted by just manipulating the events table in the events tab of the Roast Properties dialog.

Point-and-click Event Edit

Buttons and slider configurations can be stored in and loaded from one of 10 palettes. The "Palettes" tab of the event dialog allows you "Transfer To" and "Restore From" the corresponding configurations to and from the selected palette as well as store all palette data to a file on your disk and reload it. The quickest way to activate the configuration of one palette is by pressing the number keys 0-9, while the main window is active.

Rick published a nice tutorial video on Artisan Events on YouTube.

13 comments:

  1. My propane burner pressure is in kPa and lies ona 1-5 scale, but often I will have it at 2.5 or 3.5. Also my damper is on a dial from 1-10 and I will often move it by 1/2 increments where it seems to matter. However I can only choose whole values ... or values of 10,20,30 not 10,15,20,25,30. The entries ending in anything but 0 get dropped from the values and no decimal can be entered. I would like to use these numbers to record my roast, not control it. Is this possible?

    ReplyDelete
  2. You should be able to enter any value from 0 to 100. That values not ending in a 0 are ignored is a bug in the current version. The next version will fix that.

    ReplyDelete
  3. Artisan records custom events as shown in the "Roast -> Properties -> Data" pane. But these events and their associated values are not contained in the accompanying CSV file upon export. Only the standard events are listed. How can I export custom events with the data?

    ReplyDelete
  4. Extra event information (as well as a lot other data) is not exported to CSV. Extra event data is contained in .alog and .json files tagged "specialevents" (representing the time as index to the time of the main temperature data), "specialeventsvalue" and "specialeventstype".

    ReplyDelete
    Replies
    1. Any way to have an event indexed to BT instead?

      Delete
  5. Is there any way that the scale of the events graph can be adjusted.

    i.e. I would like line it up with the temperature axis. So when I enter a value of 50 as an event it lines up with the 50° on the left axis. Currently a value of 100 sits at approximately 70°.

    ReplyDelete
    Replies
    1. Anyone got a solution to this?

      Delete
    2. In the just released v1.0.0b4 you can tick "Snap" in the Events dialog (menu Config >> Events, first tab). This aligns the extra events by-value to the y-axis in the range of 0-100.

      Delete
  6. hallo Marko, first of all i'd send a big big grat for a progs, and for a blog....

    i just now learn Artisan. in a event how can i set multiple serial command? i would like after event reduce a heat to 50% and 1 min later set to 100%. it's possible? ot1,50....

    thanx

    ReplyDelete
    Replies
    1. Yep, just read my latest post http://artisan-roasterscope.blogspot.de/2016/08/more-alarms.html. A more complex way is to define a button as "Multiple Event", make it invisible and let it trigger two (or more) other buttons with corresponding actions. Then you trigger that button from your alarm.

      Delete
  7. Hello Makko,

    Thank you for putting so much time into the software. Do you have an example of an I/O command that sets the digital outputs high on the Phidget Interface Kit?

    ReplyDelete
  8. As described in the Help dialog of the extra events buttons: select "IO Command" and put set(n,0), set(n,1), toggle(n) to set Phidget IO digital output n into the documentation field.

    ReplyDelete
  9. Makes sense! Thanks Marko, it worked.

    ReplyDelete