Commit graph

1842 commits

Author SHA1 Message Date
Robert Quattlebaum 092b6f3baa platform/minimal-net: Implement better idle behavior.
The minimal-net target, as currently written, wakes up the
CPU every millisecond to check for packets, and will only
react in real-time to input from stdin. If you are running
this on a laptop battery, your battery will quickly drain.

This change allows the CPU to idle when there is literally
nothing to do while still being responsive to input from
stein and/or incoming packets. This fix should significantly
improve performance while significantly improving power
usage. Win-win.

Also added `_xassert()` implementation so that the contiki-
provided `assert()` macro will work properly when used
on this platform.
2013-01-30 09:17:29 -08:00
Jelmer Tiete f4976140fc fixed z1 i2c bug where 2 extra bytes were read with every i2c-receive 2013-01-30 14:23:07 +01:00
Jelmer Tiete 12dd138915 fixed z1 i2c bug where 2 extra bytes were read with every i2c-receive 2013-01-30 14:15:16 +01:00
Jelmer Tiete edf4e36094 removed tag from z1 Makefile.common 2013-01-30 11:13:19 +01:00
Oliver Schmidt e88997b71c Minor README updates. 2013-01-29 22:44:37 +01:00
Oliver Schmidt 1a5e20bc5f Remove tab chars from retro C sources. 2013-01-28 23:43:08 +01:00
Jelmer Tiete 7ce2688d84 Added support for motelist and uploading to Z1 motes under Mac OSX 2013-01-23 22:56:43 +01:00
Robert Quattlebaum 5afcbf6fff Makefiles: Allow setting UIP_CONF_IPV6=0 to work as expected.
Setting UIP_CONF_IPV6 to zero from the make build command line is
something that seems like it should ensure that IPv6 is disabled, but in
fact it actually *enables* IPv6. This seems counter intuitive, so this
patch changes the behavior of the makefiles to handle this case
properly.
2013-01-14 22:03:42 -08:00
Giovanni `evilaliv3` Pellerano ee556dcf14 minor corrections to adhere contiki code style guidelines 2012-12-21 12:36:29 +01:00
Giovanni `evilaliv3` Pellerano fdd380e7ca added support for SEED-EYE board (http://rtn.sssup.it/index.php/hardware/seed-eye) 2012-12-20 23:57:47 +01:00
George Oikonomou f5bc1c92ba Update to the new ds6_route API 2012-12-16 19:28:56 +00:00
George Oikonomou 351a4d39b9 Code style fixes: cc2530dk 2012-12-16 19:28:56 +00:00
George Oikonomou b4bb51e811 Code style fixes: sensinode 2012-12-16 19:28:55 +00:00
Moritz 'Morty' Strübe 79aa5dbc01 Get rid of generc ihex-file to allow parallel uploads 2012-12-11 12:40:38 +01:00
Moritz 'Morty' Strübe 7213d36d63 Support MOTEIDS for flashing, etc 2012-12-11 12:40:24 +01:00
Adam Dunkels aaa950ab17 Cooja platform changes to get IPv6/RPL to work better 2012-12-10 01:50:32 +01:00
Adam Dunkels 99f541e8fd Updated to the latest uip-ds6-route API 2012-11-27 23:04:34 +01:00
Adam Dunkels 91206e2249 Avoid multiple definitions of NETSTACK_CONF_MAC. Turn on RPL by default. 2012-11-21 20:11:22 +01:00
Adam Dunkels e178787999 Fixed compilation problems on the micaz and exp5438 platforms due to the node-id change 2012-11-20 21:16:50 +01:00
Adam Dunkels ec8c7e9be0 Cleanup of the node-id.h files. The node-id.h file contains
declarations of functions for setting and getting a node ID number, a
functionality that exists on many platforms. Since this functionality
was not considered part of the Contiki core, each platform defined its
own node-id.h file. This commit attempts to clean this up by
collecting the node-id.h into a core/sys/node-id.h file that replaces
the old node-id.h files from the platform directories.
2012-11-20 19:59:46 +01:00
Mariano Alvira 03ab3fe317 Newer and cleaner TARGET=econotag as well as robust mc13224v
configuration system.

(also deprecate TARGET=redbee-econotag)

- mc13224v now automatically probes hardware config for buck converter
and 32kHz crystal as well as automatically monitors battery voltage
and manages the buck accordingly.

- new flashed based config system for mc13224v parameters such has
  radio modes (demod, autoack), nvmtype, mac address, channel and
  power.

- considerably cleaned up econotag platform code (suffered from severe
  case of bit-rot)
2012-11-19 19:16:29 -05:00
Mariano Alvira 2c9a538582 Merge branch 'master' of git://git.devl.org/git/malvira/libmc1322x into bump-libmc1322x
bump libmc1322x to 7bee48243c

Conflicts:
	cpu/mc1322x/board/Makefile.board
	cpu/mc1322x/lib/include/uart.h
	cpu/mc1322x/lib/uart1.c
	cpu/mc1322x/lib/uart2.c
	cpu/mc1322x/src/default_lowlevel.c
2012-11-18 18:27:39 -05:00
Etienne Duble 97da754b1c Fixed login make target repeated in Makefile.mbxxx and Makefile.stm32w108 2012-11-09 15:43:15 +01:00
George Oikonomou 5399fa2b6f cc2530dk: Fixed the startup text for dongle builds
See Pull Request #21
2012-11-04 21:44:34 +00:00
George Oikonomou 53fdb96816 cc2530dk and Sensinode: Local copy of uip-debug.c
Copied this file to the platform directories and
changed it to use putstring(), puthex() etc so
that we can print addresses without linking in
printf

See Pull Request #20
2012-11-04 21:43:57 +00:00
George Oikonomou 1a0f01ccc4 cc253x: Config to swap between UART and USB I/O
See Pull Request #18
2012-11-01 17:41:57 +00:00
George Oikonomou 2cc74c5fd4 cc2530dk: Added a 'Serial over USB' platform process
This is based on a usb-test example by Philippe Retornaz. It has
been moved to platform and modified accordingly. With this in place:

- putchar() can work over USB. So we can use things like
  printf, slip output
- USB input can be redirected to slip or serial input

The example itself is no longer needed in the source tree

See Pull Request #18
2012-11-01 17:41:53 +00:00
George Oikonomou c1d72475d7 cc253x: Renamed P2 interrupt-related files for better consistency
See Pull Request #18
2012-11-01 17:41:38 +00:00
George Oikonomou fea4970142 cc253x: Configurable linkage for the P2 ISR
See Pull Request #18
2012-11-01 17:41:24 +00:00
Philippe Rétornaz ba96408f37 cc253x: Add USB support to the compilation scripts
See Pull Request #18
2012-11-01 17:41:21 +00:00
Philippe Rétornaz ddc8120d7c cc253x: Add p2 interrupt handler
The P2 Interrupt is shared across many periferal (I2C, USB, GPIO).
This adds a generic interrupt handler on which the differents drivers
can register a handler.

See Pull Request #18
2012-11-01 17:41:11 +00:00
George Oikonomou 67bf9ec10e DOS EOL and indentation fixes (platform files)
- Removed some DOS EOLs
- Changed some tabs to spaces
- Removed some trailing whitespaces

Closes #6
2012-10-30 13:44:25 +00:00
Adam Dunkels 944537fccf Removed all old RCS tags in the Contiki source tree. Those RCS tags are not used any more, as we are now using git to manage the Contiki source tree 2012-10-26 15:54:49 +02:00
George Oikonomou 3b0e92168b Copied cc2530 stack functions to the cc2430 port 2012-09-20 15:09:15 +01:00
George Oikonomou b292e02012 Sensinode putdec() debugging 2012-09-20 15:09:15 +01:00
George Oikonomou 95b9d4ee29 Sensinode/cc2430 stack depth optimisation
This replicates the method used by the cc2530 port
2012-09-20 15:09:15 +01:00
George Oikonomou 067fabe0f9 Sensinode main variable optimsations:
r is now uint8_t, allocated to registers
len is uint16_t for more efficent arithmetic

(Changes replicated from the 253x port, originally
contributed by Philippe Retornaz - EPFL)
2012-09-20 15:09:15 +01:00
George Oikonomou cb168da729 Changed the cc2430 sleep_flag to uint8_t 2012-09-20 15:09:15 +01:00
Niclas Finne 4630945475 Made the stack and heap size configurable when using the IAR compiler on the MSP430 platforms 2012-09-19 22:49:19 +02:00
Niclas Finne 919ddfbf09 Added delay at startup to let things stabilize before writing to the uart 2012-09-19 22:47:48 +02:00
George Oikonomou ee7af77ca9 Reworked the cc2530 stack debugging facilities:
- Moved to their own file
  (so we can later copy the entire thing over to cc2430)
- Renamed the functions
  (for naming convention reasons)
- The entire thing can be enabled/disabled
- Added a couple more macros
- Hooked into main()
2012-09-07 17:40:17 +01:00
Philippe Rétornaz 780e62d7e8 cc253x: add putdec debug function 2012-09-07 17:32:54 +01:00
George Oikonomou c6ec22c4c8 cc2530: Added a method to maximise stack depth
This was oringinally contributed/reported/discussed/patched by
Philippe Retornaz (EPFL) but it's implemented
in a more configurable fashion here.
2012-09-07 17:32:53 +01:00
Philippe Rétornaz a0d2988846 cc253x: Don't force __data usage
SDCC optimize "r" and put it in a register.
Don't force len to be in __data.
2012-09-07 17:32:10 +01:00
Philippe Rétornaz 666ff6ca55 cc253x: use a uint8_t for sleep_flag
__bit variables must be located after the 0x20 address
This force the stack to start after 0x20, thus decrease
the stack size by a considerable amount.
2012-09-07 17:32:10 +01:00
George Oikonomou 8699f7741d Fixed typos and a stray printf. Adjusted comments 2012-09-07 17:31:25 +01:00
Ivan Delamer b43dad00b0 Cleaned up RF230BB, and refactored FRAME_RETRIES and CSMA_RETRIES
#defines.
2012-09-04 11:12:18 -06:00
Antonio Lignan c5e9d688a5 Fixed sht11 driver, now ensures the i2c bus is disabled when initializing 2012-08-16 14:12:27 +02:00
Antonio Lignan 73e7f25cbc Simple phidget-like relay driver for the Z1 mote with basic functionalities 2012-07-30 11:27:13 +02:00
George Oikonomou 62fbd389d8 Renamed a cc253x SFRX to stop namespace conflicts
The TR0 SFRX can not use the name TR0 because it
conflicts with TCON.TR0 on the default 8051.

See SDCC bug 3513300
2012-07-11 10:53:14 +01:00
David Kopf 37c407b177 Patch from Landon Fuller adds const to PROGMEM, required for newer avr-gcc 2012-06-10 12:54:11 -04:00
Niclas Finne d1bef2b68a Bug fix: setup MAC address based on node id if no MAC address was restored from external flash 2012-06-07 10:45:05 +02:00
Adam Dunkels fd2e238d99 The __delay_cycles() function in the latest mspgcc takes an unsigned long argument but does not allow it to be larger than 65536. 2012-06-04 17:41:12 +02:00
Fredrik Osterlind d270e4943d bugfix: slip must be initialized after ctimer, as it uses ctimers 2012-05-30 12:59:42 +02:00
Niclas Finne b6ed988709 Allow node address to be set by COOJA when emulating. 2012-05-29 19:42:35 +02:00
Niclas Finne 2c460090e3 io and signal have been moved into contiki include file 2012-05-29 19:31:16 +02:00
David Kopf e0dab7c2fc Prefer UART0 for stdout; move DEBUFGLOW macro below definition of uint8_t 2012-05-28 13:08:30 -04:00
Fredrik Osterlind 8ebacd1a1a reverted previous patch that broke compiling on Instant Contiki 2012-05-25 11:25:19 +02:00
Fredrik Osterlind 50caa3650c new experimental feature: possibility to change mote types when loading a simulation
made compile dialogs only select mote interfaces specified in the loaded configuration
2012-05-23 14:59:41 +02:00
George Oikonomou 0fc5ec8d5c Fixed an SDCC compile error when UIP_CONF_ROUTER is 0. UIP_CONF_ROUTER can be configured in project-conf.h 2012-05-16 15:22:31 +01:00
George Oikonomou 2f89f41b5a cc2x3x RPL/non-RPL handling:
- Relevant examples explicitly request it in their Makefile
- Removed the definition of UIP_CONF_IPV6_RPL from
  contiki-conf.h. If needed, it's defined through a -D
2012-05-16 15:22:31 +01:00
George Oikonomou 259b497122 Minor Sensinode build cleanup 2012-05-16 15:22:31 +01:00
George Oikonomou 1f7171f943 Adjust cc2x3x ports to the new clock API 2012-05-16 15:22:31 +01:00
George Oikonomou fea95ae088 Easily configure B2 on the cc2531 USB stick as a General-Purpose or Reset button 2012-05-16 15:22:31 +01:00
George Oikonomou cc76c649b1 The cc2530 button driver would fail to compile if the user disabled button support 2012-05-16 15:22:31 +01:00
Antonio Lignan 6df9ffb731 Zolertia's light sensor ziglet 2012-05-11 13:39:59 +02:00
Fredrik Osterlind 4cf4a48592 minor bugfix: did not compile with PROCESS_CONF_NO_PROCESS_NAMES=1 2012-05-09 15:07:51 +02:00
Antonio Lignan 3dde89971c Add disable function to I2C driver 2012-05-09 10:54:21 +02:00
Niclas Finne 40595ad5c7 Support for serialdump on MacOS X. Patch by Laurent Deru. 2012-05-07 13:16:27 +02:00
Laurent Deru cc863e7bd4 Sky motelist support for MacOS X 2012-05-07 11:18:09 +02:00
George Oikonomou 6a808053ce cc2531 Button 2 driver 2012-04-26 16:28:04 +01:00
George Oikonomou 5662b1f37d Platform cc2530dk now uses models.h to configure differences between the SmartRF and the 2531 USB stick 2012-04-26 16:28:04 +01:00
George Oikonomou 38a222e83c Redefined LEDS_ALL for cc2531s 2012-04-26 16:25:04 +01:00
George Oikonomou c95fc4f360 cc2531 B1 support. B2 to come 2012-04-26 15:28:43 +01:00
George Oikonomou 26ae56fcaf cc2531 LED support 2012-04-26 15:28:43 +01:00
George Oikonomou 1db1649b6a The cc2530dk Makefile was adding a source twice
Also, removed an obsolete comment
2012-04-26 15:28:43 +01:00
George Oikonomou dd26accc07 We can now use SDCC's __nonbanked feature
This allows us to reduce CODE footprint of SDCC projects
built with --model-huge. Use carefully!

* Added a facility which allows us to enable/disable the
  feature from the CPU dir (CC_CONF_NON_BANKED_OPTIMIZATION)
* Added the CC_NON_BANKED keyword to some platform files
  (expands to __nonbanked)
* Started using this for some examples
2012-04-26 15:28:43 +01:00
Adam Dunkels b4e7468b12 Set CCA threshold before starting, to make ContikiMAC more efficient. Fix compilation problem with non-IPv6 compiles. Various style fixes. 2012-04-22 20:54:02 +02:00
George Oikonomou e95f94a9a8 Added support for reading MAC from the cc253x flash
We still use the primary location by default (Info Page) but
this is now configurable. This change is useful for users who
wish to specify their own MAC address. Since the Info Page is
read-only, they need to be able to use the secondary location
2012-04-20 16:03:38 +01:00
George Oikonomou 29090a3dda The cc253x Makefile specifies SoC flavor
This will help us slowly add better support for smaller SoCs
instead of just assuming that all cc253x SoCs are F256

- We build for F256 by default but the project Makefile can override this
- We currently ignore this when passing --code-size. This is a ToDo
- The bank allocator always assumes 7 banks. Once we fix --code-size above this will be irrelevant
2012-04-20 16:03:38 +01:00
George Oikonomou 4a78021c62 Simplified the cc2530dk STARTUP_CONF_VERBOSE spaghetti and made it project-configurable 2012-04-20 16:03:37 +01:00
Niclas Finne 1b13b69814 Added support for mspgcc 4.6+ that no longer supports generic MCU identifiers such as msp430x1611 2012-04-10 16:05:10 +02:00
David Kopf cac4e9a222 Add clock_delay_us and clock_set_seconds to clock.h. Modify clock_wait to use clock_time_t.
Remove the troublesome avr/dev/delay.* files.
Add PLATFORM_NAME and combine the confusing *_REVISION defines into a single PLATFORM_TYPE
2012-04-09 15:49:53 -04:00
George Oikonomou b3de052e01 Ported the stack-friendly clock ISR code over from cc243x to cc253x 2012-04-03 16:26:10 +01:00
George Oikonomou 11a7f644ac Comment rewording and formatting 2012-04-03 16:26:10 +01:00
George Oikonomou ce17fa131c Stack-friendly cc243x clock ISR enabled by default
This new approach (CLOCK_CONF_ACCURATE=0) was not as inaccurate
as originally thought. In fact, it has pretty much the same
accuracy as the old, stack-hungry version.

* Renamed the define from CLOCK_CONF_ACCURATE (1: old) to
  CLOCK_CONF_STACK_FRIENDLY (1: new) to stop implying
  that one is more accurate than the other.
* Using CLOCK_CONF_STACK_FRIENDLY by default.
2012-04-03 16:26:10 +01:00
simonduq 1fd7dcd2ef mb* pltforms: reduce RAM footprint 2012-04-03 14:29:46 +02:00
simonduq 935460c25e Fixed mbxxx's contiki-conf.h (bug reported by Konstantin Klubnichkin and Michal Krol) 2012-04-03 14:28:11 +02:00
simonduq 930c7c25bc fixes in mb851 and stm32w108: erroneous linking with mpu.o, conf file,
more printouts in main when ipv6 is used, and a target for memory
profiling taking stm's gnu.ld static stack size into account
2012-04-03 11:47:30 +02:00
George Oikonomou 5240519dd9 Renamed a config define to better match contiki's naming philosophy 2012-04-02 11:38:54 +01:00
George Oikonomou 2d0d54c380 Removed obsolete #if config from cc2530dk's main
Unlike cc2430, the cc2530 RF driver never generates interrupts.
This configuration in main() was a remnant of the porting from
the sensinode main, which does in fact need it.
Also updated comments in contiki-conf to reflect that shortcuts
don't influence the RF
2012-04-02 11:22:19 +01:00
George Oikonomou 977bc548f3 Renamed sensinode-debug to debug 2012-04-02 11:22:19 +01:00
George Oikonomou bce34e4b9a For cc2x30, moved CLOCK_CONF_SENCOND to the cpu dir.
The value is not really configurable by the platform so having it
in contiki-conf.h didn't make huge sense.
2012-04-02 11:22:19 +01:00
George Oikonomou e02c287f15 Solved a text encoding issue 2012-04-02 11:22:19 +01:00
George Oikonomou d958ee3125 Deleted the old Sensinode 'read mac from flash' routine.
Since the introduction of a purpose-written routine, the old
generic one (which was written in asm) was never being used.
There was a configuration directive which allowed us to switch
between the two. All references to this configuration directive
have also been removed.
2012-04-02 11:21:32 +01:00
George Oikonomou 4f1e251603 Some uN_t had crept back in cc2530dk and sensinode.
Changed to uintN_t plus a bit of code formatting
2012-03-29 13:10:10 +01:00
Joakim Eriksson 7482fd6962 quick fix for enabling native-border router to run under windows - need to cleanup the arguments 2012-03-27 11:09:54 +02:00
simonduq 946f00bf7b stm32w: added ability to upload and reset all connected boards, and login using MOTE=x 2012-03-26 23:00:44 +02:00
George Oikonomou ad256e5014 New platform: TI cc2530 Development Kit
This commits adds support for TI's SmartRF05 Eval. Board with cc2530 EMs
Some initial support for cc2531 USB dongles
2012-03-23 14:41:07 +00:00
George Oikonomou b7674c3636 Reincarnate the sensinode/cc2430 port 2012-03-23 14:41:07 +00:00