Skip to content

Added error checking to can_filter() for Classic CAN #13401

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

Merged
merged 1 commit into from
Aug 11, 2020
Merged

Added error checking to can_filter() for Classic CAN #13401

merged 1 commit into from
Aug 11, 2020

Conversation

GewoonMaarten
Copy link
Contributor

Summary of changes

Previously the function always returned 1 even when the configuration was illegal. I added a small check to HAL_CAN_ConfigFilter(...).

Impact of changes

Very small impact. The function was already pretty robust, but I felt that always returning 1 wasn't very nice.

Documentation


Pull request type

[x] Patch update (Bug fix / Target update / Docs update / Test update / Refactor)
[] Feature update (New feature / Functionality change / New API)
[] Major update (Breaking change E.g. Return code change / API behaviour change)

Test results

[] No Tests required for this change (E.g docs only update)
[x] Covered by existing mbed-os tests (Greentea or Unittest)
[] Tests / results supplied as part of this PR

Previously the function always returned 1 even when the configuration was illegal. I added a small check to HAL_CAN_ConfigFilter(...).
@ciarmcom ciarmcom added the release-type: patch Indentifies a PR as containing just a patch label Aug 8, 2020
@ciarmcom ciarmcom requested a review from a team August 8, 2020 23:00
@ciarmcom
Copy link
Member

ciarmcom commented Aug 8, 2020

@GewoonMaarten, thank you for your changes.
@ARMmbed/mbed-os-maintainers please review.

@jeromecoutant
Copy link
Collaborator

Hi @GewoonMaarten

Do you have a real CAN setup working with that patch ?

@mergify mergify bot added needs: CI and removed needs: review labels Aug 10, 2020
@GewoonMaarten
Copy link
Contributor Author

@jeromecoutant Yes, I have two NUCLEO-L432KC boards connected via a diode CAN bus. I have this function which gets called at the beginning of the main function.

CAN can(CAN_RX_PIN, CAN_TX_PIN);
void configure_can_bus()
{
  printf("configure_can_bus()\n");

  can.frequency(CAN_FREQUENCY);
  can.mode(CAN::Normal);
  
  if (!can.filter(NODE_ID, NODE_MASK, CANStandard, 0))
  {
    printf("[ERROR] can.filter() error\n");
    return;
  }
}

@0xc0170
Copy link
Contributor

0xc0170 commented Aug 11, 2020

CI started

@mbed-ci
Copy link

mbed-ci commented Aug 11, 2020

Jenkins CI Test : ✔️ SUCCESS

Build Number: 1 | 🔒 Jenkins CI Job | 🌐 Logs & Artifacts

CLICK for Detailed Summary

jobs Status
jenkins-ci/mbed-os-ci_unittests ✔️
jenkins-ci/mbed-os-ci_build-ARM ✔️
jenkins-ci/mbed-os-ci_build-GCC_ARM ✔️
jenkins-ci/mbed-os-ci_greentea-test ✔️
jenkins-ci/mbed-os-ci_dynamic-memory-usage ✔️
jenkins-ci/mbed-os-ci_cloud-client-pytest ✔️

@0xc0170 0xc0170 merged commit 6b6512b into ARMmbed:master Aug 11, 2020
@mergify mergify bot removed the ready for merge label Aug 11, 2020
@mbedmain mbedmain added release-version: 6.2.1 Release-pending and removed release-type: patch Indentifies a PR as containing just a patch Release-pending labels Aug 16, 2020
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.

6 participants