diff options
author | Peter <tixiv@gmx.net> | 2016-08-28 18:09:28 +0200 |
---|---|---|
committer | Peter <tixiv@gmx.net> | 2016-08-28 18:09:28 +0200 |
commit | d3185fa5b3ff5912f9035a006ca51fbc9b19d3e1 (patch) | |
tree | 5eddfcd588e8c0f270e805d9f7a525b0bdd0283c | |
parent | cc82c5c5c033fd12bd7f4733f2e57d17efd87315 (diff) | |
download | ChibiOS-Contrib-d3185fa5b3ff5912f9035a006ca51fbc9b19d3e1.tar.gz ChibiOS-Contrib-d3185fa5b3ff5912f9035a006ca51fbc9b19d3e1.tar.bz2 ChibiOS-Contrib-d3185fa5b3ff5912f9035a006ca51fbc9b19d3e1.zip |
set sampling channel PWM output to disabled so the pin can be used
otherwise
-rw-r--r-- | os/hal/src/hal_onewire.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/os/hal/src/hal_onewire.c b/os/hal/src/hal_onewire.c index a93eec0..91249a2 100644 --- a/os/hal/src/hal_onewire.c +++ b/os/hal/src/hal_onewire.c @@ -251,7 +251,6 @@ static void ow_write_bit_I(onewireDriver *owp, ioline_t bit) { static void ow_reset_cb(PWMDriver *pwmp, onewireDriver *owp) { owp->reg.slave_present = (PAL_LOW == ow_read_bit(owp)); - osalSysLockFromISR(); pwmDisableChannelI(pwmp, owp->config->sample_channel); osalThreadResumeI(&owp->thread, MSG_OK); @@ -661,7 +660,7 @@ bool onewireReset(onewireDriver *owp) { pwmcfg->channels[mch].callback = NULL; pwmcfg->channels[mch].mode = owp->config->pwmmode; pwmcfg->channels[sch].callback = pwm_reset_cb; - pwmcfg->channels[sch].mode = PWM_OUTPUT_ACTIVE_LOW; + pwmcfg->channels[sch].mode = PWM_OUTPUT_DISABLED; ow_bus_active(owp); @@ -714,7 +713,7 @@ void onewireRead(onewireDriver *owp, uint8_t *rxbuf, size_t rxbytes) { pwmcfg->channels[mch].callback = NULL; pwmcfg->channels[mch].mode = owp->config->pwmmode; pwmcfg->channels[sch].callback = pwm_read_bit_cb; - pwmcfg->channels[sch].mode = PWM_OUTPUT_ACTIVE_LOW; + pwmcfg->channels[sch].mode = PWM_OUTPUT_DISABLED; ow_bus_active(owp); osalSysLock(); @@ -848,7 +847,7 @@ size_t onewireSearchRom(onewireDriver *owp, uint8_t *result, pwmcfg->channels[mch].callback = NULL; pwmcfg->channels[mch].mode = owp->config->pwmmode; pwmcfg->channels[sch].callback = pwm_search_rom_cb; - pwmcfg->channels[sch].mode = PWM_OUTPUT_ACTIVE_LOW; + pwmcfg->channels[sch].mode = PWM_OUTPUT_DISABLED; ow_bus_active(owp); osalSysLock(); |