Commit Graph

9967 Commits

Author SHA1 Message Date
Benoît Thébaudeau
19fd7a3551 Use additive offsets
OR-ing an offset to a base address instead of adding it is dangerous
because it can only work if the base address is aligned enough for the
offset.

Moreover, if the base address or the offset has a value unknown at
compile time, then the assembly instructions dedicated to 'base +
offset' addressing on most CPUs can't be emitted by the compiler because
this would require the alignment of the base address against the offset
to be known in order to optimize 'base | offset' into 'base + offset'.
In that case, the compiler has to emit more instructions in order to
compute 'base | offset' on most CPUs, e.g. on ARM, which means larger
binary size and slower execution.

Hence, replace all occurrences of 'base | offset' with 'base + offset'.
This must become a coding rule.

Here are the results for the cc2538-demo example:
 - Compilation of uart_init():
    * before:
        REG(regs->base | UART_CC) = 0;
        200b78:	f446 637c 	orr.w	r3, r6, #4032	; 0xfc0
        200b7c:	f043 0308 	orr.w	r3, r3, #8
        200b80:	2200      	movs	r2, #0
        200b82:	601a      	str	r2, [r3, #0]

    * now:
        REG(regs->base + UART_CC) = 0;
        200b7a:	2300      	movs	r3, #0
        200b7c:	f8c4 3fc8 	str.w	r3, [r4, #4040]	; 0xfc8

 - Size of the .text section:
    * before:	0x4c7c
    * now:	0x4c28
    * saved:	84 bytes

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau.dev@gmail.com>
2015-03-28 17:28:15 +01:00
Nicolas Tsiftes
c76316adf2 Merge pull request #990 from alignan/sht25
Removed duplicated condition in sht25 configuration
2015-03-12 16:00:53 +01:00
Antonio Lignan
64fd000e5d Removed duplicated condition in sht25 configuration 2015-03-11 14:25:23 +01:00
George Oikonomou
c169b3e3bb Merge pull request #845 from alignan/fix_region
Changed code region to any
2015-03-10 22:04:38 +00:00
George Oikonomou
15fe97ebc9 Merge pull request #989 from alignan/sht25
Added Z1 SHT25 sensor
2015-03-10 22:04:07 +00:00
Antonio Lignan
1af29a5beb Added SHT25 sensor 2015-03-10 15:33:58 +01:00
Nicolas Tsiftes
2734c97234 Merge pull request #914 from cetic/pr-always-send-no-path-dao
Send no-path DAO only when the dag has a preferred parent
2015-03-06 14:33:07 +01:00
George Oikonomou
0ba7f8df52 Merge pull request #951 from hrzr/master
Make the CC2538DK button sensor clearer to work with
2015-02-28 15:14:53 +00:00
George Oikonomou
9fcb7f721f Merge pull request #978 from nvt/cc2420-rf-api
Implement set/get of the CCA threshold for CC2420
2015-02-26 14:08:17 +00:00
Nicolas Tsiftes
f9e5e24cf4 Merge pull request #895 from simonduq/rpl-single-dag
Do not use rpl_add_dag when RPL is used with a single dag per instance
2015-02-26 11:41:24 +01:00
Nicolas Tsiftes
bfd2a90e08 Merge pull request #933 from alessandrelli/coap-observe-client
Erbium: client-side support for CoAP Observe
2015-02-26 10:06:58 +01:00
George Oikonomou
a3b664d574 Merge pull request #974 from jonnteolsson/cc26xx-contrib
New platform: Texas Instruments CC26xx
2015-02-25 23:39:40 +00:00
Jonas Olsson
8bf35f9e4a Add cc26xx travis tests 2015-02-25 13:16:27 +01:00
Jonas Olsson
fe6bbef69d Add CC26xx build artifacts to .gitignore 2015-02-25 13:16:07 +01:00
Jonas Olsson
0f567e499f Add CC26xx examples 2015-02-25 13:15:35 +01:00
Jonas Olsson
c9071b6952 Add CC26xx common platform files 2015-02-25 13:12:20 +01:00
Jonas Olsson
b385933fa8 Add SensorTag CC2650 files 2015-02-25 13:11:09 +01:00
Jonas Olsson
c7d85c3ea5 Add Srf06EB + CC26xx EM files 2015-02-25 13:10:26 +01:00
Jonas Olsson
5e5e9b92fd Add CC26xx CPU files 2015-02-25 13:09:56 +01:00
Daniele Alessandrelli
b6e716233a er-coap-example: add example for client-side CoAP observe 2015-02-24 22:48:12 +01:00
Daniele Alessandrelli
799e9350a0 er-coap: add client-side support for CoAP Observe
Client-side support for CoAP observe is not compiled by default. To enable it, the COAP_OBSERVE_CLIENT macro must be defined equal to 1.
2015-02-24 22:46:48 +01:00
Nicolas Tsiftes
0c7d261465 Merge pull request #971 from g-oikonomou/doxygen-expand-macros
Expand Macros when Building Docs
2015-02-24 12:45:52 +01:00
George Oikonomou
76d8956a02 Adjust warning count in the doxygen travis job 2015-02-22 16:39:49 +00:00
George Oikonomou
938cd5c689 Expand macros when building docs 2015-02-22 16:39:49 +00:00
Mikhail Gaivoronskii
3f2869824c Uncrustified platform/cc2538dk/dev/button-sensor.c 2015-02-20 21:53:33 +05:00
Nicolas Tsiftes
a785405b36 Make it possible to set and get the CC2420's CCA threshold through the extended radio API. 2015-02-19 11:26:43 +01:00
George Oikonomou
5e25ca9bf5 Merge pull request #965 from jonnteolsson/mqtt-contrib
Mqtt contrib
2015-02-17 22:37:56 +01:00
Jonas Olsson
2bb7fcc0cb Fixed doxygen formatting 2015-02-17 16:11:45 +01:00
Jonas Olsson
4fb2bd410f Add title to doxygen group 2015-02-17 16:07:37 +01:00
Jonas Olsson
303f4a41fc Add Travis test for the MQTT demo 2015-02-17 16:02:55 +01:00
Jonas Olsson
6112ec54d3 Add MQTT demo for the cc2538dk platform 2015-02-17 15:58:50 +01:00
Jonas Olsson
1e92211613 Add MQTT 3.1 engine 2015-02-17 13:44:29 +01:00
Nicolas Tsiftes
f504b4dd17 Merge pull request #964 from nvt/coffee-code-style
Fix some code style issues in Coffee.
2015-02-17 11:50:17 +01:00
Nicolas Tsiftes
da04ec74ed Corrected some code style issues in Coffee. 2015-02-17 11:02:06 +01:00
Nicolas Tsiftes
e58aae1dcd Merge pull request #950 from patoman007/master
Fix: Misconfigurations to compile for avr-zigbit platform
2015-02-17 09:41:20 +01:00
Nicolas Tsiftes
6e3119234b Merge pull request #961 from g-oikonomou/mcast-documentation
Tidy-up multicast documentation
2015-02-17 09:05:11 +01:00
Nicolas Tsiftes
d57634d417 Merge pull request #936 from skaterdude/master
Update rpl.c and uip.c (in ipv4)
2015-02-17 09:03:55 +01:00
Nicolas Tsiftes
cafffb446d Merge pull request #958 from kshpylon/master
change value of RPL_DIO_MOP_MASK
2015-02-17 08:59:32 +01:00
Nicolas Tsiftes
080de75c87 Merge pull request #959 from g-oikonomou/cc2538-doc
Improve CC2538 documentation
2015-02-17 08:50:18 +01:00
George Oikonomou
b91e883b46 Merge pull request #963 from jimparis/aducrf101-fix-travis
Fix and re-enable Travis build for ev-aducrf101mkxz
2015-02-17 00:56:22 +01:00
Jim Paris
fba2e2020a Re-enable ev-aducrf101mkxz travis tests 2015-02-16 14:52:29 -05:00
Jim Paris
d350aa4dd7 Fix aducrf101 builds with GCC 4.9+
Mixing LTO and libraries requires the use of gcc-ar instead of ar.
See https://gcc.gnu.org/wiki/LinkTimeOptimizationFAQ?action=recall&rev=5#ar.2C_nm_and_ranlib
2015-02-16 14:52:05 -05:00
Fredrik Österlind
468e94809a Merge pull request #954 from TheGeorge/master
Fix: Cooja HC packet analyzer fix for SAC and DAC fields
2015-02-16 17:43:12 +01:00
Andreas Löscher
a4206273a5 Fixed HC analyser for SAC and DAC fields 2015-02-16 13:58:36 +01:00
George Oikonomou
65c1b667a5 Adjust doxygen travis test error count 2015-02-16 10:26:11 +01:00
George Oikonomou
6bd8bb05f6 Improve wording 2015-02-16 10:17:58 +01:00
George Oikonomou
72914369e8 Re-structure CC2538 doxygen module hierarchy 2015-02-16 10:17:58 +01:00
George Oikonomou
8751e55c94 Improve wording, fix warnigs in the SSI/SPI docs 2015-02-16 10:17:58 +01:00
George Oikonomou
a93a8912c2 Clarify GPIO read and write macros 2015-02-16 10:17:57 +01:00
George Oikonomou
a34a2e5ad8 Remove obsolete/unused doxygen group
The group is defined within the cpu files themselves, so this definition simply resulted in a 2nd CC2538 group, which was empty
2015-02-16 10:17:57 +01:00