Commit cbcfc90881bdfd517095b49d246da6c21ae04460
authorMichel Pollet <buserror@gmail.com>
Mon, 7 Nov 2016 08:31:40 +0000 (08:31 +0000)
committerMichel Pollet <buserror@gmail.com>
Mon, 7 Nov 2016 08:31:40 +0000 (08:31 +0000)
This is the 'approved' way to deal with optional peripherals. Check the
name, or check a register 'address' value for != 0 instead of trying to
use #ifdefs

Signed-off-by: Michel Pollet <buserror@gmail.com>
2 files changed:
simavr/cores/sim_megax4.c
simavr/cores/sim_megax4.h

index 54f0d969327574ee47be8f6a9f3211b7eb4a99db..2d12208683de4141a01185f8ca5708ed7c775a85 100644 (file)
@@ -26,7 +26,7 @@
 void mx4_init(struct avr_t * avr)
 {
        struct mcu_t * mcu = (struct mcu_t*)avr;
-       
+
        avr_eeprom_init(avr, &mcu->eeprom);
        avr_flash_init(avr, &mcu->selfprog);
        avr_extint_init(avr, &mcu->extint);
@@ -41,9 +41,9 @@ void mx4_init(struct avr_t * avr)
        avr_timer_init(avr, &mcu->timer0);
        avr_timer_init(avr, &mcu->timer1);
        avr_timer_init(avr, &mcu->timer2);
-#ifdef PRR1
-       avr_timer_init(avr, &mcu->timer3);
-#endif
+       if (mcu->timer3.name) // only resent on 1284
+               avr_timer_init(avr, &mcu->timer3);
+
        avr_spi_init(avr, &mcu->spi);
        avr_twi_init(avr, &mcu->twi);
 }
index 2d1abcbd71ca6e0be03e214aedf280ca99e60bc6..2fdef5aa19e909959e3ab82d02aa0fbeb8e305a5 100644 (file)
@@ -51,9 +51,7 @@ struct mcu_t {
        avr_uart_t              uart0,uart1;
        avr_adc_t               adc;
        avr_timer_t             timer0,timer1,timer2;
-#ifdef PRR1
        avr_timer_t     timer3;
-#endif
        avr_spi_t               spi;
        avr_twi_t               twi;
 };
@@ -364,10 +362,10 @@ const struct mcu_t SIM_CORENAME = {
                .cs_div = { 0, 0, 3 /* 8 */, 5 /* 32 */, 6 /* 64 */, 7 /* 128 */, 8 /* 256 */, 10 /* 1024 */ },
 
                .r_tcnt = TCNT2,
-               
+
                // asynchronous timer source bit.. if set, use 32khz frequency
                .as2 = AVR_IO_REGBIT(ASSR, AS2),
-               
+
                .overflow = {
                        .enable = AVR_IO_REGBIT(TIMSK2, TOIE2),
                        .raised = AVR_IO_REGBIT(TIFR2, TOV2),