GithubHelp home page GithubHelp logo

tutorials's Introduction

Tutorials for RIOT

Preparations

For links go to https://github.com/RIOT-OS/Tutorials

Quick Setup using a Virtual Machine (recommended for this Tutorial)

  • Install and set up git
  • Install latest VirtualBox & VirtualBox Extension Pack for your system
  • Install Vagrant
  • Linux, OSX:
    git clone --recursive https://github.com/RIOT-OS/Tutorials
    cd Tutorials
  • Windows:
    • set
      git config --global core.autocrlf input
      before cloning
    • clone the Tutorials and the RIOT submodule as follows:
    git clone https://github.com/RIOT-OS/Tutorials
    cd Tutorials
    git submodule update --init --recursive
  • In case a virtual machine is disseminated locally, adapt the path for the vagrant box vagrant box add RIOT/ubuntu1804 <path to box>
  • Run vagrant up and vagrant ssh afterwards. See the Vagrant RIOT Setup for a more general explanation.

Regular Setup without using a VM (recommended for RIOT developement)

  • Install and set up git

  • Install the build-essential packet (make, gcc etc.). This varies based on the operating system in use.

  • Install Native dependencies

  • Install OpenOCD

  • Install GCC Arm Embedded Toolchain

  • On OS X: install Tuntap for OS X

  • additional tweaks necessary to work with the targeted hardware (ATSAMR21)

  • Install netcat with IPv6 support (if necessary)

    sudo apt-get install netcat-openbsd
  • git clone --recursive https://github.com/RIOT-OS/Tutorials

  • Go to the Tutorials directory: cd Tutorials

Tasks

Troubleshooting

If you get the following error after running vagrant up

The guest machine entered an invalid state while waiting for it to boot. Valid states are 'starting, running'. The machine is in the 'poweroff' state.

Make sure you have the Extension Pack installed.

If you cannot flash a connected board (/dev/ttyXXXX does not exist)

Make sure your user is a member of the usergroup vboxusers. On Linux you can add the current user with

usermod -a -G vboxusers $USER.

You can check the groups of your user with

groups.

Note that you need to log out once to reload a Linux user's group assignments

License

This work and all its related code and documents are licensed under a Creative Commons Attribution-ShareAlike 4.0 International License

tutorials's People

Contributors

aabadie avatar adinajohnson avatar akeranen avatar benpicco avatar bernardobelchior avatar cgundogan avatar cladmi avatar emmanuelsearch avatar jerrymain avatar jia200x avatar kaspar030 avatar kyc0o avatar leandrolanzieri avatar lotterleben avatar meeeehdiiii avatar miri64 avatar obgm avatar oleghahm avatar ozfox avatar peterkietzmann avatar quintol avatar rl1987 avatar schwert avatar smlng avatar thanosmanolis avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tutorials's Issues

Task 7.2: UDP packet buffer must be emptied

Expected behavior

virtually infinite counting of packets

Actual behavior

programs stops at packet 4

Test code

int main(void){
    ...
    gnrc_netreg_entry_t server = {NULL, 8888, sched_active_pid};
    gnrc_netreg_register(GNRC_NETTYPE_UDP, &server);

    msg_t msg;
    uint32_t counter=0;
    while(1){
        msg_receive(&msg);
        printf("message #%d received: PID=%d, type=%d\r\n", counter, msg.sender_pid, msg.type);
        counter++;
    }
    ...
    return 0;
}

RIOT version

RIOT @ 6b768a1

Hardware

native

Fix

...
#include "net/gnrc/pktbuf.h"  // this line
...
int main(void){
...
    gnrc_netreg_entry_t server = {NULL, 8888, sched_active_pid};
    gnrc_netreg_register(GNRC_NETTYPE_UDP, &server);

    msg_t msg;
    uint32_t counter=0;
    while(1){
        msg_receive(&msg);
        gnrc_pktbuf_release(msg.content.ptr);  // and this line
        printf("message #%d received: PID=%d, type=%d\r\n", counter, msg.sender_pid, msg.type);
        counter++;
    }
    ...
    return 0;
}

Task-05: txtsnd and packetdump are not compatible

Description

When 2 separate hardware nodes for the tutorial, you can try to txtsnd from one node to the other, but packetdump will not show the packet.
Thus you cannot see if a packet was received correctly.

Steps to reproduce

  1. Compile and flash task-05 on 2 nodes with the same radio (for example esp8266).
  2. Send from node 1 using txtsnd.
  3. Look in the terminal for node 2.

Expected results

A packet is received and dumped to the shell in node 2.

Actual results

Nothing happens in node 2.

undeclared sched_active_pid

Expected behavior

succesful compilation

Actual behavior

error: ‘sched_active_pid’ undeclared (first use in this function)
    gnrc_netreg_entry_t server = {NULL, 8888, sched_active_pid};

Test code

int main(void){
    ...
    gnrc_netreg_entry_t server = {NULL, 8888, sched_active_pid};
    gnrc_netreg_register(GNRC_NETTYPE_UDP, &server);
    ...
    return 0;
}

RIOT version

RIOT @ 6b768a1

Hardware

native

Quick Fix

#include "sched.h"

Task 6&7, cannot establish connection between Linux and Native

Environment:
64-bit linux(17.04)

In task 6:
After setting up server using udps 8888.
Calling echo "hello" | nc -6u <RIOT-IPv6-addr>%tapbr0 8888 from Linux doesn't print "hello" on Native instance. I also tried to debug it by using a wrong ipv6 address for <RIOT-IPv6-addr>, no errors or warnings were given on Linux.

In task 7:
ping6 <RIOT-IPv6-addr>%tapbr0
gives error
ping: e83e:78ff:fe83:7c17%tap0: Name or service not known.

Tutorials/README.md - Put commands in new line (Windows)

It would be great if you could change this
"Windows:
set git config --global core.autocrlf input before cloning"

to something copy and paste proof ;)
Like:
"Windows:
set
git config --global core.autocrlf input
before cloning"

I had no idea why my RIOT installation failed and the reason was, that I copied the "set" to the command line.

Cannot build example 2

/home/vagrant/RIOT/Tutorials/task-02/main.c: In function 'echo':
/home/vagrant/RIOT/Tutorials/task-02/main.c:7:14: error: unused parameter 'argc' [-Werror=unused-parameter]
int echo(int argc, char **argv)
^
/home/vagrant/RIOT/Tutorials/task-02/main.c:7:27: error: unused parameter 'argv' [-Werror=unused-parameter]
int echo(int argc, char **argv)
^
cc1: all warnings being treated as errors
/home/vagrant/RIOT/Makefile.base:81: recipe for target '/home/vagrant/RIOT/Tutorials/task-02/bin/native/Task02/main.o' f
ailed
make[1]: *** [/home/vagrant/RIOT/Tutorials/task-02/bin/native/Task02/main.o] Error 1
/home/vagrant/RIOT/Tutorials/task-02/../..//Makefile.include:301: recipe for target 'all' failed
make: *** [all] Error 2
vagrant@vagrant:~/RIOT/Tutorials/task-02$

Error: no debuggers found

Hello,
I'm trying to flash my samr21 board with task01 using BOARD=samr21-xpro make all flash term and getting this error back.

/home/vagrant/Tutorials/RIOT/dist/tools/edbg/edbg -t atmel_cm0p -b -v -p -f /home/vagrant/Tutorials/task-01/bin/samr21-xpro/Task01.bin
Error: no debuggers found
/home/vagrant/Tutorials/task-01/../RIOT/Makefile.include:538: recipe for target 'flash' failed
make: *** [flash] Error 1

Here is what I have tried to solve this, but no success:

  • select in VM USB2.0 instead of 3.0
  • restart VM and HostPC
    i would appreciate any help. Thank you

Task 02 is hard to understand for C newbies!

I'm very new to C programming. I understand C code when I see it, but it's hard for me writing my own code in C. I tried task 2 and had the problem that I didn't understand that the "cmd_handler" is a dummy name for a function. So I tried to implement the "cmd_handler". I also did not understand that you have to programm the code that will be executed when the function is called. To avoid this mistake you could explain the function better by inserting curly braces at the end of "int cmd_handler(int argc, char **argv);". If these aspects would be explained better, it would be a nice tutorial!
~ ostue

drivers: interoperability of 802.15.4 radios

  1. We should incorporate all 802.15.4 radios in our release tests.
  2. We should add interoperability tests between different radios.

Especially when it comes to 6LoWPAN fragmentation where multiple frames are sent subsequently, I expect many issues. Just as an example, in #9864 I found out that ping6 with fragmented ICMPv6 packets results in 100% loss between cc2538 and mrf24j40 radios.

Task-08 cannot download tlsf-3.0.zip

In task 08 make all term gets stuck at:

/home/vagrant/Tutorials/RIOT/dist/tools/dlcache/dlcache.sh: "/home/vagrant/.dlcache/tlsf-3.0.zip" has wrong checksum, re-downloading
/home/vagrant/Tutorials/RIOT/dist/tools/dlcache/dlcache.sh: downloading "http://download.riot-os.org/tlsf-3.0.zip"...

It seems that download.riot-os.org is down.

Task-08 task error

Hi, i am sorry i put this on here, i think i should set the label as question, but i don't have the right.

question is this: I use riot docker() to run it on my mac laptop like this:

docker run -it --security-opt seccomp=unconfined -u $UID -v /Users/tingxin/Development/icn/riot/Tutorials:/data/riotbuild riot/riotbuild /bin/sh

then cd to the task-08 folder in docker and execute

make

then cd to bin/native and run

./Task08.elf

the app return error

Segmentation fault 

i also try build it by follow command:

docker run -i -t -u $UID -v /Users/tingxin/Development/icn/riot/Tutorials:/data/riotbuild --env BOARD=chronos riot/riotbuild make -C task-08 clean all

but also met error:

make: Entering directory '/data/riotbuild/task-08'
make: Warning: File '/data/riotbuild/RIOT/makefiles/modules.inc.mk' has modification time 2138 s in the future
make[1]: Warning: File '/data/riotbuild/RIOT/pkg/pkg.mk' has modification time 2138 s in the future
make[1]: warning:  Clock skew detected.  Your build may be incomplete.
make[1]: Warning: File 'Makefile' has modification time 2138 s in the future
rm -rf /data/riotbuild/task-08/bin/pkg/native/tlsf/src/
make[1]: warning:  Clock skew detected.  Your build may be incomplete.
make: Nothing to be done for 'clean'.
Building application "Task08" for "native" with MCU "native".

"make" -C /data/riotbuild/RIOT/pkg/ccn-lite
make[1]: Warning: File '/data/riotbuild/RIOT/pkg/pkg.mk' has modification time 2138 s in the future
rm -Rf /data/riotbuild/task-08/bin/pkg/native/ccn-lite
mkdir -p /data/riotbuild/task-08/bin/pkg/native/ccn-lite
/data/riotbuild/RIOT/dist/tools/git/git-cache clone "https://github.com/cn-uofbasel/ccn-lite/" "10119ca8173457e8a26b28fc9f30fe0d97d17857" "/data/riotbuild/task-08/bin/pkg/native/ccn-lite"
Cloning into '/data/riotbuild/task-08/bin/pkg/native/ccn-lite'...
remote: Counting objects: 19989, done.
remote: Total 19989 (delta 0), reused 0 (delta 0), pack-reused 19989
Receiving objects: 100% (19989/19989), 15.21 MiB | 121.00 KiB/s, done.
Resolving deltas: 100% (13118/13118), done.
Checking connectivity... done.
Checking out files: 100% (316/316), done.
HEAD is now at 10119ca... Merge pull request #104 from smlng/pr/fix_debug_msg
touch /data/riotbuild/task-08/bin/pkg/native/ccn-lite/.git-downloaded
"make" -BC /data/riotbuild/task-08/bin/pkg/native/ccn-lite/src lib-ccn-lite.a
*** Configuring for Linux ***
make[2]: Warning: File 'Makefile' has modification time 2176 s in the future
gcc -o lib-ccn-lite.a -Werror -Wall -Wextra -pedantic -std=gnu99 -m32 -fstack-protector-all -ffunction-sections -fdata-sections -fno-delete-null-pointer-checks -Wstrict-prototypes -Werror=strict-prototypes -Wold-style-definition -Werror=old-style-definition -fno-common -Wall -include '/data/riotbuild/task-08/bin/native/riotbuild/riotbuild.h' -I/data/riotbuild/RIOT/core/include -I/data/riotbuild/RIOT/drivers/include -I/data/riotbuild/RIOT/sys/include -I/data/riotbuild/RIOT/cpu/native/include -I/data/riotbuild/RIOT/boards/native/include -DNATIVE_INCLUDES -I/data/riotbuild/RIOT/boards/native/include/ -I/data/riotbuild/RIOT/core/include/ -I/data/riotbuild/RIOT/drivers/include/ -I/data/riotbuild/RIOT/cpu/native/include -I/data/riotbuild/RIOT/sys/include -I/data/riotbuild/RIOT/sys/libc/include -I/data/riotbuild/RIOT/pkg/ccn-lite -I/data/riotbuild/task-08/bin/pkg/native/ccn-lite/src -I/data/riotbuild/RIOT/sys/posix/include -I/data/riotbuild/task-08/bin/pkg/native/tlsf/src  -Wall -Werror -std=c99 -g -D_XOPEN_SOURCE=500 -D_XOPEN_SOURCE_EXTENDED -Dlinux -Wno-date-time -c ccn-lite-riot.c
make[2]: warning:  Clock skew detected.  Your build may be incomplete.
"make" -BC /data/riotbuild/task-08/bin/pkg/native/ccn-lite/src lib-ccn-lite-utils.a
*** Configuring for Linux ***
make[2]: Warning: File 'Makefile' has modification time 2175 s in the future
gcc -o util/base64.o -Werror -Wall -Wextra -pedantic -std=gnu99 -m32 -fstack-protector-all -ffunction-sections -fdata-sections -fno-delete-null-pointer-checks -Wstrict-prototypes -Werror=strict-prototypes -Wold-style-definition -Werror=old-style-definition -fno-common -Wall -include '/data/riotbuild/task-08/bin/native/riotbuild/riotbuild.h' -I/data/riotbuild/RIOT/core/include -I/data/riotbuild/RIOT/drivers/include -I/data/riotbuild/RIOT/sys/include -I/data/riotbuild/RIOT/cpu/native/include -I/data/riotbuild/RIOT/boards/native/include -DNATIVE_INCLUDES -I/data/riotbuild/RIOT/boards/native/include/ -I/data/riotbuild/RIOT/core/include/ -I/data/riotbuild/RIOT/drivers/include/ -I/data/riotbuild/RIOT/cpu/native/include -I/data/riotbuild/RIOT/sys/include -I/data/riotbuild/RIOT/sys/libc/include -I/data/riotbuild/RIOT/pkg/ccn-lite -I/data/riotbuild/task-08/bin/pkg/native/ccn-lite/src -I/data/riotbuild/RIOT/sys/posix/include -I/data/riotbuild/task-08/bin/pkg/native/tlsf/src  -Wall -Werror -std=c99 -g -D_XOPEN_SOURCE=500 -D_XOPEN_SOURCE_EXTENDED -Dlinux -Wno-date-time -c util/base64.c
gcc -o util/ccnl-common.o -Werror -Wall -Wextra -pedantic -std=gnu99 -m32 -fstack-protector-all -ffunction-sections -fdata-sections -fno-delete-null-pointer-checks -Wstrict-prototypes -Werror=strict-prototypes -Wold-style-definition -Werror=old-style-definition -fno-common -Wall -include '/data/riotbuild/task-08/bin/native/riotbuild/riotbuild.h' -I/data/riotbuild/RIOT/core/include -I/data/riotbuild/RIOT/drivers/include -I/data/riotbuild/RIOT/sys/include -I/data/riotbuild/RIOT/cpu/native/include -I/data/riotbuild/RIOT/boards/native/include -DNATIVE_INCLUDES -I/data/riotbuild/RIOT/boards/native/include/ -I/data/riotbuild/RIOT/core/include/ -I/data/riotbuild/RIOT/drivers/include/ -I/data/riotbuild/RIOT/cpu/native/include -I/data/riotbuild/RIOT/sys/include -I/data/riotbuild/RIOT/sys/libc/include -I/data/riotbuild/RIOT/pkg/ccn-lite -I/data/riotbuild/task-08/bin/pkg/native/ccn-lite/src -I/data/riotbuild/RIOT/sys/posix/include -I/data/riotbuild/task-08/bin/pkg/native/tlsf/src  -Wall -Werror -std=c99 -g -D_XOPEN_SOURCE=500 -D_XOPEN_SOURCE_EXTENDED -Dlinux -Wno-date-time -c util/ccnl-common.c
ar rcs lib-ccn-lite-utils.a util/base64.o util/ccnl-common.o
make[2]: warning:  Clock skew detected.  Your build may be incomplete.
cp /data/riotbuild/task-08/bin/pkg/native/ccn-lite/src/lib-ccn-lite.a /data/riotbuild/task-08/bin/native/ccn-lite.a
cp /data/riotbuild/task-08/bin/pkg/native/ccn-lite/src/lib-ccn-lite-utils.a /data/riotbuild/task-08/bin/native/ccn-lite-utils.a
make[1]: warning:  Clock skew detected.  Your build may be incomplete.
"make" -C /data/riotbuild/RIOT/pkg/tlsf
make[1]: Warning: File 'Makefile' has modification time 2034 s in the future
2017-07-10 05:41:47 URL:http://download.riot-os.org/tlsf-3.0.zip [11758/11758] -> "/data/riotbuild/task-08/bin/pkg/native/tlsf/tlsf-3.0.zip" [1]
rm -rf /data/riotbuild/task-08/bin/pkg/native/tlsf/src
mkdir -p /data/riotbuild/task-08/bin/pkg/native/tlsf/src
patching file Makefile
patching file tlsf-malloc.c
patching file tlsf-malloc.h
patching file tlsf.c
patching file tlsf.h
make[2]: Warning: File '/data/riotbuild/RIOT/Makefile.base' has modification time 2007 s in the future
make[2]: warning:  Clock skew detected.  Your build may be incomplete.
make[1]: warning:  Clock skew detected.  Your build may be incomplete.
make[1]: Warning: File '/data/riotbuild/RIOT/Makefile.base' has modification time 2007 s in the future
"make" -C /data/riotbuild/RIOT/boards/native
make[2]: Warning: File '/data/riotbuild/RIOT/Makefile.base' has modification time 2006 s in the future
"make" -C /data/riotbuild/RIOT/boards/native/drivers
make[3]: Warning: File '/data/riotbuild/RIOT/Makefile.base' has modification time 2006 s in the future
make[3]: warning:  Clock skew detected.  Your build may be incomplete.
make[2]: warning:  Clock skew detected.  Your build may be incomplete.
"make" -C /data/riotbuild/RIOT/core
make[2]: Warning: File '/data/riotbuild/RIOT/Makefile.base' has modification time 2005 s in the future
make[2]: warning:  Clock skew detected.  Your build may be incomplete.
"make" -C /data/riotbuild/RIOT/cpu/native
make[2]: Warning: File '/data/riotbuild/RIOT/Makefile.base' has modification time 2001 s in the future
"make" -C /data/riotbuild/RIOT/cpu/native/netdev_tap
make[3]: Warning: File '/data/riotbuild/RIOT/Makefile.base' has modification time 1998 s in the future
make[3]: warning:  Clock skew detected.  Your build may be incomplete.
"make" -C /data/riotbuild/RIOT/cpu/native/periph
make[3]: Warning: File '/data/riotbuild/RIOT/Makefile.base' has modification time 1998 s in the future
make[3]: warning:  Clock skew detected.  Your build may be incomplete.
"make" -C /data/riotbuild/RIOT/cpu/native/vfs
make[3]: Warning: File '/data/riotbuild/RIOT/Makefile.base' has modification time 1996 s in the future
make[3]: warning:  Clock skew detected.  Your build may be incomplete.
make[2]: warning:  Clock skew detected.  Your build may be incomplete.
"make" -C /data/riotbuild/RIOT/drivers
make[2]: Warning: File '/data/riotbuild/RIOT/Makefile.base' has modification time 1995 s in the future
"make" -C /data/riotbuild/RIOT/drivers/netdev_eth
make[3]: Warning: File '/data/riotbuild/RIOT/Makefile.base' has modification time 1995 s in the future
make[3]: warning:  Clock skew detected.  Your build may be incomplete.
make[2]: warning:  Clock skew detected.  Your build may be incomplete.
"make" -C /data/riotbuild/RIOT/sys
make[2]: Warning: File '/data/riotbuild/RIOT/Makefile.base' has modification time 1994 s in the future
"make" -C /data/riotbuild/RIOT/sys/auto_init
make[3]: Warning: File '/data/riotbuild/RIOT/Makefile.base' has modification time 1994 s in the future
"make" -C /data/riotbuild/RIOT/sys/auto_init/netif
make[4]: Warning: File '/data/riotbuild/RIOT/Makefile.base' has modification time 1994 s in the future
make[4]: warning:  Clock skew detected.  Your build may be incomplete.
make[3]: warning:  Clock skew detected.  Your build may be incomplete.
"make" -C /data/riotbuild/RIOT/sys/div
make[3]: Warning: File '/data/riotbuild/RIOT/Makefile.base' has modification time 1992 s in the future
make[3]: warning:  Clock skew detected.  Your build may be incomplete.
"make" -C /data/riotbuild/RIOT/sys/net/crosslayer/netopt
make[3]: Warning: File '/data/riotbuild/RIOT/Makefile.base' has modification time 1992 s in the future
make[3]: warning:  Clock skew detected.  Your build may be incomplete.
"make" -C /data/riotbuild/RIOT/sys/net/gnrc
make[3]: Warning: File '/data/riotbuild/RIOT/Makefile.base' has modification time 1992 s in the future
"make" -C /data/riotbuild/RIOT/sys/net/gnrc/netapi
make[4]: Warning: File '/data/riotbuild/RIOT/Makefile.base' has modification time 1992 s in the future
make[4]: warning:  Clock skew detected.  Your build may be incomplete.
"make" -C /data/riotbuild/RIOT/sys/net/gnrc/netif
make[4]: Warning: File '/data/riotbuild/RIOT/Makefile.base' has modification time 1991 s in the future
make[4]: warning:  Clock skew detected.  Your build may be incomplete.
"make" -C /data/riotbuild/RIOT/sys/net/gnrc/netif/hdr
make[4]: Warning: File '/data/riotbuild/RIOT/Makefile.base' has modification time 1990 s in the future
make[4]: warning:  Clock skew detected.  Your build may be incomplete.
"make" -C /data/riotbuild/RIOT/sys/net/gnrc/netreg
make[4]: Warning: File '/data/riotbuild/RIOT/Makefile.base' has modification time 1989 s in the future
make[4]: warning:  Clock skew detected.  Your build may be incomplete.
"make" -C /data/riotbuild/RIOT/sys/net/gnrc/pkt
make[4]: Warning: File '/data/riotbuild/RIOT/Makefile.base' has modification time 1988 s in the future
make[4]: warning:  Clock skew detected.  Your build may be incomplete.
"make" -C /data/riotbuild/RIOT/sys/net/gnrc/pktbuf_static
make[4]: Warning: File '/data/riotbuild/RIOT/Makefile.base' has modification time 1988 s in the future
make[4]: warning:  Clock skew detected.  Your build may be incomplete.
make[3]: warning:  Clock skew detected.  Your build may be incomplete.
"make" -C /data/riotbuild/RIOT/sys/net/gnrc/link_layer/netdev
make[3]: Warning: File '/data/riotbuild/RIOT/Makefile.base' has modification time 1987 s in the future
make[3]: warning:  Clock skew detected.  Your build may be incomplete.
"make" -C /data/riotbuild/RIOT/sys/ps
make[3]: Warning: File '/data/riotbuild/RIOT/Makefile.base' has modification time 1985 s in the future
make[3]: warning:  Clock skew detected.  Your build may be incomplete.
"make" -C /data/riotbuild/RIOT/sys/random
make[3]: Warning: File '/data/riotbuild/RIOT/Makefile.base' has modification time 1985 s in the future
make[3]: warning:  Clock skew detected.  Your build may be incomplete.
"make" -C /data/riotbuild/RIOT/sys/shell
make[3]: Warning: File '/data/riotbuild/RIOT/Makefile.base' has modification time 1984 s in the future
make[3]: warning:  Clock skew detected.  Your build may be incomplete.
"make" -C /data/riotbuild/RIOT/sys/shell/commands
make[3]: Warning: File '/data/riotbuild/RIOT/Makefile.base' has modification time 1984 s in the future
make[3]: warning:  Clock skew detected.  Your build may be incomplete.
"make" -C /data/riotbuild/RIOT/sys/timex
make[3]: Warning: File '/data/riotbuild/RIOT/Makefile.base' has modification time 1982 s in the future
make[3]: warning:  Clock skew detected.  Your build may be incomplete.
"make" -C /data/riotbuild/RIOT/sys/xtimer
make[3]: Warning: File '/data/riotbuild/RIOT/Makefile.base' has modification time 1981 s in the future
make[3]: warning:  Clock skew detected.  Your build may be incomplete.
make[2]: warning:  Clock skew detected.  Your build may be incomplete.
make[1]: warning:  Clock skew detected.  Your build may be incomplete.
   text	   data	    bss	    dec	    hex	filename
 117319	    568	  87624	 205511	  322c7	/data/riotbuild/task-08/bin/native/Task08.elf
make: warning:  Clock skew detected.  Your build may be incomplete.
make: Leaving directory '/data/riotbuild/task-08'

I am not sure if it is a bug, but it hard to run it follow current doc, anyone can help?

Wrong include path

Expected behavior

succesful compilation

Actual behavior

fatal error: gnrc/net/netreg.h: No such file or directory

Test code

#include "gnrc/net/netreg.h"

RIOT version

RIOT @ 6b768a1

Hardware

native

Unable to add /test/ directory sensor code

I was trying to add /test/bmp180 sensor to the UDP task-06 but if do this then the sensor init is getting failed even i tried with /test/adxl345 too . both are I2C based .
but if i comment
USEMODULE += gnrc_netdev_default
USEMODULE += auto_init_gnrc_netif
USEMODULE += gnrc_ipv6_default
USEMODULE += gnrc_icmpv6_echo
USEMODULE += gnrc_sock_udp

these lines from Makefile then it is working fine i'm not getting why this is happen
please help me if you have any idea on these
Thank you

cannot compile task-06

I followed the tutorial until this task and receive the following error message on step 6.1.1.

/home/vagrant/Tutorials/task-06/bin/native/Task06.elf: ioctl TUNSETIFF: Device or resource busy
/home/vagrant/Tutorials/task-06/bin/native/Task06.elf: probably the tap interface (tap0) does not exist or is already in use
/home/vagrant/Tutorials/task-06/../RIOT/Makefile.include:400: recipe for target 'term' failed
make: *** [term] Error 1

It works, if I use before:

sudo ip tuntap add tap0 mode tap user ${USER}
sudo ip link set tap0 up

But the error still appears on the second instance.
Is there something I'm doing wrong?
Thanks in advance.

can i get exmaple usage of txtsnd command ?

Hello, in tut 5, we have to use txtsnd command to send data from one interface to another, but i ma getting synatx error and cant make it work. Lets say [2A:29:4A:9A:D5:F8], [L2-PDU:1500] is the addres to send the data. Alos a example to broadcast data will also be helpful.

task-05 ipconfig not available

I just did task 5.1 and everything works until the ipconfig command.
Looks like ipconfig is not available:

> ipconfig
ipconfig
shell: command not found: ipconfig

I followed the tutorial and did all previous tasks. I'm on OSX.

Vagrant on Windows and Tutorial 5 incompatible

When Windows users run tutorial 5 in vagrant, they can get stuck at running the second instance:

user@riot-vm:/home/vagrant/Tutorials/task-05$ make all term PORT=tap1
Building application "Task05" for "native" with MCU "native".
[...]
/usr/bin/ld: cannot open output file /home/vagrant/Tutorials/task-05/bin/native/Task05.elf: Text file busy
collect2: error: ld returned 1 exit status
/home/vagrant/Tutorials/task-05/../RIOT/Makefile.include:594: recipe for target '/home/vagrant/Tutorials/task-05/bin/native/Task05.elf' failed
make: *** [/home/vagrant/Tutorials/task-05/bin/native/Task05.elf] Error 1
user@riot-vm:/home/vagrant/Tutorials/task-05$

This seems to be because at some point there is still a Windows file system and a Windows kernel executing the processes, and that OS is a bit picky when it comes to overwriting a currently running executable (AFAICT it doesn't think with inodes).

I don't have that system set up here so I can't experiment on this (just relaying from a support request on #riot-os), but whoever added the recommendation to use Vagrant on Windows can probably tell more about whether this is just because there's a forwarded file system or whether it's some WSL1 thing where the process is actually launched as a Windows process. If it's the latter, can this all move to WSL2 where there's a real Linux kernel?

If not, it may be an option to say something like

If you're running on Windows, you'll need a separate tutorials checkout for each instance, otherwise you get errors like cannot open output file [...]/Tutorials/task-05/bin/native/Task05.elf: Text file busy.

(In theory it would be an option to copy the binary over in the make term target, but I fundamentally oppose adding workarounds for OSs that try to sneak back into looking like a viable platform for development by emulating UNIX but doing it so badly that people start to make exceptions for them again anyway just because they either don't get it right or worse choose not to).

[edit: Link to the discussion in which this came up]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.