       }
 
       Display.display(16 * last_stage_cached + 6, 16 * last_stage_cached + 9, 3, 3);
-      Display.display(16 * stage + 6, 16 * stage + 9, 3, 3);
+      Display.display(16 * stage_ + 6, 16 * stage_ + 9, 3, 3);
     }
   }
 

    {
      widget_save_->params.vals.slew_rate = SLEW_RATE_MAX / 2;
    }
    slew_filter->set_frequency(slew_hz(widget_save_->params.vals.slew_rate));

    if (widget_save_->params.vals.clock_bpm < 0 || widget_save_->params.vals.clock_bpm > CLOCK_BPM_MAX)
    {

    widget_loop();

    // display reverse/address
    if (widget_save_->params.vals.diradd_mode != last_diradd_mode_
        || (!widget_save_->params.vals.diradd_mode && reverse_ != last_reverse_)
        || (widget_save_->params.vals.diradd_mode && stage_ != last_stage_))
    {
      display_reverse_address(30, 12);
      last_diradd_mode_ = widget_save_->params.vals.diradd_mode;
      last_reverse_ = reverse_;
      Display.display(30, 34, 1, 2);
    }

    // display half clock
    const bool half_clock = Clock.get_divider() == 2;
    if (half_clock != last_half_clock_)
    {
      display_half_clock(41, 12, half_clock);
      last_half_clock_ = half_clock;
      Display.display(41, 51, 1, 2);
    }

    // display gate
    if (gate_ != last_gate_ || stage_ != last_stage_)
    {
      const uint8_t last_stage_cached = last_stage_;
      last_gate_ = gate_;
      last_stage_ = stage_;

      if (gate_)
      {
        if (stage_ != last_stage_cached)
        {
          display_gate(last_stage_cached, DUINO_SH1106::Black);
        }
        display_gate(stage_, DUINO_SH1106::White);
      }
      else
      {
