Skip to content

Intended project structure #2335

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

Closed
javier-moreno-tridonic-com opened this issue Aug 2, 2016 · 9 comments
Closed

Intended project structure #2335

javier-moreno-tridonic-com opened this issue Aug 2, 2016 · 9 comments

Comments

@javier-moreno-tridonic-com
Copy link
Contributor

Hi there,

We are doing our first attempt to port our current software to mbed5. The way we understood it, the new configuration would allow us to configure a new target per final product that could inherit from the platform target.

The initial idea was to translate all our old private yotta modules with different functionalities into "FEATURE_" folders. This way we could select the appropriate features for our different targets in the targets.json. Allowing us to fit everything (mbed5 + a bunch of own features) in one custom repository (reducing the overhead of maintaining and releasing).

For that approach to work, I had to modify the following code in /mbed-os/tools/config.py

 # Allowed features in configurations
    __allowed_features = [
        "UVISOR", "BLE", "CLIENT", "IPV4", "IPV6", "COMMON_PAL", "STORAGE", "LOGGER"
    ]

Where "FEATURE_LOGGER" is just a dummy feature that I'm using to test this concept. The fact that I needed to do such change makes me think that this is not the intended way to add custom functionality to mbed5. What is then the intended project structure?

@MarceloSalazar @markus-becker-tridonic-com

@javier-moreno-tridonic-com
Copy link
Contributor Author

Also could be interesting that features define macros (e.g. #define MBED_FEATURE_IPV4) this way we could differentiate with #ifdef directives when necessary.

@ciarmcom
Copy link
Member

ciarmcom commented Aug 2, 2016

ARM Internal Ref: IOTMORF-359

@markus-becker-tridonic-com

@MarceloSalazar

@MarceloSalazar
Copy link

@bogdanm could you please have a look to this?

@sg- sg- removed the mirrored label Aug 12, 2016
@MarceloSalazar
Copy link

@sg- @screamerbg could you please comment on this question?

@sg-
Copy link
Contributor

sg- commented Aug 17, 2016

Features are not intended to be used by anything outside the mbed OS tree.

@javier-moreno-tridonic-com
Copy link
Contributor Author

So is there a different way include different code modules based on the target? If not, is there anyone planned?

Is something that we would need and IMHO other people might find quite useful.

@sg-
Copy link
Contributor

sg- commented Aug 17, 2016

For now: Including code based on target has been done by scanning for extra_labels (TARGET_xxx). If a target emits labels, you can name folders to conditional include based on which is selected. Beware: as SDKs change or target code gets refactored these labels have also changed breaking people who rely on this. This doesn't happen often, I can site one or three occurrences over the last 3 years. We're working towards normalize this and better document the contract between the codebase and tools.

@markus-becker-tridonic-com

@javier-moreno-tridonic-com this works for us.

@sg- sg- closed this as completed Aug 18, 2016
artokin pushed a commit to artokin/mbed-os that referenced this issue Apr 3, 2020
…..89a497a

89a497a Merge branch 'release_internal' into release_external
c8cc660 Merge pull request ARMmbed#2336 from ARMmbed/sync_with_mbedos
ac5f369 MBEDTLS_SSL_EXPORT_KEYS added to Nanostack's tls_sec_prot_lib
6522a08 Added missing optimizations based on mbedtls/baremetal.h config
0e8739f Added new global rng, needed for MbedTLS optimisations
d5db37e Prepare for upcoming MbedTLS changes
4271a9d Merge pull request ARMmbed#2335 from ARMmbed/sync_with_mbedos
e2db6ff Fixed error of function 'mac_fcf_lenght'
28fc2a9 Fixed  error of structure
194e81b Fixed  spelling mistake of structure
00ea3fb Remove test files
d7f7cc5 Merge branch 'release_internal' into release_external
132cd12 Merge pull request ARMmbed#2333 from ARMmbed/sync_with_mbedos
550a78e Fix function spelling mistake in Thread
74c6024 Fix function spelling mistake in border_router.c
89830ec Fix function spelling mistake in iphc_decompress.c
1728ae1 Fix function spelling mistake in lowpan_context.c
ed5d253 Fix function spelling mistake in lowpan_context.h
ecbca0a Fixed typo 'thead' in thread_neighbor_class.h
071911b Changed nanostack API network size to be a range of values
4756be4 NEW API for Validation RX Unicast schedule channel.
0b48e5c Channel Mask update ,support for excluded Channels and FHSS API pdate
ead1ade Start sending PAS message after EAPOL parent TX fails.
8de473b Implemented 802.15.4 mode setting (ARMmbed#2328)
975b9e6 Added missing configuration api empty functions
f7db06e Added configuration storage (ARMmbed#2283)
e9561f0 Removed mbedTLS internal include file
fe812c3 Changed certificate error message wording to be less fatal
97aaf5f Add network property API to Nanostack (ARMmbed#2318)
cfd1a4d Fixed Route cost calculation
5094614 Added opeation mode validation for detect unsupported values.
44f85aa Enabled RPL candidate list filtering and only certificate setup accept without limit.
145c739 Wi-sun address registration trigger update
d492575 Modified ARO registrations timeouts from the address lifetime
b898f04 Removed Extra version number update at revocation start.
b9d1409 Wi-sun config message consustent filter
dcebff9 Use RPL parent soft filtering only after bootstrap.
523593e Fixed Broken new channel mask update.
a3bcc2d Removed the PAN version change requirement from routers
bc919d8 Merge pull request ARMmbed#2315 from ARMmbed/merge_release_internal_to_master

git-subtree-dir: features/nanostack/sal-stack-nanostack
git-subtree-split: 89a497a
artokin pushed a commit to artokin/mbed-os that referenced this issue Apr 16, 2020
…..cc03296

cc03296 Merge branch 'release_internal' into release_external
59397d1 Fixed Wi-SUN border router restart after settings change
8295a43 PAE authenticator TLS authentication limit based on dynamic value
2776cfe RPL config update not re-start whole BR again just increment version number and with new parameters.
bec4d48 Fixed FHSS testing now it follow configured channel count not a wi-sun configured Default.
b9cad9d Remove floating point literals from Thread code
423a48f RPL link etx validation update
89a497a Merge branch 'release_internal' into release_external
c8cc660 Merge pull request ARMmbed#2336 from ARMmbed/sync_with_mbedos
ac5f369 MBEDTLS_SSL_EXPORT_KEYS added to Nanostack's tls_sec_prot_lib
6522a08 Added missing optimizations based on mbedtls/baremetal.h config
0e8739f Added new global rng, needed for MbedTLS optimisations
d5db37e Prepare for upcoming MbedTLS changes
4271a9d Merge pull request ARMmbed#2335 from ARMmbed/sync_with_mbedos
e2db6ff Fixed error of function 'mac_fcf_lenght'
28fc2a9 Fixed  error of structure
194e81b Fixed  spelling mistake of structure
00ea3fb Remove test files
d7f7cc5 Merge branch 'release_internal' into release_external
132cd12 Merge pull request ARMmbed#2333 from ARMmbed/sync_with_mbedos
550a78e Fix function spelling mistake in Thread
74c6024 Fix function spelling mistake in border_router.c
89830ec Fix function spelling mistake in iphc_decompress.c
1728ae1 Fix function spelling mistake in lowpan_context.c
ed5d253 Fix function spelling mistake in lowpan_context.h
ecbca0a Fixed typo 'thead' in thread_neighbor_class.h
071911b Changed nanostack API network size to be a range of values
4756be4 NEW API for Validation RX Unicast schedule channel.
0b48e5c Channel Mask update ,support for excluded Channels and FHSS API pdate
ead1ade Start sending PAS message after EAPOL parent TX fails.
8de473b Implemented 802.15.4 mode setting (ARMmbed#2328)
975b9e6 Added missing configuration api empty functions
f7db06e Added configuration storage (ARMmbed#2283)
e9561f0 Removed mbedTLS internal include file
fe812c3 Changed certificate error message wording to be less fatal
97aaf5f Add network property API to Nanostack (ARMmbed#2318)
cfd1a4d Fixed Route cost calculation
5094614 Added opeation mode validation for detect unsupported values.
44f85aa Enabled RPL candidate list filtering and only certificate setup accept without limit.
145c739 Wi-sun address registration trigger update
d492575 Modified ARO registrations timeouts from the address lifetime
b898f04 Removed Extra version number update at revocation start.
b9d1409 Wi-sun config message consustent filter
dcebff9 Use RPL parent soft filtering only after bootstrap.
523593e Fixed Broken new channel mask update.
a3bcc2d Removed the PAN version change requirement from routers
bc919d8 Merge pull request ARMmbed#2315 from ARMmbed/merge_release_internal_to_master

git-subtree-dir: features/nanostack/sal-stack-nanostack
git-subtree-split: cc03296
artokin pushed a commit to artokin/mbed-os that referenced this issue Apr 16, 2020
…..cc03296

cc03296 Merge branch 'release_internal' into release_external
59397d1 Fixed Wi-SUN border router restart after settings change
8295a43 PAE authenticator TLS authentication limit based on dynamic value
2776cfe RPL config update not re-start whole BR again just increment version number and with new parameters.
bec4d48 Fixed FHSS testing now it follow configured channel count not a wi-sun configured Default.
b9cad9d Remove floating point literals from Thread code
423a48f RPL link etx validation update
89a497a Merge branch 'release_internal' into release_external
c8cc660 Merge pull request ARMmbed#2336 from ARMmbed/sync_with_mbedos
ac5f369 MBEDTLS_SSL_EXPORT_KEYS added to Nanostack's tls_sec_prot_lib
6522a08 Added missing optimizations based on mbedtls/baremetal.h config
0e8739f Added new global rng, needed for MbedTLS optimisations
d5db37e Prepare for upcoming MbedTLS changes
4271a9d Merge pull request ARMmbed#2335 from ARMmbed/sync_with_mbedos
e2db6ff Fixed error of function 'mac_fcf_lenght'
28fc2a9 Fixed  error of structure
194e81b Fixed  spelling mistake of structure
00ea3fb Remove test files
d7f7cc5 Merge branch 'release_internal' into release_external
132cd12 Merge pull request ARMmbed#2333 from ARMmbed/sync_with_mbedos
550a78e Fix function spelling mistake in Thread
74c6024 Fix function spelling mistake in border_router.c
89830ec Fix function spelling mistake in iphc_decompress.c
1728ae1 Fix function spelling mistake in lowpan_context.c
ed5d253 Fix function spelling mistake in lowpan_context.h
ecbca0a Fixed typo 'thead' in thread_neighbor_class.h
071911b Changed nanostack API network size to be a range of values
4756be4 NEW API for Validation RX Unicast schedule channel.
0b48e5c Channel Mask update ,support for excluded Channels and FHSS API pdate
ead1ade Start sending PAS message after EAPOL parent TX fails.
8de473b Implemented 802.15.4 mode setting (ARMmbed#2328)
975b9e6 Added missing configuration api empty functions
f7db06e Added configuration storage (ARMmbed#2283)
e9561f0 Removed mbedTLS internal include file
fe812c3 Changed certificate error message wording to be less fatal
97aaf5f Add network property API to Nanostack (ARMmbed#2318)
cfd1a4d Fixed Route cost calculation
5094614 Added opeation mode validation for detect unsupported values.
44f85aa Enabled RPL candidate list filtering and only certificate setup accept without limit.
145c739 Wi-sun address registration trigger update
d492575 Modified ARO registrations timeouts from the address lifetime
b898f04 Removed Extra version number update at revocation start.
b9d1409 Wi-sun config message consustent filter
dcebff9 Use RPL parent soft filtering only after bootstrap.
523593e Fixed Broken new channel mask update.
a3bcc2d Removed the PAN version change requirement from routers
bc919d8 Merge pull request ARMmbed#2315 from ARMmbed/merge_release_internal_to_master

git-subtree-dir: features/nanostack/sal-stack-nanostack
git-subtree-split: cc03296
artokin pushed a commit to artokin/mbed-os that referenced this issue Apr 16, 2020
…..cc03296

cc03296 Merge branch 'release_internal' into release_external
59397d1 Fixed Wi-SUN border router restart after settings change
8295a43 PAE authenticator TLS authentication limit based on dynamic value
2776cfe RPL config update not re-start whole BR again just increment version number and with new parameters.
bec4d48 Fixed FHSS testing now it follow configured channel count not a wi-sun configured Default.
b9cad9d Remove floating point literals from Thread code
423a48f RPL link etx validation update
89a497a Merge branch 'release_internal' into release_external
c8cc660 Merge pull request ARMmbed#2336 from ARMmbed/sync_with_mbedos
ac5f369 MBEDTLS_SSL_EXPORT_KEYS added to Nanostack's tls_sec_prot_lib
6522a08 Added missing optimizations based on mbedtls/baremetal.h config
0e8739f Added new global rng, needed for MbedTLS optimisations
d5db37e Prepare for upcoming MbedTLS changes
4271a9d Merge pull request ARMmbed#2335 from ARMmbed/sync_with_mbedos
e2db6ff Fixed error of function 'mac_fcf_lenght'
28fc2a9 Fixed  error of structure
194e81b Fixed  spelling mistake of structure
00ea3fb Remove test files
d7f7cc5 Merge branch 'release_internal' into release_external
132cd12 Merge pull request ARMmbed#2333 from ARMmbed/sync_with_mbedos
550a78e Fix function spelling mistake in Thread
74c6024 Fix function spelling mistake in border_router.c
89830ec Fix function spelling mistake in iphc_decompress.c
1728ae1 Fix function spelling mistake in lowpan_context.c
ed5d253 Fix function spelling mistake in lowpan_context.h
ecbca0a Fixed typo 'thead' in thread_neighbor_class.h
071911b Changed nanostack API network size to be a range of values
4756be4 NEW API for Validation RX Unicast schedule channel.
0b48e5c Channel Mask update ,support for excluded Channels and FHSS API pdate
ead1ade Start sending PAS message after EAPOL parent TX fails.
8de473b Implemented 802.15.4 mode setting (ARMmbed#2328)
975b9e6 Added missing configuration api empty functions
f7db06e Added configuration storage (ARMmbed#2283)
e9561f0 Removed mbedTLS internal include file
fe812c3 Changed certificate error message wording to be less fatal
97aaf5f Add network property API to Nanostack (ARMmbed#2318)
cfd1a4d Fixed Route cost calculation
5094614 Added opeation mode validation for detect unsupported values.
44f85aa Enabled RPL candidate list filtering and only certificate setup accept without limit.
145c739 Wi-sun address registration trigger update
d492575 Modified ARO registrations timeouts from the address lifetime
b898f04 Removed Extra version number update at revocation start.
b9d1409 Wi-sun config message consustent filter
dcebff9 Use RPL parent soft filtering only after bootstrap.
523593e Fixed Broken new channel mask update.
a3bcc2d Removed the PAN version change requirement from routers
bc919d8 Merge pull request ARMmbed#2315 from ARMmbed/merge_release_internal_to_master

git-subtree-dir: features/nanostack/sal-stack-nanostack
git-subtree-split: cc03296
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants