Commit graph

9867 commits

Author SHA1 Message Date
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
Niclas Finne
8c0cdcfaec Added radio parameters RADIO_PARAM_RSSI and RADIO_PARAM_TXPOWER for cc2420 2014-04-09 21:25:38 +02:00
Enrico Joerns
29894bbdfa Makefile.include: Setting RELSTR based on git tags requires to be in
the contiki directory
2014-04-09 19:11:35 +02:00
Niclas Finne
4834816306 Added radio parameter RADIO_PARAM_CCA_THRESHOLD for STM32W 2014-04-08 16:42:18 +02:00
Nicolas Tsiftes
2284ef5ef2 Enhanced the documentation. 2014-04-08 16:42:16 +02:00
Nicolas Tsiftes
a7dbf46b8e Merge pull request #608 from nvt/rpl-fixes
Minor RPL improvements
2014-04-07 11:13:38 +02:00
George Oikonomou
1d690995f6 Merge pull request #576 from nkigen/patch-2
New MACRO for creating jsontree_array
2014-04-04 09:13:31 +01:00
George Oikonomou
529ab761ac Register generic ICMPv6 handlers for ROLL TM 2014-04-04 00:09:29 +01:00
George Oikonomou
017697f91d Register generic ICMPv6 handlers for RPL 2014-04-04 00:09:27 +01:00
George Oikonomou
1d3da44991 Register generic ICMPv6 handlers for IPv6 ND 2014-04-04 00:09:26 +01:00
George Oikonomou
af43d2125b Register generic handlers for ICMPv6 Echo Request / Reply 2014-04-04 00:02:53 +01:00
George Oikonomou
1d84962e80 Replace old switch-based ICMPv6 type/code management 2014-04-04 00:02:53 +01:00
George Oikonomou
b6978b30e8 Declare and Implement generic ICMPv6 handler management 2014-04-04 00:02:52 +01:00
Niclas Finne
fc6814a104 Added stub for extended radio API for seedeye 2014-04-03 13:38:31 +02:00
Niclas Finne
b8a23564a3 Added stub for extended radio API for Cooja 2014-04-03 13:38:29 +02:00
Niclas Finne
441beb8f74 Added stub for extended radio API for rl78 2014-04-03 13:38:28 +02:00
Niclas Finne
2dc4d06078 Added stub for extended radio API for mc1322x 2014-04-03 13:38:26 +02:00
Niclas Finne
14ffa35b3f Added stub for extended radio API for cc253x 2014-04-03 13:38:25 +02:00
Niclas Finne
a98e153e23 Added stub for extended radio API for cc2538 2014-04-03 13:38:23 +02:00
Niclas Finne
1fdb04e10c Added stub for extended radio API for cc2430 2014-04-03 13:38:21 +02:00
Niclas Finne
cb3e053232 Added stub for extended radio API for rf230 2014-04-03 13:38:20 +02:00
Niclas Finne
5f265ced2f Added stub for extended radio API for nullradio 2014-04-03 13:38:18 +02:00
Niclas Finne
9d01fbf735 Added stub for extended radio API for CC2520 2014-04-03 13:38:17 +02:00
Niclas Finne
0874165722 Added stub for extended radio API for CC2420 2014-04-03 13:38:13 +02:00
Niclas Finne
fa908dcaff Added extended radio API implementation for STM32W 2014-04-03 13:38:09 +02:00
Niclas Finne
5112082a48 Extended radio API definitions with support for setting channel, pan id, etc. 2014-04-03 13:38:06 +02:00
Ian Martin
56d0dfdc7a CC2538: Add a Makefile rule to generate a final assembly listing. 2014-04-02 18:17:49 -04:00
Fredrik Österlind
d387f27a65 Merge pull request #610 from nfi/mspsim-auto-compile
Autocompile MSPSim and warn if submodule is not initialized.
2014-04-02 16:06:25 +02:00
Nicolas Tsiftes
429024f0a1 Merge pull request #609 from adamdunkels/push/csma-fix
CSMA bugfix: count transmissions correctly
2014-03-28 17:27:30 +01:00
Niclas Finne
0f67531f2b CONTIKI_PROJECT is sometimes set to multiple files which caused distclean to fail. 2014-03-28 15:34:20 +01:00
Nicolas Tsiftes
0a202d3952 Cleaned up some of the comments and output strings. 2014-03-28 13:38:52 +01:00
Nicolas Tsiftes
afbb82030e Ensure that the objective function's reset function is called at least once. This will enable the objective function to initialize itself during run-time. 2014-03-28 13:38:52 +01:00
Niclas Finne
b13b5fc9ac Fixed typo to correctly print the radio channel at startup 2014-03-28 11:54:12 +01:00
Niclas Finne
767a9aeef1 Use platform configuration for CC2420/CC2520 SFD on MSP430 based platforms 2014-03-28 11:54:10 +01:00
Niclas Finne
db3a42fc43 Redefine assert if already defined since some platforms already have an assert definition 2014-03-28 11:38:38 +01:00
Niclas Finne
279b7fd040 Added rule to autocompile mspsim if needed and show warning if submodule MSPSim has not been initialized 2014-03-28 11:11:51 +01:00
Oliver Schmidt
c2db3a1a14 Merge pull request #607 from oliverschmidt/master
Removed unused variable.
2014-03-27 22:24:57 +02:00
Oliver Schmidt
a630fbd5da Removed unused variable. 2014-03-27 19:24:23 +01:00
Fredrik Österlind
b613d05685 Merge pull request #575 from lecneri/patch-1
typo in event resource handler comment
2014-03-27 16:32:46 +01:00
Nicolas Tsiftes
7f4d3e3d7b Avoid calling rpl_lock_parent for uninitialized memory. Renamed p to parent to make reading easier. 2014-03-27 15:55:38 +01:00
Nicolas Tsiftes
1c560fb9db The check should be whether RPL_DIS_SEND is non-zero, not whether it is defined. 2014-03-27 15:44:18 +01:00
Nicolas Tsiftes
5aca90e73d Use the same scale for ETX calculation as for rank calculations to avoid conversion errors between the two. 2014-03-27 15:44:15 +01:00
Atis Elsts
68b65e6c47 Fix CPU clock calibration in msp430f2xxx based platforms (e.g. Zolertia Z1).
The following problems were present in the existing DCO calibration algorithm:

Problem #1. In function msp430_quick_synch_dco(), the "for(i=0; i < 1000; i++) { .. }" loop is optimized away by the compiler, as i is not volatile. Making i volatile would improve the results, but would not be sufficient: see the next point.

Problem #2. According to MSP430F2617 Device Erratasheet, bug BCL12 precludes a naive implementations of "fast" calibration altogether. The bug is present on all MCU revisions up to date.

The description of the bug:
"After switching RSELx bits (located in register BCSCTL1) from a value of >13 to a value of <12 OR from a value of <12 to a value of >13, the resulting clock delivered by the DCO can stop before the new clock frequency is applied. This dead time is approximately 20 us. In some instances, the DCO may completely stop, requiring a power cycle.

Furthermore, if all of the RSELx bits in the BSCTL1 register are set, modifying the DCOCTL register to change the DCOx or the MODx bits could also result in DCO dead time or DCO hang up."

In Contiki code for msp430f2xxx @ 8MHz, the RSEL search currently typically goes from 15 down to 11, thus violating the rules.

Step-by-step RSEL change is proposed as the best possible workaround:
"[..] more reliable method can be implemented by changing the RSEL bits step by step in order to guarantee safe function without any dead time of the DCO."

Problem #3. The old Contiki code started from the highest possible calibration values: RSEL=15, DCOx=7. According to MSP430F2617
datasheet, this means that the DCO frequency is set to 26 MHz. For one, Vcc under 3V is not supported for this frequency, so this means that battery-powered nodes have a big problem. The minimal operating voltages are:
- 1.8V for RSEL <= 13
- 2.2V for RSEL = 14
- 3.0V for RSEL = 15
So the correct way is to always start calibration from RSEL <= 13, unless explicityly pre-calibred values are present.

Problem #4. Timer B should be turned off after the calibration, following the "Principles for Low-Power Applications" in MSP430 user's Guide.

The patch fixes these issues by performing step-by-step calibration and turning off Timer B afterwards. As opposed to MSP430F1xxx calibration, this algorithm does not change the ACLK divider beforehand; attempts to make calibration more precise would lead to looping in some cases, as the calibration step granularity at larger frequencies is quite big.

Additionally, the patch improves DCOSYNCH_CONF_ENABLED behavior, allowing the resynchronization to correct for more than one step.
2014-03-25 11:47:13 +01:00
Adam Dunkels
d53ba5aa3c The TCP socket API code 2014-03-24 08:42:28 +01:00
Adam Dunkels
d1d82eb179 The UDP socket API code 2014-03-24 08:42:13 +01:00
Adam Dunkels
5b1a9f5bc2 Bugfix: when a packet is sent by the RDC layer, we should count the number of transmissions made because a single callback can pertain to multiple transmissions at the RDC layer. 2014-03-24 08:36:18 +01:00
Ian Martin
336224633a Eliminate UART_CONF_IBRD and UART_CONF_FBRD. 2014-03-22 10:26:03 -04:00
Ian Martin
ee45fc7533 Change uart_set_baudrate() to a do-while statement. 2014-03-22 10:22:11 -04:00
Ian Martin
1ceb8ae358 Fix rounding error in baudrate calculation. 2014-03-22 10:21:54 -04:00