Class Trigger

Inheritance Relationships

Base Type

Class Documentation

class Trigger : public Component

This component converts data connector to signal one: when a value is written to a specified address, it will be masked and checked for equivalency. If the value equals to the one specified a signal will be sent to the connected component.

Connectors: data “trigger” - writing to this connector will trigger a “target” connected device if addresses match. Ports: signal “target” - the signal is sent to the component connected to this port on write to the “trigger”

Note

It can be used to map signals to memory, this way a CPU can trigger an interrupt signal by writing to a specified address.

Public Functions

explicit Trigger(uint32_t address, uint32_t value = 0x1, uint32_t mask = ~0x0)
virtual void init() override

Initialize a component to a default power-on state (hard reset).

Note

For Component developer: Implement a correct power-on state here.

virtual std::vector<EmulatorWindow> getGUIs() override

Get GUI windows: metadata and rendering functions.

Note

For Component developer: If the component have a debugger or other GUI, return an arbitrary count of windows, they will be rendered on a load of a system which contains the component.

Returns

A vector of windows to be rendered.

Protected Attributes

uint32_t m_triggerAddress
uint32_t m_triggerValue
uint32_t m_mask
SignalPort m_target