|
From: | Gautier Hattenberger |
Subject: | [Paparazzi-devel] I2c driver |
Date: | Mon, 14 Mar 2011 19:01:20 +0100 |
User-agent: | Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.13) Gecko/20101208 Thunderbird/3.1.7 |
Hello all (especially developers), Here are some modifications to the i2c driver for lpc21 :- I removed the flag stop_after_transmit that was created for a bad reason, that wasn't used anymore and was a source of errors (the flag was not set correctly in the asctec driver and it was sending crap). The default and only behavior is now to send a stop after the transmit. - When the slave is not responding (master get NACK on receive or transmit request), the transaction is set to fail (I2CTransFailed). If you check the state of your transaction for success (I2CTransSuccess), don't forget to also check for failure and take the appropriate action (skip or retry). FYI, the previous behavior was to retry the transaction until the slave respond, thus monopolizing the i2c line. This "feature" actually made the asctec driver works by some black magic...
Gautier
[Prev in Thread] | Current Thread | [Next in Thread] |