Hello Haoyang,

MODULE_* macros will be generated from the `USEMODULE` and `USEPKG` variables. [1]

Best,
Cenk

[1] https://github.com/RIOT-OS/RIOT/blob/master/Makefile.modules#L7

On 23.11.2015 04:01, Haoyang Yu wrote:
Hi Martine,

I understood the idea behind the concept. Thank you very much!

I came across a question about all the

#ifdef MODULE_XXXX_XXXX_XXX, just like #ifdef MODULE_GNRC_NDP_ROUTER, MODULE_GNRC_NDP

I have no idea where do the source code defined them, how was the name defined?

Thank you for your quick reply.

Cheers,
Haoyang


On Nov 18, 2015, at 18:08, Martine Lenders <[email protected] <mailto:[email protected]>> wrote:

Hi Haoyang,
pseaudo-modules are used to describe certain module configurations (and macro settings) in a way that is easy and convenient to use for a user. For example: Without reading a lot about how networking is working under the hoodit might not be immediately clear that for normal IPv6 communication you need NDP and thus ICMPv6. The module `gnrc_ipv6_default` provides a user with these modules without the requirement to know everything about our network stack, while an experienced user might want to choose to exclude NDP to optimize for size and configure the address resolution manually.

If gnrc_netif_default pulls in 6LoWPAN without the presence of IPv6 this is definitely an error of the dependencies. I will look into it tomorrow.

Good night (from Berlin),
Martine

Am 18.11.2015 22:26 schrieb "Haoyang Yu" <[email protected] <mailto:[email protected]>>:

    Hello Martine,

    Thanks for you answer, right now I fully understand how it works.
    But why do we need Pseudo-modules? Can we use other
    modules directly without indirect way.

    My last question is there is a note that:
    # NOTE: 6LoWPAN will be included if IEEE802.15.4 devices are present
    I use module only for gnrc_netif_default, it seems include the
    6LoWPAN module too?

    Thanks!
    Haoyang

    On Nov 18, 2015, at 01:18, Martine Lenders
    <[email protected] <mailto:[email protected]>> wrote:

    Hello Haoyang,
    gnrc_netif_default is a pseudo-module, defined in
    Makefile.pseudomodules. Pseudo-modules are modules, that don't
    have code, but are used by the build-system to collect other
    modules as dependencies or to express a certain build
    configuration. gnrc can be found in `sys/net/gnrc`. If the
    directory the module resides in is called the same as the
    module, the MODULE macro needs not be set in the module's Makefile.
    Can you rephrase your second question. I have difficulties to
    understand what you are going at.

    Cheers,
    Martine

    2015-11-17 21:42 GMT+01:00 Haoyang Yu <[email protected]
    <mailto:[email protected]>>:

        Hi all,

        I followed that information provided by community, but did
        not find the MODULE gnrc, and also just find gnrc_netif
        MODULE in sys, but not gnrc_netif_default

         # gnrc is a meta module including all required, basic gnrc
        networking modules
          USEMODULE += gnrc
          # use the default network interface for the board
          USEMODULE += gnrc_netif_default

        # NOTE: 6LoWPAN will be included if IEEE802.15.4 devices are
        present
        If I just want to get IEEE802.15.4 data, from my perspective
        I directly use MODULE of gnrc_netif, right? And add packet
        header I defined by myself.

        Thanks for your answers.

        Cheers,
        Haoyang

        > On Nov 17, 2015, at 10:05, Oleg Hahm <[email protected]
        <mailto:[email protected]>> wrote:
        >
        > Hi!
        >
        > One tiny addition:
        >
        > Am Tue, Nov 17, 2015 at 01:56:09PM +0100 schrieb Martine
        Lenders:
        >> * gnrc_sixlowpan is the bare minimum implementation of
        6LoWPAN for GNRC
        >>  * gnrc_sixlowpan_frag and gnrc_sixlowpan_iphc implenent
        6LoWPAN
        >> fragmentation and IP header compression respectively
        >
        > There is also *grnc_sixlowpan_ctx* for stateful
        compression (using the 6co
        > flag in RAs).
        >
        > Cheers,
        > Oleg
        > --
        > printk (KERN_ALERT "You are screwed! " ...);
        > linux-2.6.6/arch/i386/kernel/efi.c
        > _______________________________________________
        > devel mailing list
        > [email protected] <mailto:[email protected]>
        > https://lists.riot-os.org/mailman/listinfo/devel

        _______________________________________________
        devel mailing list
        [email protected] <mailto:[email protected]>
        https://lists.riot-os.org/mailman/listinfo/devel


    _______________________________________________
    devel mailing list
    [email protected] <mailto:[email protected]>
    https://lists.riot-os.org/mailman/listinfo/devel


    _______________________________________________
    devel mailing list
    [email protected] <mailto:[email protected]>
    https://lists.riot-os.org/mailman/listinfo/devel

_______________________________________________
devel mailing list
[email protected] <mailto:[email protected]>
https://lists.riot-os.org/mailman/listinfo/devel



_______________________________________________
devel mailing list
[email protected]
https://lists.riot-os.org/mailman/listinfo/devel

_______________________________________________
devel mailing list
[email protected]
https://lists.riot-os.org/mailman/listinfo/devel

Reply via email to