• Greyson Christoforo's avatar
    Introduce non compulsory Wire timeout · deea9293
    Greyson Christoforo authored
    move timout handling into its own function
    
    change timeout from milliseconds to microseconds
    
    don't forget operating slave address or the bitrate when we reset because of a timeout
    Co-Authored-By: default avatarWitold Markowski <witold.a.markowski@gmail.com>
    
    fix delay datatype uint16_t --> uint32_t
    
    Update libraries/Wire/src/utility/twi.c
    
    fix mix up using TWBR instea of TWAR!
    Co-Authored-By: default avatarMatthijs Kooijman <matthijs@stdin.nl>
    
    Update libraries/Wire/src/utility/twi.c
    
    fix 2nd TWBR/TWAR mixup
    Co-Authored-By: default avatarMatthijs Kooijman <matthijs@stdin.nl>
    
    twi_stop() should use the same timeout as everywhere else
    
    all while loops are now protected by timeouts
    
    Revert "twi_stop() should use the same timeout as everywhere else"
    
    This reverts commit 68fe5f1dae1bb41183bb37eeda3fb453394a580c.
    
    make timeout counter volatile
    
    rename timeout function for improved clarity
    
    - resetting the twi interface on timeouts is now optional
    - timeouts in the ISR are no longer hardcoded and now obey the set timeout value
    - a user-readable flag is now set whenever a timeout occurs
      - the user can clear this flag whenever they like
    deea9293
Wire.cpp 9.18 KB