Commit graph

9319 commits

Author SHA1 Message Date
Mariano Alvira 54719b75b8 Merge pull request #140 from cetic/slip-radio-platforms
Extend slip-radio example for Econotag and Nooliberry
2013-12-02 09:23:10 -08:00
Mariano Alvira ab8fb6c396 Merge pull request #386 from chrta/stm32w_flasher_udev
In stm32w_flasher replaced hal-* calls with usage of pyudev.
2013-12-02 09:21:39 -08:00
Mariano Alvira 590b3f48a9 Merge pull request #477 from MariaLauraStefanizzi/eeprom
i2c and eeprom drivers for mbxxx boards
2013-12-02 09:20:14 -08:00
Mariano Alvira 86c593b7cd Merge pull request #481 from ismb-pert/fix-sleep
Fix sleep
2013-12-02 09:19:25 -08:00
Mariano Alvira 70215b634d Merge pull request #480 from hexluthor/upstream
Add a rule for generating assembly listings on mc1322x targets, for example: "make webserver6.lst".
2013-12-02 09:18:34 -08:00
Mariano Alvira 2ab24f4fc3 Merge pull request #387 from chrta/mb950_1_rev_B
Added support for STM32w boards MB950 and MB951 revision B.
2013-12-02 09:11:50 -08:00
Gianfranco Costamagna ae27278714 Readded clock.c file, deleted in pull request #266, fixing issue #440 2013-12-02 11:38:07 +01:00
Gianfranco Costamagna 19a46266a5 Revert "Fixing sleep on stm32w108 cpu"
This reverts commit eac73ff68ce98e862def4bd671db03f7b9a3b438.
2013-12-02 11:37:53 +01:00
Ian Martin 0dafba4f6d Add a rule for generating assembly listings on mc1322x targets, for example: "make webserver6.lst". 2013-12-01 16:22:37 -05:00
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