Commit graph

114 commits

Author SHA1 Message Date
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
dak664 de7bcda99f avrdude and makefile changes suggested by Georg von Zengen 2011-03-08 13:07:00 -05:00
dak664 1e7479f8e4 Add periodic print of stack monitor and neighbors/routes.
Refactor PRINTFs.
2011-02-28 16:26:28 -05:00
dak664 bbcd43a9aa Merge branch 'master' of github.com:adamdunkels/contiki-2.x 2011-02-07 15:14:54 -05:00
dak664 71612fd6a4 Replace file, some problem with my local master line endings. 2011-02-07 15:12:54 -05:00
dak664 574feaa866 Test web-based commit, see if it fixes the line endings. 2011-02-07 11:25:07 -08:00
dak664 574927c776 Delete obsolete file 2011-02-07 14:07:37 -05:00
dak664 519cce0019 Add comments, bugfixes, merge avr-atmega128rfa1 platform changes to avr-raven 2011-02-07 14:06:53 -05:00
David Kopf ceea35f7a8 Test TortoiseGit commit from Vista laptop 2011-02-04 10:41:18 -05:00
David Kopf 16df31b143 Merge branch 'master' of https://github.com/adamdunkels/contiki-2.x 2011-02-04 10:39:34 -05:00
dak664 0b23116c30 Test TortoiseGit commit from windows 7 2011-02-04 09:03:03 -05:00
David Kopf c18d12e8a4 Test git commit 2011-02-03 18:29:17 -05:00
dak664 90a6d768ea Keep track of sleeptime and display on status web page. 2010-12-23 19:41:07 +00:00
dak664 013c3ac2f8 Remove contitional on clock updating, it should always be done after a sleep! 2010-12-22 17:09:03 +00:00
dak664 44a2e34005 Resolve TIMER2 conflict between sleep and possible clock usage. 2010-12-22 16:50:30 +00:00
dak664 7b7ad4336e Send text following ? in GET to Raven LCD 2010-12-20 20:06:06 +00:00
dak664 d378d891c8 Add working cx-mac configuration values. 2010-12-18 20:46:14 +00:00