Commit graph

130 commits

Author SHA1 Message Date
Simon Duquennoy a9cc909794 Network layer configuration: replace UIP_CONF_* with NETSTACK_CONF_WITH_* 2014-12-01 21:02:57 +01:00
Simon Duquennoy 722b3258d1 Cleanup of the Contiki network layer configuration. Now using CONTIKI_WITH_IPV6, CONTIKI_WITH_IPV4, and CONTIKI_WITH_RIME in makefiles, and UIP_CONF_IPV6, UIP_CONF_IPV4, UIP_CONF_RIME in c code. Now only the stacks that are used are compiled (via makefile MODULES). Make IPv6 the default network stack. 2014-12-01 20:13:09 +01:00
kkrentz 7b63217a32 ContikiMAC: Default to contikimac_framer when using Rime over ContikiMAC 2014-11-25 04:56:09 -08:00
Enrico Joerns b0206e2f58 [doc] avr-raven: Fix placement of description for ravenserial group
Note: The raven-lcd-interface and raven-ipso modules in atmega128rfa1
seem to be needles for this platform and might be there only because of
copy&paste from the raven platform. Should be removed in a later patch.
2014-11-10 23:53:34 +01:00
kkrentz 2cf7d98cad ContikiMAC: Create and parse ContikiMAC header in special framer; Expanded framer interface
to allow for creating and securing frames in advance; Create and secure frames in advance when sending bursts; Do neither recreate nor resecure frames that come from phase
2014-08-05 05:07:06 -07:00
kkrentz c396a85364 llsec: Added a layer in between NETSTACK_MAC and NETSTACK_NETWORK for implementing link layer security 2014-08-04 01:09:57 -07:00
Rémy Léone 25c8b0835d Closing doxygen groups 2014-05-30 11:01:20 +02:00
Adam Dunkels 45265249fc Changed the name of the rimeaddr module to linkaddr 2014-01-29 20:12:24 +01:00
Adam Dunkels 824d2047da Add the explicit list of modules, since we cannot do auto-dependency management of them 2014-01-26 23:20:47 +01:00
Adam Dunkels 8eace27f9b Moved net/rime.h to net/rime/rime.h 2014-01-26 23:20:45 +01:00
Adam Dunkels 7a740b382f Moved the individual MODULE definitions from the top-level Makefile.include into the individual platforms' Makefiles 2014-01-26 23:20:36 +01:00
Adam Dunkels 51efdd952a Define MODULES for the avr-raven and the avr-ravenusb platforms 2014-01-26 23:20:33 +01:00
Adam Dunkels 5f3fe7f7c7 Updated include paths for the moved files under net/ 2014-01-26 23:20:23 +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
Simon Duquennoy 248301a041 Fix naming issues and includes in uip-ds6-nbr.h 2013-08-19 17:48:30 +02:00
Simon Duquennoy 5dc05e7913 Port apps, examples, platforms and tools so they use the new neighbor and route API. 2013-08-19 17:48:30 +02:00
Simon Duquennoy ff093a2b50 Removed now unused per-module neighbor table size configs. Use NEIGHBOR_CONF_MAX_NEIGHBORS instead. 2013-08-19 17:48:30 +02:00
Robert Quattlebaum 0308d3fcf0 settings: Correct a problem where sometimes CC_INLINE is not defined properly. 2013-07-02 08:46:03 -07:00
Robert Quattlebaum 674f70b6c3 cpu/avr: Added "AVRDUDE_MCU" configuration parameter. 2013-05-19 14:23:31 -07: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
Robert Quattlebaum 535e90343c Merge pull request #144 from darconeous/pull-requests/settings-for-all-targets
core/lib/settings: Generalized settings manager to work on any platform
2013-05-18 12:03:09 -07:00
George Oikonomou 8c0cf50dca Rename RIMESTATS_CONF_ON to RIMESTATS_CONF_ENABLED 2013-03-20 21:14:34 +00: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 277a348f60 Changed the name of the IPv6 number of route entries configuration from UIP_CONF_DS6_ROUTE_NBU to UIP_CONF_MAX_ROUTES. 2013-03-18 11:12:44 +01:00
Adam Dunkels 99f541e8fd Updated to the latest uip-ds6-route API 2012-11-27 23:04:34 +01:00
Adam Dunkels ec8c7e9be0 Cleanup of the node-id.h files. The node-id.h file contains
declarations of functions for setting and getting a node ID number, a
functionality that exists on many platforms. Since this functionality
was not considered part of the Contiki core, each platform defined its
own node-id.h file. This commit attempts to clean this up by
collecting the node-id.h into a core/sys/node-id.h file that replaces
the old node-id.h files from the platform directories.
2012-11-20 19:59:46 +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
Ivan Delamer b43dad00b0 Cleaned up RF230BB, and refactored FRAME_RETRIES and CSMA_RETRIES
#defines.
2012-09-04 11:12:18 -06:00
David Kopf 37c407b177 Patch from Landon Fuller adds const to PROGMEM, required for newer avr-gcc 2012-06-10 12:54:11 -04:00
David Kopf cac4e9a222 Add clock_delay_us and clock_set_seconds to clock.h. Modify clock_wait to use clock_time_t.
Remove the troublesome avr/dev/delay.* files.
Add PLATFORM_NAME and combine the confusing *_REVISION defines into a single PLATFORM_TYPE
2012-04-09 15:49:53 -04:00
David Kopf 6e45dfe5ff PROGMEM changes needed for newer avr-gcc compiler 2012-02-21 11:10:57 -05:00
Nicholas J Humfrey 680225e99d Converted u8_t to uint8_t and u16_t to uint16_t in the platforms directory.
Added "These names are deprecated, use C99 names" warnings the contiki-conf.h files that were missing it.
2012-02-21 08:33:25 -05:00
David Kopf 58298f59db Add F_CPU=0x800000 option with phase lock to external 32768 Hz crystal
Add MCU_CONF_LOW_WEAR option to avoid eeprom writes during development.
2012-01-10 12:42:27 -05:00
David Kopf fb977cb9ef Better fix for hardware FCS error on JTAG reset
Correct silly error introduced by trying to save two bytes.
2011-11-15 13:24:58 -05:00
David Kopf 3612fdff5b Add params.c to Raven and sync with 128rfa1 contiki-conf.h
Contikimac works with mcu sleep on both platforms.
2011-11-14 11:56:34 -05:00
David Kopf bdd164e003 Reverse node_id bytes, patch from Geog von Zengen 2011-11-08 12:23:29 -05:00
David Kopf f721f646fa Adjust sleep time by ticks instead of seconds, proposed by Ivan Delamer 2011-09-10 12:44:49 -04:00
David Kopf d2aece89ef Add settings manager with program flash defaults, random routine, periodic prints with ENERGEST, node-id. 2011-08-28 16:22:39 -04:00
David Kopf 83e3b99d54 Let RPL examples enable platform RPL 2011-08-15 14:45:44 -04:00
David Kopf 50d1086553 Add changes needed for contikimac 2011-08-13 11:38:38 -04:00
David Kopf f36c97a9a4 Get random seed from noisy ADC conversion at startup. 2011-08-13 11:31:20 -04:00
David Kopf c9b19ce655 Change timer setups for arbitrary CLOCK_CONF_SECOND
Change raven to 128 ticks and enable 32KHz crystal as default.
2011-08-05 15:14:35 -04:00
David Kopf 44f4ee9315 Use PROCESS_NAME_STRING macro to handle NO_PROCESS_NAMES 2011-08-03 11:08:40 -04:00
David Kopf 0774fef827 Add explicit RADIOSTATS to platform contiki-conf.h 2011-07-25 15:12:12 -04:00
David Kopf 0bb585fd60 Replace WEBSERVER by AVR_WEBSERVER 2011-07-24 11:43:17 -04:00
dak664 d6db9e4e86 Add project-conf.h to platform contiki-conf.h files.
Fix jackdaw comments.
2011-06-08 09:12:57 -04:00
dak664 e4fcd7ebd7 Add files needed for slip rpl-border-router build. 2011-03-11 14:16:27 -05:00
dak664 02091b083a MAC address to EEMEM, not PROGMEM
Sync atmega128rfa1 main routine to the raven (timed route prints, etc.)
2011-03-11 13:47:47 -05:00
dak664 69da4c8cfa Fix unresolved references when built without webserver and/or tcp. Changes suggested by Harald Pichler. 2011-03-10 10:57:43 -05:00
dak664 ad67c573de Fix unused variable warning 2011-03-10 10:37:15 -05:00