Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix ci shield eeprom test #3430

Merged
merged 4 commits into from
Dec 19, 2016
Merged

Conversation

LMESTM
Copy link
Contributor

@LMESTM LMESTM commented Dec 12, 2016

Description

With ci test shiled tests, a few issues were faced and needed to be solved

  • the reference I2C test makes a mixed usage for unitary MBED APIs (start / stop / send & read bytes) and more advanced read and write APIs which autonomously manage start and stop. The code needed update to cope with this API use.
  • also the eeprom driver checks if eeprom is ready by sending data of length = 0, the STM32 HAL provides a dedicated API for such case which we're using now

This allows to have the I2C eeprom test to pass on F1, F2, F4 and L1 families.

Other families have not passed the tests yet - further work is needed as they embed a different I2C IP version - this will be done in a later PR.

Status

READY

+-------------------+---------------+---------------+------------------------------------+--------+--------+--------+--------------------+
| target | platform_name | test suite | test case | passed | failed | result | elapsed_time (sec) |
+-------------------+---------------+---------------+------------------------------------+--------+--------+--------+--------------------+
| NUCLEO_F103RB-ARM | NUCLEO_F103RB | tests-api-i2c | I2C - EEProm WR 10 Bytes | 1 | 0 | OK | 0.06 |
| NUCLEO_F103RB-ARM | NUCLEO_F103RB | tests-api-i2c | I2C - EEProm WR 100 Bytes | 1 | 0 | OK | 0.08 |
| NUCLEO_F103RB-ARM | NUCLEO_F103RB | tests-api-i2c | I2C - EEProm WR 2 Bytes | 1 | 0 | OK | 0.05 |
| NUCLEO_F103RB-ARM | NUCLEO_F103RB | tests-api-i2c | I2C - EEProm WR Single Byte | 1 | 0 | OK | 0.07 |
| NUCLEO_F103RB-ARM | NUCLEO_F103RB | tests-api-i2c | I2C - Instantiation of I2C Object | 1 | 0 | OK | 0.07 |
| NUCLEO_F103RB-ARM | NUCLEO_F103RB | tests-api-i2c | I2C - LM75B Temperature Read | 1 | 0 | OK | 0.06 |
+-------------------+---------------+---------------+------------------------------------+--------+--------+--------+--------------------+

+-------------------+---------------+---------------+------------------------------------+--------+--------+--------+--------------------+
| target | platform_name | test suite | test case | passed | failed | result | elapsed_time (sec) |
+-------------------+---------------+---------------+------------------------------------+--------+--------+--------+--------------------+
| NUCLEO_F207ZG-ARM | NUCLEO_F207ZG | tests-api-i2c | I2C - EEProm WR 10 Bytes | 1 | 0 | OK | 0.07 |
| NUCLEO_F207ZG-ARM | NUCLEO_F207ZG | tests-api-i2c | I2C - EEProm WR 100 Bytes | 1 | 0 | OK | 0.05 |
| NUCLEO_F207ZG-ARM | NUCLEO_F207ZG | tests-api-i2c | I2C - EEProm WR 2 Bytes | 1 | 0 | OK | 0.07 |
| NUCLEO_F207ZG-ARM | NUCLEO_F207ZG | tests-api-i2c | I2C - EEProm WR Single Byte | 1 | 0 | OK | 0.06 |
| NUCLEO_F207ZG-ARM | NUCLEO_F207ZG | tests-api-i2c | I2C - Instantiation of I2C Object | 1 | 0 | OK | 0.06 |
| NUCLEO_F207ZG-ARM | NUCLEO_F207ZG | tests-api-i2c | I2C - LM75B Temperature Read | 1 | 0 | OK | 0.07 |
+-------------------+---------------+---------------+------------------------------------+--------+--------+--------+--------------------+

+-------------------+---------------+---------------+------------------------------------+--------+--------+--------+--------------------+
| target | platform_name | test suite | test case | passed | failed | result | elapsed_time (sec) |
+-------------------+---------------+---------------+------------------------------------+--------+--------+--------+--------------------+
| NUCLEO_L152RE-ARM | NUCLEO_L152RE | tests-api-i2c | I2C - EEProm WR 10 Bytes | 1 | 0 | OK | 0.07 |
| NUCLEO_L152RE-ARM | NUCLEO_L152RE | tests-api-i2c | I2C - EEProm WR 100 Bytes | 1 | 0 | OK | 0.08 |
| NUCLEO_L152RE-ARM | NUCLEO_L152RE | tests-api-i2c | I2C - EEProm WR 2 Bytes | 1 | 0 | OK | 0.06 |
| NUCLEO_L152RE-ARM | NUCLEO_L152RE | tests-api-i2c | I2C - EEProm WR Single Byte | 1 | 0 | OK | 0.06 |
| NUCLEO_L152RE-ARM | NUCLEO_L152RE | tests-api-i2c | I2C - Instantiation of I2C Object | 1 | 0 | OK | 0.06 |
| NUCLEO_L152RE-ARM | NUCLEO_L152RE | tests-api-i2c | I2C - LM75B Temperature Read | 1 | 0 | OK | 0.05 |
+-------------------+---------------+---------------+------------------------------------+--------+--------+--------+--------------------+

+-------------------+---------------+---------------+------------------------------------+--------+--------+--------+--------------------+
| target | platform_name | test suite | test case | passed | failed | result | elapsed_time (sec) |
+-------------------+---------------+---------------+------------------------------------+--------+--------+--------+--------------------+
| NUCLEO_F446ZE-ARM | NUCLEO_F446ZE | tests-api-i2c | I2C - EEProm WR 10 Bytes | 1 | 0 | OK | 0.07 |
| NUCLEO_F446ZE-ARM | NUCLEO_F446ZE | tests-api-i2c | I2C - EEProm WR 100 Bytes | 1 | 0 | OK | 0.06 |
| NUCLEO_F446ZE-ARM | NUCLEO_F446ZE | tests-api-i2c | I2C - EEProm WR 2 Bytes | 1 | 0 | OK | 0.06 |
| NUCLEO_F446ZE-ARM | NUCLEO_F446ZE | tests-api-i2c | I2C - EEProm WR Single Byte | 1 | 0 | OK | 0.06 |
| NUCLEO_F446ZE-ARM | NUCLEO_F446ZE | tests-api-i2c | I2C - Instantiation of I2C Object | 1 | 0 | OK | 0.06 |
| NUCLEO_F446ZE-ARM | NUCLEO_F446ZE | tests-api-i2c | I2C - LM75B Temperature Read | 1 | 0 | OK | 0.06 |
+-------------------+---------------+---------------+------------------------------------+--------+--------+--------+--------------------+

@bridadan
Copy link
Contributor

Could you please take a look @0xc0170?

/morph test

@bridadan
Copy link
Contributor

@mbed-bot: TEST

HOST_OSES=ALL
BUILD_TOOLCHAINS=ALL
TARGETS=ALL

@mbed-bot
Copy link

Result: SUCCESS

Your command has finished executing! Here's what you wrote!

/morph test

Output

mbed Build Number: 1254

All builds and test passed!

@mbed-bot
Copy link

[Build 1164]
FAILURE: Something went wrong when building and testing.

@bridadan
Copy link
Contributor

The continuous-integration/mbedci job failed due to a CI machine failure. Restarting the job now

@mbed-bot: TEST

HOST_OSES=ALL
BUILD_TOOLCHAINS=ALL
TARGETS=ALL

@mbed-bot
Copy link

[Build 1165]
FAILURE: Something went wrong when building and testing.

@bridadan
Copy link
Contributor

@mbed-bot: TEST

HOST_OSES=ALL
BUILD_TOOLCHAINS=ALL
TARGETS=ALL

@mbed-bot
Copy link

[Build 1166]
FAILURE: Something went wrong when building and testing.

@bridadan
Copy link
Contributor

Failure was due to a K64F being knocked out by DAPLink testing, oops! Everything else looked OK, rerunnng just the K64F now.

@mbed-bot: TEST

HOST_OSES=ALL
BUILD_TOOLCHAINS=ALL
TARGETS=K64F

@mbed-bot
Copy link

[Build 1167]
FAILURE: Something went wrong when building and testing.

@BlackstoneEngineering
Copy link
Contributor

#citestshieldforthewin

@0xc0170
Copy link
Contributor

0xc0170 commented Dec 13, 2016

@mbed-bot: TEST

HOST_OSES=ALL
BUILD_TOOLCHAINS=ALL
TARGETS=K64F

@mbed-bot
Copy link

[Build 1169]
SUCCESS: Building succeeded and tests were run! Be sure to check the test results

@LMESTM LMESTM mentioned this pull request Dec 14, 2016
@sg-
Copy link
Contributor

sg- commented Dec 15, 2016

@LMESTM Can you resolve the conflict? thx!

just change the place of code to have i2c_read and i2c_write together
Some device drivers use a data lenght of 0 to check if device is ready.
STM32 HAL provides a dedicated service for that, so let's use it.
In continuation of previous IsDeviceReady case, let's
add 1 in case length is 0 (even though not recommended)
In case the user applicaiton makes a mixed usage of unitary function
(start, stop, byte write & read) with SYNC operation (write and read of
data buffers with start and stop management), we need to reset the
STM32 HAL state as it is by-passed by a direct call to STOP
@LMESTM
Copy link
Contributor Author

LMESTM commented Dec 16, 2016

@sg- Rebase done

@bridadan
Copy link
Contributor

/morph test

@mbed-bot
Copy link

Result: SUCCESS

Your command has finished executing! Here's what you wrote!

/morph test

Output

mbed Build Number: 1282

All builds and test passed!

@adbridge adbridge merged commit 1219f88 into ARMmbed:master Dec 19, 2016
@LMESTM LMESTM deleted the fix_ci_shield_eeprom_test branch February 27, 2017 10:21
aisair pushed a commit to aisair/mbed that referenced this pull request Apr 30, 2024
Ports for Upcoming Targets

3459: Target: Add new target UBLOX_EVK_NINA_B1 ARMmbed/mbed-os#3459

Fixes and Changes

3430: Fix ci shield eeprom test ARMmbed/mbed-os#3430
3381: STM32F1 : map ST HAL assert into MBED assert ARMmbed/mbed-os#3381
3389: STM32F2 : map ST HAL assert into MBED assert ARMmbed/mbed-os#3389
3390: STM32F3 : map ST HAL assert into MBED assert ARMmbed/mbed-os#3390
3410: STM32L4 : map ST HAL assert into MBED assert ARMmbed/mbed-os#3410
3422: Enable CAN on DISCO_F303VC ARMmbed/mbed-os#3422
3442: Dev stm i2c f1 ARMmbed/mbed-os#3442
3460: KSDK I2C: Update the return value to match the API documentation change ARMmbed/mbed-os#3460
3472: [RZ/A1H]Fix TTB setting of RO_DATA area ARMmbed/mbed-os#3472
3451: Rename KSDK2 to MCUXpresso. This is the new name of this package ARMmbed/mbed-os#3451
3391: STM32F4 : map ST HAL assert into MBED assert ARMmbed/mbed-os#3391
3454: STM32: Refactor lp_ticker.c + rtc_api.c + sleep.c + rtc_api_hal.h files  ARMmbed/mbed-os#3454
3489: NUCLEO_F103RB - Correct CAN and PWM alternate-functions ARMmbed/mbed-os#3489
3405: Repair the transmit mailbox (0,1,2) empty interrupt flag not clear BUG ARMmbed/mbed-os#3405
3502: MCUXpresso I2C: Handle 0 byte write ARMmbed/mbed-os#3502
3365: [NUC472/M453] Support USB device ARMmbed/mbed-os#3365
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants