Merge pull request #5 from ntruchsess/fixresetdetection

fix missing detection of reset during write of zero-bits
This commit is contained in:
Youen 2016-02-25 19:03:38 +01:00
commit 5621c45c02
2 changed files with 8 additions and 0 deletions

View File

@ -209,6 +209,12 @@ void OneWireSlave::beginResetDetection_()
resetStart_ = micros() - 50;
}
void OneWireSlave::beginResetDetectionSendZero_()
{
setTimerEvent_(ResetMinDuration - SendBitDuration - 50, &OneWireSlave::resetCheck_);
resetStart_ = micros() - SendBitDuration - 50;
}
void OneWireSlave::cancelResetDetection_()
{
disableTimer_();
@ -298,6 +304,7 @@ void OneWireSlave::endSendBitZero_()
onEnterInterrupt_();
releaseBus_();
beginResetDetectionSendZero_();
bitSentCallback_(false);
onLeaveInterrupt_();

View File

@ -53,6 +53,7 @@ private:
static void beginSendBit_(bool bit, void(*completeCallback)(bool error));
static void beginResetDetection_();
static void beginResetDetectionSendZero_();
static void cancelResetDetection_();
static void beginWaitReset_();