24#ifndef __YASIMAVR_IO_PORT_H__
25#define __YASIMAVR_IO_PORT_H__
27#include "../core/sim_peripheral.h"
28#include "../core/sim_types.h"
29#include "../core/sim_pin.h"
56 explicit Port(
char name);
59 virtual void reset(
int flags)
override;
65 Pin* pin(uint8_t num)
const;
66 void set_pin_internal_state(uint8_t num,
const Pin::controls_t& controls);
79 void pin_signal_raised(
const signal_data_t& sigdata,
int hooktag);
Definition sim_signal.h:227
Basic AVR device model.
Definition sim_device.h:61
Abstract class defining a framework for MCU peripherals.
Definition sim_peripheral.h:286
virtual bool init(Device &device)
Definition sim_peripheral.cpp:60
virtual bool ctlreq(ctlreq_id_t req, ctlreq_data_t *data)
Definition sim_peripheral.cpp:79
virtual void reset(int flags)
Definition sim_peripheral.cpp:72
MCU pin model.
Definition sim_pin.h:49
Generic model for a GPIO port controller.
Definition sim_port.h:52
Pin * pin(uint8_t num) const
Definition sim_port.h:90
bitmask_t pin_mask() const
Returns the pin mask, containing a '1' for each existing pin.
Definition sim_port.h:84
Signalling framework class.
Definition sim_signal.h:97
StateEnum
Definition sim_wire.h:63
int ctlreq_id_t
Definition sim_peripheral.h:111
#define YASIMAVR_BEGIN_NAMESPACE
Definition sim_globals.h:58
#define AVR_CORE_PUBLIC_API
Definition sim_globals.h:46
#define YASIMAVR_END_NAMESPACE
Definition sim_globals.h:59
Bit mask structure for bitwise operations on 8-bits registers.
Definition sim_types.h:86
Definition sim_peripheral.h:237
Definition sim_signal.h:39