Skip to content
Rob Bultman edited this page Apr 27, 2020 · 5 revisions

Introduction

The pizza oven firmware is made up of 4 pieces:

  1. This repo, which implements the UI in C++ and qml
  2. The machine control, which is an Arduino-based board that does the actual machine control.
  3. The back end, which essentially routes messages between the other 2 components.
  4. The GEA interface, which provides the interface between the GEA bus and the rest of the system.

Two Ovens

There are now two different ovens from a control standpoint, the original oven and a reduced cost oven. The reduced cost oven has the following changes:

  1. The door latch solenoid has been replaced with a lock motor. The UI and machine control will need to accommodate a "lock mode" to allow the lock motor to rotate until the door is latched. There is a repurposed input on the machine control that will be used detect the position of the door lock motor.
  2. There is now only one TC and element relay each for the upper and lower.

Accommodating Two Ovens - Source Control Strategy

Instead of forking the code base, conditional compilation will be used to control how the code is compiled for the two ovens. This will allow the code base to remain largely the same. It is hoped that the back end and GEA interface code bases can remain the same for both builds. This will reduce the number of differences in the total code base.

Code Changes to Support the Low Cost Oven

  1. Ignore front-to-rear differential failure code.
  2. Drive relay K908, port PB3, for the stone element.
  3. Drive the upper front triac and DLB.
  4. Ignore the rear TC's. Drive the lower relay and upper triac using the front TC's.
  5. The lower rear relay will be repurposed to drive the door lock motor for latching the door.
  6. Input A4 will be used to detect the home position of the door lock motor.

Versioning

The major version number for the original oven will continue from the existing numbers. Where the code base must be made different to accommodate the new oven, the major number will start with 20, e.g. 20.1.2 or 20.3.4.5. Given the rate of releases on the oven, this new scheme should be valid for the foreseeable future.