Commit graph

9565 commits

Author SHA1 Message Date
Benoît Thébaudeau d93d129da6 cc2538: uart: Make it possible to use several UARTs simultaneously
This avoids the limitation of having a single UART available at runtime, without
duplicating code.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
2014-04-17 18:53:44 +02:00
Ian Martin 2cf730a1c6 Un-indent preprocessor directives. 2014-04-17 10:39:00 -04:00
George Oikonomou db754a57d7 Merge pull request #598 from lab11/spi-flush2
[SPI + CC2538] Update the SPI driver for CC2538
2014-04-16 22:42:53 +01:00
Ian Martin 23a3a7f004 Add a note about "make cc2538-demo.lst" to the platform README. 2014-04-16 10:47:01 -04:00
Ian Martin 16936d864c Rename FLASH_CCA_CONF_BOOTLDR_BACKDOOR_PIN to FLASH_CCA_CONF_BOOTLDR_BACKDOOR_PORT_A_PIN. 2014-04-16 10:19:37 -04:00
Ian Martin 1a63c47cf9 CC2538: Add CONF parameters to select boot loader backdoor pin and logic level. 2014-04-15 17:36:55 -04:00
Niclas Finne ceb868d934 Modified project setup for er-rest-example and rest-example to use
nullrdc and nullmac to reduce the code size. This allows the examples
to compile on Tmote Sky again.
2014-04-15 22:59:20 +02:00
Niclas Finne 0327623ae1 Minor update to improve output in extended RF API example. On 16 bit
platforms, PAN id and short address might be negative when used as
16 bit signed integers.
2014-04-15 22:50:11 +02:00
Brad Campbell af27d2d252 [CC2538-SPI] Implement SPI_FLUSH, spi mode, !CS
Because the CC2538 has a multi-byte SPI RX FIFO, flushing the buffer
requires more than just a single read. This adds a loop that empties the
entire RX buffer on a FLUSH().

Different SPI chips needs different SPI settings. This commit adds a
function that allows chip drivers to configure the SPI peripheral before
using it.

The frame pin the driver was using as a chip select does not work as
most devices expect it to. It toggles after every byte, and most chips
interpret that as end of message. To make drivers more reliable, each
chip driver should setup a GPIO and assert it as needed.
2014-04-15 14:07:10 -04:00
Brad Campbell a96dc90250 [SPI] Make SPI_FLUSH() more versatile
Currently the SPI driver in core/ sets `SPI_FLUSH()` to be a single read
of the spi RX buffer. This is fine for many microcontrollers, but newer
platforms like the CC2538 have a multi-byte FIFO for the RX buffer. In
that case, a single read is not guaranteed to flush the RX. This commit
allows `SPI_FLUSH()` to be platform dependent if needed, but doesn't
change for platforms where it works.
2014-04-15 14:04:42 -04:00
Fredrik Österlind d3b9954342 Merge pull request #639 from ejoerns/pull-req/cooja-plugin-pos
[Cooja] Set location of newly created plugins relative to second last activated plugin
2014-04-15 09:51:29 +02:00
Fredrik Österlind 3a08f77489 Merge pull request #640 from ejoerns/pull-req/cooja-loglistener-fix
[Cooja] plugins/LogListener: Prevent from throwing ArrayIndexOutOfBoundsException
2014-04-15 09:09:39 +02:00
Enrico Joerns 055c70b455 [cooja] Set location of newly created plugins relative to second last activated plugin.
Setting the position based on the number
of total inner frames was very inflexible
and caused pad positioning for larger number
of frames.

Setting the location of new plugin frames
to the second last activated one tries to
meet two requirements:
- Avoid covering the last activated plugin frame,
i.e. the one that was active when new plugin
start was invoked.
- Set new plugin near an actively used desktop pane
location and allow 'diagonal stacking'
2014-04-15 00:48:52 +02:00
Enrico Joerns b53cee163d [cooja] plugins/LogListener: Prevent from throwing
ArrayIndexOutOfBoundsException in case of empty logTable
2014-04-15 00:22:24 +02:00
Nicolas Tsiftes 19cd33664d Merge pull request #633 from nfi/verbosity-control-msp430
Add support for verbosity control for building MSP430-based platforms with the IAR compiler.
2014-04-14 16:38:07 +02:00
Nicolas Tsiftes ce2ed95b93 Merge pull request #585 from g-oikonomou/generic-icmp6-in-hooks
Generic ICMPv6 input hooks
2014-04-14 16:12:10 +02:00
George Oikonomou 22800de94e Add extended RF API example 2014-04-14 15:25:32 +02:00
George Oikonomou 0ec1eda75e Implement extended RF API for the CC2538 2014-04-14 15:25:30 +02:00
Niclas Finne 132b8dde3b Fixed CC2420 to return RADIO_RESULT_INVALID_VALUE if trying to set a
transmission power outside the valid range instead of using closest
valid value.
2014-04-13 21:43:37 +02:00
Niclas Finne f0c48c55ca Fixed STM32W radio to return RADIO_RESULT_INVALID_VALUE if trying to
set a transmission power outside the valid range instead of using
closest valid value.
2014-04-13 21:36:45 +02:00
George Oikonomou 602f834caf Merge pull request #472 from ADVANSEE/cc2538-clock-adjust-etimer-poll
cc2538: clock: Fix clock / timer issues with PM1/2
2014-04-13 16:35:17 +01:00
George Oikonomou eed1352282 Fix CC2538 random_init lockup
Contiki sometimes fails to boot correctly and locks up in
random_init()

This problem only manifests itself for specific versions
of the arm-gcc toolchain and then again only for specific
levels of optimisation (-Os vs -O2, depending on the
value of the SMALL make variable)

The lockup is caused when we write an RFCORE XREG before
the RF clock ungating has taken effect, which in turn
only occurs depending on the assembly generated for those
two instructions:

  REG(SYS_CTRL_RCGCRFC) = 1;

  REG(RFCORE_XREG_FRMCTRL0) = 0x00000008;

This commit makes the RNG wait for the ungating to take
effect before attempting to write the register
2014-04-13 14:38:00 +01:00
George Oikonomou 33abe26ec8 Merge pull request #411 from ADVANSEE/cc2538-adc
cc2538: Add adc driver and example
2014-04-13 03:05:12 +01:00
George Oikonomou 22554e6d72 Merge pull request #596 from hexluthor/cc2538-uart-baudrate
cc2538: Support any UART baudrate.
2014-04-13 02:51:58 +01:00
Niclas Finne 757950f87f Set the RAM and flash size based on the CPU configuration for STM32W 2014-04-11 17:41:09 +02:00
Niclas Finne 0122373fdc OBJECTDIR is defined by Makefile.include 2014-04-11 17:41:08 +02:00
Niclas Finne 4e7abb09c2 Support verbosity control when building for STM32W-based platforms 2014-04-11 17:41:06 +02:00
Niclas Finne 2c953c3346 Support verbosity control when building MSP430-based platforms with
the IAR compiler.
2014-04-11 17:36:42 +02:00
Niclas Finne b1335b08a8 Changed to use LINKADDR_SIZE instead of sizeof() to select between
short address and long address as some platforms might use padding in
the struct. This fixes #555.
2014-04-11 17:24:16 +02:00
Niclas Finne 68730566a3 Added method to framer that returns the header length if the framer
would create a header with the current packet information.

This allows sicslowpan to calculate the max payload size without
consuming a sequence number or clearing/restoring the packet buffer.
2014-04-11 17:03:23 +02:00
Bart Lemmens 7b5ed1d1b0 Added support to program Z1 far memory with BSL 2014-04-11 14:51:08 +02:00
Niclas Finne 271ac4413f Removed the unused function cc2420_cca_valid and replaced some macros
with functions in CC2420. This reduces the code size with over 400 bytes.
2014-04-11 14:46:49 +02:00
Niclas Finne 207f1987ee Implemented radio rx mode parameter for STM32W, changed the byte order
of the 64 bit address to big-endian.
2014-04-11 14:46:48 +02:00
Fredrik Österlind dbb8f3ec13 Merge pull request #626 from ejoerns/pull-req/cooja-vis-advanced
[Cooja] plugins/Visualizer: Multi-mote selection functionality
2014-04-11 09:57:37 +02:00
Enrico Joerns ad0e192d84 [cooja] plugins/Visualizer: Replaced multiple if-string with switch over
strings
2014-04-11 09:23:30 +02:00
Enrico Joerns cef3c4079d [cooja] Reformatted Visualizer and skins code 2014-04-11 09:23:28 +02:00
Enrico Joerns ea979fa027 [cooja] plugins/Visualizer: Use more specific catches and multi-catches
if possible
2014-04-11 09:20:53 +02:00
Enrico Joerns 84b687efeb [cooja] Automated code updates that do not make any functional changes
- made loggers final
- added some diamond interface cosmetic
- shortened if-return statements
- replaced size == 0 check with .isEmpty()
2014-04-11 09:20:52 +02:00
Enrico Joerns 6e9b0e1497 [cooja] Added @Override annotations for Visualizer and skins 2014-04-11 09:20:52 +02:00
Enrico Joerns 8e648bcece [cooja] apps/mrm: Adapted MRM visualizer skin to show adequate
information for multi-selections
2014-04-11 09:20:52 +02:00
Enrico Joerns e69b08f5fd [cooja] plugins/skins: Adapted DGRM and UDGM visualizer skins to show
adequate information for multi-selections
2014-04-11 09:20:46 +02:00
Enrico Joerns ac61c45950 [cooja] plugins/Visualizer: Updated quick help to match new control
capabilities
2014-04-11 09:05:53 +02:00
Enrico Joerns 22ac769781 [cooja] plugins/Visualizer: Multi-mote selection functionality
This adds multi-mote selection capabilities to the visualizer plugin:

- [Ctrl + Mouse Drag]: Rectangular selection of multiple motes
- [Ctrl + Mouse Click]: Add/Remove motes from current selection
- Mouse Drag on any selected Mote: Move all currently selected motes

Note: This changes previous behaviour of using Ctrl key.
2014-04-11 09:05:38 +02:00
Oliver Schmidt ea2c407aeb Merge pull request #627 from ejoerns/pull-req/git-relstr-fix
Makefile.include: Fix git version string generation for external projects
2014-04-09 22:20:47 +02:00
Nicolas Tsiftes 3829860c3c Merge pull request #620 from adamdunkels/push/socket-api
New TCP and UDP socket APIs
2014-04-09 22:12:59 +02:00
Adam Dunkels 1075effa22 Include udp-socket.h and tcp-socket.h by default in all applications that include contiki-net.h 2014-04-09 22:01:18 +02:00
Adam Dunkels 367eed96f4 Add a compile test for the tcp-socket example 2014-04-09 22:01:18 +02:00
Adam Dunkels ca5652d981 TCP socket server example 2014-04-09 21:57:05 +02:00
Nicolas Tsiftes 1b49b68c3b Merge pull request #606 from atiselsts/master
Fix MCU clock calibration in msp430f2xxx based platforms (e.g. Zolertia Z1)
2014-04-09 21:52:08 +02:00
Niclas Finne 8ea9cb7693 Split the radio parameter ADDRESS_HANDLER into RX_MODE and TX_MODE. 2014-04-09 21:25:40 +02:00