Commit graph

9210 commits

Author SHA1 Message Date
Mariano Alvira 5fbefbd87b Merge pull request #459 from adamdunkels/push/mc1322x-stuff
MC1322x additions
2013-11-29 11:59:04 -08:00
Nicolas Tsiftes 7b1e3d1c94 Merge pull request #460 from adamdunkels/push/routelist
IPv6 routes LRU
2013-11-29 05:23:05 -08:00
Nicolas Tsiftes 65392ce59e Merge pull request #474 from adamdunkels/push/cleanup-vnc
Remove the VNC client and server
2013-11-29 05:07:53 -08:00
Christian Taedcke 0de2e6dded In stm32w_flasher adapted error message for missing pyudev. 2013-11-28 16:49:43 +01:00
Adam Dunkels 0908924f91 Removed the lpp.c code 2013-11-28 15:24:40 +01:00
Adam Dunkels f86aaf7c14 Removed the xmac.c code 2013-11-28 15:24:22 +01:00
Adam Dunkels d1d352b2f4 Merge pull request #473 from adamdunkels/push/cleanup-checkpoint
Removing the experimental checkpoint functionality
2013-11-28 06:05:43 -08:00
Adam Dunkels 611c659e51 Removed the VNC/CTK server and the VNC viewer app 2013-11-28 14:10:47 +01:00
Adam Dunkels 88915dca58 Enabled shell_rime_send_cmd_init() so that this example can be used in the shell/03-sky-shell-command regression test 2013-11-28 14:09:17 +01:00
Adam Dunkels 0fd503af42 Removed the experimental checkpointing code 2013-11-28 14:09:17 +01:00
Fredrik Österlind 189b1535e9 Merge pull request #475 from cetic/cooja-radiologger-pcap
Allow user configuration of RadioLogger pcap file
2013-11-28 04:54:07 -08:00
Maria Laura Stefanizzi 8de0380efe Eeprom-test example modified
This patch improves the eeprom-test example adding more
tests on the eeprom read/write procedures.
2013-11-27 15:40:07 +01:00
Maria Laura Stefanizzi 10c7066035 mbxxx eeprom driver
This patch adds the eeprom driver needed to access M24C64
eeprom which is on some mbxxx boards.
Signed-off-by: Maria Laura Stefanizzi <laura28582@gmail.com>
2013-11-27 15:40:07 +01:00
Maria Laura Stefanizzi 22f39ab4ff MEMS I2C integration.
This patch allows the MEMS driver to use the i2c driver.
Signed-off-by: Maria Laura Stefanizzi <laura28582@gmail.com>
2013-11-27 15:40:07 +01:00
Maria Laura Stefanizzi a9c0768fd6 Integrate I2C driver into board initializzation
This patch add I2C initializzation for board with I2C devices.
Signed-off-by: Maria Laura Stefanizzi <laura28582@gmail.com>
2013-11-27 15:40:07 +01:00
Maria Laura Stefanizzi c7b1248aac mbxxx I2C driver.
This patch add the I2C driver for mbxxx platform to communicate with
devices connected to the SC2 I2C bus.
Signed-off-by: Maria Laura Stefanizzi <laura28582@gmail.com>
2013-11-27 15:40:07 +01:00
Laurent Deru 957be0a9be Allow user configuration of RadioLogger pcap file 2013-11-27 14:05:45 +01:00
Laurent Deru fa2dd5baec Allow configuration of pcap output file 2013-11-27 14:05:45 +01:00
Fredrik Österlind c99a76747c Merge pull request #469 from eberlin/cooja-tab-char
Fix: preserving blank characters (tabulator and space) in Cooja serial output
2013-11-27 00:45:39 -08:00
Adam Dunkels 0d04db2b03 Merge pull request #428 from g-oikonomou/config-sanity
Remove unnecessary stuff from various Makefiles (Config Sanity, Pt 1)
2013-11-26 15:05:08 -08:00
Nicolas Tsiftes db4cada4e7 Merge pull request #462 from adamdunkels/push/no-reserved-double-inclusion-defines
Remove all leading double underscore inclusion #defines
2013-11-26 14:26:37 -08:00
Benoît Thébaudeau 1a696eb123 cc2538: gpio: Clear the power-up interrupts in the port ISRs
The pending GPIO power-up interrupts have to be cleared in the ISRs in order not
to re-trigger the interrupts and the wake-up events.

The power-up interrupts of all pins are cleared for each port in the
corresponding port ISR. This is done after calling the registered callbacks so
that the callbacks can know which pin woke up the SoC. This is done after
clearing the regular interrupt in order to avoid getting a new wake-up interrupt
without the regular interrupt in the case of a new wake-up edge occurring
between the two clears.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
2013-11-26 22:20:05 +01:00
Benoît Thébaudeau 44a5c76884 cc2538: gpio: Add macros to use GPIO power-up interrupts
The GPIO power-up interrupts have to be configured and enabled in order to be
able to wake-up the SoC from PM1+ upon a signal edge occurring on a GPIO input
pin.

This set of macros allows to:
 - configure the signal edge triggering a power-up interrupt,
 - enable and disable a power-up interrupt,
 - clear a power-up interrupt flag.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
2013-11-26 22:10:47 +01:00
Eugen Berlin a415c2bb1b Fix: preserving blank characters (tabulator and space) in Cooja serial output 2013-11-26 16:43:31 +01:00
Fredrik Österlind ec5039b9eb Merge pull request #465 from cetic/cooja-pcap
Cooja Pcap export: Reverts PR #284 to fix #420
2013-11-25 23:53:26 -08:00
Benoît Thébaudeau 436b585d7e cc2538dk: Make it possible to override SLIP_ARCH_CONF_ENABLED
As the comment in contiki-conf.h says, the automatic definition of
SLIP_ARCH_CONF_ENABLED works only if UIP_FALLBACK_INTERFACE is tied to SLIP. If
UIP_FALLBACK_INTERFACE is set to another interface, SLIP_ARCH_CONF_ENABLED is
still automatically set to 1, leading to unwanted SLIP_END characters from
dbg.c:putchar() being printed on the UART.

This change makes it possible to force the definition of SLIP_ARCH_CONF_ENABLED
(e.g. from project-conf.h), so that it can be disabled if UIP_FALLBACK_INTERFACE
is used with something else than SLIP.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
2013-11-25 20:48:52 +01:00
Sébastien Dawans 700994ec1c Cooja Pcap export: Reverts PR #284 to fix #420 2013-11-25 16:36:49 +01:00
Adam Dunkels b133e387bd Merge pull request #414 from ADVANSEE/duplicate-packets
mac: Fix false duplicate packets detections
2013-11-25 07:16:58 -08:00
Benoît Thébaudeau 621f4f7339 cc2538: lpm: Give access to the SRAM non-retention area for PM2
If PM2 is enabled with LPM_CONF_MAX_PM, but not active, the non-retention area
of the SRAM can be useful to place temporary data that does not fit in the
low-leakage SRAM, typically after having called lpm_set_max_pm(LPM_PM1). Hence,
give access to this non-retention area thanks to .nrdata* sections.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
2013-11-25 15:43:37 +01:00
Benoît Thébaudeau 270ed237fd cc2538: usb: Make the GPIO driving the pull-up optional
The data sheet recommends that the USB pull-up resistor be driven by a GPIO so
that it can be controlled by software, but this is not mandatory. Hence, leave
the choice so that CC253-based boards not using this option can build and work
fine.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
2013-11-25 15:15:35 +01:00
Benoît Thébaudeau d2f3795a30 cc2538: Clean up port and pin definitions
Homogenize port and pin definitions naming:
 - PERIPHERAL_FUNCTION_PORT for the port ID,
 - PERIPHERAL_FUNCTION_PIN for the pin ID,
 - PERIPHERAL_FUNCTION_PORT_BASE for the port base,
 - PERIPHERAL_FUNCTION_PIN_MASK for the pin mask.

Define only PERIPHERAL_FUNCTION_PORT and PERIPHERAL_FUNCTION_PIN in board.h, and
deduce PERIPHERAL_FUNCTION_PORT_BASE and PERIPHERAL_FUNCTION_PIN_MASK in the
driver from the former definitions.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
2013-11-25 15:00:41 +01:00
Benoît Thébaudeau 4deba89f81 rdc: duplicate packets: Keep only the last sequence number for each address
According to IEEE 802.15.4e (§6.4.3.9), in order to detect duplicate received
MAC-layer frames, only the most recently received frame's sequence number needs
to be stored for each unique device address. Doing so limits the possible false
duplicate packet detections to a single sequence number. This also allows to
keep the last sequence number of more device addresses for the same value of
MAX_SEQNOS.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
2013-11-25 13:01:11 +01:00
Benoît Thébaudeau 477a4a7178 rdc: duplicate packets: Factor out detection code
The code detecting duplicate packets in the RDC layer had been copied into most
RDC implementations. Factor it out into a new mac-sequence module in order to
have a single instance of this code.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
2013-11-25 13:01:11 +01:00
Benoît Thébaudeau 14db3382af csma: Initialize sequence number with random value
According to IEEE 802.15.4 (§5.1.6.1, §6.4.2), the MAC sequence numbers should
be initialized to random values. This was already the case in
framer-802154.c:create(), but not in csma.c:send_packet(), sometimes causing
false detections of duplicate MAC-layer packets in other devices when a device
was restarted too quickly. This patch decreases the probability of such an
event.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
2013-11-25 13:01:11 +01:00
Nicolas Tsiftes acee82abbb Merge pull request #456 from adamdunkels/push/6lowpan-changes
6lowpan changes
2013-11-24 15:37:12 -08: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
Nicolas Tsiftes 7283e48f09 Merge pull request #454 from adamdunkels/push/dao-updates-rebased
RPL feather mode
2013-11-24 07:49:49 -08:00
Adam Dunkels d05a9e2e39 Disabling the fragmentation test for the sky, as it is a little too small to reliably run this firmware 2013-11-24 16:24:13 +01:00
Adam Dunkels 9f2e233770 The RPL_PARENT_COUNT() macro doesn't exist anymore - use the uip_ds6_nbr_num() function instead 2013-11-24 15:17:53 +01:00
Adam Dunkels b0460317b8 Moved variable declaration to the start of the function block 2013-11-24 15:17:52 +01:00
Adam Dunkels faff1c2a7e Preliminary support for RPL node types. This change allows a node to be in any of three given types:
* Mesh: this is the normal case. Nodes route data on behalf of others and the node can be reached via a DAO route.
* Leaf: the node does not route data on behalf of others, but others can route data to the node (it has a RPL DAO route).
* Feather: this is a new type of node. A feather node routes data on behalf of others, but does not install DAO routes in the network. Feather nodes allow having a larger number of nodes than the RPL network can sustain in terms of routing tables.

This commit introduces the RPL node types and the feather mode, but does not add support for the leaf node type.
2013-11-24 15:17:52 +01:00
Adam Dunkels af24d07848 Forward no-path DAOs up the tree to allow the root to repair the network if needed 2013-11-24 15:17:52 +01:00
Adam Dunkels 9039b0ecd8 Remove references to the now unused dag->parents list 2013-11-24 15:17:52 +01:00
Adam Dunkels 4e6fe7dda6 Add a neighbor table entry if a DAO is received from a node where we don't yet have a neighbor table entry. 2013-11-24 15:17:52 +01:00
Adam Dunkels 490791eaa4 Add a check for the case when the parent neighbor may have gone away to avoid using a NULL pointer 2013-11-24 15:17:52 +01:00
Adam Dunkels 0ed7db0f9b Slight improvements in debug messages 2013-11-24 15:17:52 +01:00
Adam Dunkels fc1adec1b8 Made it a bit more clear what function that gets called when a neighbor is removed 2013-11-24 15:17:51 +01:00
Adam Dunkels 61ea7fbb1c RPL DAO timers and management:
* Added a DAO lifetime timer that sends out a new DAO after half the lifetime of the DAO. This allows implementing DAO route soft state that avoids routing tables in the network keeping stale routes for ever.
* Added ways to schedule a new DAO transmission as well as cancelling an active DAO transmit timer, which makes it possible to do nodes that don't send DAOs.
2013-11-24 15:17:51 +01:00
Nicolas Tsiftes 42cae1c6c9 Merge pull request #461 from adamdunkels/push/cleanup-net
Cleanup: Removal of old unused core/net/ modules
2013-11-24 05:57:40 -08:00
Adam Dunkels 454088c117 Removed old, unused rawpacket code 2013-11-24 11:02:35 +01:00