diff options
Diffstat (limited to 'qtmips_machine')
| -rw-r--r-- | qtmips_machine/peripspiled.cpp | 18 | ||||
| -rw-r--r-- | qtmips_machine/peripspiled.h | 4 | 
2 files changed, 21 insertions, 1 deletions
| diff --git a/qtmips_machine/peripspiled.cpp b/qtmips_machine/peripspiled.cpp index 0404311..d016f90 100644 --- a/qtmips_machine/peripspiled.cpp +++ b/qtmips_machine/peripspiled.cpp @@ -137,3 +137,21 @@ void PeripSpiLed::blue_knob_update(int val) {      spiled_reg_knobs_8bit &= ~(0xff << 0);      spiled_reg_knobs_8bit |= (val & 0xff) << 0;  } + +void PeripSpiLed::red_knob_push(bool state) { +    spiled_reg_knobs_8bit &= ~(1 << 26); +    if (state) +        spiled_reg_knobs_8bit |= 1 << 26; +} + +void PeripSpiLed::green_knob_push(bool state) { +    spiled_reg_knobs_8bit &= ~(1 << 25); +    if (state) +        spiled_reg_knobs_8bit |= 1 << 25; +} + +void PeripSpiLed::blue_knob_push(bool state) { +    spiled_reg_knobs_8bit &= ~(1 << 24); +    if (state) +        spiled_reg_knobs_8bit |= 1 << 24; +} diff --git a/qtmips_machine/peripspiled.h b/qtmips_machine/peripspiled.h index 2e2be72..8c884e3 100644 --- a/qtmips_machine/peripspiled.h +++ b/qtmips_machine/peripspiled.h @@ -63,7 +63,9 @@ public slots:      void red_knob_update(int val);      void green_knob_update(int val);      void blue_knob_update(int val); - +    void red_knob_push(bool state); +    void green_knob_push(bool state); +    void blue_knob_push(bool state);  public:      bool wword(std::uint32_t address, std::uint32_t value);      std::uint32_t rword(std::uint32_t address, bool debug_access = false) const; | 
