Revert "Merge pull request #12 from ponty/logger2"
[simavr] / simavr / cores / sim_megax4.h
index b2a892d..5ff74fe 100644 (file)
@@ -61,7 +61,7 @@ struct mcu_t {
 #error SIM_MMCU is not declared
 #endif
 
-struct mcu_t SIM_CORENAME = {
+const struct mcu_t SIM_CORENAME = {
        .core = {
                .mmcu = SIM_MMCU,
                DEFAULT_CORE(4),
@@ -119,8 +119,11 @@ struct mcu_t SIM_CORENAME = {
                .name = '0',
                .r_udr = UDR0,
 
+               .u2x = AVR_IO_REGBIT(UCSR0A, U2X0),
                .txen = AVR_IO_REGBIT(UCSR0B, TXEN0),
                .rxen = AVR_IO_REGBIT(UCSR0B, RXEN0),
+               .ucsz = AVR_IO_REGBITS(UCSR0C, UCSZ00, 0x3), // 2 bits
+               .ucsz2 = AVR_IO_REGBIT(UCSR0B, UCSZ02),         // 1 bits
 
                .r_ucsra = UCSR0A,
                .r_ucsrb = UCSR0B,
@@ -148,8 +151,11 @@ struct mcu_t SIM_CORENAME = {
                .name = '1',
                .r_udr = UDR1,
 
+               .u2x = AVR_IO_REGBIT(UCSR1A, U2X1),
                .txen = AVR_IO_REGBIT(UCSR1B, TXEN1),
                .rxen = AVR_IO_REGBIT(UCSR1B, RXEN1),
+               .ucsz = AVR_IO_REGBITS(UCSR1C, UCSZ10, 0x3), // 2 bits
+               .ucsz2 = AVR_IO_REGBIT(UCSR1B, UCSZ12),         // 1 bits
 
                .r_ucsra = UCSR1A,
                .r_ucsrb = UCSR1B,
@@ -272,6 +278,9 @@ struct mcu_t SIM_CORENAME = {
                                        AVR_IO_REGBIT(TCCR1B, WGM12), AVR_IO_REGBIT(TCCR1B, WGM13) },
                .wgm_op = {
                        [0] = AVR_TIMER_WGM_NORMAL16(),
+                       [1] = AVR_TIMER_WGM_FCPWM8(),
+                       [2] = AVR_TIMER_WGM_FCPWM9(),
+                       [3] = AVR_TIMER_WGM_FCPWM10(),
                        [4] = AVR_TIMER_WGM_CTC(),
                        [5] = AVR_TIMER_WGM_FASTPWM8(),
                        [6] = AVR_TIMER_WGM_FASTPWM9(),
@@ -410,7 +419,8 @@ struct mcu_t SIM_CORENAME = {
 
                .twi = {
                        .enable = AVR_IO_REGBIT(TWCR, TWIE),
-                       .raised = AVR_IO_REGBIT(TWSR, TWINT),
+                       .raised = AVR_IO_REGBIT(TWCR, TWINT),
+                       .raise_sticky = 1,
                        .vector = TWI_vect,
                },
        },