Commit graph

113 commits

Author SHA1 Message Date
Nicolas Tsiftes 61ec5bf896 Merge pull request #514 from BastianPoe/contiki-mmem1
mmem: Prevent duplicate init of mmem
2014-11-28 19:57:17 +01:00
Enrico Joerns 85b494c16b [doc] Give files a common structure by placing license first (partial)
Followed by doxyen file and group tags.
This patch is only a first attempt to make provide a clean structure,
many more files require rework, too.
2014-11-10 23:54:49 +01:00
Enrico Joerns e4db33f560 [doc] updated settings manager documentation 2014-11-10 23:53:32 +01:00
Nicolas Tsiftes 6fb7dd238e Merge pull request #648 from cetic/pr-csma-fixes
High throughput fixes for csma and sixlowpan
2014-10-21 12:17:03 +02:00
Laurent Deru 68b9412776 Drop packet if there are not enough free buffers to perform fragmentation 2014-08-13 10:11:02 +02:00
kkrentz 13d9510715 llsec: Allow for sharing AES-128 2014-08-05 05:07:04 -07:00
Nicolas Tsiftes fb4fc312f1 Merge pull request #612 from nfi/assert
Undefine the assert macro to avoid compiler warning.
2014-06-11 15:43:17 +02:00
Rémy Léone 25c8b0835d Closing doxygen groups 2014-05-30 11:01:20 +02:00
Niclas Finne db3a42fc43 Redefine assert if already defined since some platforms already have an assert definition 2014-03-28 11:38:38 +01:00
Daniel Willmann 60adaaad34 mmem: Prevent duplicate init of mmem
This could seriously corrupt data if mmem_init was called again after
someone called mmem_alloc.
2014-02-07 14:42:11 +01:00
Adam Dunkels 45265249fc Changed the name of the rimeaddr module to linkaddr 2014-01-29 20:12:24 +01:00
Adam Dunkels 24155ee0ae Moved the custom strncasecmp code into a separate module, since it cannot be compiled on all platforms 2014-01-26 23:20:46 +01:00
Adam Dunkels b244f30480 Moved the ctk files from core/lib into core/lib/ and core/lib/libconio 2014-01-26 23:20:46 +01:00
Adam Dunkels bddd96d5c8 Removed all module makefiles. Instead, all .c files in a module directory are compiled. 2014-01-26 23:20:46 +01:00
Adam Dunkels 8eace27f9b Moved net/rime.h to net/rime/rime.h 2014-01-26 23:20:45 +01:00
Adam Dunkels 13f8837422 Made core/lib into a module 2014-01-26 23:20:32 +01:00
Adam Dunkels 0fd503af42 Removed the experimental checkpointing code 2013-11-28 14:09:17 +01:00
Adam Dunkels bb2dcaa057 A massive all-tree automated update of all double inclusion guard #defines that changes from using two underscores as a prefix, which are reserved, to not using two underscores as a prefix 2013-11-24 20:20:11 +01:00
George Oikonomou 060b00c4b5 Use TRICKLE_TIMER_IS_STOPPED in trickle_timer_stop() 2013-09-30 12:37:03 +01:00
George Oikonomou 995a9c92d9 Only schedule a trickle interval doubling for running timers 2013-09-16 11:53:39 +01:00
George Oikonomou fa7219d0b8 Add a way to determine whether a trickle timer is running 2013-09-16 11:53:39 +01:00
Zhen-Huan Hwang e75dacb5fa 1. Added a missing '&' in lib/trickle-timer.h
2. Removed executable permissions of lib/trickle-timer.c & .h
2013-09-11 18:31:06 +03:00
Robert Quattlebaum 0308d3fcf0 settings: Correct a problem where sometimes CC_INLINE is not defined properly. 2013-07-02 08:46:03 -07:00
George Oikonomou ffeceb9164 Add a Trickle Timer Library (RFC 6206) 2013-05-19 21:51:07 +01:00
Mariano Alvira 5df586e09d Merge pull request #184 from g-oikonomou/bug-fixes/rimestats
Rimestats Fix (#183)
2013-05-19 07:45:22 -07:00
George Oikonomou db078cf7e8 Replace reads of rimestats with RIMESTATS_GET(x) 2013-03-20 21:14:35 +00:00
Robert Quattlebaum ed2dd29eda core/lib/settings: Added SETTINGS_CONF_SKIP_CONVENIENCE_FUNCS.
Unfortunately, some platforms don't properly drop unreferenced functions,
so on these broken platforms we can save a significant amount
of space by skipping the definition of the convenience functions.
2013-03-20 11:57:13 -07:00
Robert Quattlebaum 28a1e40ebd core/lib/settings: Generalized Settings Manager to work on any platform
This commit moves the Settings Manager from the AVR codebase
into the Contiki core library. Any platform that implements
the Contiki EEPROM API can now use the Settings Manager's
key-value store for storing their persistent configuration info.

The Settings Manager is a EEPROM-based key-value store. Keys
are 16-bit integers and values may be up to 16,383 bytes long.
It is intended to be used to store configuration-related information,
like network settings, radio channels, etc.

 * Robust data format which requires no initialization.
 * Supports multiple values with the same key.
 * Data can be appended without erasing EEPROM.
 * Max size of settings data can be easily increased in the future,
   as long as it doesn't overlap with application data.

The format was inspired by the [OLPC manufacturing data format][].

Since the beginning of EEPROM often contains application-specific
information, the best place to store settings is at the end of EEPROM
(the "top"). Because we are starting at the end of EEPROM, it makes
sense to grow the list of key-value pairs downward, toward the start of
EEPROM.

Each key-value pair is stored in memory in the following format:

Order    | Size     | Name         | Description
--------:|---------:|--------------|-------------------------------
       0 |        2 | `key`        | 16-bit key
      -2 |        1 | `size_check` | One's-complement of next byte
      -3 |   1 or 2 | `size`       | The size of `value`, in bytes
-4 or -5 | variable | `value`      | Value associated with `key`

The end of the key-value pairs is denoted by the first invalid entry.
An invalid entry has any of the following attributes:

 * The `size_check` byte doesn't match the one's compliment of the
   `size` byte (or `size_low` byte).
 * The key has a value of 0x0000.

[OLPC manufacturing data format]: http://wiki.laptop.org/go/Manufacturing_data
2013-03-20 11:57:13 -07:00
Adam Dunkels ef25cc6c58 Rimestats bugfix: only compile the rimestats printout if rimestats are enabled 2013-03-18 11:22:00 +01:00
Adam Dunkels 944537fccf Removed all old RCS tags in the Contiki source tree. Those RCS tags are not used any more, as we are now using git to manage the Contiki source tree 2012-10-26 15:54:49 +02:00
Niclas Finne a56793f401 Fixed compiler warnings 2012-01-09 14:54:50 +01:00
Niclas Finne 6d3571ed59 Updated to use clock_seconds() on all platforms 2011-09-19 17:42:19 +02:00
David Kopf d4eeeeb8c9 Remove inclusion of preprocessor directive in macro expansion. Some gcc's do not like that. 2011-08-17 13:13:55 -04:00
David Kopf b55dddcd38 Free rtimer for contikimac, add print-stats option 2011-08-15 14:55:18 -04:00
Joakim Eriksson d8e54ca585 fixed for compilation with IAR compiler 2011-04-06 20:14:30 +02:00
nifi f3d22e6287 dos2unix conversion 2011-01-07 11:55:36 +00:00
dak664 9c66df6de1 Fix ancient RAND_MAX compiler warning 2010-12-13 16:52:02 +00:00
adamdunkels fd4c0e64aa Removed old unused files rand.[ch]. By default, Contiki uses the libc implementations of the rand() and srand() functions. 2010-10-24 21:02:23 +00:00
adamdunkels 3ae774c91a Added a way to for specifying lists as parts of structs. These lists
must be initialized with a special LIST_STRUCT_INIT() call before
using.
2010-09-13 13:31:00 +00:00
adamdunkels a84cc7c8a0 Added a function for obtaining the next item on the list. This makes list iterations nicer, as the ->next pointer now is hidden within the list abstraction. 2010-06-15 18:54:27 +00:00
nifi 46f9f7e6c0 corrected include path 2010-06-15 13:31:22 +00:00
adamdunkels a1f69138d1 Avoid adding elements twice 2010-04-30 07:18:24 +00:00
fros4943 3394a3ef23 make sure not to add an already existing list element, as it breaks the list iteration functions 2010-03-22 11:29:58 +00:00
nvt-se bf2e85a57f supply an argument of the same type as the print format 2010-03-09 14:14:36 +00:00
adamdunkels 47578806b5 Removed semicolon from #define to allow the semicolon to be placed naturally after the macro is used 2010-02-23 18:27:04 +00:00
oliverschmidt 3f142f0718 Convert '@' correctly from PETSCII to ASCII - by leaving it alone. 2010-01-31 23:46:19 +00:00
adamdunkels f6715890de Made SENSORS_ACTIVATE() and SENSORS_DEACTIVATE() use non-pointers, for concistency 2010-01-14 20:13:34 +00:00
nifi 079db2af55 fixed sensors_find API 2010-01-14 20:04:38 +00:00
joxe dd6922906c replace void pointer types with int 2010-01-14 15:33:27 +00:00
nifi 480f72c95c changed argument for SENSORS_ACTIVATE/DEACTIVATE to be a pointer to the sensor structure 2010-01-14 14:17:08 +00:00