Oh, and "undefined" referred to the speed setting not being one of the 
valid options, i.e. not 4, 10, or 255.

On Monday, March 2, 2026 at 3:16:20 PM UTC-5 Mike wrote:

> Hi Rob,
>
> The PIC that I used, the 12F1840, has an on-chip Phased Locked Loop and it 
> can be enabled in the Configuration Word (what I called the Hardware 
> setting) or by setting the appropriate bit in the OSCCON register (what I 
> called the Software setting).  I tested both ways in case there was some 
> silicon bug.
>
> The I2C device that I used is a 128x32 OLED display, which I've previously 
> used with a different microcontroller (not PIC), and running the I2C clock 
> at more than 20MHz.
>
> The 12F1840 does indeed have hardware I2C functionality, but I was 
> deliberately testing the I2C Software library to see if "speed=255" was 
> feasible at reasonable PIC oscillator speeds.
>
> Regards,
> Mike
>
> On Monday, March 2, 2026 at 12:30:32 PM UTC-5 Rob CJ wrote:
>
>> Hi Mike,
>>
>> Some questions. What does PLL HW/SW mean and what does undefined mean?
>>
>> The speed also depends on the speed of I2C device. If things go too fast, 
>> it might apply clock stretching to slow down the I2C host. Do you know if 
>> that is the case?
>>
>> And would or high speeds I2C hardware be an option?
>>
>> Kind regards,
>>
>> Rob
>>
>> ------------------------------
>> *Van:* 'Mike' via jallib <[email protected]>
>> *Verzonden:* zondag 1 maart 2026 16:20
>>
>> *Aan:* jallib <[email protected]>
>> *Onderwerp:* Re: [jallib] Re: I2C software library request
>> Here's some Sunday morning testing trivia.  I was surprised how slow 
>> everything was.
>> All testing was done on a 12F1840, since it is software selectable up to 
>> 32MHz.
>>
>> [image: Screenshot from 2026-03-01 10-13-42.png]
>>
>> On Sunday, March 1, 2026 at 3:33:48 AM UTC-5 Rob CJ wrote:
>>
>> Hi Mike,
>>
>> Thanks for testing. I added the update to Github. I saw that the bee 
>> package was already made so it will be in the next version.
>>
>> Kind regards,
>>
>> Rob
>>
>> ------------------------------
>> *Van:* 'Mike' via jallib <[email protected]>
>> *Verzonden:* zaterdag 28 februari 2026 23:14
>> *Aan:* jallib <[email protected]>
>> *Onderwerp:* Re: [jallib] Re: I2C software library request 
>>  
>> Hi Rob,
>>
>> I tested the "no delay" speed setting on a 12F683 running on the 8MHz 
>> internal oscillator and connected to a 128x32 I2C OLED display and it 
>> worked just fine.  I'll try faster (crystals) at some point, as well as the 
>> 32MHz internal oscillator of the 12F1840 and 16F1825 that I know I have.
>>
>> Regards,
>> Mike
>>
>>
>> On Saturday, February 28, 2026 at 11:18:12 AM UTC-5 Rob CJ wrote:
>>
>> Hi Mike,
>>
>> Seems like a good addtion. I updated the library with your suggestion. If 
>> you are OK with it, I will add it to Jallib.
>>
>> I also added some extra info about the bus speeds.
>>
>> Kind regards,
>>
>> Rob
>>
>> ------------------------------
>> *Van:* 'Mike' via jallib <[email protected]>
>> *Verzonden:* zaterdag 28 februari 2026 16:56
>> *Aan:* jallib <[email protected]>
>> *Onderwerp:* [jallib] Re: I2C software library request 
>>  
>> The code should have been this:
>>
>> procedure  _i2c_wait() is
>>    
>>    if i2c_bus_speed == 255 then
>>       return
>>    elsif _i2c_bus_speed == 10 then 
>>       ; i2c_1MHz
>>       delay_1us()
>>       return
>>    elsif _i2c_bus_speed == 4  then 
>>       ; i2c_400kHz
>>       delay_2us()
>>       return
>>    else                           
>>       ; i2c_100kHz
>>       delay_5us()
>>       return
>>    end if
>>    
>> end procedure
>>
>> On Saturday, February 28, 2026 at 10:51:01 AM UTC-5 Mike wrote:
>>
>> The current I2C software library supports three speeds: 1MHz, 400kHz, and 
>> 100kHz.  But many aftermarket I2C devices can go much faster than that, 
>> such as the small OLED displays.
>>
>> Long ago I modified my local copy of the library to support an 
>> "unlimited" speed and I'm asking that this option be added to jallib.  See 
>> below.
>>
>> Regards,
>> Mike
>>
>> procedure  _i2c_wait() is
>>    
>>    if i2c_bus_speed == 255 then
>>       return
>>    if _i2c_bus_speed == 10 then 
>>       ; i2c_1MHz
>>       delay_1us()
>>       return
>>    elsif _i2c_bus_speed == 4  then 
>>       ; i2c_400kHz
>>       delay_2us()
>>       return
>>    else                           
>>       ; i2c_100kHz
>>       delay_5us()
>>       return
>>    end if
>>    
>> end procedure
>>
>> -- 
>> 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 view this discussion visit 
>> https://groups.google.com/d/msgid/jallib/5a402fef-1c22-4228-8d65-9caf569c4346n%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/jallib/5a402fef-1c22-4228-8d65-9caf569c4346n%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>> -- 
>> 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 view this discussion visit 
>> https://groups.google.com/d/msgid/jallib/5c386650-0eb8-4b9d-ba00-333ca4fee698n%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/jallib/5c386650-0eb8-4b9d-ba00-333ca4fee698n%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>> -- 
>> 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 view this discussion visit 
>> https://groups.google.com/d/msgid/jallib/0eca8088-1242-4390-b996-b5169a4b25a2n%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/jallib/0eca8088-1242-4390-b996-b5169a4b25a2n%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
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 view this discussion visit 
https://groups.google.com/d/msgid/jallib/fb673cfd-32fa-41ec-8a6c-6cc1aecc983fn%40googlegroups.com.

Reply via email to