adamdunkels
8f283b3989
Bugfix
2011-01-19 07:30:31 +00:00
adamdunkels
6f076dbe1a
A set of compiler options that reduce the size of the final code size and RAM usage with ~10%. Courtesy of Simon Duquennoy.
2011-01-19 07:24:37 +00:00
adamdunkels
bb2e3b25bd
Larger default DMA tx buffer size, to allow SLIP operation. Warn if DMA is enabled, since MSPsim does not yet support it.
2011-01-18 16:07:16 +00:00
adamdunkels
f002563e60
Tx on interrupts occasionally misses characters on output. Therefore we turn it off by default.
2011-01-09 20:44:14 +00:00
joxe
5b7b3da99c
minor fixes of DMA uart code
2011-01-05 13:36:38 +00:00
joxe
565fda47aa
added initial uart1 DMA rx support and required LPM requirements api
2011-01-05 12:02:01 +00:00
adamdunkels
f370b217a5
Turned up the rtimer resolution to 32678 Hz.
2010-12-16 22:50:21 +00:00
adamdunkels
1d090ea0f5
Made configuration of CC2420 SFD timestamps easier
2010-12-16 22:49:33 +00:00
adamdunkels
c0fedd7661
Store timestamps in the cc2420 module instead of the cc2420-arch-sfd module
2010-12-16 22:49:12 +00:00
nifi
7110afdad5
added missing include
2010-11-27 15:27:20 +00:00
adamdunkels
149f4e8d21
Enable the watchdog for rtimers too. Removed the disabling of the TACTL - it should not be needed, and interferes with the timing behaviour of stable rtimers
2010-11-25 09:22:56 +00:00
adamdunkels
4fac3037e0
Fixed a bug found by Moritz Straube - writing to the internal flash would lock up contikimac. The problem was due to the IFG1 being reset to zero before writing to flash.
2010-11-15 21:52:54 +00:00
nifi
5de83c9085
Only include code for stack printouts when needed
2010-11-12 15:54:41 +00:00
adamdunkels
34f6a60a4a
By default, don't print stack on reboot, since there are cases where this may hang the CPU (when the CPU is in LPM when the watchdog triggers). Must fix the code to set the UART and CU into correct modes before enabling stack printout on reboot.
2010-10-24 21:10:25 +00:00
adamdunkels
5585d72c86
A simple but substantial change: uIP used the htons()/HTONS() macro
...
functions for converting between host and network byte order. These
names are the de facto standard names for this functionality because
of the original BSD TCP/IP implementation. But they cause problems for
uIP/Contiki: some platforms define these names themselves (Mac OS,
most notably), causing compilation problems for Contiki on those
platforms.
This commit changes all htons to uip_htons instead. Same goes for
htonl, ntohs, and ntohl. All-caps versions as well.
2010-10-19 18:29:03 +00:00
adamdunkels
7c14899eeb
Made stack printout on reboot configurable.
...
Added the ability to turn on watchdog multiple times - the watchdog
registers are touched only when the watchdog goes from off to on state
to avoid retriggering the watchdog when it shouldn't.
2010-09-22 22:12:37 +00:00
nifi
f5ea831445
Added function rtimer_arch_now that makes sure that the timer value does not change between readouts to avoid reading while the timer is being updated.
2010-09-13 20:51:09 +00:00
joxe
c0549cad3d
added some files for MSP430X I/O
2010-08-24 16:23:20 +00:00
joxe
705f8cc451
fixed naming of SPI and CC2420 related code
2010-06-23 10:19:15 +00:00
nifi
20c8b4f9c6
removed obsolete comments
2010-06-15 13:30:42 +00:00
nifi
808116ff56
Made SFD timestamps configurable via external definition
2010-05-10 11:32:44 +00:00
nifi
9638789d9d
Added rule to use MSPSim to show the maptable from the last compilation on MSP430 targets
2010-04-20 15:38:09 +00:00
adamdunkels
5eb22ad289
Print out stack pointer when rebooting node
2010-04-04 12:30:10 +00:00
adamdunkels
0ed236e774
Bugfix: the clock interrupt now flushes the energy estimator to avoid overflow of the LPM mode
2010-04-04 12:29:50 +00:00
adamdunkels
52ad0008dc
Bugfix
2010-03-31 11:55:04 +00:00
adamdunkels
4447782ab4
Print out a stack trace when a node reboots because of the watchdog
2010-03-30 23:02:23 +00:00
adamdunkels
ac172a5575
Turn off LPM mode for clock interrupts to avoid rtimer wrapping during extended LPM
2010-03-29 21:53:32 +00:00
nifi
ebfa6c5ef1
only include memcpy/set workaround when needed
2010-03-21 10:40:15 +00:00
joxe
e99c906caf
activated the new workaround...
2010-03-19 14:50:07 +00:00
joxe
7e6919cc8c
fixed workaround for memcpy/set to be memory efficient but slower
2010-03-19 14:39:45 +00:00
adamdunkels
04cdae05c3
Increased the rtimer granularity: needed to make contikimac work
2010-03-19 13:25:52 +00:00
fros4943
db777ce3d0
reverted previous patch: appears to create problems on hardware
2010-03-05 12:06:03 +00:00
nvt-se
7543d53603
Ensure that the UART port is available before writing
2010-03-03 23:18:58 +00:00
adamdunkels
465125c5e7
Added support for 32-bit clock ticks: when reading the 32-bit value, make sure that it does not change between readouts to avoid reading right in the middle of it being updated
2010-02-23 18:41:20 +00:00
adamdunkels
953a8c2015
Turn off timer before updating - needed to avoid bugs in ContikiMAC - not 100% sure why
2010-02-18 22:15:54 +00:00
adamdunkels
4ff6b5460a
Removed safeguards around the update code for the timer; turns out they weren't needed (but instead triggered a bug in MSPsim)
2010-01-30 14:03:35 +00:00
adamdunkels
dbacf3e781
Values altered in interrupt handlers should be volatile
2010-01-26 10:20:16 +00:00
adamdunkels
5a03e4e6ad
Bugfix: changed #ifdef to #if, otherwise the SFD code would be enabled anyway
2010-01-19 20:35:41 +00:00
adamdunkels
9d751da8e5
Disable SFD interrupt by default
2010-01-19 13:11:23 +00:00
adamdunkels
acea0afb35
Enable a flag when packet SFD seen
2010-01-19 13:11:01 +00:00
adamdunkels
2772d31ae6
Turn off Timer A before modifying its control registers to avoid problems when timer is updated frequently
2010-01-18 21:17:11 +00:00
nifi
a364213180
IRQ_PORTx is no longer used. Instead returning port number.
2010-01-14 20:05:58 +00:00
nifi
a937f8626c
removed files no longer used with new sensor APIs
2010-01-14 18:10:31 +00:00
adamdunkels
9ac4109bad
Increased the clock speed to 32768/4 from 32768/8 to provide better accuracy for power profiling of radio CCA checks
2009-12-09 12:55:35 +00:00
adamdunkels
f9260c4fae
Enable interrupts during the periodic clock processing to allow rtimers to execute on top of the clock
2009-12-08 23:40:14 +00:00
adamdunkels
a4df6e0fbf
Remove the read from TAIV - this should not be done for TIMERA0 interrupts (in fact, doing so messes up the other timer a interrupts, like the clock tick...)
2009-12-08 23:39:45 +00:00
adamdunkels
873f4d0222
Need to clear the interrupt flag register for Timer A
2009-12-07 14:32:16 +00:00
adamdunkels
e3fed27f4a
Broke out the CC2420 SFD interrupt into a separate file to allow easier overloading with project-specific files
2009-12-05 19:42:56 +00:00
nifi
efdbbf9fe3
minor cleanup: random.c is already included in Makefile.include
2009-11-19 17:33:05 +00:00
nifi
4f2318152e
Added support for CPU speed 2.4576MHz and configuration to enable/disable interrupt driven TX
2009-11-18 15:45:32 +00:00
nifi
2640f9bf26
Must check error flag before reading. Removed leds debug.
2009-11-18 13:24:12 +00:00
adamdunkels
790f2f632a
Moved putchar into separate file to make it easier to override its implementation
2009-10-30 15:06:26 +00:00
fros4943
53d03aa924
uart correction values for 3.9Mhz (default sky freq.)
2009-10-27 16:25:28 +00:00
fros4943
b0291ca5a8
bug fix: wake up MSP430 when leaving rtimer interrupt if the rtimer polled a process.
...
thanks to Marco Vedovati for finding the bug
2009-10-06 09:21:46 +00:00
nifi
c6f7ef84fe
Initialize the transmit ringbuffer before enabling TX interrupt
2009-09-08 10:39:49 +00:00
adamdunkels
18486d4e3d
Patch by Gideon Ernst: use explicit $(CONTIKI) path instead of implicit ../../ path to the mknmlist script
2009-09-03 17:41:58 +00:00
nvt-se
172ffb74c7
fix compiler warnings. patch from Jesper Karlsson.
2009-04-08 14:56:00 +00:00
nifi
c1d490b6a7
added workaround for memcpy/memset bug in mspgcc
2009-04-06 13:07:37 +00:00
joxe
4f41b30b2b
fixed variable names
2009-04-02 22:39:29 +00:00
joxe
7d2a08b29c
added initial set-up code SFD capture interrupts usable for exact packet timestamping
2009-04-02 22:23:06 +00:00
adamdunkels
0076bfe8a5
Changed the name of the 'serial' module to 'serial-line' to signify that the module is about lines of data from the serial port, not individual bytes, and to make sdcc happy
2009-03-17 15:56:32 +00:00
adamdunkels
62ef4002a5
Always prod the watchdog on output to avoid spurious resets during long serial outputs
2009-03-02 22:01:26 +00:00
adamdunkels
6ab7ac0598
Added optional interrupt-based transmission, based on the ringbuf library
2009-03-01 20:40:30 +00:00
adamdunkels
e34e97cd6f
Minor code style fixes
2009-02-24 21:30:20 +00:00
nvt-se
bff9841fbf
Removed obsolete definitions.
2009-02-20 23:16:08 +00:00
joxe
80848e4106
added DCO-resync function and default config
2009-02-04 18:28:44 +00:00
joxe
5a8dc2df28
added handling function for checkin if uart is transmitting or receiving - patch by Klaus Stengel
2009-01-31 12:46:57 +00:00
nifi
9bf0dff605
Compile using . instead of separate make rules for .firmware
2008-12-16 13:54:25 +00:00
joxe
23b7db88d5
moved rtimer from TimerB to TimerA so that TimerB subsystem is free for other uses
2008-12-02 12:44:48 +00:00
nifi
2013c4fece
Simulator for MSP430-based platforms
2008-11-24 11:09:36 +00:00
fros4943
1fbcfde0d6
implemented support for data argument when starting threads:
...
given function is called from a wrapper instead of immediately returned to via the stack
2008-11-21 10:28:32 +00:00
nifi
49f57b7848
changed to use unsigned long for seconds counter
2008-10-10 12:36:58 +00:00
joxe
8748230ead
changed usart code to handle LPM3
2008-09-18 17:59:27 +00:00
fros4943
b90075ea0a
bug fix, msp430 hw bug (undocumented):
...
when in continuous/compare mode the interrupt handler may get called before CCR==TR.
behavior observed when the timer is toggled between STOP/CONT in an external interrupt handler (serial input).
possibly this problem may also affect watchdog timer/timer B
2008-09-16 12:00:48 +00:00
fros4943
3ec170cdf5
added empty mtarch_stop()
2008-08-27 13:10:29 +00:00
adamdunkels
fc6d059d24
Added a clock_seconds() function prototype to core/sys/clock.h, that returns seconds in 32 bit format. On platforms like the MSP430, which has a 16 bit native datatype, this cannot be implemented with an interrupt tick that increments a 32 bit value because access is not atomic. Instead, the MSP430 code increments 16 bit seconds value and converts this into a 32 bit value through an offset calculation. If the new value is smaller than the last check, the offset is incremented by 65536. This change also means that CLOCK_CONF_SECOND must be a power of two because a modulo operation is used inside the periodic tick interrupt handler.
2008-07-07 23:38:09 +00:00
adamdunkels
62b7ef5173
Moved energest from lib/ to sys/
2008-07-04 00:02:21 +00:00
adamdunkels
64b6663b11
moved energest from lib/ to sys/
2008-07-03 23:59:20 +00:00
adamdunkels
7c459c849d
The .ihex file use the intermediate Contiki-wide .$(TARGET) target instead of the MSP430-specific .firmware
2008-07-02 14:11:34 +00:00
adamdunkels
66876625d4
Changed name of the simple-cc2420 module to cc2420: changed all function names and variable names from simple_cc2420_* to cc2420_*.
2008-07-02 09:05:40 +00:00
adamdunkels
1586d8f36f
Changed filename of the CC2420 driver from simple-cc2420 to cc2420.
2008-07-01 21:02:51 +00:00
adamdunkels
2569a8fc69
Removed unused file
2008-07-01 20:59:44 +00:00
joxe
57dedee38f
enabled ADC IRQs if ADC sensors active
2008-04-25 15:53:55 +00:00
adamdunkels
da49b950d4
Count the number of times the watchdog has been stopped to avoid starting it when someone else has stopped it
2008-02-11 10:45:19 +00:00
adamdunkels
660b7f9a78
Initialize watchdog instead of stopping and starting it
2008-02-11 10:44:49 +00:00
adamdunkels
cf5ff2bbb2
Made SLIP code coexist with ordinary serial code. If WITH_UIP=1, the SLIP code is used instead.
2008-02-03 20:59:35 +00:00
adamdunkels
e68d669265
Added improvements suggested by Hardy Greich: define CPU speed in one place only (contiki-conf.h), added nop to XTAL settlement delay
2008-02-03 20:58:11 +00:00
adamdunkels
a4d5ca833c
Update the periodic watchdog only if it is not stopped
2008-01-21 10:39:23 +00:00
adamdunkels
e16b7ffcf0
Changed the return value of the inpt handler function to int so that it can wake up the CPU from LPM
2008-01-08 08:04:09 +00:00
adamdunkels
7f05b8a5ef
Added a reboot function
2008-01-08 08:03:02 +00:00
adamdunkels
b50d2b02ee
Reformatting to comply with code style
2008-01-08 08:01:41 +00:00
adamdunkels
345d0a8a79
Added a WERROR definition that can be used to turn -Werror on
2008-01-08 08:01:01 +00:00
adamdunkels
6e0e6e1279
Removed -Werror since LPM*_EXIT; and friends trigger an internal mspgcc compiler error
2007-11-26 23:23:20 +00:00
joxe
a4985fd1f7
removed offset in rtimer_arch
2007-11-19 22:38:57 +00:00
adamdunkels
2132462716
Updated to use the watchdog API
2007-11-17 10:28:04 +00:00
adamdunkels
19b7bd9217
Fixed watchdog support for the MSP430. It now works as intended
2007-11-17 10:16:48 +00:00
adamdunkels
22cb35e9f6
Added -Werror to turn compiler warnings into errors to ensure that code always compile without warnings
2007-11-17 10:11:58 +00:00
adamdunkels
f192211444
Added a hack function called clock_counter() to make the current prototype profiling code run on the MSP430 platform
2007-11-12 21:07:39 +00:00
adamdunkels
585f00a804
Removed old codeprop-tmp.c
2007-11-06 20:35:42 +00:00
joxe
7fe87db86a
fixed some timer interrupt bugs and reimplemented clock_fine to avoid disabling interrupts
2007-10-04 20:45:29 +00:00