tm3d
/
owSlave2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Many changes from 2018
[owSlave2.git]
/
common
/
OWDS18B20_DS2438.S
diff --git
a/common/OWDS18B20_DS2438.S
b/common/OWDS18B20_DS2438.S
index
109891d
..
a95559e
100644
(file)
--- a/
common/OWDS18B20_DS2438.S
+++ b/
common/OWDS18B20_DS2438.S
@@
-34,6
+34,8
@@
#define _CHANGEABLE_ID_
\r
#define _ZERO_POLLING_
\r
#define _HANDLE_CC_COMMAND_
\r
#define _CHANGEABLE_ID_
\r
#define _ZERO_POLLING_
\r
#define _HANDLE_CC_COMMAND_
\r
+#define _NO_BOOTLOADER_PIN_
\r
+//#define __4MHZ__
\r
//#define _DB_
\r
\r
#include "../common/OWConfig.s"
\r
//#define _DB_
\r
\r
#include "../common/OWConfig.s"
\r
@@
-41,19
+43,21
@@
\r
.extern pack1,8
\r
\r
\r
.extern pack1,8
\r
\r
-//.extern am2302_temp,2
\r
-
\r
#if defined(__AVR_ATtiny25__)
\r
.extern pack2,16
\r
#else
\r
.extern pack2,64
\r
#endif
\r
#if defined(__AVR_ATtiny25__)
\r
.extern pack2,16
\r
#else
\r
.extern pack2,64
\r
#endif
\r
-.extern am2302_temp,2
\r
-.extern am2302_hum,2
\r
+
\r
+
\r
+
\r
.comm block,1 ; Block der augegeben, geschrieben wird (Parameter von READ/WRITE Scratchpad)
\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
\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
Init_EEPROM_read:
\r
push r_bytep
\r
push r_rwbyte
\r
@@
-79,6
+83,7
@@
Init_EEPROM_read:
rjmp h_readscratchpad2
\r
rjmp h_writescratchpad_adr2
\r
rjmp h_writescratchpad2
\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
.endm
\r
\r
#include "../common/OWRomFunctionsDual.s"
\r
@@
-94,6
+99,7
@@
Init_EEPROM_read:
#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_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
\r
\r
;---------------------------------------------------
\r
@@
-104,8
+110,9
@@
Init_EEPROM_read:
h_readcommand12:
\r
clr r_bytep
\r
cjmp 0x44,hrc_set_convertT12
\r
h_readcommand12:
\r
clr r_bytep
\r
cjmp 0x44,hrc_set_convertT12
\r
- ldi r_mode,OW_SLEEP
\r
- rjmp handle_end
\r
+ rjmp h_readcccommand ;fuehre DS2438 commands aus...
\r
+ //ldi r_mode,OW_SLEEP
\r
+ //rjmp handle_end
\r
#endif
\r
\r
\r
#endif
\r
\r
\r
@@
-114,9
+121,10
@@
h_readcommand1:
#ifndef _DIS_FLASH_
\r
FLASH_COMMANDS ; muss zu erst sein....
\r
#endif
\r
#ifndef _DIS_FLASH_
\r
FLASH_COMMANDS ; muss zu erst sein....
\r
#endif
\r
+ cjmp 0x44,hrc_set_convertT1
\r
+h_readcccommand:
\r
cjmp 0xBE,hrc_set_readscratchpad1
\r
cjmp 0x4E,hrc_set_writescratchpad1
\r
cjmp 0xBE,hrc_set_readscratchpad1
\r
cjmp 0x4E,hrc_set_writescratchpad1
\r
- cjmp 0x44,hrc_set_convertT1
\r
cjmp 0x48,hrc_copy_scratchpad1
\r
cjmp 0xB8,hrc_recall_eeprom1
\r
FW_CONFIG_INFO1
\r
cjmp 0x48,hrc_copy_scratchpad1
\r
cjmp 0xB8,hrc_recall_eeprom1
\r
FW_CONFIG_INFO1
\r
@@
-145,9
+153,9
@@
hrc_recall_eeprom1:
hrc_set_convertT12:
\r
ldi r_temp,3
\r
sts gcontrol,r_temp
\r
hrc_set_convertT12:
\r
ldi r_temp,3
\r
sts gcontrol,r_temp
\r
- lds r_temp,
am2302_temp
\r
+ lds r_temp,
DS2438_2_TEMP
\r
sts pack2+1,r_temp
\r
sts pack2+1,r_temp
\r
- lds r_temp,
am2302_temp
+1
\r
+ lds r_temp,
DS2438_2_TEMP
+1
\r
sts pack2+2,r_temp
\r
rjmp hrc_set_convertT12b
\r
#endif
\r
sts pack2+2,r_temp
\r
rjmp hrc_set_convertT12b
\r
#endif
\r
@@
-270,6
+278,7
@@
h_readcommand2:
cset 0x4E,OW_WRITE_SCRATCHPAD_ADR2
\r
cjmp 0x44,hrc_set_convertT2
\r
cjmp 0xB4,hrc_set_convertV2
\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
FW_CONFIG_INFO2
\r
//cljmp 0x85,hrc_fw_configinfo2
\r
#ifdef _CHANGEABLE_ID_
\r
@@
-281,26
+290,28
@@
h_readcommand2:
hrc_set_convertT2:
\r
ldi r_temp,2
\r
sts gcontrol,r_temp
\r
hrc_set_convertT2:
\r
ldi r_temp,2
\r
sts gcontrol,r_temp
\r
- lds r_temp,
am2302_temp
\r
+ lds r_temp,
DS2438_2_TEMP
\r
sts pack2+1,r_temp
\r
sts pack2+1,r_temp
\r
- lds r_temp,
am2302_temp
+1
\r
+ lds r_temp,
DS2438_2_TEMP
+1
\r
sts pack2+2,r_temp
\r
rjmp handle_end_sleep
\r
hrc_set_convertV2:
\r
sts pack2+2,r_temp
\r
rjmp handle_end_sleep
\r
hrc_set_convertV2:
\r
+ ldi r_temp,4
\r
+ sts gcontrol,r_temp
\r
lds r_temp,pack2
\r
sbrs r_temp,3
\r
rjmp hrc_set_convertVV2
\r
lds r_temp,pack2
\r
sbrs r_temp,3
\r
rjmp hrc_set_convertVV2
\r
- ld
i r_temp,0xF4
\r
+ ld
s r_temp,DS2438_2_VDD
\r
sts pack2+3,r_temp
\r
sts pack2+3,r_temp
\r
- ld
i r_temp,0x0
1
\r
+ ld
s r_temp,DS2438_2_VDD+
1
\r
sts pack2+4,r_temp
\r
rjmp hrc_set_convertend2
\r
hrc_set_convertVV2:
\r
sts pack2+4,r_temp
\r
rjmp hrc_set_convertend2
\r
hrc_set_convertVV2:
\r
- ldi r_temp,
3
\r
+ ldi r_temp,
8
\r
sts gcontrol,r_temp
\r
sts gcontrol,r_temp
\r
- lds r_temp,
am2302_hum
\r
+ lds r_temp,
DS2438_2_VAD
\r
sts pack2+3,r_temp
\r
sts pack2+3,r_temp
\r
- lds r_temp,
am2302_hum
+1
\r
+ lds r_temp,
DS2438_2_VAD
+1
\r
sts pack2+4,r_temp
\r
hrc_set_convertend2:
\r
rjmp handle_end_sleep
\r
sts pack2+4,r_temp
\r
hrc_set_convertend2:
\r
rjmp handle_end_sleep
\r
@@
-367,7
+378,10
@@
h_writescratchpad_all2:
rjmp handle_end_sleep
\r
\r
\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
\r
\r
\r