R. Steve McKown [Fri, 24 Sep 2010 22:32:11 +0000 (16:32 -0600)]
Race condition clearing bit vectors that are already clear in Init.init.
There's no point to clear the bit vectors in SharedArbiterP.Init.init,
because the compiler guarantees they are already clear, see BitVectorC.nc.
However, manually clearing them can create a situation where someone requesting
a shared resource has their requesting bit erased, depending upon the order of
calls to Init.init providers during boot.
R. Steve McKown [Fri, 7 May 2010 21:47:25 +0000 (15:47 -0600)]
debian/rules must use tinyos.files script as-is from upstream.
Before the TMI enhancements were splitting tinyos.files into tinyos.files and
tinyos.filter, the latter containing the patterns to include and exclude. Now
the TMI enhancements don't mess with these files, so we must use them as is.
This isn't very efficient, but it only happens at build time.
R. Steve McKown [Fri, 7 May 2010 20:42:29 +0000 (14:42 -0600)]
Merge TinyOS 2.1.1 into master.
How this merge was done:
* Rebase patchset/2.1.0-4.2 onto tinyos/2.1.1 as topic/patchup211
* cp topic/patchup211 tree to tmp dir
* Checkout master, rm all files, cp in from tmp dir, git add .
Future work on TinyOS 2.1.0 w/TMI enhancements via release/2.1.0.
R. Steve McKown [Fri, 23 Apr 2010 22:39:53 +0000 (16:39 -0600)]
Don't hard-code for ncc in mig and ncg scripts.
The rationalization for this change is that nesc shouldn't really know where
tinyos-tools is installed, since they are separate packages. The pragmatic
reason for this change is that it allows using ncc from tinyos-tools before
installation to allow a single debian tinyos source package to build both
tinyos-tools and tinyos-source-VERSION packages.
R. Steve McKown [Fri, 23 Apr 2010 16:25:39 +0000 (10:25 -0600)]
Improved tinyos.sh
* Automatically installs tinyos.sh into user shell rc files when sourced.
* Adds an uninstall option if a user no longer wants to do TinyOS dev.
* Smarter handling of CLASSPATH.
* tinyos.jar is added to CLASSPATH instead of support/sdk/java. The latter is
a TOS 1.x idiom.
* Better error and help messages.
R. Steve McKown [Fri, 13 Nov 2009 23:47:49 +0000 (16:47 -0700)]
Upstream commits to tos/chips/cc2420, Aug 7 2008 thru Jul 16 2009, except one.
commit df004818be0944a5459b2d23dd4b49c55b716448
kusy <kusy> Thu Aug 7 00:06:53 2008 +0000
Previously reported timestamping bug was only fixed partially: *timesync...
NOT COMMITTED f8120ec47efebf578a6edf99882d009ea6dedcd1
kusy <kusy> Wed Aug 13 07:37:05 2008 +0000
Fixing T32khz to TMilli conversion - coeficient 32 needs to be...
commit 42b450d2e6d5eda17245d38f4d2bceb6b60e5400
rincon <rincon> Mon Aug 18 22:04:15 2008 +0000
Added a length check to make sure we don't try to send a packet that is...
commit 72c8a4f1a2b4f331aeedc6bfd5262253ce8d6d04
janhauer <janhauer> Wed Nov 26 10:13:31 2008 +0000
Added an interface for accessing the RXFIFO in a non-split phase...
R. Steve McKown [Mon, 19 Apr 2010 22:13:15 +0000 (16:13 -0600)]
Fix startup in SoftwareInit.init overwriting changes to StateC's.
If a component wires its Init.init() via SoftwareInit and ncc calls
StateImplP.Init.init() after the component's Init.init(), any change to its
StateC, such as call State.forceState(), is undone. The easy fix is to remove
the extra initiation of state[] in StateImplP.Init.init(), since state[] is a
static and is guaranteed to have members with value zero (S_IDLE).
R. Steve McKown [Thu, 8 Apr 2010 01:16:46 +0000 (19:16 -0600)]
USCI fixes.
* Watch out for sendData() clobbering TXBUF.
* May solve a loss of UART TX chars.
* USCI UartStream.send() gains nothing by immediately sending the 1st byte.
* m_sobuf cannot be null in Interrupts.tx, so remove the check.
R. Steve McKown [Thu, 8 Apr 2010 00:02:56 +0000 (18:02 -0600)]
Improve interrupt handling for USCI.
Because some interrupts share an interrupt vector, we use the relevant interrupt
enable bit to decide if any user is interested in the interrupt. If not, that
interrupt is skipped so that another interrupt in the if/then/elseif chain can
be taken. We also defensively try to prevent I2C interrupts from being a
problem if not used, although no I2C code using these interrupts has yet been
written.
R. Steve McKown [Thu, 8 Apr 2010 19:50:41 +0000 (13:50 -0600)]
Teach tos-storage-stm25p to derive NUM_SECTORS and SECTOR_SIZE.
The stm25p driver is suitable for different sizes of flash parts, such as the
commonly used 8Mb M25P80 and the less commonly used 1Mb M25P10A. The driver
defines the flash configuration in Stm25p.h. By having tos-storage-stm25p walk
the @includes for the platform, as found in the .platform file, each platform
can ensure that a Stm25p.h with correct content for its flash part is found
for use by the driver and this script.