Merge pull request #608 from DiUS/onewire-powerup

Unbreak 1-Wire after the consts-to-flash change.
This commit is contained in:
Johny Mattsson 2015-08-21 11:34:46 +10:00
commit 5a0f6a597f

View File

@ -64,6 +64,9 @@ sample code bearing this copyright.
#define interrupts os_intr_unlock #define interrupts os_intr_unlock
#define delayMicroseconds os_delay_us #define delayMicroseconds os_delay_us
// 1 for keeping the parasitic power on H
#define owDefaultPower 1
#if ONEWIRE_SEARCH #if ONEWIRE_SEARCH
// global search state // global search state
static unsigned char ROM_NO[NUM_OW][8]; static unsigned char ROM_NO[NUM_OW][8];
@ -185,7 +188,7 @@ void onewire_write(uint8_t pin, uint8_t v, uint8_t power /* = 0 */) {
void onewire_write_bytes(uint8_t pin, const uint8_t *buf, uint16_t count, bool power /* = 0 */) { void onewire_write_bytes(uint8_t pin, const uint8_t *buf, uint16_t count, bool power /* = 0 */) {
uint16_t i; uint16_t i;
for (i = 0 ; i < count ; i++) for (i = 0 ; i < count ; i++)
onewire_write(pin, buf[i], 0); onewire_write(pin, buf[i], owDefaultPower);
if (!power) { if (!power) {
noInterrupts(); noInterrupts();
DIRECT_MODE_INPUT(pin); DIRECT_MODE_INPUT(pin);
@ -220,9 +223,9 @@ void onewire_select(uint8_t pin, const uint8_t rom[8])
{ {
uint8_t i; uint8_t i;
onewire_write(pin, 0x55, 0); // Choose ROM onewire_write(pin, 0x55, owDefaultPower); // Choose ROM
for (i = 0; i < 8; i++) onewire_write(pin, rom[i], 0); for (i = 0; i < 8; i++) onewire_write(pin, rom[i], owDefaultPower);
} }
// //
@ -230,7 +233,7 @@ void onewire_select(uint8_t pin, const uint8_t rom[8])
// //
void onewire_skip(uint8_t pin) void onewire_skip(uint8_t pin)
{ {
onewire_write(pin, 0xCC, 0); // Skip ROM onewire_write(pin, 0xCC, owDefaultPower); // Skip ROM
} }
void onewire_depower(uint8_t pin) void onewire_depower(uint8_t pin)
@ -319,7 +322,7 @@ uint8_t onewire_search(uint8_t pin, uint8_t *newAddr)
} }
// issue the search command // issue the search command
onewire_write(pin, 0xF0, 0); onewire_write(pin, 0xF0, owDefaultPower);
// loop to do the search // loop to do the search
do do