Issue understanding/following the schematic


#1

I have got the TimerLed demo running which makes a LED blink. Unfortunately the LED is unmarked so it is not possible to locate it on the schematic. I have therefore attempted to probe all the connection points that should allow debug access (CN600, CN601, CN602, CN401) but none of these points have an output that reflects that of the blinking LED. If someone could please provide some help because I cant seem to get the code to match up with the schematics.

Also it would be great if in future iterations of the mangOH boards a GND post is provided easy access for alligator clips. This simple addition would make probing a lot simpler as I would not need to try find a GND point to clip onto that wont damage anything.

Thanks
Kas


#2

Hi Kas,

It’s not entirely obvious, but looking at the timerLed.adef file should give some clues.

bindings:
{
    timerLed.timerLedComponent.mangoh_ledGpio -> gpioExpanderService.mangoh_gpioExp1Pin5
}

Now, to find the LED, look for I/O_5 on GPIO Expander#1 (Sheet 9 on schematic). This connects to the signal connect_to_AV_LED. Trace this signal back to the A2 input pin of U702 (on Sheet 7), which drives the output pin B2. The LED you’re after is D760.

D760 is located to the left of SW200 (behind the reset switch). The location can be found by looking in the mangOH Green User Guide on page 30 and 31.

Cheers,
Raf


#3

Hello @Raf,

What I’m understanding here is that all of these GPIOs are controlled via I2C and are not actual GPIOs on the Sierra module. Is this correct ?

Kas


#4

Hi Kas,

Please go through the user guide & developer guide to get a better understanding:
http://mangoh.io/documentation/user-developer-guide.html

Regards,
Ashish


#5

I have read through all available documentation before starting with the mangOH, but I am finding it a bit confusing trying to keep track of so much information across three documents (about 130 pages of information) as well as through the code (which is missing instructional comments or explanation of what each demo does).

I have since traced the I2C lines that control the GPIO expander and noticed that the SCl and SDA lines should break out at CN602 pins 9 and 11. Unfortunately when I put a scope to both of these points (or to any of the CN602, CN600, CN601 or CN401) there is no visible signal. All the lines are either steady high or low. There is no semblance of a clock or data stream.

Kas


#6

Hi Kas,

Did you have the scope on the SDA/SCL lines as you pressed the button to toggle the LED? Because of the way I2C works, the SDA/SCL lines will be high in times where the master has no data to send.


#7

[quote=“Kas.Lewis, post:5, topic:288”]
I have since traced the I2C lines that control the GPIO expander and noticed that the SCl and SDA lines should break out at CN602 pins 9 and 11. Unfortunately when I put a scope to both of these points (or to any of the CN602, CN600, CN601 or CN401) there is no visible signal. All the lines are either steady high or low. There is no semblance of a clock or data stream.

Hi Kas,

You should see data on pin 9 and 11.
In your scenario, I2C clock & data are not moving when there is no data.

https://www.lammertbies.nl/comm/info/I2C-bus.html

“When idle, the SDA and SCL lines are pulled up to the supply voltage with a pull-up resistor.”

You will need to trigger your scope properly to capture this one byte of data that you are sending. Or you can write a different I2C test app, to capture the I2C line moving.

regards,
Ashish