X-Git-Url: https://git.smho.de/gw/?p=owSlave2.git;a=blobdiff_plain;f=common%2FOWSet_ATTINYX4.s;h=c019baf6d6923d04aaa51c0befc36301e19d9915;hp=b50fde5b9ee19ad1fee36461e5175b2ed19e3ba6;hb=refs%2Fheads%2Fmaster;hpb=6467d8138460abffd9ddabc7b0a9f00c764af19c diff --git a/common/OWSet_ATTINYX4.s b/common/OWSet_ATTINYX4.s index b50fde5..c019baf 100644 --- a/common/OWSet_ATTINYX4.s +++ b/common/OWSet_ATTINYX4.s @@ -56,7 +56,7 @@ #endif #define TIMER_INTERRUPT TIM0_OVF_vect -#define PIN_INTERRIPT EXT_INT0_vect +#define PIN_INTERRUPT EXT_INT0_vect //#define OWT_MIN_RESET 160 @@ -70,7 +70,7 @@ #define OWT_RESET2 30 #define OWT_RESET_PRESENT 15 #define OWT_PRESENT 60 -#define OWT_WRITE 16 +#define OWT_WRITE 15 #define OWT_READ 5 #define OWT_ZP_WAIT_LOW_TO 36 ; Zeit fuer die Maximale Lowzeit bei der Zerro Polling pruefung. Ist die Leitung laenger low, ist es vieleicht ein Reset #define OWT_ZP_WAIT_HIGH_TO 54 ; Zeit fuer die Maximale Hight zeit bis zu einem Low Impuls vom Master. Nach laengeren Pausen wird nicht mehr gepollt sondern der Interrup vererndet. @@ -79,7 +79,7 @@ #define OWT_RESET2 80 #define OWT_RESET_PRESENT 30 #define OWT_PRESENT 130 -#define OWT_WRITE 35 +#define OWT_WRITE 33 #define OWT_READ 12 #define OWT_ZP_WAIT_LOW_TO 60 ; Zeit fuer die Maximale Lowzeit bei der Zerro Polling pruefung. Ist die Leitung laenger low, ist es vieleicht ein Reset #define OWT_ZP_WAIT_HIGH_TO 90 ; Zeit fuer die Maximale Hight zeit bis zu einem Low Impuls vom Master. Nach laengeren Pausen wird nicht mehr gepollt sondern der Interrup vererndet. @@ -151,6 +151,36 @@ sbi DB_DDR,DB_PINN #endif .endm +.macro JMP_FLASHER + ldi r_temp,0xC0 + push r_temp + ldi r_temp,0x0E + push r_temp + ret ; Direkter Sprung zum Bootloader +.endm +.macro CHECK_BOOTLOADER_PIN ;r_temp is pushed other Registers should be saved +; check for bootloader jumper + ;vor allen anderen Registerconfigs +#ifndef _NO_BOOTLOADER_PIN_ + ldi r_temp,(1<