ARMmbed / ARMmbed/ci-test-shield

Large number of failures a result of trying to test/use too many pins

Open
#79 1 comment 1 reaction 0 assignees View on GitHub
Dominant language
C++
Stars
9
Forks
33
PR merge metrics
No merged PRs in 30d

Description

I've been testing many platforms lately...with lots of failures.

A common issue is that not all platforms connect each pin on the Arduino header.

For example, LPC546XX doesn't have D6, D7, A4, A5 connected by default.

If I want to pass tests that relay on D6, D7, A4, A5, as digital outs (e.g. Bus tests) then I have to find surrogate pins to fly-wire to those locations.

The problem is that all other pins are taken!
D2-D9 (Digital, bus , interrupt tests)
D10-D13(SPI, bus tests)
D14-D15 (I2C, bus tests)
A0-A3(Digital, Analog, Bus tests)

If the tests attempted to test less pins, say just 2-3 per peripheral type, then there would be a higher chance of finding alternate pins to wire in.

My guess is that we would find 95% of issues by just testing two pins of each type.

This would reduce the complexity, make this project much more stable, and widely used.

The only drawback I can see is that we wouldn't be catching and highlighting deviations from the Arduiono standard, but honestly, I don't think that is the job of Mbed OS.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by locating the digital, analog, bus, interrupt, SPI, and I2C tests and cataloging which Arduino header pins each one requires. Compare that usage with the LPC546XX pins available by default, then define a reduced two- or three-pin-per-peripheral test plan. Done means the tests retain representative coverage while allowing platforms with unconnected header pins to run successfully.

Written by the indexing model from the issue text.

Assessment

Tech stack
arduino, cpp
Domain
embedded-iot, testing-qa
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.