Commit graph

2811 commits

Author SHA1 Message Date
Andre Guedes
6c9ab4eb6c galileo: Remove unneeded syscall stubs
This patch removes _kill_r and _getpid_r stubs since they are not
required by newlib at this moment. These stubs should not be in
the commit that introduced the initial newlib-syscalls.c file.
2015-12-21 08:06:14 -02:00
Andre Guedes
d3d2b51fa2 galileo: Initial stdio support
This patch introduces the initial support for stdio library in Galileo
platform. For now, only standard output and error are supported. Both
streams use the UART1 device.

Newlib doesn't call open() for stdin, stdout, and stderr which means
that the _write_r call is the first activity the stub will see on
those streams. For that reason, we initialize the UART1 device in
Galileo's platform main() function instead of in open() system call.
2015-12-21 08:06:14 -02:00
Andre Guedes
ee82304211 galileo: Implement _sbrk_r syscall
This patch implements the _sbrk_r() system call for Galileo platform. This
system call is required by newlib's malloc() implementation. Next patch
will introduce the initial support for stdio library which requires a
working malloc() function for proper operation.

We are not sure about the heap size we should use. Preliminary tests
have shown that stdio library requests 1032 bytes heap. So, as an initial
guess, a 2Kb heap size should be enough for now.
2015-12-21 08:06:14 -02:00
Michael LeMay
9b6b5ce5b0 galileo: Instruct developer to build C library prior to building Contiki
This patch enhances build_newlib.sh to create Makefile.libc so that
the main Galileo makefile can attempt to include Makefile.libc and
instruct the developer to run build_newlib.sh first if the definition
within Makefile.libc is not detected.
2015-12-21 08:06:14 -02:00
Michael LeMay
b2e4786187 galileo: Stylistic changes to make build_newlib.sh less repetitive
This script defines new variables to represent common paths and
filenames.  It does not introduce any functional changes.
2015-12-21 08:06:14 -02:00
Michael LeMay
c8cdc0c157 galileo: Check for errors after downloading newlib tarball
Repeat the file existence and MD5 checks in build_newlib.sh after the
newlib tarball is downloaded and exit if either of the checks fail.
2015-12-21 08:06:14 -02:00
Andre Guedes
96e50ec2c4 galileo: Fix Makefile.galileo
This patch moves the compiler and linking options related to QuarkX1000
SoC to Makefile.x86_quarkX1000 since it is more suitable. For instance,
'-m32' should be used in any platform based on QuarkX1000, not only
Galileo. The same rationale applies for the others options (e.g. -march,
mtune).
2015-12-21 08:06:14 -02:00
Michael LeMay
2b5efdfbe7 galileo: Revise C compiler flags for consistency.
The CFLAGS setting used for the newlib build process includes
"-mtune=i586" as does the ASFLAGS setting used for the Contiki build
process.  However, the CFLAGS setting used for the Contiki build
process did not include that flag.  This patch adds it for
consistency.
2015-12-21 08:06:14 -02:00
Michael LeMay
b79fcaa7d8 galileo: Override Ubuntu's default GCC flags to avoid link errors
Ubuntu enables GCC's stack protector by default (see
https://wiki.ubuntu.com/Security/Features).  This causes link errors
like the following:

 ...undefined reference to `__stack_chk_fail'

To avoid these errors, this patch adds the "-fno-stack-protector" flag
to both the CFLAGS used by the Contiki build process and the CFLAGS
used by the newlib build process.
2015-12-21 08:06:14 -02:00
Andre Guedes
a8849b2909 x86: Move bootstrap code and linker script to cpu/x86
This is a refactoring patch, no functionality is changed. It moves
loader.S and galileo.ld from platform/galileo/ to cpu/x86/ directory
since they seem to be more SoC-specific than platform-specific.

It also renames galileo.ld to quarkX1000.ld since it can be used by
any platform based on Quark X1000 SoC, not only Galileo.

Furthermore, this patch also renames loader.S to bootstrap_quarkX1000.S
since it is pretty much a bootstrap code to any platform based on Quark
X1000 SoC.
2015-12-21 08:06:14 -02:00
Jesus Sanchez-Palencia
b2fa72bb98 x86: Break Makefile.x86 into common and pc specific ones
Now the cpu/x86/ provides a Makefile.x86_common and a
Makefile.x86_pc. The former includes the common Makefile
and adds legacy pc specific implementations (currently,
drivers only) into the building context, while the latter
has everything that defines the bootstrap of a x86 CPU.

This commit also fixes platform/galileo/ so it includes the
correct makefile - Makefile.x86_quarkX1000. Galileo uses
a Quark X1000 SoC which is not an IBM Generic PC-like CPU,
but it does provide most of a PCs peripherals through
its "Legacy Bridge". Thus, it makes sense that QuarkX1000's
Makefile includes code from the legacy_pc x86 cpu.
2015-12-21 08:06:14 -02:00
Jesus Sanchez-Palencia
23e8090257 x86: Move available drivers into drivers/legacy_pc/
All drivers implemented so far are for chips which are only available
on legacy x86 PCs. This commit moves them into a more appropriate folder,
also making the cpu/x86/drivers/ folder ready for other x86 based SoCs.
2015-12-21 08:06:14 -02:00
Jesus Sanchez-Palencia
9d3b9cadc4 galileo: Concentrate core implementations in platform/galileo/core/
Currently, it is common to see Contiki's core/ interfaces implementations
spread in both cpu/ and platform/. We here take one step further starting
an effort to centralize all of these in platform's code instead.

This commit starts this by adding platform/galileo/core/ and its sys/
subfolder, adding a stubbed mtarch.h and moving clock and rtimer
implementations to this new folder. From now on we should concentrate
implementation from Contiki's core/ interfaces into the appropriate
subfolder in platform/galileo/core/.

Note that this is not the current fashion followed on other platforms
and cpus folders, as most of them add the core interface implementation
into its subfolder directly. For instance, on CC2538DK,
core/dev/button-sensor.h is implemented in platform/cc2538dk/dev/
directly, while on Galileo it would sit at platform/galileo/core/dev/.
We believe ours is a better approach to organize and escalate a
platform's code base.

We also remove previous x86 mtarch.h and mtarch.c since they weren't used
at all - both native and cooja platforms have their own mtarch
implementations.
2015-12-21 08:06:14 -02:00
Andre Guedes
568f565b3d galileo: Update README.md file
This patch updates the README.md file, including information about the
current device drivers implementations as well as the Contiki APIs
supported.
2015-12-21 08:06:14 -02:00
Andre Guedes
e4ff61ff6c galileo: Support for rtimer library
This patch adds support for rtimer library on Galileo's platform.

We use the PIT to implement the rtimer platform dependent
functionalities. We chose the PIT for mainly two reason: I) its
configuration is very simple II) it has a high frequency which
provides us a good clock resolution (requirement from rtimer
library).

Since we keep track of the number of ticks in software, we define
rtimer_clock_t type as uint64_t. This gives us a good amount of time
til the variable overflows. For instance, a 32-bit type would overflow
in about one hour for high clock resolution (~ 1us).

The rtimer clock frequency (RTIMER_ARCH_SECOND) is setup to 1 kHz.
There is no technical matter regarding this value. It is just an
initial guess.

Just for the record, we might want to use HPET in future to
implement the rtimer library since it seems to be more appropriate.
The reason why we don't use it at this moment is that, in order to
configure it, we need support for ACPI 2.0 which we don't. Once we
have use-cases for the rtimer library we'll probably replace PIT
by HPET or any other timer more suitable for the job.
2015-12-21 08:06:14 -02:00
Jesus Sanchez-Palencia
7c871871de galileo: Add support for Etimer and Ctimer libraries
This patch adds support for the Etimer and Ctimer libraries. To support
the Etimer library, we should poll the etimer process every time the
system clock is updated. To do this more efficiently, by taking advantage
of etimer_next_expiration_time() API, we poll the etimer process only
when an 'Event Timer' has expired.

We don't need any platform specific support in order to enable the Ctimer
library since it relies completely on Etimer.

The others timer libraries (Timer and Stime) don't required any specific
platform support as well since they rely on the system Clock module only.
2015-12-21 08:06:14 -02:00
Jesus Sanchez-Palencia
eafcba5e7a galileo: Add support for Clock module
This patch adds support for Contiki's clock module. All functions from
core/sys/clock.h are implemented, except clock_set_seconds() and clock_
delay_usec(). The CLOCK_CONF_SECOND macro is set to 128. This value
seems to be good enough since several platforms used it. Finally, we
use the RTC driver to track the number of ticks from the system clock.
2015-12-21 08:06:14 -02:00
Jesus Sanchez-Palencia
11098501d8 x86: Initialize the 8259 PIC
The Programmable Interrupt Controller is a chip responsible for
translating hardware interrupts to system interrupts. When it
receives an Interrupt Request (IRQ), it triggers the appropriate
interrupt line reaching the appropriate IDT gate, following a
previously setup offset.

There are 2 daisy-chained PICs. PIC1 handles IRQs 0-7 and PIC2
handles IRQs 8-15. If no vector offset is set, an IRQ0, for instance,
would trigger the interrupt 0, clashing with the "Division by zero exception"
handler. Thus the IRQs must be remapped.

This patch implements the PICs initialization through their 4
Initialization Command Words (ICWs) in a very "canonical" way:
- ICW1: the initializing command;
- ICW2: the vector offset for the PIC1 and PIC2 (we add an offset of 32 positions);
- ICW3: the inter-PICs wiring setup (we connect PIC2 to PIC1's IRQ2);
- ICW4: extra systems information (we set PIC1 as Master and PIC2 as slave).

It then masks the Interrupt Mask Register, blocking all IRQs but #2 initially.
These must be unmasked on demand. The IMR is 8-bits long, so setting the n^th bit to 1
would DISABLE the IRQ n while setting it to 0 would ENABLE IRQ n.

As stated, this is an implementation of the legacy 8259 PIC. More
investigation is needed so we decide if it is enough or if we need
the (newer) APIC implementation instead.

This patch also adds the outb() helper function to helpers.h. The helpers
is a wrapper for assembly 'out' instruction.

Finally, since we now properly support hardware interrupts, this patch
also enables IRQs in platform main().

More information:
- Quark X1000 Datasheet, section 21.12, page 898.
- http://wiki.osdev.org/8259_PIC
- http://stanislavs.org/helppc/8259.html
2015-12-21 08:06:14 -02:00
Andre Guedes
f6644d9208 x86: CPU Initialization
This patch defines the cpu_init() function which should encapsulate
all code related to x86 CPU initialization. For now, this function
initializes GDT and IDT.
2015-12-21 08:06:14 -02:00
Andre Guedes
b8feaea30d x86: Add helpers.h
This patch adds the helpers.h. This file should contain only x86-related
helper functions and macros. For now, we define the BIT macro and halt()
helpers which will be used in upcoming patches.

Additionally, this patch also changes loader.S to call the halt().
2015-12-21 08:06:14 -02:00
Andre Guedes
6ecc4a7371 galileo: Implement main() function
This patch implements the main() function for Galileo platform. At this
moment, only Processes subsystem is enabled. After this patch we are
able to some rudimentary debugging to ensure that process thread from
applications are being indeed executed.

Once we properly support more Contiki subsystems, such as clock, ctimer,
etimer, and rtimer, we will add them to Galileo platform's main() as well.
2015-12-21 08:06:14 -02:00
Jesus Sanchez-Palencia
595088be09 galileo: Add a bootstrap stack for C runtime
All we need to provide to C at this point is a region in memory dedicated to
its stack. This is done by allocating a region in .bss and pushing its start
address to esp. Since the multiboot spec says it is not safe to rely on the
initial stack provided by the bootloader, this patch provides our own stack.

Galileo boards have 512Kb of SRAM and 256Mb of DDR3 RAM, so providing 8kb as
a start seems safe. Moreover, stack sizes are very application-oriented
so it may be too early to provide a bigger (or smaller) stack.
2015-12-21 08:06:14 -02:00
Andre Guedes
7a1898f73e galileo: Halt if main() returns
This patch adds extra intrunctions to loader.S so we halt if main()
returns.
2015-12-21 08:06:14 -02:00
Andre Guedes
7e13081776 galileo: Print elf sections sizes after build
This patch changes Galileo's buildsystem to print the elf sections
sizes after a new image is built. This way we can easily track how
these sections increase or decrease after any change.

To achieve that, we define a custom linking rule which is pretty much
the same as the default linking rule define in Makefile.include, but
we run 'size' command after the image is built.
2015-12-21 08:06:14 -02:00
Andre Guedes
e820a8b03b galileo: Add README file
This patch adds a README file which contains general information about
the Intel Galileo board support. The file provides information about
supported features as well as instructions on how to build, run and debug
applications for this platform.
2015-12-21 08:06:14 -02:00
Andre Guedes
1fb7800110 galileo: Add 'debug' rule
This patch the 'debug' rule to simplify the debugging process. This new
rule runs OpenOCD and gdb with the right parameters. OpenOCD runs in
background and its output will be redirected to a log file in the
application's path called LOG_OPENOCD. Once gdb client is detached,
OpenOCD is terminated.

The 'debug' rule is defined in Makefile.customrules-galileo file (create
by this patch) which is included by the Contiki's buildsystem. So to
debug a Contiki application for Galileo board, run the following command:
$ make TARGET=galileo debug

If you use a gdb front-end, you can define the "GDB" environment variable
and your gdb front-end will be used instead of default gdb. For instance,
if you want to use cgdb front-end, just run the command:
$ make BOARD=galileo debug GDB=cgdb
2015-12-21 08:06:14 -02:00
Jesus Sanchez-Palencia
f14f9aba41 galileo: Initial support for Intel Galileo Platform
This patch adds the initial support for Intel Galileo Platform. It
contains the minimum set of code required to boot a dummy Contiki
image.

For Galileo initial support, we implemented a linker script, a minimal
bootstrap code, a set of stubbed functions required by newlib, and a
very simple main() function. Moreover, we also define some header files
and macros required by Contiki.

To build applications for this platform you should first build newlib
(in case it wasn't already built). To build newlib you can run the
following command:
$ platform/galileo/bsp/libc/build_newlib.sh

Once newlib is built, you can build applications. To build applications
for Galileo platform you should set TARGET variable to 'galileo'. For
instance, building the hello-world application should look like this:
$ cd examples/hello-world/ && make TARGET=galileo

This will generate the 'hello-world.galileo' file which is a multiboot-
compliant [1] ELF image. This image can be booted by any multiboot-
complaint bootloader such as Grub.

Finally, this patch should be used as a guideline to add the initial
support for others platforms based on x86 SoCs.

[1] https://www.gnu.org/software/grub/manual/multiboot/multiboot.html
2015-12-21 08:06:14 -02:00
Jesus Sanchez-Palencia
c9897fe9b0 galileo: Add BSP files
This patch creates the platform/galileo/bsp directory. This directory
contain all files related to Galileo's Board Support Package (BSP). For
now, the BSP consists of libc and bootloader.

Within the BSP directory, we have the scripts build_newlib.sh and build_
grub.sh. These scripts provide an easy and quick way to build the newlib
and the grub for the Galileo platform.
2015-12-21 08:06:14 -02:00
Jesus Sanchez-Palencia
3a26d9dbc7 x86: Only add elfloader-x86.c to the platforms using it
Currently there are only one platform using CPU x86: Cooja. The
elfloader-x86.c is rather a POSIX implementation, so the Galileo port
won't use it for now. This patch fixes this by moving this source file to
be included by the platforms using it instead of the cpu's Makefile.
2015-12-21 08:06:14 -02:00
Joakim Eriksson
e4744d1e59 fixed make login for Zoul on MAC 2015-12-19 10:28:30 +01:00
Antonio Lignan
5e14c22c98 Add support for the RE-Mote on-board power management feature 2015-12-18 16:20:30 +01:00
Antonio Lignan
834f965c95 Added support for the RE-Mote on-board Real Time Clock Calendar (RTCC) 2015-12-16 18:43:33 +01:00
Simon Duquennoy
cc58384b40 jn516x: remove temporary adjustements for compilation in a 802.15.4e-free Contiki 2015-12-07 11:51:50 +01:00
Atis Elsts
d79ce957a1 Adaptive time synchronization for TSCH 2015-12-07 11:51:41 +01:00
Simon Duquennoy
20c97367a9 Adding definitions required for TSCH to the sky and z1 platforms 2015-12-04 15:21:53 +01:00
Simon Duquennoy
bc17cdca2c Merge pull request #1408 from simonduq/pr/jn516x-update
JN516x: tickless clock, power saving update, 32 kHz rtimer
2015-12-03 14:59:53 +01:00
Simon Duquennoy
3ff44f77b9 jn516x: added sleep modes, support for 32kHz rtimer, and tickless clock 2015-12-03 13:57:19 +01:00
George Oikonomou
27835eee2c Merge pull request #1399 from alignan/pull/pwm-driver
Added PWM driver for the Zolertia Zoul module and CC2538 platforms
2015-12-02 15:39:52 +00:00
Simon Duquennoy
ebc8d9fb1c Merge pull request #1344 from tsparber/fix-doxygen
doxygen: Fixed all warnings
2015-11-30 22:07:15 +01:00
Harald Pichler
67ed80e9fe move defines to servo.h 2015-11-28 18:45:15 +01:00
Cristiano De Alti
2e78558964 AVR platforms: use 32 bit clock_time_t. 2015-11-28 10:18:22 +01:00
Nicolas Tsiftes
6def22b3c5 Merge pull request #1376 from sumanpanchal/wismote-uart1-dma
Wismote : Direct memory access using UART.
2015-11-26 11:08:43 +01:00
Antonio Lignan
37fcb927be Added PWM driver for the Zolertia Zoul module and CC2538 platforms 2015-11-25 23:56:29 +01:00
Marco Grella
65e1fed1bc Added contacts for stm32nucleo-spirit1 platform. 2015-11-25 12:56:42 +01:00
Marco Grella
e47c69c170 Merge remote-tracking branch 'upstream/master' into stm32nucleo-spirit1 2015-11-25 12:36:01 +01:00
Antonio Lignan
bea4ff164d Changed Makefile.zoul as done in previous BSL commit 2015-11-24 21:27:56 +01:00
Antonio Lignan
0775de9732 Fixed really big test value leftover 2015-11-24 21:15:34 +01:00
Antonio Lignan
aa9eb5264f Fixed warning related to gpio_callback_t type 2015-11-24 21:15:34 +01:00
George Oikonomou
8727fef05b Fix code style: platform/zoul 2015-11-24 21:15:34 +01:00
Antonio Lignan
afa5ab1ae4 Updated README 2015-11-24 21:15:34 +01:00
Antonio Lignan
daa3ce415c Fixed typos 2015-11-24 21:15:33 +01:00
Antonio Lignan
27fd1a5eb8 Updated RE-Mote revision A support and cleaning up Zolertia platforms 2015-11-24 21:15:33 +01:00
George Oikonomou
e75bdd00e7 Remove duplicate block and define the argument of -a using $(shell) 2015-11-24 13:10:10 +00:00
Jelmer Tiete
1efeda4283 Added the PORT make variable to the cc2538dk and Remote makefile. Fixed bug in these makefiles on OSX introduced in #1162 2015-11-23 11:28:34 -08:00
Jelmer Tiete
715946ece3 Restructured cc26xx readme, included use of .upload and PORT variable. Added sleepy demo example to examples section. 2015-11-23 11:09:06 -08:00
Jelmer Tiete
9a8e749f6f Updated cc26xx Readme to mention serial upload script 2015-11-23 11:09:05 -08:00
Jelmer Tiete
d01d53978c Removed forced upload speed for the RE-MOTE platform 2015-11-23 11:09:05 -08:00
Jelmer Tiete
97095c8bb5 Updated makefiles of srf06 platform to support uploading via cc2538-bsl script 2015-11-23 11:07:19 -08:00
George Oikonomou
41ea0308a3 Merge pull request #1390 from tsparber/fix-doxygen-whitespace
Cleanup some trailing spaces and convert tabs to spaces
2015-11-22 11:53:01 +00:00
Simon Duquennoy
ba8552555a Merge pull request #1389 from simonduq/pr/update-jn516x
JN516x: minor fixes
2015-11-21 12:12:55 +01:00
Simon Duquennoy
673d1d103b JN516x: minor fixes 2015-11-21 10:23:15 +01:00
Benoît Thébaudeau
5d98cb71e2 cc2538: Add support for Coffee
Coffee is placed by default at the beginning of the flash memory, right
before the firmware. This avoids the memory gaps that there could be
before and after Coffee if it were placed after the firmware, because it
is unlikely that the end of the firmware is aligned with a flash page
boundary, and the CCA is not flash-page-aligned. Thanks to that, Coffee
is also always in the same flash area if its size remains unchanged,
even if the firmware changes, which makes it possible to keep the Coffee
files when reprogramming the firmware after a partial flash erase
command.

The default configuration of Coffee is set to use sensible values for a
typical usage on this SoC, i.e. for sensor data logging.

The default size of Coffee is set to 0 in order not to waste flash if
Coffee is unused.

COFFEE_CONF_CUSTOM_PORT can be defined to a header file to be used with
"#include" in order to override the default CC2538 port of Coffee. This
makes it possible to use Coffee with an external memory device rather
than with the internal flash memory, without having to alter the Contiki
files.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau.dev@gmail.com>
2015-11-19 01:22:58 +01:00
Benoît Thébaudeau
cbcf1262d6 cc2538: upload: Support .bin not starting at beginning of flash
Depending on the linker script, the generated .bin file may start beyond
the beginning of the flash memory. However, no target address was passed
to cc2538-bsl.py by the upload make target, so it used the beginning of
the flash memory in all cases.

The load address of the lowest loadable output section is now passed to
cc2538-bsl.py. The start address of the .text output section or the
address of the _text symbol could have been used too, but this would not
have been compatible with all the possible custom linker scripts.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau.dev@gmail.com>
2015-11-19 01:22:58 +01:00
Benoît Thébaudeau
790c253d6d cc2538: Define and use device features
Define the available CC2538 devices and their features, and use them to
define the linker script memory regions. The .nrdata output section is
now always defined in order to trigger an error if it is used but no
memory is available for it. The CC2538 device used by Contiki is made a
configuration option, the CC2538SF53 device being the default.

This makes more sense than defining the flash memory address and size as
configuration options like previously, all the more not all values are
possible and all the features are linked by each device.

This change also makes it possible to:
 - use the correct SRAM parameters for the CC2538NF11,
 - know at build time if the AES, SHA, ECC and RSA hardware features are
   available on the selected CC2538 device.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau.dev@gmail.com>
2015-11-19 01:18:33 +01:00
Tommy Sparber
938a425949 Cleanup trailing spaces and convert tabs to spaces
This commit removes trailing spaces and converts
tabs to spaces in all files affected by fix-doxygen PR.
2015-11-18 11:09:43 +11:00
Tommy Sparber
938d17576b doxygen: Fix many warnings
This commit fixes nearly all of the reported doxygen warnings.

I tried to not clutter the log with removed trailing spaces.
Removed whitespace and converted tab/spaces for all files affected by this commit
are in a separate branch.
2015-11-18 11:07:58 +11:00
suman_panchal
8d139222f6 Wismote : Direct memory access using UART. 2015-11-17 20:26:43 +05:30
myrfy001
5a440dd003 off_t changed to signed to stay the same as POSIX
On many other tool chains, like TI's new MSG430-GCC, the typedef will be conflict.
2015-11-17 14:30:04 +08:00
Marco Grella
7e7c201c40 Updated radio parameters (in the submodule repo), to have more radio range. 2015-11-11 18:50:38 +01:00
Marco Grella
267d51acee Modified radio parameters to increase communication range. 2015-11-11 13:53:58 +01:00
Marco Grella
527903ee10 Added default BOARD value to let regression tests compile for any platform. 2015-11-11 13:48:38 +01:00
Marco Grella
41f9ca08e2 Merge with updated master. 2015-11-11 13:42:35 +01:00
Simon Duquennoy
fbd78a7e3b Merge pull request #1293 from simonduq/pr/fix-warnings
Fix a number of compiler warnings and enable -Werror in Travis
2015-11-10 08:49:11 +01:00
Jelmer Tiete
7b4a9c8410 Small correction to cc26xx readme, code block in list was not propperly indented 2015-11-09 01:01:21 -08:00
George Oikonomou
3aa4547327 Merge pull request #1257 from bkozak-scanimetrics/cc26xx_fully_turnoff_radio
CC26xx - fully shutdown the rf-core & abort rx op
2015-11-04 15:45:05 +00:00
Antonio Lignan
6037e269a8 Merge pull request #1336 from sumanpanchal/z1-uart0-dma
Zolertia Z1: Direct memory access using UART.
2015-11-02 08:47:08 +01:00
George Oikonomou
984b8cd631 Configure ContikiMAC timings for CC13xx sub-ghz operation
This is required so that ContikiMAC will keep working correctly after the recent change that also turns off the RF analog part during duty cycling.
2015-11-01 23:21:04 +00:00
Oliver Schmidt
1639b712bb Removed CC_FASTCALL.
CC_FASTCALL was introduced many years ago for the cc65 tool chain. It was never used for another tool chain. With a798b1d648 the cc65 tool chain doesn't need CC_FASTCALL anymore.
2015-11-01 18:10:17 +01:00
suman_panchal
35cc40563e Zolertia Z1: Direct memory access using UART. 2015-10-31 11:45:13 +05:30
Oliver Schmidt
5443c740e9 Added 80 column IRC client / web browser for the C64.
Recently support for 80 column CONIO based on 320x200 graphics was added to the cc65 C library for the C64. This change leverages this for the IRC client and the web browser. Because not everybody prefers this 'soft80' display with its small 4x8 charbox the 40 column programs are still available as before (with the new programs called 'irc80' and 'webbrowser80').
2015-10-30 16:48:00 +01:00
Oliver Schmidt
fb5d0b7ef0 Made 80 column display a cc65 application attribute.
So far 80 column display was an attribute of a cc65 platform. Now each cc65 application can ask for 80 column display by defining WITH_80COL. Of course this is ignored by platforms incapable of 80 column display.

I see three types of application:

* Applications not benefitting from 80 column at all and in fact looking better with 40 column display. These are now using 40 column display. Examples: ethconfig, ipconfig

* Applications taking advantage of 80 column display if it is available without drawbacks. These stay as they were. Examples: Telnet server, web server, wget

* Applications needing 80 column display so urgently that it is likely desirable even if the display becomes harder to read. These come now in both flavors allowing the user to choose. Examples: IRC, web browser

Note: This change doesn't actually introduce any 80 column display with drawbacks. This if left to a subsequent change.
2015-10-30 12:42:58 +01:00
Oliver Schmidt
634db88fe0 Adjusted cc65 constructor to recent cc65 change.
With 0ee9b2e446 cc65 constructor may not use the BSS anymore.
2015-10-29 22:25:48 +01:00
Oliver Schmidt
5024468c2f Rearranged ATARI memory usage.
The cc65 memory map for the ATARI XL has two holes so the linker needs hints which object files go where. Source changes lead to object file size changes requiring now and then to rearrange the object files.
2015-10-28 12:22:43 +01:00
Marco Grella
e261cda8dc Compilation flags update: BOARD=ids01a4/5 SENSORBOARD=iks01a1 2015-10-27 12:12:59 +01:00
Nicolas Tsiftes
17714c2111 Merge pull request #1299 from sumanpanchal/wismote-nodeid-burn-restore-frm-xmem
Burn and restore node id using external flash of Wismote
2015-10-26 18:41:28 +01:00
suman_panchal
5a07279c4f Burn and restore node id using external flash of Wismote 2015-10-24 18:24:38 +05:30
Benoît Thébaudeau
bf41de1be5 Merge pull request #1078 from drandreas/cc2538-crypto
cc2538: Add PKA drivers, ECC algorithms and examples
2015-10-21 11:24:35 +02:00
Simon Duquennoy
4edfb3671f Merge pull request #1315 from simonduq/pr/fix-jn516x-uart-printf
jn516x uart-driver.c: use DBG_vPrintf instead of printf.
2015-10-20 15:57:12 +02:00
Simon Duquennoy
810036e4f3 jn516x uart-driver.c: use DBG_vPrintf instead of printf. Issue https://github.com/contiki-os/contiki/issues/1314 2015-10-20 14:56:51 +02:00
Simon Duquennoy
2daa3d7377 Merge pull request #1269 from tadodotcom/tmp-uip-fallback-iface
More flexibility for the fallback interface
2015-10-20 11:33:14 +02:00
Simon Duquennoy
c13274c550 jn516x platform: fix compiler warnings to enable -Wall -Werror compilation 2015-10-20 10:11:45 +02:00
Simon Duquennoy
7d55e89563 jn516x: enable -Wall 2015-10-20 10:11:43 +02:00
Adam Dunkels
d48cf89e9b Fixed compiler warnings for the AVR platforms 2015-10-20 10:11:42 +02:00
Adam Dunkels
c1ed924c67 Spell fix in function name 2015-10-20 10:11:38 +02:00
Simon Duquennoy
aec8af25c0 jn516x: added WERROR 2015-10-20 10:11:22 +02:00
Simon Duquennoy
5ac4c2c867 Target cooja: fixed funciton prototype of uip_driver_send 2015-10-20 10:11:18 +02:00
Simon Duquennoy
b0f21747e1 Target cooja: added missing declaration of simlog_char 2015-10-20 10:11:17 +02:00
Simon Duquennoy
43adbbf6f9 Target cooja: added missing includes 2015-10-20 10:11:16 +02:00
Simon Duquennoy
7328ee51ef micaz: added missing include 2015-10-20 10:11:14 +02:00
Simon Duquennoy
2533265d30 eval-adf7xxxmb4z: declare node_id only when needed 2015-10-20 10:11:13 +02:00
Simon Duquennoy
45af3adab4 exp5438: do not use char as array index 2015-10-20 10:11:04 +02:00
Simon Duquennoy
1957ecd94a exp5438: removed unused vairable 2015-10-20 10:10:18 +02:00
Simon Duquennoy
c796ab418f exp5438: added missing include 2015-10-20 09:38:25 +02:00
Simon Duquennoy
2007863922 mbxxx: fix printf format 2015-10-20 09:37:26 +02:00
Simon Duquennoy
fcd0302d02 mbxxx contiki-main.c: include uip-debug, as uip_debug_lladdr_print is used in main 2015-10-20 09:37:25 +02:00
Simon Duquennoy
16dd3af1e6 mbxxx temperature-sensor: remove unused variable 2015-10-20 09:37:24 +02:00
Simon Duquennoy
921a3c8a7b native platform: removed unused variable 2015-10-20 09:37:19 +02:00
Simon Duquennoy
10bd49a71a Merge pull request #756 from sieben/dos2unix
dos2unix fix
2015-10-18 20:26:07 +02:00
AntiCat
d631270af4 cc2538: Add PKA drivers, ECC algorithms and examples 2015-10-18 20:14:17 +02:00
kkrentz
c865982df5 JN516x: Call LLSEC.init instead of LLSEC.bootstrap 2015-10-15 00:41:12 -07:00
Simon Duquennoy
bfeff0488d Port JN516x ccm-star implementation to new ccm_star_driver interface 2015-10-14 09:20:44 -07:00
Konrad Krentz
b522c042ec llsec: Replaced bootstrap function with a simple init function 2015-10-14 08:21:40 -07:00
Oliver Schmidt
1b2028f1e0 Merge pull request #1302 from oliverschmidt/master
Removed mouse pointer initialization.
2015-10-09 22:22:07 +02:00
Marco Grella
fc65757114 License headers and code style fixes. 2015-10-09 19:40:39 +02:00
Oliver Schmidt
43ac818dd2 Removed mouse pointer initialization.
Now the cc65 C library for CBM takes care of this.
2015-10-09 19:35:31 +02:00
Vladimir Pouzanov
fee4476605 Fixed detection of windows-native 2015-09-29 10:36:18 +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
Simon Duquennoy
2231cc9b0f Merge pull request #1266 from drugo72/avr-revival
AVR revival: new battery and temperature sensors and er-rest-example for the Raven
2015-09-28 17:52:26 +02:00
Mariano Alvira
94daacd244 Merge pull request #817 from SmallLars/econotag-ecc
Addet ECC functions on elliptic curve secp256r1.
2015-09-28 09:45:11 -05: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
867368b929 Basic NETSTACK_CONF_RADIO based on kernel 802.15.4 2015-09-28 12:47:11 +01:00
Simon Duquennoy
f9537b6355 Merge pull request #1219 from simonduq/jn516x-port
NXP JN516x Platform
2015-09-25 12:09:52 +02:00
Lars Schmertmann
17ff3bb466 Added ECC functions on elliptic curve secp256r1 2015-09-24 14:11:20 +02:00
Simon Duquennoy
bd7d45080d Added NXP JN516x platform 2015-09-23 14:38:31 +02:00
Cristiano De Alti
018be89b11 Revert abs -> ABS change from commit 0dab6926b3.
The avr-ravenlcd cannot include sys/cc.h since this in turns includes contiki-conf.h
which the avr-ravenlcd does not have.
2015-09-22 23:32:17 +02:00
Cristiano De Alti
7b5c57c892 See https://sourceforge.net/p/contiki/mailman/message/31702228/ 2015-09-22 23:32:17 +02:00
Cristiano De Alti
8e02955c3d Fix menu. How could it worked before? Also added a macro to disable JTAG using inline assembly 2015-09-22 23:32:17 +02:00
Cristiano De Alti
a3435952ef Only output data and text sections to the hex file 2015-09-22 23:32:17 +02:00
Cristiano De Alti
65e70baa84 Tables must be const in order to be put into read-only section by means of __attribute__((progmem)) (avr-gcc 4.7.0) 2015-09-22 23:32:17 +02:00
Cristiano De Alti
abac0f0381 Fix compilation of er-rest-example 2015-09-22 23:32:17 +02:00
Víctor Ariño
561e70b18e Updated current fallback_interface(s) to return int. 2015-09-22 12:53:04 +02:00
Cristiano De Alti
d2528caa85 Implement battery and temperature sensors.
On the raven, the battery and temperature readings are available
from the companion 3290 cpu over the serial line.
Modify the existing raven-lcd-interface application to export
these sensors.
2015-09-21 22:45:57 +02:00
Lars Schmertmann
46ffc509c1 Added App/Tool/Example for usage of additional flash on econotag/mc1322x 2015-09-14 20:43:12 +02:00
Marco Grella
875bfd0a1a Updates of REAME files (main and submodule). 2015-09-11 15:56:12 +02:00
Marco Grella
87970a88a4 Comments and documentation fixes. 2015-09-10 14:28:08 +02:00
Mattias Buelens
72aac552ef Cooja: Track CFS file size
Previously, the Cooja mote assumed that its file was always initially empty (file.endptr == 0). Therefore, a file uploaded to a mote's CFS could never be read by the mote, as the mote would prevent reads from going past the EOF (indicated by endptr).

By tracking the file size and making it accessible to Cooja, the correct size of the uploaded file can be reported to the mote and allow it to read the uploaded file.
2015-09-09 23:06:09 +02:00
Nicolas Tsiftes
bebf0f9156 Merge pull request #1246 from nvt/wismote-fixes
Minor fixes for the WisMote platform
2015-09-08 13:52:45 +02:00
Marco Grella
b7459a12c1 Added radio sensor. 2015-09-07 19:59:03 +02:00
Rémy Léone
7a5071dd30 Adding a gitattributes and correcting line-endings
https://help.github.com/articles/dealing-with-line-endings/
2015-09-07 15:40:02 +02:00
Marco Grella
17aafb9daa Align to current master 2015-09-04 17:01:04 +02: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
Marco Grella
a627a54224 Fixes to README.md instructions 2015-09-03 18:02:15 +02:00
Simon Duquennoy
265b65c67c Fix Wismote randon_init for link-layer addresses shorter than 8 bytes 2015-09-01 19:57:37 +02:00
Marco Grella
913ef068be Updated submodule stm32cube-lib 2015-09-01 15:34:34 +02:00
Simon Duquennoy
4904386f41 Wismote: init random seed 2015-09-01 10:51:25 +02:00
Simon Duquennoy
db1635cf3c Z1: configure SFD timestamp with flag CC2420_CONF_TIMESTAMP, for consistency the Sky platform and with cc2420.c 2015-09-01 10:03:44 +02:00
Simon Duquennoy
34280338ac Z1: init random seed 2015-09-01 10:02:35 +02:00
Antonio Lignan
90eca482ea Remove unused RPL_CONF_MAX_DAG_ENTRIES 2015-08-29 20:22:18 +02:00
Nicolas Tsiftes
607303ecdd Merge pull request #1081 from pablocorbalan/light
Remove old unused light drivers
2015-08-28 14:13:00 +02:00
Adam Dunkels
e859ad8e05 Need to increase the Cooja serial buffer size to accomodate the traffic 2015-08-27 10:28:54 +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
Harald Pichler
500078ef9a update to contiki 3.0 2015-08-26 16:01:57 +02:00
Nicolas Tsiftes
5db8006d0b Merge pull request #1032 from sumanpanchal/wismote-external-flash-driver
Wismote external flash driver
2015-08-26 13:18:18 +02:00
sumanpanchal
fd5b03b767 WISMOTE external flash driver support 2015-08-24 22:50:22 +05:30
Jonas Olsson
8cb7562684 Improve the SPI and external flash driver for the sensortag
For the SPI
* We improve the return semantics of _read() and _write()
* We set speed based on the value returned from ti_lib_sys_ctrl_clock_get() instead of using a hard-coded value

External flash changes:
* Rename macros to match instruction names
* verify_part(): Return a different value when the device is powered down and when communication fails
* Change return value semantics of static functions
* Adjust checks of board_spi_ return values
* Wait for BUSY to clear before attempting to send PD
* Accept two possible flash parts: W25X40CL (4MBit) as well as the W25X20CL (2MBit)
2015-08-23 20:41:13 +01:00
Jonas Olsson
e96b15773a Document how to use the debugger devpack 2015-08-23 20:41:12 +01:00
Jonas Olsson
f4576a635f Document CC26xx/CC13xx border router and slip-radio 2015-08-23 20:41:12 +01:00
Jonas Olsson
3d19b0036e Add support for SmarfRF06 + CC1310EM
This commit updates the srf06-cc26xx platform by adding support for the CC1310EM.

We generalise the way this platform selects CPU/board so that we can easily add more combinations in the future. These changes have implication on how to build for different devices, so make sure to have a look at the updated README
2015-08-23 19:54:43 +01:00
Oliver Schmidt
757809196e Some finishing touch on the CBM retro targets. 2015-08-08 15:41:24 +02:00
Pablo Corbalán
b1c3e929c5 Remove old unused light drivers 2015-08-04 20:39:09 +01: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
Marco Grella
62c33260bd Modified structure to use a sub-module for platform APIs 2015-07-31 17:11:27 +02:00
Marco Grella
711dd02a9c Improve UART IRQ management. 2015-07-29 12:55:30 +02:00
Marco Grella
bb08369b01 Regression tests fixes and Readme update. 2015-07-27 14:08:07 +02:00
Marco Grella
b271a4a3c3 Updated README.md 2015-07-24 17:00:32 +02:00
Marco Grella
ceff03ab2f Updated README.md 2015-07-24 16:57:34 +02:00
Marco Grella
1116bcca2a Updated README.md 2015-07-24 16:44:19 +02:00
Marco Grella
86f35536a4 Added new stm32nucleo-spirit1 platform 2015-07-24 16:30:10 +02:00
Oliver Schmidt
a30e2e0045 Allow to configure Telnetd idle timeout.
The default Telnetd idle timeout of 30 seconds seems somewhat short. Best to have it user-configurable (incl. the option to turn it off with an config value of 0).
2015-07-06 12:25:20 +02:00
Oliver Schmidt
5d039d9848 Optimized retro webbrowser configs.
The change c7b8bac006 optimized memory usage and thus allowed to adjust the retro webbrowser configs for improved web page compatibility.
2015-07-05 16:56:25 +02:00
Oliver Schmidt
2827b2d800 Rearrange Apple II language card usage.
The code of etimer.o has become to large to fit into $D000-$D400. So other object file have been chosen.
2015-06-28 22:12:44 +02:00
Oliver Schmidt
a70fbf1bbf Reconfigured Telnet server.
In order to have the wget command make some sense the write command should be present too.
- On the Apple][ reduction of the MTU seems to gain just enough RAM to have the (rather heavy-weight) full-blown C library file I/O working.
- On the C128 there's way too little RAM so there's no wget command but only the file commands.
- On the CBMs a dummy lseek() was necessary to have the read command link.
2015-06-21 21:07:41 +02:00
Oliver Schmidt
55e568e7cb Minor Win32 config adjustment. 2015-06-21 14:15:41 +02:00
Laurent Deru
1784338b2e Add uip_clear_buf() macro and replace all instances of uip_len = 0; with it 2015-06-15 11:10:51 +02:00
Oliver Schmidt
74db518846 Set Win32 file i/o to binary mode.
This is i.e. necessary to have the file based webserver-example successfully read 'contiki.gif'.
2015-06-14 17:48:36 +02:00
Oliver Schmidt
c9edb9006b Merge pull request #1112 from oliverschmidt/master
Various improvements of the HTTP client and web browser.
2015-06-14 16:12:24 +02:00
Benoît Thébaudeau
e8a268cd15 cc2538: aes: Add support for 192- and 256-bit keys
Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau.dev@gmail.com>
2015-06-02 21:41:56 +02:00
Benoît Thébaudeau
117dc4e5e3 cc2538: Add crypto drivers and examples for AES-CCM and SHA-256
Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau.dev@gmail.com>
2015-06-02 21:41:06 +02:00
Benoît Thébaudeau
aba0b8ab40 Merge pull request #1085 from alignan/pull/remote
New Zolertia Re-Mote platform (CC2538 + CC1120)
2015-05-30 00:11:57 +02:00
Antonio Lignan
330e450ba4 Zolertia Re-Mote platform ported to Contiki, developed whitin RERUM FP7 European project (grant #609094).
The port was done jointly by Zolertia and George Oikonomou (University of Bristol).
2015-05-29 22:04:43 +02:00
Benoît Thébaudeau
8c952e8026 Merge pull request #1082 from g-oikonomou/cc2538/readme-cdc
Update the CC2538DK README about a Win CDC driver
2015-05-26 00:29:50 +02:00
George Oikonomou
b86c26fff8 Update the CC2538DK README about a Win CDC driver
* The current version of the README points to a wrong URL
  for the LUFA Virtual Serial driver.
* A driver is nowadays provided by TI with CC2538
  Foundation Firmware

Thus, this pull updates the LUFA driver URL and also provides a
link to CC2538 Foundation Firmware
2015-05-25 22:06:25 +01:00
Nicolas Tsiftes
a14c78e1ce Build the Wismote platform with ContikiMAC and CSMA enabled by default. 2015-05-25 17:04:39 +02:00
Nicolas Tsiftes
3d284f8ecd Use the new path to a header file. 2015-05-25 16:52:12 +02:00
Matthieu Baerts
78b6b50194 Z1: tmp102: simple: fixed wrong cast
When using this code:

    (int8_t)tmp102_read_temp_x100() / 100

Only the first value is casted into a int8_t type.

tmp102_read_temp_x100() returns the temperature in Celcius * 100. Most of
the time this value will be lower than -2^7 and higher than 2^7 (+/- 1.27°C).

The cast is not needed but a comment about this implicit cast has been added.
2015-05-22 18:15:26 +02:00
Harald Pichler
9b6bdd30b8 use all submodules 2015-05-21 21:31:18 +02:00
Antonio Lignan
2cee62eb33 Merge pull request #1074 from g-oikonomou/cc26xx/contrib/new-cc26xxware
Update to latest CC26xxware and add it as a submodule
2015-05-21 10:01:00 +02:00
Harald Pichler
6a0d407806 Merge branch 'contiki' into osd 2015-05-19 10:54:55 +02:00
Adam Dunkels
730bda2001 Merge pull request #883 from cmorty/pull/global-macros
Move MAX, MIN and ABS to contiki-macros
2015-05-18 21:33:00 +02:00
Ulf Knoblich
a388a1bcd7 CC2538: added support for SSI1 2015-05-18 10:02:55 +02:00
Moritz 'Morty' Strübe
0dab6926b3 Move MAX, MIN and ABS to sys/cc.h 2015-05-18 08:53:17 +02:00
George Oikonomou
541688235c Update the CC26xx README in terms of CC26xxware 2015-05-17 15:01:02 +01:00
George Oikonomou
b4067560ba Remove references to obsolete peripheral clock scaling functions 2015-05-17 15:01:01 +01:00
George Oikonomou
8b1f2ef33c Reset I2C with HAPI call instead of register access 2015-05-17 15:01:00 +01:00
George Oikonomou
7a5b670f76 Remove references to IOC_JTAG_DISABLE 2015-05-17 14:09:52 +01:00
George Oikonomou
32840db66b Update driverlib version macros 2015-05-17 14:09:51 +01:00
Benoît Thébaudeau
e88b3908ad cc2538dk: README: Add URL of Sourcery G++ Lite 2008q3-66
Document the URL of the older Sourcery G++ Lite 2008q3-66 arm-none-eabi
toolchain mentioned by README.md so that users can easily find it if
needed.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau.dev@gmail.com>
2015-05-17 01:53:09 +02:00
Antonio Lignan
32afadea77 Merge pull request #1047 from g-oikonomou/cc26xx/contrib/lpm
CC26xx Ultra Low Power Operation
2015-05-16 10:27:22 +02:00
Harald Pichler
877bf27f5a Merge branch 'contiki' into osd 2015-05-15 20:48:26 +02:00
Antonio Lignan
402eabecca Merge pull request #929 from lab11/delete-old-coap
Delete old CoAP implementation
2015-05-15 15:49:04 +02:00
George Oikonomou
7ae3cd49ba Make sure SSI0 is powered and clocked before accessing it
* Fail all SSI0 operations if the module is not powered and clocked
* Make sure SERIAL is powered before trying to enable run mode clock
2015-05-15 11:38:20 +01:00
George Oikonomou
019143226b Adjust main:
* Re-order OSC, VIMS cache, I/O latch configuration instructions
* Don't automatically enable UART RX: Let the example decide this
2015-05-15 09:21:04 +01:00
George Oikonomou
6e7d52b5df Improve MPU power-cycling logic:
* Keep MPU_PWR low when the sensor is not in use
* Deselect the sensor when not in use, in order to restore the I2C ping state
* Explicitly control the MPU_INT pin
* Don't shutdown the sensor when it's shut down
* Remove explicit shutdown-related API extension. It is no longer required
2015-05-15 09:21:04 +01:00
George Oikonomou
dcf0d11050 Re-map tag UART-related IOID defines 2015-05-15 09:21:03 +01:00
George Oikonomou
2cc59c524a Configure pins for unused tag peripherals 2015-05-15 09:21:03 +01:00
George Oikonomou
e893c914b6 Set SPI pins to a low leakage state 2015-05-15 09:21:03 +01:00
George Oikonomou
421fbfae25 Change the LPM locks API:
Instead of using a separate data structure to request that a PD remain powered during deep sleep,
we do the same within the main LPM data structure through an additional field.

This allows us to maintain only one linked list of LPM modules and overall improves code clarity
2015-05-15 09:21:02 +01:00
George Oikonomou
0e92b508b3 Don't clock GPT0 on device startup 2015-05-15 09:21:02 +01:00
George Oikonomou
6611acadc7 Don't fire-up SERIAL automatically 2015-05-15 09:21:02 +01:00
George Oikonomou
34be012661 Improve I2C power-cycling logic:
We only power, clock and enable the peripepheral when / if we need it

* We no longer automatically turn on the SERIAL PD when the CM3 is running
* Make sure the I2C peripheral is accessible (powered and clocked) before any operation
* If the peripheral is not accessible, automatically power it up and run the clock
* Put SDA, SCL, SDA HP and SCL HP in a low-leakage state when shutting down
* Don't automatically fire up the I2C controller when we wake up
2015-05-15 09:21:02 +01:00
George Oikonomou
0ad4b5f323 Add the ability to put the I2C in a known/default state 2015-05-15 09:21:01 +01:00
George Oikonomou
d1a1c16bd0 Define pins for more sensortag peripherals 2015-05-15 09:21:01 +01:00
George Oikonomou
4378217462 Improve sensortag external flash power management:
* Explicitly put in deep sleep on device startup
* Verify that the flash has actually dropped to deep sleep
* Update CLK pin to match the one used on the v1.2 sensortag

Obsoletes and Closes #988
2015-05-15 09:21:01 +01:00
George Oikonomou
cf99160706 Change lpm_shutdown() API call:
So that the caller can specify pin pull and wakeup state
2015-05-15 09:21:01 +01:00
George Oikonomou
5644e95fb6 Fix global interrupt manipulation 2015-05-15 09:21:00 +01:00
George Oikonomou
3f310e462f Tidy-up clock configuration 2015-05-15 09:20:59 +01:00
George Oikonomou
450550a7d1 Explicitly configure Srf pins for unused peripherals 2015-05-15 09:20:59 +01:00
George Oikonomou
7a189d010b Don't power on SERIAL in the Srf's board_init 2015-05-15 09:20:59 +01:00
George Oikonomou
00a6c31158 Improve OPT sensor driver and usage
* Query the sensor about its state, rather than using variables in the driver
* Correctly put the sensor to deep sleep
* Fix doxygen comments
* Don't turn off the sensor in examples since it is no longer needed
2015-05-15 09:20:59 +01:00
George Oikonomou
3ab1b836c4 Configure button pins with hysterisis 2015-05-15 09:20:58 +01:00
George Oikonomou
7641aa89f2 Tidy-up macro semicol usage 2015-05-15 09:20:58 +01:00
George Oikonomou
0b6813513c Undefine CTS/RTS pins for the SmartRF 2015-05-15 09:20:58 +01:00
George Oikonomou
883c30b4ac Handle the configuration of the TMP_RDY pin 2015-05-15 09:20:58 +01:00
George Oikonomou
cee6c190c5 Use the BMP in 'forced' mode and reduce startup delay
In forced mode, the BMP will turn itself off after a reading
2015-05-15 09:20:57 +01:00
Antonio Lignan
b50ae639b3 Merge pull request #986 from g-oikonomou/cc26xx-hdc-sensor
Replace STH21 with HDC1000 for the CC2650 SensorTag
2015-05-15 10:12:08 +02:00
Brad Campbell
6eaada0c3f Delete old CoAP implementation
It seems that this implementation of CoAP in Contiki is no longer
maintained in favor of the `er-coap` implementation. This commit
removes the code to prevent confusion and further bit-rot.
2015-05-14 17:20:46 -04:00
Benoît Thébaudeau
c9324d133f Merge pull request #1060 from g-oikonomou/cc26xx/contrib/ihex
Produce ihex files usable with TI's Flash Programmer
2015-05-14 19:24:36 +02:00
Benoît Thébaudeau
d64927397f Merge pull request #968 from g-oikonomou/cc2538-contrib-on-chip-sensors
Move CC2538 VDD/3 and On-Chip Temp sensors to the CPU dir
2015-05-14 19:21:56 +02:00
Benoît Thébaudeau
71f22b1775 Merge pull request #966 from g-oikonomou/cc2538-startup-to-cpu-dir
Move cc2538 startup-gcc.c to the CPU dir
2015-05-14 18:43:39 +02:00
George Oikonomou
69c4f19336 Produce ihex files usable with TI's Flash Programmer 2015-05-14 13:22:11 +01:00
George Oikonomou
6507112b33 Remove SHT21 sources 2015-05-14 13:20:40 +01:00
George Oikonomou
d5f458509d Adjust the CC26xx README to reflect new sensors 2015-05-14 13:20:39 +01:00
George Oikonomou
1384030d6e Replace SHT21 with HDC1000 driver in the tag build 2015-05-14 13:20:39 +01:00
George Oikonomou
7e3b8d6fcc Add a driver for the HDC1000 sensor 2015-05-14 13:20:39 +01:00
George Oikonomou
a32598f658 Merge pull request #1059 from g-oikonomou/cc26xx/contrib/xxware-instructions
Update CC26xxware download instructions
2015-05-13 12:21:48 +01:00
George Oikonomou
96e1647270 Move cc2538 startup-gcc.c to the CPU dir 2015-05-13 01:31:10 +01:00
George Oikonomou
4de471478a Link and build tmp, vdd and als sensors 2015-05-12 23:42:20 +01:00
George Oikonomou
12ac8e1fb5 Initialise ADC in main, not in sensor drivers 2015-05-12 23:42:20 +01:00
George Oikonomou
3717522680 Re-work the CC2538 driver to be a driver for the Srf06 ALS only 2015-05-12 23:42:19 +01:00
Nicolas Tsiftes
44af0fa66b Merge pull request #1003 from adamdunkels/pr/http-socket-dns64-tcp-socket
New HTTP socket, DNS64, IP64 Cooja tests
2015-05-10 17:14:31 +02:00
George Oikonomou
351b16c43c Update CC26xxware download instructions 2015-05-10 14:53:05 +01:00
Adam Dunkels
64bae5b38d Include the ip64-addr module, to make http-socket compile 2015-05-10 10:51:12 +02:00
Adam Dunkels
4a85d49a09 Include a subplatform-conf.h, which may override configuration parameters set by the cooja/contiki-conf.h 2015-05-10 10:51:12 +02:00
Adam Dunkels
81391c11a7 Need to specify the target name, which allows us to have platforms that inherit from the cooja platform, like the cooja-ip64 platform 2015-05-10 10:51:12 +02:00
Adam Dunkels
bab1c48912 New Cooja platform designed for runnig IP64 routers for automated testing 2015-05-10 10:51:11 +02:00
George Oikonomou
447be526ae Merge pull request #1046 from g-oikonomou/cc26xx/contrib/slip-and-br
Enable slip-radio and rpl-border-router for CC26xx
2015-05-09 22:51:06 +01:00
George Oikonomou
598fd770b8 Merge pull request #960 from g-oikonomou/travis-arm-aapcs-tests
Test cc2538dk with the recommended toolchain
2015-05-09 22:31:18 +01:00
George Oikonomou
bd5e35c968 Merge pull request #1052 from simonduq/packetbuf-cleanup
Packetbuf cleanup
2015-05-09 22:30:21 +01:00
Simon Duquennoy
bb76bb8beb Remove unused flag SICSLOWPAN_CONF_ACK_ALL. Include packetbuf attribute PACKETBUF_ATTR_RELIABLE only when RIME is compiled. 2015-05-06 16:34:26 +02:00
George Oikonomou
d808978149 Improve platform README 2015-05-03 22:36:04 +01:00
George Oikonomou
0327eea109 Printf Driverlib version at startup 2015-05-03 22:36:04 +01:00
George Oikonomou
77874dc02b Remove unused configuration defines 2015-05-03 22:36:03 +01:00
George Oikonomou
f83c4e7286 Improve code style 2015-05-03 22:36:03 +01:00
George Oikonomou
1d97e7e11e Improve Reed Relay macro and comments for clarity 2015-05-03 22:36:03 +01:00
George Oikonomou
8c55bc3f3d Remove obsolete/unused make variables 2015-05-03 22:36:03 +01:00
George Oikonomou
a72d90e283 Control TCP MSS in the project's conf 2015-05-03 13:31:03 +01:00
George Oikonomou
364fc9cacf Define button_sensor in contiki-conf.h 2015-05-03 13:30:59 +01:00
Oliver Schmidt
05d98ffca3 Adjusted some Win32 config values. 2015-05-02 00:17:53 +02:00
Oliver Schmidt
9aee07c9ad Leverage the recently added exec() cmdline support in the cc65 C library for the Apple ][. 2015-04-26 21:45:33 +02:00
Oliver Schmidt
a824722862 Merge remote-tracking branch 'upstream/master' 2015-04-26 14:35:40 +02:00
David Rabel
29e62c4e20 SERVO_OFFSET deleted, SERVO_MIN added 2015-04-03 15:55:00 +02:00
David Rabel
41163406c2 Use OCR3 instead of OCR1 for servo 2015-04-03 15:49:17 +02:00
David Rabel
235f368340 Bugfix: missing braces added in serco_set() 2015-04-03 15:47:15 +02:00
Nicolas Tsiftes
8f50d9709d Merge pull request #999 from adamdunkels/lebrush-rdnss-support-rebased
RDNSS support, again
2015-03-30 17:21:23 +02:00
George Oikonomou
7238a1628f Merge pull request #1004 from alignan/z1-reed-sensor
Added Reed Sensor driver, example, and minor fix to the SHT25 sensor driver
2015-03-30 15:05:05 +01:00
Antonio Lignan
b9334a3b0e Added Reed Sensor driver and example 2015-03-30 10:30:09 +02:00
Gaëtan Harter
d0232bb20d Remove unused UIP_CONF_ND6_ defines in platforms
UIP_CONF_ND6_MAX_PREFIXE
  UIP_CONF_ND6_MAX_DEFROUTERS
2015-03-24 13:09:29 +01:00
Gaëtan Harter
697d8c0d23 Remove siclowpan compressions define in platforms
Several platforms defined compressions modes values:

    SICSLOWPAN_CONF_COMPRESSION_IPV6
    SICSLOWPAN_CONF_COMPRESSION_HC1
    SICSLOWPAN_CONF_COMPRESSION_HC01

instead of using the global SICSLOWPAN_COMPRESSION_LEVEL definitions
2015-03-24 11:40:32 +01:00
Gaëtan Harter
60719b8239 Remove unused SICSLOWPAN_CONF_CONVENTIONAL_MAC 2015-03-24 11:18:25 +01:00
Harald Pichler
560117e8f3 Merge branch 'contiki' into osd 2015-03-23 13:07:28 +01:00
Harald Pichler
0097d192be move dht11 define to project.conf 2015-03-23 13:03:32 +01:00
Antonio Lignan
64fd000e5d Removed duplicated condition in sht25 configuration 2015-03-11 14:25:23 +01:00
Antonio Lignan
1af29a5beb Added SHT25 sensor 2015-03-10 15:33:58 +01:00
George Oikonomou
cd219e206c Adjust the cc2538dk readme to reflect travis test changes 2015-03-02 08:41:53 +00: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
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
Oliver Schmidt
da536cb07c Removed superfluous AppleCommander parameters. 2015-02-21 17:16:08 +01:00
Mikhail Gaivoronskii
3f2869824c Uncrustified platform/cc2538dk/dev/button-sensor.c 2015-02-20 21:53:33 +05:00
Harald Pichler
d31ecbf486 Merge branch 'contiki' into osd 2015-02-18 10:04:47 +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
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
b6bd556805 Fix clock.h warnings caused by multiple, conflicting documentation blocks of clock functions 2015-02-15 21:48:30 +01:00
George Oikonomou
fb22e15844 Fix warnings caused by incorrect param names / undocumented params 2015-02-15 20:11:08 +01:00
Nicolas Tsiftes
277dc8e174 Merge pull request #826 from alignan/fix_octal
Remove leading zeros from node id
2015-02-11 22:35:02 +01:00
Harald Pichler
6730ec16c8 Merge branch 'contiki' into osd 2015-02-10 15:13:21 +01:00
Thomas Weber
f06bd06b79 corrected line - #if UIP_CONF_IPV6 - in contiki-rcb-main.c to - #if NETSTACK_CONF_WITH_IPV6 - 2015-02-02 22:08:35 +01:00
PAtO!
2c2b930648 Fix: Misconfigurations to compile for avr-zigbit platform 2015-01-29 14:31:47 -03:00
Ralf Schlatterbeck
c8be130f2e Finally fix LED-Strip driver
.. and adapt led-strip.c to changed polarity (again).
2015-01-26 20:44:30 +01:00
Ralf Schlatterbeck
a2357e648e Invert LED count, use fixed led driver 2015-01-25 19:04:04 +01:00
Ralf Schlatterbeck
e946cd4c13 Add LED strip example
.. not yet working
2015-01-25 18:31:17 +01:00
Thomas Weber
d575f1a6ce added missing modules in Makefile.avr-rcb, added netstack init functions (to start the at86rf230, modified macros to increase the buffersize) 2015-01-17 19:19:16 +01:00
Harald Pichler
ff29ab2c94 bugfix define framer and llsec 2015-01-16 22:22:16 +01:00
Harald Pichler
000d37a7fc update modules remove llsec 2015-01-16 15:03:37 +01:00
Víctor Ariño
ccc0d27da0 Integrates uip-nameserver API
On the same commit the src have been uncrustified and some typo
fixes as well as includes missing.
2015-01-09 09:44:06 +01:00
Harald Pichler
fb473237ce bugfix modules 2014-12-29 11:02:51 +01:00
Harald Pichler
9efc5d41c1 Merge branch 'contiki' into osd 2014-12-29 08:20:00 +01:00
George Oikonomou
8fe5456588 Change default PAN ID for the CC2538DK platform to 0xABCD 2014-12-08 22:33:33 +00:00
George Oikonomou
73a133373a Change CC2530DK default PAN ID to 0xABCD and make it configurable by project-conf.h 2014-12-08 22:33:11 +00:00
Harald Pichler
ed161d1905 NETSTACK_CONF_WITH_IPV6 2014-12-07 17:36:53 +01:00
Harald Pichler
a02be51f08 Merge branch 'contiki' into osd 2014-12-07 15:24:00 +01:00
Simon Duquennoy
c2ca3e9fdb Cleanup UIP_CONF_IPV6_RPL configuration 2014-12-02 12:38:55 +01:00
Simon Duquennoy
6891bcdd20 Remove unneeded module inclusion from avr and seedeye platforms 2014-12-01 21:06:01 +01:00
Simon Duquennoy
0d9815e08b WITH_UIP6 -> NETSTACK_CONF_WITH_IPV6 2014-12-01 21:04:54 +01:00
Simon Duquennoy
a9cc909794 Network layer configuration: replace UIP_CONF_* with NETSTACK_CONF_WITH_* 2014-12-01 21:02:57 +01:00
Simon Duquennoy
229c53a2e6 Cooja platform: do not include the rime module by default 2014-12-01 20:13:10 +01:00
Simon Duquennoy
e85f41ffa0 Get IPv6 to fit in micaz platform again 2014-12-01 20:13:09 +01:00
Simon Duquennoy
722b3258d1 Cleanup of the Contiki network layer configuration. Now using CONTIKI_WITH_IPV6, CONTIKI_WITH_IPV4, and CONTIKI_WITH_RIME in makefiles, and UIP_CONF_IPV6, UIP_CONF_IPV4, UIP_CONF_RIME in c code. Now only the stacks that are used are compiled (via makefile MODULES). Make IPv6 the default network stack. 2014-12-01 20:13:09 +01:00
Nicolas Tsiftes
d820feadd6 Merge pull request #792 from wchyan/master
atmega128rfa1: Fix the default build error
2014-11-28 19:23:26 +01:00
Nicolas Tsiftes
69c76c9f2f Merge pull request #872 from Bocci83/master
Seedeye platform: add the explicit list of modules
2014-11-28 19:21:52 +01:00
Nicolas Tsiftes
9b90c378e8 Merge pull request #812 from kkrentz/packetbuf-holds-broadcast
packetbuf_holds_broadcast()
2014-11-28 19:15:19 +01:00
kkrentz
7b63217a32 ContikiMAC: Default to contikimac_framer when using Rime over ContikiMAC 2014-11-25 04:56:09 -08:00
Stefano
a5550fa083 Seedeye platform: add the explicit list of modules 2014-11-21 14:36:23 +01:00
Antonio Lignan
e8c49dd29e Remove leading zeros from node id 2014-11-20 14:48:28 +01:00
Harald Pichler
a86f137cf5 add module llsec 2014-11-19 15:10:10 +01:00
Harald Pichler
5f18fc6955 set all colors to the same pin PE5 2014-11-19 13:54:35 +01:00
Harald Pichler
42d3b38c9c optriac sensors use Arduino API 2014-11-19 13:54:28 +01:00
Harald Pichler
f7e987cbeb change port manipulation to ardino commands and lets change the pin at runtime possible 2014-11-19 13:54:22 +01:00
Ralf Schlatterbeck
1a1aaa883e Turn off JTAG in adc_init 2014-11-19 13:54:13 +01:00
Ralf Schlatterbeck
53cf5ab6cf Fix A0-A5 ADC constants, use in example sketch 2014-11-19 13:53:59 +01:00
Ralf Schlatterbeck
fbe6ae6a60 Fix off-by-one error in digitalPinToTimer 2014-11-19 13:53:53 +01:00
Ralf Schlatterbeck
abdf6f8c6b Refactor A/D conversion in adc.c
Now the necessary settings are in adc.h. Refactored to allow repeated
ADC reads without reinitialization. Arduino allows setting
analogReference, this is now also implemented.
ADC is now initialized to sane values in apps/arduino/arduino-process.c
dev/arduino/arduino-compat.h now has all hardware independent settings
for arduino (some moved from platform/osd-merkur/dev/hw-arduino.h).
turnOffPWM re-implemented with hw_timer, removed from wiring_digital.c
ADC-specific arduino stuff moved to arduino-compat.h
Arduinos wiring_analog no longer necessary.
arduino-sketch example now reads analog inputs 1 and 5 using analogRead.
2014-11-19 13:53:32 +01:00
Ralf Schlatterbeck
c46d6afa39 Make Arduino timer stuff work on Contiki
New discovery: Contiki also uses timer 0. With almost the same interface
as Arduino. So we now completely get rid of wiring.c (only the main
file, the other wiring_xxx stay) and implement Arduino timer, delay, etc
in terms of the corresponding Contiki routines. Verified that now delay
works as expected. The LED in examples/osd/arduino-sketch blinks!

Before this, the arduino_init routine in wiring.c destroyed the timer-0
initialization of contiki, making both, contiki timer implementation
*and* contiki timer implementation fail if the arduino_init routine was
called. Now both work.

Squashed with following bug-fix commit.
2014-11-19 13:50:58 +01:00
Ralf Schlatterbeck
b6be226e69 Add Arduino compatibility layer
We can now directly compile arduino sketches (.pde) files.
Arduino compatible analogWrite works now.
But there is still a long way to go, serial I/O and timer stuff (delay,
millis etc) currently don't work (not tested but I don't expect this to
work).
It can be used in an arduino sketch or in a normal contiki program.
We get a PWM frequency of 490.2 Hz (a period of 2.040 ms), that's
Arduino compatible. If you need different frequencies see native timer
usage in examples/osd/pwm-example
In a contiki program you have to call arduino_pwm_timer_init to
initialize the timer before pwm works. The arduino sketch wrapper
already does this.
For running a sketch, see examples/osd/arduino-sketch
2014-11-19 13:48:05 +01:00
Harald Pichler
5077010fc0 add i2c driver from Ingo 2014-11-19 13:46:58 +01:00
Harald Pichler
16fa63ebac bugfix read analog 2014-11-19 13:46:14 +01:00
Harald Pichler
4461dca8f2 set 0xABCD default panid 2014-11-19 13:46:07 +01:00
Ralf Schlatterbeck
4ceffb090d Make HW timer for contiki rtimer configurable
... and configure osd platform to use timer 5. With the new
configuration we can use timer 3 for generating hardware PWM.
2014-11-19 13:44:55 +01:00
Harald Pichler
38dbf611e6 add Arduino pin definition and commands 2014-11-19 13:42:57 +01:00
Harald Pichler
7c0cd36a77 bugfix define panid 2014-11-19 13:42:47 +01:00
Ralf Schlatterbeck
56f6f87c94 Allow changing bootloader_get_mac address
Current default in the Makefile is the *new* bootloader address.
But for backward compatibility we've modified the run*.sh files
to use the old address. The run*.sh also now explain how to change
the default.
2014-11-19 13:42:35 +01:00
Harald Pichler
1efbe0736a change resources to simple and make climate2 default 2014-11-19 13:42:13 +01:00
Harald Pichler
d90e0d622d get s/button ->show button status 0/1 2014-11-19 13:42:05 +01:00
Harald Pichler
affe81cc6d bugfix includes and names 2014-11-19 13:40:29 +01:00
Harald Pichler
a16849120f adapt new names and api 2014-11-19 13:40:09 +01:00
Harald Pichler
964164b157 remove t4 driver at the moment, config problem 2014-11-19 13:39:11 +01:00
Marcus Priesch
630bd8e9e4 Factored to support configurable amount of pwm's, fixes 2014-11-19 13:38:58 +01:00
Harald Pichler
11b13a7a7e remove link status and bugfix params.c 2014-11-19 13:37:41 +01:00
Harald Pichler
9906e9736c temp and hum sensors values xxxx -> xx.xx 2014-11-19 13:37:21 +01:00
Harald Pichler
1b04a24022 config panid over defines 2014-11-19 13:37:06 +01:00
Harald Pichler
8b323633cd define new tria pins, configurable type ligt or shutter or plug 2014-11-19 13:36:58 +01:00
Harald Pichler
2408af0b93 remove xmac config 2014-11-19 13:36:35 +01:00
Harald Pichler
ab16ebd4ea bugfix nbr name xmac 2014-11-19 13:35:04 +01:00
Harald Pichler
171c1290c3 update boarder router to new rpl tables 2014-11-19 13:34:47 +01:00