Rename Files of different Devices
[owSlave2.git] / common / OWRomFunctionsDual.s
index c28d855..f9ffb2f 100644 (file)
 #define OW_SEARCHROMR 4  ; next resive master answer
 #define OW_READ_COMMAND1 5
 #define OW_READ_COMMAND2 6
+#define OW_FWCONFIGINFO1 7
+#define OW_FWCONFIGINFO2 8
 
 
 #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 9
+#define OW_READ_NEWID 10
+#define OW_SET_NEWID 11
+#define OW_FIRST_COMMAND 12
 .comm newid,8
 .comm idtable,64
        
@@ -79,7 +81,7 @@
 
 
 #else
-#define OW_FIRST_COMMAND 7
+#define OW_FIRST_COMMAND 9
 #endif
 
 #ifndef _DIS_FLASH_
 #endif
 
 
+.macro FW_CONFIG_INFO1
+       cljmp 0x85,hrc_fw_configinfo1
+.endm
+.macro FW_CONFIG_INFO2
+       cljmp 0x85,hrc_fw_configinfo2
+.endm
 
 #ifdef _CHANGEABLE_ID_
 ; lesen der ID aus dem EEPROM beim Start
@@ -145,6 +153,8 @@ handle_stable:
                rjmp h_searchromr
                rjmp h_readcommand1 
                rjmp h_readcommand2
+               rjmp h_fwconfiginfo1
+               rjmp h_fwconfiginfo2
 #ifdef _CHANGEABLE_ID_
                rjmp h_writeid
                rjmp h_readid
@@ -216,6 +226,17 @@ hrc_set_alarm_search:
        ; sonst tue nichts
        rjmp handle_end_sleep
 
+hrc_fw_configinfo1:
+       ldi r_mode,OW_FWCONFIGINFO1
+       ldi r_sendflag,1
+       rjmp h_fwconfiginfo1
+
+hrc_fw_configinfo2:
+       ldi r_mode,OW_FWCONFIGINFO2
+       ldi r_sendflag,1
+       rjmp h_fwconfiginfo2
+
+
 ;---------------------------------------------------
 ;   MATCH ROM
 ;---------------------------------------------------
@@ -353,6 +374,43 @@ h_searchromr:  ; stelle um auf empfangen
        rjmp handle_end_no_bcount
 
 
+;---------------------------------------------------
+;   FW_CONFIG_INFO
+;---------------------------------------------------
+
+h_fwconfiginfo1:
+       configZ config_info1,r_bytep
+       rjmp h_fwconfiginfo_go
+h_fwconfiginfo2:
+       configZ config_info2,r_bytep
+
+h_fwconfiginfo_go:
+       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
+       ld   r_rwbyte,Z
+       rjmp handle_end_inc
+h_fwconfiginfo_crc:
+       lds r_rwbyte,crc
+       rjmp handle_end
+h_fwconfiginfo_crc2:
+       lds r_rwbyte,crc+1
+       rjmp handle_end
+h_fwconfiginfo_all:
+       rjmp handle_end_sleep
+
 
 ;---------------------------------------------------
 ;   CHANGE ROM FUNCTIONS