#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
#else
-#define OW_FIRST_COMMAND 7
+#define OW_FIRST_COMMAND 8
#endif
#ifndef _DIS_FLASH_
.endm
#endif
+.macro FW_CONFIG_INFO
+ cljmp 0x85,hrc_fw_configinfo
+.endm
#ifdef _CHANGEABLE_ID_
rjmp h_searchromr
rjmp h_readrom
rjmp h_readcommand
+ rjmp h_fwconfiginfo
#ifdef _CHANGEABLE_ID_
rjmp h_writeid
rjmp h_readid
; sonst tue nichts
rjmp handle_end_sleep
+
+hrc_fw_configinfo:
+ ldi r_mode,OW_FWCONFIGINFO
+ ldi r_sendflag,1
+ rjmp h_fwconfiginfo
+
+
;---------------------------------------------------
; MATCH ROM
;---------------------------------------------------
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
;---------------------------------------------------