Skip to content

Remove ticker interface initialization while Ticker creation. #6076

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

Conversation

mprse
Copy link
Contributor

@mprse mprse commented Feb 13, 2018

Description

Ticker constructor calls directly target specific ticker init function. Currently there is no problem, since ticker interface initialization functions are protected against multi-calls and simply returns if not called for the first time (interface initialization can be performed only once). According to the new Thicker HAL API requirements:

The function ticker_init allows the ticker to keep counting and disables the ticker interrupt.

Disabling interrupts while some Ticker interrupts are already scheduled for sure will destroy the schedule. Ticker interface should be initialized only here:

ticker->interface->init();

This function is protected against multi-calls and ensures that ticker interface will be initialized only once.

Status

READY

Migrations

NO

Related PRs

List related PRs against other branches:

branch PR
ARMmbed:feature-hal-spec-ticker https://github.com/ARMmbed/mbed-os/pull/6052
ARMmbed:feature-hal-spec-ticker https://github.com/ARMmbed/mbed-os/pull/5629

Ticker constructor calls directly target specific ticker init function. Currently there is no problem, since ticker interface initialization functions are protected against multi-calls and simply returns if not called for the first time (interface initialization can be performed only once). According to the new Thicker HAL API requirements:
The function ticker_init allows the ticker to keep counting and disables the ticker interrupt.

Disabling interrupts while some Ticker interrupts are already scheduled for sure will destroy the schedule. Ticker interface should be initialized only once and it is already done by: static void initialize(const ticker_data_t *ticker) function in /m-bed/hal/mbed_ticker_api.c file.
@0xc0170
Copy link
Contributor

0xc0170 commented Feb 13, 2018

destination branch master rather than quoted ticker feature branch?

@mprse
Copy link
Contributor Author

mprse commented Feb 13, 2018

destination branch master rather than quoted ticker feature branch?

I think that this one can go on master since new version of the mbed ticker hal API is also on master (/m-bed/hal/mbed_ticker_api.c).

@0xc0170
Copy link
Contributor

0xc0170 commented Feb 13, 2018

/morph build

@mbed-ci
Copy link

mbed-ci commented Feb 13, 2018

Build : SUCCESS

Build number : 1124
Build artifacts/logs : http://mbed-os.s3-website-eu-west-1.amazonaws.com/?prefix=builds/6076/

Triggering tests

/morph test
/morph uvisor-test
/morph export-build

@mbed-ci
Copy link

mbed-ci commented Feb 13, 2018

@mbed-ci
Copy link

mbed-ci commented Feb 13, 2018

@mprse
Copy link
Contributor Author

mprse commented Feb 19, 2018

@bulislaw @c1728p9 ping for review.

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.

5 participants