[riot-devel] Trial to enhance the porting guide

2016-07-07 Thread Bernhard Nägele

Hello RIOT developers,
I have now made some experience with RIOT-OS and I'm working on a port 
to the STM32L073.

My problem is sometimes to understand the relationship between the OS parts.
The source code documentation via Doxygen is nice, but not sufficient to 
get a real understanding
about the architecture of RIOT and I'm a unhappy to find out how some 
parts are working
by "surfing" through the source code.  Therefore I will try to enhance 
the porting guide and therefore
I will ask you (maybe) some silly questions.but I think the 
questions I will ask are somehow unclear to

a RIOT newbie.
The first question I have is about the xtimer. What is the "official" 
purpose of this timer. What should be realised via the xtimer and what 
should be realised by the other timers.
The second question - which event triggers the thread context switching? 
Scheduled by timers?


Best regards
Bernhard
Best regards,
Bernhard
___
devel mailing list
devel@riot-os.org
https://lists.riot-os.org/mailman/listinfo/devel


[riot-devel] Long time sleeping of the microcontroller

2016-06-04 Thread Bernhard Nägele

Hello RIOT-enthusiasts,
I'm searching for a good way to bring a RIOT-system to lowest power 
modes for several minutes.
As far as I understand the function of the xtimer is designed to provide 
the

timebase for thread/task switching and providing short low-power-delays.
It is therefore not designed to support slow clock timers inside 
low-power microcontrollers.

Is this true?
Can you give tell me your opinion about using the slow-clock timer 
simply inside
the application? The idea is to bring the peripherals to lowest power 
mode, then

stop all threads except the main thread, mask interrupts und stop then the
microcontroller under the control of the application. The wakeup could 
happen

by using an interrupt from the slow-clock-timer inside the CPU.

Is this a way which could work?

Best regards,
Bernhard
___
devel mailing list
devel@riot-os.org
https://lists.riot-os.org/mailman/listinfo/devel


[riot-devel] UDP travic between RIOT device and Raspberry PI 6LoWPAN seems not to work

2016-03-13 Thread Bernhard Nägele

Dear malo,
thanks a lot for your used modules.
No, I haven't got a sniffer up to now. I think this is the next step for 
me - set up a sniffer to find faults in the radio transmission.
At the moment I'm lucky because UDP transfer works at the moment. It was 
just a quick check and real testing is the next step but getting it 
running was a big success this weekend.
By the way: I have also a Beaglebone-Green running with a 4.1.14 
mainline kernel and a Microchip MRF24J40MA radio device and it works as 
well. Wonderful!

Thank you very much!
Best regards,
Bernhard

___
devel mailing list
devel@riot-os.org
https://lists.riot-os.org/mailman/listinfo/devel


Re: [riot-devel] UDP travic between RIOT device and Raspberry PI 6LoWPAN seems not to work

2016-03-13 Thread Bernhard Nägele

Hello Martine,
thank you for the hint about the missing header compression. I have 
added the module and now UDP data traffic works between a UDP-server 
application on Raspberry PI and a UDP client application on the RIOT side.


Thank you very much!

Best regards,
Bernhard

P.S.: Sorry about the misspelling of traffic in the mail header - really 
terrible ;-)

___
devel mailing list
devel@riot-os.org
https://lists.riot-os.org/mailman/listinfo/devel


Re: [riot-devel] UDP travic between RIOT device and Raspberry PI 6LoWPAN seems not to work

2016-03-12 Thread Bernhard Nägele

Hello Martine,
thank you for that hint. Is it sufficient to enable that modul in the 
Makefile.dep file in the main-folder, or should I add this to the 
Makefile in my example//Makefiles? Are there any changes needed 
elsewhere?


Thanks a lot,
Bernhard
___
devel mailing list
devel@riot-os.org
https://lists.riot-os.org/mailman/listinfo/devel


Re: [riot-devel] Bringup procedure of a real device

2016-03-06 Thread Bernhard Nägele

Hello malo,
I love you! That was the missing link - I had totally forgotten the 
hardware address (MAC).
Everything seem now to work well - I have tested ping6 and udp - what a 
wonderful world!


Thanks, thanks, thanks!
Bernhard
___
devel mailing list
devel@riot-os.org
https://lists.riot-os.org/mailman/listinfo/devel


Re: [riot-devel] Bringup procedure of a real device

2016-03-06 Thread Bernhard Nägele

Hello Malo,
thank you for this hint.
What else has to be changed in an IPv6 network?
Up to now I have only worked with IPv4 under Linux and there the only 
thing which was necessary to change was the

IP-address

Thanks a lot,
Bernhard
___
devel mailing list
devel@riot-os.org
https://lists.riot-os.org/mailman/listinfo/devel


Re: [riot-devel] Bringup procedure of a real device

2016-03-06 Thread Bernhard Nägele

Sorry,
I have forgotten to post the forked theads:

ps
pid | name | stateQ | pri | stack ( used) | 
location
  1 | idle | pending  Q |  15 |   256 ( 148) | 
0x2298
  2 | main | running  Q |   7 |  1536 ( 792) | 
0x2398
  3 | pktdump  | bl rx_ |   6 |  1536 ( 256) | 
0x20001924
  4 | 6lo  | bl rx_ |   3 |  1024 ( 468) | 
0x20001f38
  5 | ipv6 | bl rx_ |   4 |  1024 ( 420) | 
0x2e60
  6 | udp  | bl rx_ |   5 |  1024 ( 296) | 
0x200026e4
  7 | at86rfxx | bl rx_ |   3 |  1024 ( 412) | 
0x29f0

| SUM  || |  7424 ( 2792)
>

Thanks for any hint!

Best regards,
Bernhard
___
devel mailing list
devel@riot-os.org
https://lists.riot-os.org/mailman/listinfo/devel


[riot-devel] Bringup procedure of a real device

2016-03-06 Thread Bernhard Nägele

Hello everybody,
I try to bring up a wireless connection between two identical boards, 
both equiped with the at86rf233 module.
At first everything seems to be good - the source was compiled without 
failure, the process list shows all the threads needed for a working 
interface, but when I try to get a contact from one board to the other 
nothing happens.


Is there anyone who can give some hints about the best way to bring up a 
wireless connection with RIOT?


Here is what I have done:
First I flash the gnrc_networking example on both boards. The command 
showed exactly the same on both boards:


> ifconfig
Iface  7   HWaddr: 30:02  Channel: 26  Page: 0  NID: 0x23
   Long HWaddr: 88:77:66:55:44:33:22:12
   TX-Power: 0dBm  State: IDLE  max. Retrans.: 3  CSMA Retries: 4
   AUTOACK  CSMA  MTU:1280  HL:64  6LO  RTR  IPHC
   Source address length: 8
   Link type: wireless
   inet6 addr: ff02::1/128  scope: local [multicast]
   inet6 addr: fe80::8a77:6655:4433:2212/64  scope: local
   inet6 addr: ff02::1:ff33:2212/128  scope: local [multicast]

so far so good. Then I altered the ip-addresses on one board to:

> ifconfig
Iface  7   HWaddr: 30:02  Channel: 26  Page: 0  NID: 0x23
   Long HWaddr: 88:77:66:55:44:33:22:12
   TX-Power: 0dBm  State: IDLE  max. Retrans.: 3  CSMA Retries: 4
   AUTOACK  CSMA  MTU:1280  HL:64  6LO  RTR  IPHC
   Source address length: 8
   Link type: wireless
   inet6 addr: ff02::1/128  scope: local [multicast]
   inet6 addr: fe80::8a77:6655:4433:2214/64  scope: local
   inet6 addr: ff02::1:ff33:2214/128  scope: local [multicast]

then I tried to ping from one board to the other:

> ping6 fe80::8a77:6655:4433:2214

result: no output - the shell output stucks and I have to reboot

A ping to the own address delivers this output, but then the shell 
stucks again:


> ping6 fe80::8a77:6655:4433:2212
12 bytes from fe80::8a77:6655:4433:2212: id=83 seq=1 hop limit=64 time = 
4.892 ms


Is this the normal behaviour of RIOT that the command don't come back to 
the shell?
When the board stucks and I stop it with the debugger it seems the it 
cycles through the Idle-State.


Can anyone give me some hints what I'm doing wrong? How could it be 
found out that there is some traffic in the air?


Thanks a lot and best regards,
Bernhard
___
devel mailing list
devel@riot-os.org
https://lists.riot-os.org/mailman/listinfo/devel


[riot-devel] xtimer - usleep - minimal CPU-frequency

2016-03-05 Thread Bernhard Nägele

Hello everybody,
have you got any idea what the minimal CPU-frequency is to use the 
xtimer_usleep?


Today I tried to configure the xtimer to work with a correct time.
I traced through the code and I think that this jumps throught the 
functions cost many
CPU-cycles. I guess that it's not possible to get a 1us time if you have 
a slow MCU.
For example if you have 16MHz clock frequency you have only 16cycles to 
fire up the
timer. I think all network-drivers use usleeps. Do you agree that this 
is a problem?


Best regards,
Bernhard

___
devel mailing list
devel@riot-os.org
https://lists.riot-os.org/mailman/listinfo/devel


Re: [riot-devel] Minimal MCU-Core Frequency for using 6LoWPAN Protocol

2016-03-03 Thread Bernhard Nägele

Hello developers,
what is the best way to find out that a given core-frequency isn't 
sufficient for carrying 6LoWPAN protocol? I guess if the cpu-frequency 
is too low it just won't work no hint from the OS side - is this true?

Best regards,
Bernhard
___
devel mailing list
devel@riot-os.org
https://lists.riot-os.org/mailman/listinfo/devel


Re: [riot-devel] Documentation: Syntax of the ifconfig command with example

2016-03-03 Thread Bernhard Nägele

Hello Cenk,
I have found the "ifconfig help" but nevertheless I was doing something 
wrong.
Why not giving just a simple example? I have worked with ifconfig a long 
time

under Linux but not with IPv6.
"ifconfig ..add" worked well - as expected.
Best,
Bernhard
___
devel mailing list
devel@riot-os.org
https://lists.riot-os.org/mailman/listinfo/devel


[riot-devel] Documentation: Syntax of the ifconfig command with example

2016-03-03 Thread Bernhard Nägele

Hello everybody,
today I tried to find out how I can set an IPv6 address for the network 
interface.
In all examples and readme's you can read how to show the settings for 
the network
interface, but I can't find any example how an IP address is set for a 
given interface.
I tried several styles of setting an address and the only thing I got 
was "syntax error".

I took a look to ifconfig in Linux but the syntax here seems different.
Please give me just one example like "ifconfig 7 set addr_long .." 
that works.


Thank you very much!
Best regards,
Bernhard
___
devel mailing list
devel@riot-os.org
https://lists.riot-os.org/mailman/listinfo/devel


[riot-devel] auto_init_at86rf2xx - discovering valid devices

2016-03-03 Thread Bernhard Nägele

Hello everybody,
I have seen in the auto_init_at86rf2xx.c file a loop which tries to find 
valid devices.


The loop-counter is used for discovering spi-busses and also for the 
device descriptor ("i" in the code).
I think this is not a good idea because what happens if you have only 
ONE device sitting
on the SECOND spi-bus? The device will not be found. I think you need 
two counters - one for numbering the spi-bus and one for the device 
descriptor. Do you agree?


//for (unsigned i = 0; i < AT86RF2XX_NUM; i++) {
unsigned i = 1;/* Number of SPI bus */
unsigned k = 0;/* Number device descriptor */
DEBUG("Initializing AT86RF2xx radio at SPI_%i\n", i);
const at86rf2xx_params_t *p = _params[k];
int res = at86rf2xx_init(_devs[k],
 p->spi,
 p->spi_speed,
 p->cs_pin,
 p->int_pin,
 p->sleep_pin,
 p->reset_pin);

if (res < 0) {
printf("ERROR");
DEBUG("Error initializing AT86RF2xx radio device!\n");
}
else {
gnrc_nomac_init(_nomac_stacks[k],
AT86RF2XX_MAC_STACKSIZE, AT86RF2XX_MAC_PRIO,
"at86rfxx", (gnrc_netdev_t 
*)_devs[k]);

}
//}

Regards,
Bernhard
___
devel mailing list
devel@riot-os.org
https://lists.riot-os.org/mailman/listinfo/devel


Re: [riot-devel] Networking Module does not appear in process list

2016-03-02 Thread Bernhard Nägele

Hello malo,
the output of ps show at me the same as you have posted it here with the
exception that there is no at86rfxx. The at86rf2xx driver is compiled - 
I see it there.
And I have no hint - no error message or something like that why it 
isn't loaded.
It seem for me, that at86rf2xx_init is not executed - that 
auto_init_at86rf2xx was
not inivolved in the init-phase. I will check this tomorrow with the 
emulator...
If so - which action/module invokes the execution of 
auto_init_at86rf2xx?  As far

I have seen this are gnrc-netif modules?
Thanks a lot,
Bernhard
___
devel mailing list
devel@riot-os.org
https://lists.riot-os.org/mailman/listinfo/devel


Re: [riot-devel] Networking Module does not appear in process list

2016-03-02 Thread Bernhard Nägele

Hello Peter,
thank you.
Just for your understanding - I just tried to make everything exactly as 
shown in the Iotlab-M3 board but I get not the result which is listed in 
the readme files or the other documentation.
One remark - I think most new RIOT users would resolve their problems by 
themself if they have some documentation about the relationship between 
the modules. It would be also nice to now where it is the right place 
for adding a module (makefile in the board directory / makefile in the 
project directory / makefile in the top directory e.g.).
Where is the correct place to invoke auto_init (I guess the Makefile in 
the project directory)? Is it necessary to load the radio module driver 
manually or will it be loaded automatic (by the make utility)?
You see - a newbie has totally different questions than an implementer 
who works with RIOT since for a long time.

___
devel mailing list
devel@riot-os.org
https://lists.riot-os.org/mailman/listinfo/devel


[riot-devel] Networking Module does not appear in process list

2016-03-02 Thread Bernhard Nägele

Hello everybody,
today I tried to get the at86rf2xx working with my board. I have the 
following statement in the board's Makefile:


ifneq (,$(filter gnrc_netif_default,$(USEMODULE)))
USEMODULE += at86rf233
USEMODULE += gnrc_nomac
endif

I tried all the networking examples but no example shows the at86rf2xx 
networking module when I list the threads.

I see all networking threads but not the driver.

I tried to include (USEMODULE) the Module  in the project makefile and 
then i tried to invoke the auto_init mechanism on serveral places -> no 
success.


Can you please tell me what I have to do to load the radio module 
driver? I think it would be a good idea to write down how it should go 
in a tutorial. It's not very nice for newbies to grep through the source 
code to find out how it should work and what might go wrong (it a little 
bit like beeing Sherlock Holmes but without having fun).


Question 2 - ifconfig:
ifconfig help
usage: ifconfig []

From where do I get the if_id ?
I think you will get it if you invoke ifconfig without parameters (when 
you have a network module thread running). Is this true?


Thanks a lot!
Regards,
Bernhard



___
devel mailing list
devel@riot-os.org
https://lists.riot-os.org/mailman/listinfo/devel


Re: [riot-devel] Support for Microchip MRF24J40 Radio Module

2016-02-28 Thread Bernhard Nägele

Hello everybody,
today I started to port the AT86RF2XX driver for the MRF24J40 radio module.
Hier I have 2 question:

1. At the module initialization I found the following comment:

/**
 * @brief   Set the transmission power of the given device [in dBm]
 *
 * If the device does not support the exact dBm value given, it will 
set a value
 * as close as possible to the given value. If the given value is 
larger or
 * lower then the maximal or minimal possible value, the min or max 
value is

 * set, respectively.
 *
 * @param[in] dev   device to write to
 * @param[in] txpower   transmission power in dBm
 */
 void at86rf2xx_set_txpower(at86rf2xx_t *dev, int16_t txpower);

How should the txpower be coded? A int16 value in dBm ??? I don't 
understand this.
The Atmel AT86RF231 has a tx-power range from -17dBm to +3dBm and the 
MRF24J40
has a range from -30 to 0dBm. How fits this together with that comment 
above?


2. From where could I get as fast as possible some OpenLabs 802.15.4 
modules (delivery should be in 2-3 days, prefered in Germany)? At the 
store of OpenLabs there is mentioned a

delivery time from about 2 weeksthis is to long for my purpose.

Best regards
Bernhard
___
devel mailing list
devel@riot-os.org
https://lists.riot-os.org/mailman/listinfo/devel


Re: [riot-devel] netdev2 - some hints about the relationships between the 6lowpan protocol

2016-02-26 Thread Bernhard Nägele

Hello everyone,
that sounds not goodonly one device in master und one not yet merged!?

Best regards,
Bernhard
___
devel mailing list
devel@riot-os.org
https://lists.riot-os.org/mailman/listinfo/devel


Re: [riot-devel] netdev2 - some hints about the relationships between the 6lowpan protocol

2016-02-26 Thread Bernhard Nägele

Hello everyone,
today I compiled the example/gnrc_minimal with the nrf24l01p module 
included in the boards Makefile.dep file (Riot Release package RIOT-2015.12)
. The compile process was successful and the compiler output show the 
the driver for the radio module was compiled. But when I searched with 
the debugger for driver subroutines, it seems that they are not really 
linked into the result.
Is there anyone who can explain me where I have to include the driver in 
the makefile-structure (USEMODULES +=) that it will be involked by 
the example-application? In the board makefiles? In the application 
makefiles? Auto-Init? Wherelse?


Thank you very much!

Best regards,
Bernhard
___
devel mailing list
devel@riot-os.org
https://lists.riot-os.org/mailman/listinfo/devel


[riot-devel] Support for Microchip MRF24J40 Radio Module

2016-02-15 Thread Bernhard Nägele

Hello Tobias,
is it possible to get you code for helping on bringing the driver forward?
This would avoid doing redundant work.
As far as I have seen it is not yet in the repository.

Best regards,
Bernhard
___
devel mailing list
devel@riot-os.org
https://lists.riot-os.org/mailman/listinfo/devel


[riot-devel] Implementation of a real low power timer for sleep/stop mode (idle thread)

2016-02-15 Thread Bernhard Nägele

Hello everyone,
the STM32L053 has a low power timer which could be configured to be 
clocked by an internal 37kHz oscillator.
For real low power applications it would be a good idea to use this 
timer during sleep/stop mode (for the idle tread).
As far as I know the context switching is performed by the xtimer which 
needs a 1MHz clock in its configuration.

Would it be possible to use such a slow clock for this purpose?

Best regards,
Bernhard
___
devel mailing list
devel@riot-os.org
https://lists.riot-os.org/mailman/listinfo/devel


[riot-devel] Documentation of the RIOT-OS

2016-02-14 Thread Bernhard Nägele

Hello everybody,
I've worked the whole weekend to understand where you have to add the 
makefile statements to get a new network device running. It is really 
aweful to hop from one example to the other / from one sense-less 
tutorial to the other to understand the behaviour of the system.
Is there no central information available, where you have to add things 
to get for example a new driver running? There
is a missing link - no information how the parts stick together. A real 
porting guide - a real driver implementation guide...
I think not only the technical aspects of such a nice software is 
important - also the ease of use.
At the moment I need the information how to get the sixlowpan stack 
running with a real network-radio device.

Have you got a hint, where I find the most useful description?

Thank you very much!

Best regards,
Bernhard
___
devel mailing list
devel@riot-os.org
https://lists.riot-os.org/mailman/listinfo/devel


[riot-devel] Minimal MCU-Core Frequency for using 6LoWPAN Protocol

2016-02-01 Thread Bernhard Nägele

Hello,
I want to port the RIOT-OS to the STM32L0 microcontroller series for 
using the 6LoWPAN protocol.
Do you think that 8MHz core clock is sufficient for utilizing the 
6LoWPAN stack of RIOT-OS?


Best regards,
Bernhard
___
devel mailing list
devel@riot-os.org
https://lists.riot-os.org/mailman/listinfo/devel