Makefile: Use CPPFLAGS for -I stuff
[simavr] / simavr / sim / avr_ioport.c
index cb238eb..abbd10a 100644 (file)
@@ -86,7 +86,7 @@ void avr_ioport_irq_notify(struct avr_irq_t * irq, uint32_t value, void * param)
        avr_ioport_t * p = (avr_ioport_t *)param;
        avr_t * avr = p->io.avr;
 
-       int output = value & 0x100;
+       int output = value & AVR_IOPORT_OUTPUT;
        value &= 0xff;
        uint8_t mask = 1 << irq->irq;
                // set the real PIN bit. ddr doesn't matter here as it's masked when read.
@@ -159,10 +159,24 @@ static int avr_ioport_ioctl(struct avr_io_t * port, uint32_t ctl, void * io_para
        return res;
 }
 
+static const char * irq_names[IOPORT_IRQ_COUNT] = {
+       [IOPORT_IRQ_PIN0] = "=pin0",
+       [IOPORT_IRQ_PIN1] = "=pin1",
+       [IOPORT_IRQ_PIN2] = "=pin2",
+       [IOPORT_IRQ_PIN3] = "=pin3",
+       [IOPORT_IRQ_PIN4] = "=pin4",
+       [IOPORT_IRQ_PIN5] = "=pin5",
+       [IOPORT_IRQ_PIN6] = "=pin6",
+       [IOPORT_IRQ_PIN7] = "=pin7",
+       [IOPORT_IRQ_PIN_ALL] = "=all",
+       [IOPORT_IRQ_DIRECTION_ALL] = ">ddr",
+};
+
 static avr_io_t        _io = {
-       .kind = "io",
+       .kind = "port",
        .reset = avr_ioport_reset,
        .ioctl = avr_ioport_ioctl,
+       .irq_names = irq_names,
 };
 
 void avr_ioport_init(avr_t * avr, avr_ioport_t * p)