machine.I2C and pyb.I2C give very different scan results
machine.I2C and pyb.I2C give very different scan results
I'm trying to use machine.I2C on a PyBoard, but I'm getting some interesting results when scanning the bus for devices. I have a number of devices attached. Using pyb.I2C and the default settings for I2C, I get: [39, 44, 72, 73, 90]. When I try this with machine.I2C, I only see a subset of those devices: [39, 72, 90]. Am I missing something obvious here?
Re: machine.I2C and pyb.I2C give very different scan results
I should also share code version info:
MicroPython v1.8.4-40-g7ea3fa2-dirty on 2016-09-20; PYBv1.0 with STM32F405RG
MicroPython v1.8.4-40-g7ea3fa2-dirty on 2016-09-20; PYBv1.0 with STM32F405RG
Re: machine.I2C and pyb.I2C give very different scan results
Weird.
It looks like machine.I2C on the pyboard is using SW I2C and pyb.I2C is using HW I2C
It looks like machine.I2C on the pyboard is using SW I2C and pyb.I2C is using HW I2C
Re: machine.I2C and pyb.I2C give very different scan results
Do you have any idea about what is different in the devices you don't see?
Re: machine.I2C and pyb.I2C give very different scan results
Not sure about the differences in devices. I'll need to double check data sheets about clocks and such. My next debugging steps is to break out a logic analyser to compare the two scans. I'll post again with results.
Re: machine.I2C and pyb.I2C give very different scan results
I opened an issue in github: github.com/micropython/micropython/issues/2449
It would be good to know which ICs are the ones which are responding differently.
It would be good to know which ICs are the ones which are responding differently.