[riot-devel] Readme badges
Hello, since we got a CI badge in the README, I think we could also add a badge to guide newcomers to our IRC. (I already opened a PR for that [1].) Maybe it's a good idea to discuss if we are generally open to accumulate a few badges in our README or if this should be more restricted. I'm not looking for a discussion about the PR, but the badges. Cheers Raphael [1] https://github.com/RIOT-OS/RIOT/pull/8964 signature.asc Description: Message signed with OpenPGP ___ devel mailing list devel@riot-os.org https://lists.riot-os.org/mailman/listinfo/devel
Re: [riot-devel] C++ Style Guide
Hello, I created a wiki article [1], which is not linked anywhere yet. How I see it is very similar to RIOT coding style. 2 spaces per indentation level is not acceptable to me, should be 4 as in C coding style. Otherwise, I find it very good. +1, indentation must match between the C and C++ coding conventions, there will be fewer style mistakes that way. For the first revision I changed the indentation to 4 spaces and removed the CAF names. Hopefully I found all of them. I quite enjoy writing applications in C++ instead of C. The C++ support is basically just a service to other RIOT users like me who like to use C++ for writing their applications. +1 Raphael [1] https://github.com/RIOT-OS/RIOT/wiki/Coding-Conventions-C On Jun 25, 2015, at 1:18 PM, Joakim Gebart joakim.geb...@eistec.se wrote: On Thu, Jun 25, 2015 at 11:44 AM, Johann Fischer j.fisc...@phytec.de wrote: Hi Raphael, Am 25.06.2015 um 11:09 schrieb Hiesgen, Raphael: Hi, it is time to write a C++ Coding Style Guide for RIOT. Since C and C++ have different traditions here, I will simply start to suggest using the C++ Style used in CAF [1]. While it is not identical, the style is relates to the guidelines used by Google and C++ Standard Library. How I see it is very similar to RIOT coding style. 2 spaces per indentation level is not acceptable to me, should be 4 as in C coding style. Otherwise, I find it very good. +1, indentation must match between the C and C++ coding conventions, there will be fewer style mistakes that way. By the way, can someone explain to me short why we need C ++ at all? I quite enjoy writing applications in C++ instead of C. The C++ support is basically just a service to other RIOT users like me who like to use C++ for writing their applications. I don't know if the RIOT community will be open to having RIOT modules and device drivers written in C++, (other than the C++ support modules, of course). Regards, Joakim ___ devel mailing list devel@riot-os.org https://lists.riot-os.org/mailman/listinfo/devel ___ devel mailing list devel@riot-os.org https://lists.riot-os.org/mailman/listinfo/devel
Re: [riot-devel] Testing RIOT
Hi Michael, we are using asan with gcc for a c++ project. I also compiled the example in the wiki and that works as well. The solution to the undefined reference is as obvious as it sounds, simple link the asan library. Normally it is linked by default, I guess. To compile a RIOT native example additional CFLAGS and LINKFLAGS are required. ``` CFLAGS += -fsanitize=address -O1 -fno-omit-frame-pointer -g LINKFLAGS += -lasan ``` However, as soon as the program is started, a segfault occurs. Would be boring otherwise, right? ``` (gdb) bt #0 0x0804d2ee in _native_syscall_enter () at /home/noir/RIOT/cpu/native/syscalls.c:102 #1 0x0804d711 in calloc (nmemb=1, size=20) at /home/noir/RIOT/cpu/native/syscalls.c:171 #2 0xf7ab4394 in ?? () from /lib32/libdl.so.2 #3 0xf7ab3e49 in dlsym () from /lib32/libdl.so.2 #4 0xf7b1eeea in ?? () from /usr/lib32/libasan.so.1 #5 0xf7af9475 in ?? () from /usr/lib32/libasan.so.1 #6 0xf7b0feb6 in __asan_init_v3 () from /usr/lib32/libasan.so.1 #7 0x0804a1d7 in _GLOBAL__sub_I_00099_1__native_rng_seed () at /home/noir/RIOT/cpu/native/startup.c:386 #8 0x0804ff2b in __libc_csu_init () #9 0xf79136b6 in __libc_start_main () from /lib32/libc.so.6 #10 0x08048ee1 in _start () ``` Greetings Raphael On Jun 19, 2015, at 11:37 AM, Michael Frey f...@informatik.hu-berlin.de wrote: Hi, Am Di, 16.06.2015, 16:54, schrieb Hiesgen, Raphael: `__asan_â errors when compiling for native. Since I am not familiar with the whole RIOT toolchain, are there any modifications that may prevent linking to the standard libs? just out of curiosity - have you tried to use address-sanitizer in gcc? Best, Michael -- Dipl.-Inf. (FH), M. Sc. Michael Frey Humboldt-Universität zu Berlin Department of Computer Science Rudower Chaussee 25 12489 Berlin, Germany ___ devel mailing list devel@riot-os.org https://lists.riot-os.org/mailman/listinfo/devel ___ devel mailing list devel@riot-os.org https://lists.riot-os.org/mailman/listinfo/devel
[riot-devel] Testing RIOT
Hello, I have followed the recent advancements on debugging the network stack and wanted to suggest some additional testing tools. GCC and Clang both offer the address-, thread- and leak-sanitizer [1]. Have you considered including those in the uint tests? They modify the resulting executable and provide runtime checks to find several bugs. The downside is that the tests run slower and not all of them are available for arm architectures. I just tried to add the flags to the `thread_basic` test and ran into loads of undefined reference to `__asan_” errors when compiling for native. Since I am not familiar with the whole RIOT toolchain, are there any modifications that may prevent linking to the standard libs? Before I invest more time in this: have you considered using these tools before? Is there interest in having this for the unit test (on native)? Regards Raphael [1] https://code.google.com/p/address-sanitizer/wiki/AddressSanitizer ___ devel mailing list devel@riot-os.org https://lists.riot-os.org/mailman/listinfo/devel
Re: [riot-devel] Regarding Project A2
Hi Dinuka, welcome to RIOT! I would like to know whether for what platform(ARM,Intel Galileo) we have to develop the applications? You can target any platform you want, as long as it runs RIOT. If you want adapt the project idea as is, the biggest constraint for target hardware is memory size. We use the stm32f4discovery boards ourselves for testing with RIOT, CAF and C++. The board is already supported by RIOT and has 1MB ROM and 192 KB RAM if I am not mistaken. Here are some more thoughts on the project, which I have posted on the mailing list earlier: The idea is to use the C++ Actor Framework for programming. It is an implementation of the actor model [1] and can be found on Github [2]. The project itself features some examples and documentation how to use it. It should be noted that RIOT support is still in development, see the topic/caf branch of my RIOT fork [3] and the topic/riot branch of CAF [4]. For now, you can use actors on the board, but the network communication is not implemented (yet). The network stack we want to deploy is based on IEEE 802.15.4, 6LoWPAN, UDP and CoAP. To enable IEEE 802.15.4 and 6LoWPAN on desktop machines we acquired some usb dongles [4]. For testing CAF with RIOT, we use stm32f4discovery boards which have a lot of memory available, but do not have a transceiver. Getting that to work is required at some point. In any case, I would suggest to start by developing the application logic on a desktop machine. It allows for easier debugging and should allow you to use basically the same code on RIOT later on. Further, it is helpful to have a small setup for testing your deployment later on. Hope this answers your question. Raphael [1] http://en.wikipedia.org/wiki/Actor_model [2] https://github.com/actor-framework/actor-framework [3] https://github.com/josephnoir/RIOT [4] http://rosand-tech.com/products/r-idge/prod.html On Mar 18, 2015, at 6:09 PM, Dinuka Salwathura dinuka...@cse.mrt.ac.lk wrote: Hello RIOT community, I am Dinuka Sawlathura from University of Moratuwa, Sri Lanka. I am doing Computer Science Engineering(Integrated Computer Engineering). I like to work on following project, Project A2: Intelligently Interacting Light Switches I would like to know whether for what platform(ARM,Intel Galileo) we have to develop the applications? Thank you, best regards, Dinuka ___ devel mailing list devel@riot-os.org http://lists.riot-os.org/mailman/listinfo/devel ___ devel mailing list devel@riot-os.org http://lists.riot-os.org/mailman/listinfo/devel
Re: [riot-devel] GSoC 15 Introduction
Hi Khawaja, welcome to RIOT! Maybe I can offer some insight on Project A2. I hope the basic idea is clear, so I will focus on the software / hardware side here. The idea is to use the C++ Actor Framework for programming. It is an implementation of the actor model [1] and can be found on Github [2]. The project itself features some examples and documentation how to use it. It should be noted that RIOT support is still in development, see the topic/caf branch of my RIOT fork [3] and the topic/riot branch of CAF [4]. For now, you can use actors on the board, but the network communication is not implemented (yet). The network stack we want to deploy is based on IEEE 802.15.4, 6LoWPAN, UDP and CoAP. To enable IEEE 802.15.4 and 6LoWPAN on desktop machines we acquired some usb dongles [4]. For testing CAF with RIOT, we use stm32f4discovery boards which have a lot of memory available, but do not have a transceiver. Getting that to work is required at some point. In any case, I would suggest to start by developing the application logic on a desktop machine. It allows for easier debugging and should allow you to use basically the same code on RIOT later on. Further, it is helpful to have a small setup for testing your deployment later on. Does that help? I am sorry I can’t say more about N1, I am sure someone else can provide you with more details on that if you are interested! Raphael [1] http://en.wikipedia.org/wiki/Actor_model [2] https://github.com/actor-framework/actor-framework [3] https://github.com/josephnoir/RIOT [4] http://rosand-tech.com/products/r-idge/prod.html On Mar 13, 2015, at 8:56 PM, Muhammad Abdur Rehman Khawaja kh.m.a.reh...@gmail.commailto:kh.m.a.reh...@gmail.com wrote: Hi, My name is Khawaja Muhammad Abdur Rehman. I am Mechatronics Engineer and Post Graduate Student in Robotics and Intelligent Machine Engineering. Your projects had attracted me here as I have lot of experience in Embedded Systems and Sensor Interface. I have experience with Xbee S1 (Developed remote temperature monitoring System and Control), CC3000 (Image on web server on detecting an obstacle) and a lot more.. I have read all the ideas and I am interested in: - Project N1: Support for Bluetooth Low Energy aka Bluetooth Smart I have worked in Bluetooth Technology using Bluetooth V2.0 Modules and developed a chat server between two clients. I would like to contribute all my expertise and skills to make BLE support possible in a robust and efficient way. - Project A2: Intelligently Interacting Light Switches I have developed a four wheeler mobile robot which have temperature sensor, humidity sensor, flame sensor, and gas sensor. It also have webcam with PTZ movement using servos and a light. Sensor data display, Live video feed and Control of Movement of Robot is all done from a Web Page I had developed. So it is Internet of Things device which is used for surveillance in home as it has live video feed on the web. (All in real time with latency about 50ms). This project is using similar technology to interact with light switches using WiFi. I would like to start with initial settings before GSoC coding starts so I have plenty of time for developing this in advance level. I am interested in both projects but Project A2 is my priority. I have started my journey with RIOT. I have compiled RIOT OS on Ubuntu 14.04. and created my first project. I am planning to port RIOT OS to all platform that RIOT OS supports and I have which includes: - STM32F4 - MSP430 - Intel Gallelio. - Arduino Due. - Arduino Mega. It will help to improve RIOT functionality on these platforms. I have expertise in all communication protocols. - SPI (Master/Slave) - UART - USART - I2C (Master/Slave). - Wifi - Bluetooth I am expert in interfacing sensor modules with microcontroller. I look forward to your feedback and guidance. Thanks Kind Regards Khawaja Muhammad Abdur Rehman, CAPS (BIS) BE Mechatronics Post Graduate Student - Robotics and Intelligent Machine Engineering. National University of Sciences and Technology Sector H-12, Islamabad. ___ devel mailing list devel@riot-os.orgmailto:devel@riot-os.org http://lists.riot-os.org/mailman/listinfo/devel ___ devel mailing list devel@riot-os.org http://lists.riot-os.org/mailman/listinfo/devel
Re: [riot-devel] Introduction and Getting Started
Hello Shantanu, Could you provide me some more information or resources that would help get a deeper insight about the project and get started. the idea is to use the C++ Actor Framework for programming, which can be found on Github [1]. However, RIOT support is still in development at the moment, see the topic/caf [2] and topic/riot [1] branches. For now, you can use actors on the board, but the network communication is not implemented (yet). We are using the stm32f4discovery boards for testing CAF and C++. The board does not have a transceiver. Maybe someone else can help with that. The r-idge [3] USB dongles enable 6lowpan on desktop hardware, raspberry pis and similar devices. To begin with, I recommend to get the actors and their work flow running on desktop first before moving to embedded devices. This eases debugging and helps to get familiar with CAF. Alternatively you can get a bit into RIOT and, for example, get some LEDs blinking. Raphael [1] https://github.com/actor-framework/actor-framework [2] g...@github.com:josephnoir/RIOT.git [3] http://rosand-tech.com/products/r-idge/prod.html On Mar 12, 2015, at 11:52 AM, Shantanu Patil shantanu.p.pati...@gmail.com wrote: Hi, My name is Shantanu Patil and I'm a senior year undergrad student at IIIT Hyderabad, India. My interest lies in Embedded hardware programming. I have taken relevant courses in this stream and have done some projects involving embedded systems and external sensors. Also I have experience in working with variety of Embedded platforms including Atmega Arduino micro-controllers, FPGAs and Java Cards. I went through the project listed on idea's page. I'm really interested in contributing to the project A2: Intelligently interacting light switches during SoC '15. Could you provide me some more information or resources that would help get a deeper insight about the project and get started. Thanks and Regards, Shantanu Patil IIIT Hyderabad (IRC: Nash) ___ devel mailing list devel@riot-os.org http://lists.riot-os.org/mailman/listinfo/devel ___ devel mailing list devel@riot-os.org http://lists.riot-os.org/mailman/listinfo/devel
Re: [riot-devel] A2 Project Details
Hi Shubham, we are using the stm32f4discovery boards for our testing with CAF and C++. However, the board does not have a transceiver. Maybe Martin or Peter can help with that. The r-idge [1] USB dongles enable 6lowpan on desktop hardware, raspberry pis and similar devices. To begin with, I would recommend to get the actors and their work flow running on a desktop first before moving to embedded devices. This eases debugging and helps to get familiar with CAF. I don’t have any experience with predictive algorithms, so you would have to do some research on that topic. Raphael [1] http://rosand-tech.com/products/r-idge/prod.html On Mar 9, 2015, at 4:50 AM, SHUBHAM CHHABRA chhabra...@gmail.com wrote: Hi all, I see a new project (A2: Intelligently Interacting Light Switches) added to the ideas list and would like to know about hardware requirements and predictive analysis involved in it. Can anyone help me? Thanks Shubham Chhabra ___ devel mailing list devel@riot-os.org http://lists.riot-os.org/mailman/listinfo/devel ___ devel mailing list devel@riot-os.org http://lists.riot-os.org/mailman/listinfo/devel
Re: [riot-devel] 802.15.4 for Linux
Hi, we have a couple of these USB things [1]. Martin has made a few tests with them. If I am not mistaken the sticks show up on Linux as a network interface without any problems. Raphael [1] http://rosand-tech.com/products/r-idge/feat.html? On Jan 30, 2015, at 11:02 AM, Oleg Hahm oliver.h...@inria.frmailto:oliver.h...@inria.fr wrote: Dear reasoning IoTlers, I know, we had this question already several times before , but I'm not sure about the current state and if some of you have made new experiences in this domain: is there any off-the-shelf hardware available that provides an IEEE 802.15.4 interface for Linux systems - preferable something like a USB stick? If yes, does this hardware work with a standard Linux vanilla kernel and which version is required? Or does it need any custom/developer version of a driver? How well are upper layers like 6lowpan supported by Linux in the meantime? And has anyone ever tried to connect such a device to a RIOT driven device? Thanks, Oleg -- printk(autofs: Out of inode numbers -- what the heck did you do??\n); linux-2.0.38/fs/autofs/root.c ___ devel mailing list devel@riot-os.orgmailto:devel@riot-os.org http://lists.riot-os.org/mailman/listinfo/devel ___ devel mailing list devel@riot-os.org http://lists.riot-os.org/mailman/listinfo/devel
Re: [riot-devel] Memory Management
Hello, ah, sure. I did not connect tests/malloc to the path in RIOT. Thanks for the clarification. Raphael On Jan 30, 2015, at 4:07 PM, Benjamin Valentin benpi...@zedat.fu-berlin.de wrote: On 24.01.2015 11:04, Hiesgen, Raphael wrote: Hello Benjamin, I'm not sure what that documentation is based on though, running tests/malloc will allocate and free all available memory just fine. may I ask how you tested this? I just flashed the test to my board (not stm32f4discovery, but _sbrk_r is the same). Just run make BOARD=stm32f4discovery flash term and you should see it allocating memory till malloc() returns 0, then freeing it all again, ad infinitum. Benjamin ___ devel mailing list devel@riot-os.org http://lists.riot-os.org/mailman/listinfo/devel ___ devel mailing list devel@riot-os.org http://lists.riot-os.org/mailman/listinfo/devel
Re: [riot-devel] Memory Management
Hello Benjamin, I'm not sure what that documentation is based on though, running tests/malloc will allocate and free all available memory just fine. may I ask how you tested this? Raphael ___ devel mailing list devel@riot-os.org http://lists.riot-os.org/mailman/listinfo/devel
[riot-devel] absolute timpanist in vtimer
Hello, I think enabling vtimer to await an absolute point in time would be useful, something like this [1]. Otherwise you end up subtracting the current time and adding it again in vtimer_set. Any thoughts? Raphael [1] https://github.com/josephnoir/RIOT/commit/1c382965c4b4f7c0083a0bde481d375fef481567 ___ devel mailing list devel@riot-os.org http://lists.riot-os.org/mailman/listinfo/devel
[riot-devel] C++ compiler for stm32f4discovery
Hi, we are trying to compile c++ code for the stm32f4discovery. Our implementation requires the exception_ptr.h include in the STL exception header, which is only defined if the ATOMIC_INT_LOCK_FREE flag is greater than 1. This is not the case in the gcc4.8 compiler found on launchpad. Does anyone know how to circumvent this problem or where we could find an alternative compiler? Thanks Raphael ___ devel mailing list devel@riot-os.org http://lists.riot-os.org/mailman/listinfo/devel