X-Git-Url: https://git.smho.de/gw/?p=owSlave2.git;a=blobdiff_plain;f=common%2FOWRomFunctions.s;h=41a952f7103a2f175dc5ba39def5e69ccc3a814f;hp=fdcc9197bafd92763b708e29acd375b47b73ef59;hb=a8381e5cea363746ce596f2b57e3dbe13d0a15a6;hpb=eb07c81c36a283327b156eeee4d3d5030a4ed75f diff --git a/common/OWRomFunctions.s b/common/OWRomFunctions.s index fdcc919..41a952f 100644 --- a/common/OWRomFunctions.s +++ b/common/OWRomFunctions.s @@ -61,13 +61,14 @@ #define OW_SEARCHROMR 4 ; next resive master answer #define OW_READROM 5 #define OW_READ_COMMAND 6 +#define OW_FWCONFIGINFO 7 #ifdef _CHANGEABLE_ID_ -#define OW_WRITE_NEWID 7 -#define OW_READ_NEWID 8 -#define OW_SET_NEWID 9 -#define OW_FIRST_COMMAND 10 +#define OW_WRITE_NEWID 8 +#define OW_READ_NEWID 9 +#define OW_SET_NEWID 10 +#define OW_FIRST_COMMAND 11 .comm newid,8 @@ -79,7 +80,7 @@ #else -#define OW_FIRST_COMMAND 7 +#define OW_FIRST_COMMAND 8 #endif #ifndef _DIS_FLASH_ @@ -93,6 +94,9 @@ .endm #endif +.macro FW_CONFIG_INFO + cljmp 0x85,hrc_fw_configinfo +.endm #ifdef _CHANGEABLE_ID_ @@ -135,6 +139,7 @@ handle_stable: rjmp h_searchromr rjmp h_readrom rjmp h_readcommand + rjmp h_fwconfiginfo #ifdef _CHANGEABLE_ID_ rjmp h_writeid rjmp h_readid @@ -193,6 +198,13 @@ hrc_set_alarm_search: ; sonst tue nichts rjmp handle_end_sleep + +hrc_fw_configinfo: + ldi r_mode,OW_FWCONFIGINFO + ldi r_sendflag,1 + rjmp h_fwconfiginfo + + ;--------------------------------------------------- ; MATCH ROM ;--------------------------------------------------- @@ -290,6 +302,39 @@ h_readrom_all: rjmp handle_end_sleep +;--------------------------------------------------- +; FW_CONFIG_INFO +;--------------------------------------------------- + +h_fwconfiginfo: + cpi r_bytep,16 + breq h_fwconfiginfo_crc +#ifdef _CRC8_ + cpi r_bytep,17 + breq h_fwconfiginfo_all +#elif defined _CRC16_ + cpi r_bytep,17 + breq h_fwconfiginfo_crc2 + cpi r_bytep,18 + breq h_fwconfiginfo_all +#else + cpi r_bytep,16 + breq h_fwconfiginfo_all +#warning No CRC known code implemented +#endif + configZ config_info,r_bytep + ld r_rwbyte,Z + rjmp handle_end_inc +h_fwconfiginfo_crc: + lds r_rwbyte,crc + rjmp handle_end_inc +h_fwconfiginfo_crc2: + lds r_rwbyte,crc+1 + rjmp handle_end_inc +h_fwconfiginfo_all: + rjmp handle_end_sleep + + ;--------------------------------------------------- ; CHANGE ROM FUNCTIONS ;---------------------------------------------------