Hi William,

I've thought about adding this to the hw versions too. I decided at the
time it was too much work... I'm not sure we had all the required info of
the pins at the time, and it would take quite some effort to verify it
actually works on different devices...

Ir would be great if anyone would take up this effort. I2c_reset would be
second best ;)

Joep

Op vrijdag 28 maart 2014 heeft William <[email protected]> het volgende
geschreven:

> Hi Joep,
>
> Yes, I like the way i2c_software's initialize function works -- it solves
> the problem.  But it seems to me, that the 'hardware' version (inside the
> picmicro controller itself), should have also dealt with this.
>
> Since the hardware doesn't seem to fix this automatically, if there is any
> interest, perhaps we could add this feature into i2c_hardware.jal.  Until
> then, having a separate i2c_reset.jal works well enough for me.
>
> thank you,
>
> William
>
>
> On Friday, March 28, 2014 1:56:15 PM UTC-5, Joep wrote:
>>
>> Hi William, Eur,
>>
>> When the master is reset while receiving data from a slave, this
>> particular slave remains active and might keep the clock line low (which is
>> allowed and usefull).
>>
>> Resetting the master does not solve this, but there is a sequence
>> (described in an atmel AN, iirc) that clears the bus. I've added this to
>> i2c_initialize() and you could try and use it with i2c hardware too. Note
>> that it might not easy to have the peripheral create this pulse sequence
>> and different peripherals might respond differently as a result of their
>> internal state machine configuration. So my advise is to toggle the lines
>> before you activate the peripheral.
>>
>> So, nothing wrong with i2c hardware, just a bit more functionality in i2c
>> software ;)
>>
>> Regards,
>> Joep
>>
>>
>> 2014-03-28 19:18 GMT+01:00 Eur van Andel <[email protected]>:
>>
>>> On 28 mrt. 2014, at 18:52, William <[email protected]> wrote:
>>> >
>>> > SDA is 'stuck' low.
>>>
>>> I had the exact same problem. If you read fiw_7.jal, you see that I
>>> reset the I2C bus when it is low.
>>>
>>>
>>> > However, when using i2c_software.jal, its version of i2c_initialize()
>>> will reset/clear away the problem.
>>>
>>> This initializing does not work with the hardware version?
>>>
>>> > What I am doing wrong with i2c_hardware.jal?
>>>
>>> I was hoping you would answer that.
>>>
>>> I'm not in my lab, I'm working on the winding machine. I will check your
>>> software later and see if I can replicate it on the new board.
>>>
>>>
>>>
>>>
>>> Sent from my iPhone
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "jallib" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> To post to this group, send email to [email protected].
>>> Visit this group at http://groups.google.com/group/jallib.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>>
>>  --
> You received this message because you are subscribed to the Google Groups
> "jallib" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to 
> [email protected]<javascript:_e(%7B%7D,'cvml','jallib%[email protected]');>
> .
> To post to this group, send email to 
> [email protected]<javascript:_e(%7B%7D,'cvml','[email protected]');>
> .
> Visit this group at http://groups.google.com/group/jallib.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"jallib" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/jallib.
For more options, visit https://groups.google.com/d/optout.

Reply via email to