Commit Graph

359 Commits

Author SHA1 Message Date
Xenofon (Fontas) Fafoutis
d7baa54bd0 SPI HAL API: lock()/open() and close()/unlock() merged 2018-04-04 11:30:32 +01:00
George Oikonomou
2cad626360 Rename new SPI API to spi.[ch] 2018-04-04 11:30:32 +01:00
George Oikonomou
8ea998847b Rename old msp430/sky SPI driver 2018-04-04 11:30:32 +01:00
George Oikonomou
ee4e287fc5 Rename old SPI API to -legacy.h 2018-04-04 11:30:32 +01:00
George Oikonomou
448ee8ae96 Rename arch-specific SPI HAL implementations 2018-04-04 11:30:32 +01:00
George Oikonomou
34df610fcc Remove spi-hal-arch.h (CC2538) 2018-04-04 11:30:32 +01:00
George Oikonomou
03c63bdd0f Remove spi-hal-arch.h (CC13xx/CC26xx) 2018-04-04 11:30:32 +01:00
George Oikonomou
7160e1dbd2 Change the way of configuring SPI controller count 2018-04-04 11:30:32 +01:00
George Oikonomou
0695810044 Rename old CC2538 SPI driver 2018-04-04 11:30:32 +01:00
George Oikonomou
4a0dcf5f1e Minor code style fixes 2018-04-04 11:30:32 +01:00
George Oikonomou
e7eee05c7d Add some inludes explicitly 2018-04-04 11:30:32 +01:00
Xenofon (Fontas) Fafoutis
2a7e9f0835 SPI HAL implementation for CC2538 2018-04-04 11:30:32 +01:00
xenofon (Fontas) Fafoutis
e7d7ee3962 generic spi driver for cc26xx-cc13xx
launchpad and ext-flash implementation
2018-04-04 11:30:32 +01:00
Xenofon (Fontas) Fafoutis
cf291c22f0 Minor changes in the GPIO HAL 2018-04-04 11:30:32 +01:00
Xenofon (Fontas) Fafoutis
1bb04f2d20 revert cc2538 2018-04-04 11:30:32 +01:00
Niclas Finne
0683d4dc3d Imported SPI API from Yanzi Networks internal Contiki fork. 2018-04-04 11:30:32 +01:00
Simon Duquennoy
4b11f8c99e
Merge branch 'develop' into contrib/build/cleanup 2018-04-03 14:50:17 +02:00
George Oikonomou
6857d2fe20 Implement the GPIO HAL for platform native 2018-04-02 22:14:55 +01:00
George Oikonomou
4ededd17d6 Emulate interrupt manipulation on native 2018-04-02 22:13:56 +01:00
George Oikonomou
b2438b4563 Enable putchar for all arm platforms
Instead of having to #undef putchar in every file where we want to use it, we undef it across the board. See the comment in arm-def.h as to why this needs done.
2018-03-30 22:20:48 +01:00
George Oikonomou
be2a818eaa Adjust nrf52832 compile output 2018-03-30 21:23:00 +01:00
George Oikonomou
c7e36a3d55 Change clean target to be more explicit
Previously, the clean target would delete a number of file extensions, many of which currently unknown to our build system (old platforms?). This commit changes the target so that it only cleans what we know we are building. Platforms / CPUs can append to the target with platform-specific build artifacts.
2018-03-30 21:22:59 +01:00
George Oikonomou
1d3122750a Define different mspsim-maptable per project
The rule is changed such that it makes sure the .map file gets built first. We have separate map files per project, so we need separate mspsim-maptables
2018-03-30 21:22:59 +01:00
George Oikonomou
16d8c5b4f9 Use a variable for the Contiki-NG archive file
Prevents having to hard-code the filename in multiple cpu/platform makefiles and allows us to easily rename it across the board in the future
2018-03-30 21:22:59 +01:00
George Oikonomou
87dfa61fd6 Use dbg.c from the CPU dir and delete platform file 2018-03-30 21:06:52 +01:00
George Oikonomou
ce540a8bca Harmonise filename pattern for the .map file
All map files are now called example-platform.map (e.g. hello-world-native.map).
2018-03-30 20:24:59 +01:00
George Oikonomou
04ca5fd46a Update doxygen content and structure 2018-03-30 15:24:04 +01:00
George Oikonomou
86b10b69aa Resolve multiple symbol definitions 2018-03-30 15:23:50 +01:00
George Oikonomou
1bf1f37b24 Build dbg-io as a module 2018-03-30 15:23:50 +01:00
George Oikonomou
6d592945a0 Use a single common dbg.h 2018-03-30 15:23:50 +01:00
George Oikonomou
40f6b1a2ba Rename files to resolve filename conflicts 2018-03-30 15:23:50 +01:00
George Oikonomou
ed3e2c850e Remove depedency to a debug-uart.h 2018-03-30 15:23:50 +01:00
George Oikonomou
bb338affeb Move dbg-io to os 2018-03-30 15:23:50 +01:00
George Oikonomou
a0e8b51950 Add license and copyright notice 2018-03-30 15:23:50 +01:00
George Oikonomou
89148eb030 Include contiki.h 2018-03-30 15:23:49 +01:00
George Oikonomou
888a99ed3c Move macros to top of file 2018-03-30 15:23:49 +01:00
George Oikonomou
4e3c7efa5f Fix code style 2018-03-30 15:23:49 +01:00
George Oikonomou
632ab90161 Apply cosmetic changes 2018-03-30 15:23:49 +01:00
Atis Elsts
a9e9d0f3ec CC26xx: increase size of the region reserved for stack from 256 bytes to 1024 bytes 2018-03-29 14:09:38 +01:00
George Oikonomou
22b4a40dd6 Cross-platform MQTT client example 2018-03-23 22:35:28 +00:00
George Oikonomou
7bf6679806 Allow the GPIO HAL to enable corresponding port interrupt on the NVIC 2018-03-14 09:34:46 +00:00
George Oikonomou
e2d5e2dfee Add missing includes 2018-03-13 22:47:45 +00:00
George Oikonomou
de975bbabe Move BLE readme to the corresponding example dir 2018-03-13 22:47:45 +00:00
Simon Duquennoy
7fe4d913b7
Merge branch 'develop' into contrib/build-all 2018-03-12 14:22:34 +01:00
George Oikonomou
c250cf93b7
Merge branch 'develop' into feature/ipv6_over_ble 2018-03-12 08:52:25 +00:00
Simon Duquennoy
0bacdd451e nrf52832: fix .map filename 2018-03-09 16:29:06 +00:00
Atis Elsts
dab9ea0817 nrf52dk: move the build error when building without IPv6 from Makefile to C header file to enable PLATFORMS_EXCLUDE syntax in Makefiles 2018-03-09 16:29:06 +00:00
George Oikonomou
888063e9e6
Merge branch 'develop' into bugfix/cc26xx-rx-packet-size 2018-03-02 21:48:58 +00:00
George Oikonomou
0dfd39adcf Adjust data types for legacy LED API implementations 2018-03-01 15:29:30 +00:00
George Oikonomou
424bee9464 Add CC2538 GPIO conversion macro 2018-03-01 15:29:29 +00:00
Atis Elsts
df160d9347 CC26xx IEEE mode radio driver: allow reception of packets shorter than 5 bytes 2018-03-01 13:26:56 +00:00
George Oikonomou
095a89d937 Adjust CC2538 CPU drivers to use the GPIO HAL 2018-02-24 12:50:02 +00:00
George Oikonomou
10c2bcde15 Build the GPIO HAL for the CC2538 2018-02-24 12:50:02 +00:00
George Oikonomou
ab7d7cd9f4 Implement the GPIO HAL for the CC2538 2018-02-24 12:50:02 +00:00
George Oikonomou
f1d1932c5c Adjust CC13xx/CC26xx drivers to use the GPIO HAL 2018-02-24 12:50:01 +00:00
George Oikonomou
421d95bc00 Build the GPIO HAL for CC13xx/CC26xx 2018-02-24 12:50:01 +00:00
George Oikonomou
d88c3d0c01 Implement the GPIO HAL for CC13xx/CC26xx 2018-02-24 12:50:01 +00:00
Niclas Finne
309745780e Removed the remaining Contiki Interface declaration macros (CCIF/CLIF) 2018-02-21 01:14:10 +01:00
George Oikonomou
5f6eee66ff Correctly check against minumum RX frame length 2018-02-16 15:04:02 +00:00
MartenBE
e2d5f737db Deleted duplicate const specifiers 2018-02-02 15:26:16 +01:00
spoerk
1defa2646a Fixed Doxygen problem 2018-01-03 16:18:21 +01:00
spoerk
f8d2c3fa48 code style fixes 2018-01-03 15:52:36 +01:00
spoerk
604e846ff1 Merge branch 'develop' of github.com:contiki-ng/contiki-ng into feature/ipv6_over_ble 2018-01-03 15:27:42 +01:00
spoerk
03ec1ea401 Some documentation added 2018-01-03 15:18:01 +01:00
spoerk
35c08597e6 BLE L2CAP moved to the other MAC implementations 2018-01-03 14:36:14 +01:00
Simon Duquennoy
7f1dd819ef RPL BR: remove platform-specific code for sky. Add putchar with SLIP support to arch, like in other platforms 2017-12-22 05:21:39 -08:00
Simon Duquennoy
81d1b1bd80 PROJECTDIR now turned into modules via MODULES_REL 2017-12-22 05:21:39 -08:00
Simon Duquennoy
84ea0971bc Remove obsolete flag AUTOSTART_ENABLE, as well as .co and .ce files 2017-12-22 05:21:39 -08:00
George Oikonomou
38987352c4 Change variables to static 2017-12-17 22:24:48 +00:00
George Oikonomou
b5fa28e2d4 Link without using an archive file
For reasons discussed long ago and that have to do with how ld handles weak symbols, it was decided that it was preferable to link using an explicit list of object files, instead of adding object files to an archive first and then linking using this archive. This was applied for the CC2538, but not for CC13xx/CC26xx.

This pull applies this link logic to all CM3s. For this to work with the Contiki-NG build system, we need `.SECONDEXPANSION:`, so this pull moves that to the common CM3 Makefile.
2017-12-17 21:31:39 +00:00
George Oikonomou
14ad14e7d3 Remove nrf52832.a on make clean
When building for nrf52dk, `make clean` does not remove `nrf52832.a`. This commit fixes this.
2017-12-17 01:20:38 +00:00
spoerk
fd0f0ca4b6 Merge branch 'develop' of github.com:contiki-ng/contiki-ng into feature/ipv6_over_ble 2017-12-15 11:41:27 +01:00
spoerk
7a7c4e0015 added support for IPv6 over BLE communication 2017-12-15 11:20:44 +01:00
Laurent Deru
ccb705ed31 Use clock_gettime() instead of gettimeofday() to have a monotonic clock and use CLOCK_CONF_SECOND explicitly 2017-12-12 16:53:51 +01:00
George Oikonomou
82bc3363d1 Use Cortex-M mutexes (CC13xx/CC26xx) 2017-12-09 17:09:58 +00:00
George Oikonomou
48c10d3e30 Use Cortex-M mutexes (CC2538) 2017-12-09 17:09:58 +00:00
George Oikonomou
62a79c09fc Add mutex implementation for Cortex-M 2017-12-09 17:09:58 +00:00
George Oikonomou
bdddf41ca9 Use Cortex-M memory barriers (CC13xx/CC26xx) 2017-12-09 17:09:57 +00:00
George Oikonomou
755a6b88df Use Cortex-M memory barriers (CC2538) 2017-12-09 17:09:57 +00:00
George Oikonomou
35bd4eb1d8 Provide memory barrier for all Cortex-M CPUs 2017-12-09 17:09:57 +00:00
George Oikonomou
690bad7d5e Allow different CPUs to specify how they hook into CMSIS 2017-12-09 17:09:57 +00:00
George Oikonomou
103df5c95e Provide memory barrier (msp430) 2017-12-09 17:09:56 +00:00
George Oikonomou
4094297d3e Implement master interrupt manipulation (nrf52832) 2017-12-09 17:08:32 +00:00
George Oikonomou
9396b6da6e Implement master interrupt manipulation (MSP430) 2017-12-09 17:08:31 +00:00
George Oikonomou
98664e99ee Implement master interrupt manipulation (CC2538) 2017-12-09 17:08:31 +00:00
George Oikonomou
f1774cc1e0 Implement master interrupt manipulation (CC13xx/CC26xx) 2017-12-09 17:08:31 +00:00
George Oikonomou
ddd15692e1 Rename and restructure the msp430 constants header 2017-12-08 17:07:32 +00:00
George Oikonomou
fdb60ab22f Move non-configuration macros to msp430def.h 2017-12-08 16:59:02 +00:00
George Oikonomou
49cb138020 Provide header file with configuration for the msp430 2017-12-08 16:59:02 +00:00
George Oikonomou
abe583ed75 Harmonise platform configuration files (nrf52dk) 2017-12-08 16:59:02 +00:00
George Oikonomou
5c07cb02a8 Pull CPU-related constants from the CPU header (CC13xx/CC26xx) 2017-12-06 16:00:46 +00:00
George Oikonomou
fdde5dc669 Provide header file with configuration common to all CC26xx-based platforms 2017-12-06 16:00:46 +00:00
George Oikonomou
ea2fb7bcc1 Provide header file with configuration common to all CC2538-based platforms 2017-12-06 16:00:46 +00:00
George Oikonomou
d66633ffc4 Provide header file with defines for the CC2538 2017-12-06 16:00:46 +00:00
George Oikonomou
945c66b7f8 Provide header file with defines for the CC13xx/CC26xx 2017-12-06 16:00:46 +00:00
George Oikonomou
4b4234db40 Provide header file with defines for the nrf52832 2017-12-06 16:00:46 +00:00
George Oikonomou
a05db7322d Provide header file with configuration common to all CM4-based CPUs 2017-12-06 16:00:46 +00:00
George Oikonomou
3a0ea73310 Provide header file with configuration common to all CM3-based CPUs 2017-12-06 16:00:46 +00:00
George Oikonomou
3bb60074df Provide header file with configuration common to all Arm CPUs 2017-12-06 16:00:46 +00:00
Simon Duquennoy
e795517750
Merge branch 'develop' into contrib/stack-guard 2017-12-05 15:16:54 +01:00
George Oikonomou
fdb4d8f24a Use the CM4 common build instrastructure for nrf52832 2017-12-03 15:04:11 +00:00
George Oikonomou
238962d528 Use the CM3 common Makefile to build CC13xx/CC26xx-based platforms 2017-12-03 15:04:11 +00:00
George Oikonomou
64c310bf2a Use the CM3 common Makefile to build CC2538-based platforms 2017-12-03 15:04:11 +00:00
George Oikonomou
e458240200 Change asm() to __asm()
This is required in order to compile with -std=c99
2017-12-03 15:04:10 +00:00
George Oikonomou
1e18f090ac Add Makefile for all CM3 CPUs 2017-12-03 15:04:10 +00:00
George Oikonomou
92c572bf76 Add Makefile for all CM4 CPUs 2017-12-03 15:04:10 +00:00
George Oikonomou
6333e3b8f7 Move CMSIS arm/cortex-m and add Makefile 2017-12-03 15:04:00 +00:00
George Oikonomou
9aa9a05b93 Add Makefile for all Arm CPUs 2017-12-03 15:03:37 +00:00
George Oikonomou
0870ade055 Restructure docs for the nrf52832 2017-12-03 00:14:08 +00:00
George Oikonomou
bb18bd4a48 Restructure docs for the CC13xx/CC26xx CPUs 2017-12-03 00:05:12 +00:00
George Oikonomou
618ca50fe7 Restructure docs for the CC2538 CPU 2017-12-03 00:05:12 +00:00
George Oikonomou
f25318b60d Create doxygen groups for CPUs
* CC2538
* CC13xx-CC26xx
* nrf52832
2017-12-03 00:05:11 +00:00
George Oikonomou
c8ecd201f5 Tidy-up CMSIS documentation
Define the group within the CMSIS dir and rename a doxygen group that was not displaying correctly in the built docs
2017-12-02 23:30:48 +00:00
George Oikonomou
1b87b86f2e Create doxygen group for ARM CPUs 2017-12-02 23:30:47 +00:00
George Oikonomou
e84eb8247b Remove doxygen groups for obsolete CPUs and platforms 2017-12-02 23:30:47 +00:00
Joakim Eriksson
8cefc3ea39 added some missing NRF52 scripts for flashing and fixed baudrate to be 115200 2017-12-01 23:34:16 +01:00
Atis Elsts
f9516eae73 Add stack check library and example 2017-12-01 13:35:06 +00:00
George Oikonomou
cbecd8c122 Add CC13xx/CC26xx CMSIS support 2017-11-27 11:19:31 +00:00
George Oikonomou
4d92c63194 Fix MODULES for the CC2538
This commit fixes two bugs related to the usage of MODULES for CC2538-based platforms:

* newlib is no longer under `lib/newlib` but under `os/lib/newlib`.
* There is no such thing as `sys` under `arm/common`, so this module is removed.
2017-11-26 22:08:25 +00:00
alexstanoev
9bbc9202a4 Add JTAG interface configuration in contiki-conf.h for CCxx platforms
This adds a new toggle to `contiki-conf.h` which controls access to the
JTAG debug interface on CC26xx/CC13xx platforms.
2017-11-26 18:13:03 +00:00
George Oikonomou
390a4849df Don't disable the debug interface by default
This commit updates both CCxxwares to latest version. In this latest version, we revert two older commits that disable the debug interface by default in `ccfg.c` in the two respective submodules.
2017-11-26 16:50:58 +00:00
Xenofon (Fontas) Fafoutis
b415d57a99 enhanced BLE support for cc26xx-cc13xx 2017-11-25 16:53:23 +00:00
Atis Elsts
f43e114a24 cc26xx ieee-mode.c: limit the time spend in waiting for transmissions to finish 2017-11-23 15:51:26 +00:00
Simon Duquennoy
faf526b441
Merge branch 'develop' into contrib/remove-mt 2017-11-17 19:40:06 +01:00
Atis Elsts
02c065db69 add deep sleep tracking for CC26xx 2017-11-15 12:17:53 +00:00
Atis Elsts
7b26ead9de add deep sleep tracking for CC2538 2017-11-15 12:17:44 +00:00
Simon Duquennoy
0952960b91 Removing multi-threading support 2017-11-11 15:28:11 +01:00
Niclas Finne
5c6117e698 Platform native: Avoid trying to use the tun when the tun is not available.
This allows a native platform application to run without network.
2017-11-02 01:32:51 +01:00
Simon Duquennoy
1275c4cb9e
Merge pull request #139 from nfi/contrib/energest-deep-lpm
New energest type for deep sleep plus configurable type for Energest time source
2017-10-31 23:24:12 +01:00
George Oikonomou
aa07073acd Change all slip_arch_init implementations 2017-10-31 21:56:38 +00:00
George Oikonomou
6d0f43f291 Remove stub instances of uart1.h
Some platforms provide this header file because some examples used to assume its presence. Now that the examples no longer make this assumption, those stub headers are no longer required.
2017-10-31 21:56:38 +00:00
Niclas Finne
1c4622bad6 energest: Added new energest type ENERGEST_TYPE_DEEP_LPM to support
energy estimations of both sleep and deep sleep CPU modes.

Added configurable type ENERGEST_TIME_T to re-add support for clocks with
wrapping time as energest time source.
2017-10-31 22:17:30 +01:00
Simon Duquennoy
5c1ad6e394 Use logging module for tun6-net 2017-10-31 16:15:51 +01:00
George Oikonomou
f15b11b564 Change default logging level to NONE 2017-10-29 23:18:38 +00:00
George Oikonomou
fec382602b Use the logging module (CC2538 SoC) 2017-10-29 23:18:37 +00:00
George Oikonomou
827acf4770 Implement common early-stage init for all CC2538-based platforms 2017-10-29 23:18:35 +00:00
Niclas Finne
21f2c22da4 Updated make rules for MSPSim as submodule to Cooja 2017-10-18 20:40:13 +02:00
Niclas Finne
18b5f6d667 energest: made energest more configurable
* energest time defaults to rtimer but can be configured via
  ENERGEST_CONF_CURRENT_TIME and ENERGEST_CONF_SECOND.

* Additional energest types can be added by platform and application
  using ENERGEST_CONF_PLATFORM_ADDITIONS and ENERGEST_CONF_ADDITIONS.

* Energest times are now 64 bit and thereby non-wrapping in most systems.

* Removed unused energest types for serial and sensors.
2017-10-13 00:17:30 +02:00
Niclas Finne
fafe4bb1f3 energest: replaced some energest on/off with ENERGEST_SWITCH() 2017-10-12 23:59:11 +02:00
Niclas Finne
7317316942 energest: removed energest type ENERGEST_TYPE_IRQ 2017-10-12 23:57:38 +02:00
George Oikonomou
75ed5a03a6 Build CC2538 USB functionality from within our own CPU dir 2017-10-10 21:04:28 +02:00
George Oikonomou
bf4dd68be3 Remove cpu/cc253x
This was used by platform CC2530DK which has been removed.
2017-10-10 21:04:26 +02:00
George Oikonomou
8050864226 Move USB sourcefiles to the CC2538 CPU dir
Previously, the CC2538 port would compile USB-related files from their original location under the CC2531 CPU dir. We are now removing the latter, but we need to keep those files.
2017-10-10 21:04:23 +02:00
Simon Duquennoy
9acb4c895a tun6-net warning message 2017-10-08 15:01:36 +02:00
Simon Duquennoy
fb0de6dd7a Various fixes to netstack config 2017-10-08 14:47:34 +02:00
Joakim Eriksson
db344197d4 added warning on native when not running sudo / not able to allocate tun 2017-10-08 09:55:49 +02:00
Joakim Eriksson
5d87cd1b5f moved the MAKE_NET code in makefile include so that platform makefiles are before decisions 2017-10-08 00:46:57 +02:00
Joakim Eriksson
1143d6f5aa addressed some of the suggestions on the PR - naming and netstack MAC 2017-10-08 00:44:02 +02:00
Joakim Eriksson
8cf65ed01a changed NETSTACK configuration on network layer 2017-10-08 00:44:02 +02:00
Joakim Eriksson
1b2b043f24 fixed nullnet and its examples 2017-10-08 00:44:02 +02:00
Joakim Eriksson
3091a9010a added tun6 interface for native - removed old codebase for tap/tun/wpcap 2017-10-08 00:44:02 +02:00
Simon Duquennoy
14779f29f8 Rework Doxygen modules 2017-09-29 22:18:48 +02:00
Simon Duquennoy
543408db68 Re-organzie ip stack implementation 2017-09-22 17:09:54 +02:00
Simon Duquennoy
0aa44c3c22 Homogenize NET layer config with MAC 2017-09-22 14:34:20 +02:00
Simon Duquennoy
0f92c6ebfd Include contiki.h instead of contiki-conf.h so as to ensure consistent inclusion of contiki-default-conf.h 2017-09-08 14:20:59 +02:00
Niclas Finne
2c86194ef8 Renamed core to os 2017-09-01 15:29:00 +02:00
766f0766e6 Removed platform Galileo 2017-08-31 15:58:56 +02:00
Simon Duquennoy
9a0087faf3 Simplify configuration through more suitable defaults, and removed unused features. Cleanup many configuration files. 2017-07-06 10:01:55 +02:00
Nicolas Tsiftes
9bb51087bf Renamed the drivers directory to arch to reflect that this is the main place for architecture-dependent functionality. 2017-06-28 16:20:43 +02:00