Commit graph

1360 commits

Author SHA1 Message Date
Adam Dunkels
06dfce6d46 The -pedantic and -stdc flags trigger a few too many warnings 2015-10-20 10:11:33 +02:00
Adam Dunkels
12a185f394 Added the WERROR=1 flag to the CC2538 and CC26xx CPUs 2015-10-20 10:11:23 +02:00
Simon Duquennoy
a2b1934f03 mbxxx: added missing undefs 2015-10-20 09:37:28 +02:00
Simon Duquennoy
ccfdf80ff2 Removed mbxxx warning messages on the current ld file in use 2015-10-20 09:37:27 +02:00
Simon Duquennoy
0340567af8 tapdev6.c: do not ignore return value of system() 2015-10-20 09:37:18 +02:00
Simon Duquennoy
2c91ab6fad linuxradio-drv.c: added missing include 2015-10-20 09:37:17 +02:00
Simon Duquennoy
01984f07c2 cc2420 and cc2430: removed compiler warning on unused tbiv 2015-10-20 09:37:16 +02:00
Simon Duquennoy
560d6af97b msp430x: do not compile mtarch, which currently assumes 16-bit function pointers 2015-10-20 09:37:15 +02:00
Vladimir Pouzanov
2d75926989 Fixed linuxradio-drv guard macro name 2015-09-29 12:29:08 +01:00
Simon Duquennoy
6d4f50e53a Merge pull request #1282 from farcaller/nativenet
Basic NETSTACK_CONF_RADIO based on kernel 802.15.4
2015-09-28 19:30:38 +02:00
Mariano Alvira
ff7129dc53 Merge pull request #881 from drugo72/avr-fixes
Avr fixes
2015-09-28 09:41:21 -05:00
Vladimir Pouzanov
bd1b7d9814 Fixed linuxradio compilation issues with native and minimal-net 2015-09-28 12:48:01 +01:00
Vladimir Pouzanov
4c8618e6ba Extracted linuxradio device name to contiki-conf 2015-09-28 12:48:00 +01:00
Vladimir Pouzanov
52c90519d9 Fixed missing #includes and restricted linuxradiodrv compilation to linux 2015-09-28 12:48:00 +01:00
Vladimir Pouzanov
43a327df5a Cleaned up and re-formatted source of linuxradiodrv 2015-09-28 12:47:12 +01:00
Vladimir Pouzanov
113d9761f7 Better failure handling in linuxradiodrv 2015-09-28 12:47:12 +01:00
Vladimir Pouzanov
5fed4a3f1c Using MAX_PACKET_SIZE where appropriate in linuxradiodrv 2015-09-28 12:47:12 +01:00
Vladimir Pouzanov
beef4f5d5d Added better error handling to linuxradiodrv transmit() 2015-09-28 12:47:12 +01:00
Vladimir Pouzanov
8a068f8512 Cleaned up linuxradiodrv code 2015-09-28 12:47:12 +01:00
Vladimir Pouzanov
867368b929 Basic NETSTACK_CONF_RADIO based on kernel 802.15.4 2015-09-28 12:47:11 +01:00
Laurent Deru
a58fa16cc6 Merge pull request #1252 from tadodotcom/cpu-native-ldflags-fix
Don't override LDFLAGS on Linux for the native CPU
2015-09-23 09:44:22 +02:00
Cristiano De Alti
e51783a1d5 Most of the rules in the avr makefile are not used anymore
and should be removed. In the meantime we change those needed
to upload flash and eeprom to depend on the default contiki rule
to make the .$(TARGET) executable."
2015-09-22 23:32:17 +02:00
Mariano Alvira
552408b241 Merge pull request #685 from SmallLars/mc1322x
Added mc1322x functions: clock_set_seconds, soft_reset, nvm_verify
2015-09-13 12:35:53 -05:00
Mariano Alvira
1ddcdf4886 Merge pull request #839 from gebart/rf230-isr
rf230bb: Handle all IRQ flags in one ISR call. (Q: Is the current ISR valid?)
2015-09-13 12:06:36 -05:00
Mariano Alvira
050275293a Merge pull request #922 from atiselsts/rs230bb_fixes
Atmel 230bb: always increase the rx frame ringbuffer cursor in rf230_read()
2015-09-13 11:58:16 -05:00
Valentin Sawadski
b729dc8985 Don't override LDFLAGS on Linux for the native CPU 2015-09-10 11:13:22 +02:00
Nicolas Tsiftes
8a7e2e5892 Merge pull request #1240 from atiselsts/energest_accuracy
Improve energest accuracy
2015-09-07 15:35:35 +02:00
George Oikonomou
dd640cd229 Merge pull request #1195 from bkozak-scanimetrics/cc26xx_improve_watchdog
CC26xx - various fixes and improvements for the watchdog module
2015-09-04 17:20:50 +01:00
Atis Elsts
2f79810b58 Use ENERGEST_SWITCH to switch between different power modes to improve energest accuracy. 2015-09-04 11:46:00 +02:00
Billy Kozak
b71353181d CC26xx - enable correct IRQ in rf_core_cmd_done_en
Fix for #1229

rf_core_cmd_done_en() was enabling the wrong irq for detecting the
completion of foreground operations. This was causing cc26xx devices
to not wake-up on time when calling lpm_sleep() from transmit().
2015-09-02 12:37:33 -06:00
Billy Kozak
fde3202a3f cc26xx - added optional locking mode for WDT
Added a mode, configurable by the CONTIKI_WATCHDOG_CONF_LOCK_BETWEEN_USE
macro, which locks the WDT register between uses so as to prevent
any accidental modifications
2015-08-31 09:12:16 -06:00
Billy Kozak
22d8a8dd56 cc26xx - implemented watchdog_stop
Also modified watchdog_start so that if we stop and start again the
watchdog timeout will be reset (by calling watchdog_periodic).
2015-08-31 09:12:16 -06:00
Billy Kozak
dfdb0a6487 cc26xx - fixed WDT reloading
According to the TRM, the WDT does not produce a reset until it
expires twice. After expiring the WDT will set the INT flag if it
is unset, and reset the MCU if INT is already set.

Before this patch, watchdog_periodic() only un-sets the INT flag. This
means that the behaviour of watchdog_periodic is underministic in that
the value of the countdown timer will be different depending on
when the function was called.

This patch fixes this behaviour by also reloading the timout value.
2015-08-31 09:10:26 -06:00
Billy Kozak
85555cf6cf Made cc26xx WDT reload configurable with macro
CONTIKI_WATCHDOG_TIMER_TOP sets the reload value of the WDT
2015-08-31 09:10:26 -06:00
Atis Elsts
854494109d Atmel 230bb: always increase the rx frame ringbuffer cursor in rf230_read().
Avoids packet reordering in cases when RF230_CONF_RX_BUFFERS > 1.
2015-08-31 09:56:56 +02:00
Antonio Lignan
37470bbc1b Merge pull request #1055 from sumanpanchal/msp430x-elfloader
Added MSP430x ELFLOADER support to load image with large memory model.
2015-08-27 21:19:27 +02:00
Adam Dunkels
bfb29d2f11 Merge pull request #1116 from cetic/pr-uip-clear-buffer
Add uip_clear_buf() macro and replace all instances of uip_len = 0
2015-08-27 10:27:08 +02:00
Jonas Olsson
01e36532c2 Add support for the CC13xx CPU
This commit:

* Moves all cpu files from cpu/cc26xx to cpu/cc26xx-cc13xx
* Bumps the CC26xxware submodule to the latest TI release
* Adds CC13xxware as a submodule
* Adds support for sub-ghz mode / IEEE 802.15.4g
* Splits the driver into multiple files for clarity. We now have the following structure:
  * A common module that handles access to the RF core, interrupts etc
  * A module that takes care of BLE functionality
  * A netstack radio driver for IEEE mode (2.4GHz)
  * A netstack radio driver for PROP mode (sub-ghz - multiple bands)

This commit also adds tick suppression functionality, applicable to all chips of the CC26xx and CC13xx families. Instead waking up on every clock tick simply to increment our software counter, we now only wake up just in time to service the next scheduled etimer. ContikiMAC-triggered wakeups are unaffected.

Laslty, this commit also applies a number of minor changes:
* Addition of missing includes
* Removal of stub functions
* Removal of a woraround for a CC26xxware bug that has now been fixed
2015-08-23 19:54:42 +01:00
Billy Kozak
feec05cdf2 CC26xx - fix misuse of len variable in read_frame
read_frame was misuing the packet length in the following ways:
- returning non-zero even if buf_len is too short for the packet
- truncating the length to buf_len if len is too long then using the
  truncated (i.e. wrong) length to index into the buffer
- memcpying too many bytes (used buf_len instead of real length)

This commit fixes all of this and adds some code to report
on packet length errors (to match with cc2538 driver).
2015-08-14 12:44:55 -06:00
Billy Kozak
ceb24f656e Improved style of read_frame
- moved variable declaration to top of function in accordance with the
  Contiki style guide
- made function flatter, reduced nesting to improve readability
2015-08-14 12:43:34 -06:00
Billy Kozak
547f8e7aaa Fixed race condition with rf cpu in read_frame
Fixed a race condition that could occur in read_frame because the
dataEntry is set to PENDING before we are finished reading from it.
2015-08-14 12:42:10 -06:00
Oliver Schmidt
5f6a672e23 Merge pull request #1184 from oliverschmidt/master
Adjusted retro target clock to "new" DNS resolver.
2015-08-04 15:39:18 +02:00
Oliver Schmidt
ca2552461e Adjusted retro target clock to "new" DNS resolver.
The DNS resolver requires 1/4 sec clock resolution. The retro targets had a 1/2 sec clock resolution (optimized for the 1/2 sec TCP timer) resulting in DNS resolver timeouts being 0. Therefore the retro target clock resolution is now increased to 1/4 sec.
2015-08-04 13:48:08 +02:00
George Oikonomou
195ada6668 Merge pull request #1107 from phoenix-frozen/cc2530-rf-const-warning
fix minor warning in cc2530-rf driver
2015-08-03 10:28:43 +01:00
Billy Kozak
35919f6836 CC26xx - Enable RX_NOK on DEBUG builds
Enabled the RX_NOK interrupt, if DEBUG or CC26XX_DEBUG_CRC are set
true, for the purpose of monitoring packets with bad CRC
2015-07-20 10:47:06 -06:00
Billy Kozak
99d74e949f CC26xx autoflush bad crc packets
Setting bAutoFlushCrc=1 so that the radio co-processor will
automatically drop packets with bad crc.
2015-07-16 08:58:24 -06:00
Oliver Schmidt
ca50a2c6df Merge pull request #1157 from oliverschmidt/master
Allow fixup to be repeated.
2015-07-09 23:31:00 +02:00
Oliver Schmidt
f348f4feb2 Allow fixup to be repeated.
There are scenarios in which it is beneficial to search for an Etherne chip at several i/o locations. To do so the chip initialization is performed at several i/o locations until it succeeds. In order to allow for that operation model the i/o location fixup needs to be repeatable.

Note: This won't work with the RR-Net because the fixup bits overlap with the chip i/o bits.
2015-07-09 22:43:16 +02:00
Billy Kozak
b7565f3930 turned on correlator in radio packet filter
Enabling this option seems to greatly improve transciever performance with
Contikimac. This seems to happen because Contikimac CCAs are much less likely
to detect false positives (thus screwing up the CCA sequence).
2015-07-06 16:28:40 -06:00
Antonio Lignan
8cc0a12a9f Merge pull request #1097 from bthebaudeau/cc2538-examples-fix-warnings
cc2538: examples: Fix build warnings
2015-06-24 11:39:24 +02:00