\r
-// Copyright (c) 2015, Tobias Mueller tm(at)tm3d.de\r
+// Copyright (c) 2017, Tobias Mueller tm(at)tm3d.de\r
// All rights reserved. \r
// \r
// Redistribution and use in source and binary forms, with or without \r
\r
#define _CHANGEABLE_ID_\r
#define _ZERO_POLLING_\r
+#define _HANDLE_CC_COMMAND_\r
+ \r
//#define _DB_\r
\r
#include "../common/OWConfig.s"\r
#else\r
.extern pack2,64\r
#endif\r
-.extern am2302_temp,2\r
-.extern am2302_hum,2\r
+//.extern am2302_temp,2\r
+//.extern am2302_hum,2\r
.comm block,1 ; Block der augegeben, geschrieben wird (Parameter von READ/WRITE Scratchpad)\r
+.comm cpsp,1 ; Copy Scratchpad marker\r
\r
\r
.macro CHIP_INIT ;r_temp is pushed other Registers should be saved\r
+ ldi r_temp,0\r
+ sts cpsp,r_temp\r
Init_EEPROM_read:\r
push r_bytep\r
push r_rwbyte\r
rjmp h_readscratchpad2\r
rjmp h_writescratchpad_adr2\r
rjmp h_writescratchpad2\r
+ rjmp h_copyscratchpad_adr2\r
.endm\r
\r
#include "../common/OWRomFunctionsDual.s"\r
#define OW_READ_SCRATCHPAD2 OW_FIRST_COMMAND+4\r
#define OW_WRITE_SCRATCHPAD_ADR2 OW_FIRST_COMMAND+5\r
#define OW_WRITE_SCRATCHPAD2 OW_FIRST_COMMAND+6\r
+#define OW_COPY_SCRATCHPAD_ADR2 OW_FIRST_COMMAND+7\r
\r
\r
;---------------------------------------------------\r
; READ COMMAND and start operation\r
;---------------------------------------------------\r
\r
+#ifdef _HANDLE_CC_COMMAND_\r
+h_readcommand12:\r
+ clr r_bytep\r
+ cjmp 0x44,hrc_set_convertT12\r
+ ldi r_mode,OW_SLEEP\r
+ rjmp handle_end\r
+#endif\r
+\r
\r
h_readcommand1:\r
clr r_bytep\r
rcall hrc_recall_eeprom_func1\r
rjmp handle_end\r
\r
-\r
+#ifdef _HANDLE_CC_COMMAND_\r
+hrc_set_convertT12:\r
+ ldi r_temp,3\r
+ sts gcontrol,r_temp\r
+ lds r_temp,am2302_temp\r
+ sts pack2+1,r_temp\r
+ lds r_temp,am2302_temp+1\r
+ sts pack2+2,r_temp\r
+ rjmp hrc_set_convertT12b\r
+#endif\r
\r
hrc_set_convertT1:\r
ldi r_temp,1\r
sts gcontrol,r_temp\r
-\r
+hrc_set_convertT12b:\r
ldi r_mode,OW_CONVERT_RUN1\r
ldi r_sendflag,3 ;set bit 0 and 1 for no zero polling\r
h_convert_run1:\r
rjmp handle_end_no_bcount \r
\r
\r
+\r
hrc_copy_scratchpad1:\r
ldi r_bytep,2\r
configZ pack1,r_bytep\r
cset 0x4E,OW_WRITE_SCRATCHPAD_ADR2\r
cjmp 0x44,hrc_set_convertT2\r
cjmp 0xB4,hrc_set_convertV2\r
+ cset 0x48,OW_COPY_SCRATCHPAD_ADR2\r
FW_CONFIG_INFO2\r
//cljmp 0x85,hrc_fw_configinfo2\r
#ifdef _CHANGEABLE_ID_\r
rjmp handle_end_sleep\r
\r
\r
-\r
+h_copyscratchpad_adr2:\r
+ ori r_rwbyte,0x80 ;hoechstes bit ist 1 zum Testen\r
+ sts cpsp,r_rwbyte\r
+ rjmp handle_end_sleep\r
\r
\r
\r