Skip to content

Recipes

Mark Halonen edited this page Feb 17, 2021 · 6 revisions

Coho provides a flexible user interface that allows users to specify recipes with any treatments and minimums and maximums between any of those treatments.

Here is a video demo of creating a Recipe in Coho:

User Expressions

Coho allows users to define their own variables that drive recipe minimums and maximums via User Expressions. This is useful for cases such as a variable etch rate that needs to dictate how long the etch treatment should last.

Here is a video demo: https://www.youtube.com/watch?v=oexWMyocIZM

User Expression Table Workflow

  1. User creates a coho.user_expression_parameter, for example acidEtchRate
  2. User inserts a new value for acidEtchRate to coho.user_expression_parameter_value which is now most recent
  3. User creates recipe with Use Expression for min or max
    1. coho.user_expression is inserted and holds what the user typed in the min constraint
    2. coho.recipe_constraint.min_user_expression_id refers to that ^
  4. When the Carrier is started, the expression is evaluated and inserted to coho.carrier_evaluated_user_expression and the final result is stored in result

So for a given Carrier, you'd have to join coho.carrier_evaluated_user_expression.user_expression_id on coho.recipe_constraint.min_user_expression_id

Clone this wiki locally