X-Git-Url: https://git.smho.de/gw/?p=owSlave2.git;a=blobdiff_plain;f=common%2FOWSet_ATTINYX4.s;h=c019baf6d6923d04aaa51c0befc36301e19d9915;hp=48282c4ce202af3b2259e6824e0ab91fe9808e29;hb=refs%2Fheads%2Fmaster;hpb=485bc58764a5b2a1296dee25aadb42316e8defe0 diff --git a/common/OWSet_ATTINYX4.s b/common/OWSet_ATTINYX4.s index 48282c4..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 @@ -67,10 +67,10 @@ //#define OWT_READ 4 #ifdef __4MHZ__ #define OWT_MIN_RESET 80 -#define OWT_RESET2 17 +#define OWT_RESET2 30 #define OWT_RESET_PRESENT 15 -#define OWT_PRESENT 10 -#define OWT_WRITE 16 +#define OWT_PRESENT 60 +#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<