Difference between revisions of "BarBot/Recipe execution software"

From Nottinghack Wiki
Jump to navigation Jump to search
(Created page with "== Recipe Execution == Once a drink has been selected in the user interface, the recipe in the database must be translated into instructions for the hardware control system. ...")
 
Line 19: Line 19:
  
 
Instructions generated (pseudocode here would actually be opcodes sent to Arduino using I2C or UART)
 
Instructions generated (pseudocode here would actually be opcodes sent to Arduino using I2C or UART)
# CheckGlassPresent()
+
# VerifyWithOperator()
 
# MoveToPosition(2)
 
# MoveToPosition(2)
 
# Dispense(2)
 
# Dispense(2)
Line 27: Line 27:
 
# OperatorMessage("Add ice")
 
# OperatorMessage("Add ice")
 
# OperatorMessage("Add lemon")
 
# OperatorMessage("Add lemon")
 +
 +
''Note: VerifyWithPperator() should require operator intervention. The operator will be required to check the punter is of age and such, and that a receptacle is present.''

Revision as of 23:09, 3 April 2014

Recipe Execution

Once a drink has been selected in the user interface, the recipe in the database must be translated into instructions for the hardware control system.

Example: Gin & tonic

BarBot config:

  • 'Home' position is 0
  • Gin in position 2
  • Postmix in position 7
  • Tonic water on postmix with ID=2
  • Postmix delivery unit = 50 ml

G&T Recipe:

  • 2 x measure of gin
  • 150 ml tonic water
  • Ice
  • Slice of lemon

Instructions generated (pseudocode here would actually be opcodes sent to Arduino using I2C or UART)

  1. VerifyWithOperator()
  2. MoveToPosition(2)
  3. Dispense(2)
  4. MoveToPosition(7)
  5. Dispense(3)
  6. MoveToPosition(0)
  7. OperatorMessage("Add ice")
  8. OperatorMessage("Add lemon")

Note: VerifyWithPperator() should require operator intervention. The operator will be required to check the punter is of age and such, and that a receptacle is present.