Added SPI support. Now working using the loopback feature (UCLISTEN bit).
Also fixed a relocation error problem due to packed structures and placement
of instantiations in text page via "const static ...". No change to text
or data page sizes at compilation. Since msp430_usci_xxx_t will never be on
the stack, removal of the packed attribute was the way to work around what
appears to be a compiler problem.
Move the clock components back into msp430/timer. It appears that supporting
the new basic clock module+ is so straightforward we don't need to separate it
out. Moving things back reduces change to the main tree, making it more likely
for the changes to be accepted.
Make Msp430ClockC a generic so that the target DCO clock and the ACLK can be
passed in as instantiation variables. This provides a more TinyOS savvy
mechanism to set desired clocks as opposed to the prior method which involved
overriding macros defined in Msp430DcoSpec.h. This and other enhancements to
the clock initialization has also slightly reduced executable sizes. Below
is the Blink application from TinyOS 2.1.0, compiled with the plain vanilla
2.1.0 and with the clock init modifications for all msp430 platforms in the
standard distribution:
Proper support for the new basic_clock+ peripheral. Default UART baud rate is
115200, 8 data bits, no parity, 1 stop bit. tmicore overrides the default MCLK
setting of 4MHz (binary) in favor of 8MHz (binary). The updated clock init
code ensures SMCLK is 1MHz (binary) when DCOCLK is 1MHz, 2MHz, 4MHz or 8MHz.
The msp430 now has two basic clock peripherals. Add tos/chips/msp430/clock and
move basic clock and clock configuration files from timer to clock directories.
Update .platform files accordingly.
Let's let the compiler type system work for us. Instead of having a single
msp430_usci_config_t that is a union of the types for each mode, instead we
now have separate types.
Replace the special-purpose Msp430UsciConfigure interface with the
parameterized AsyncConfigure interface. Too bad that this interface doesn't
exist in standard TOS.
Update the tmicore platform's clock initialization. If DCO constants are in
INFOA, it uses them. If not, is uses the standard mecthod of calibrating the
DCO off of ACLK. For tmicore, DCOCLK = MCLK = 8MHz. We add additional code to
set SMCLK = 1MHz. If the constants are used, the 1MHz = 10^6HZ. If the
internal cal routines are used, 1MHz = 2^20Hz.
Add getOut() and getOutRaw() methods. get() and getRaw() work off PORTxIN.
But there are times when PORTxIN and PORTx (PxOUT) may be different, such as
is the case when using pull-up or pull-down resistors via PORTxREN (PxREN)
available on newer msp430's.
New msp430 features: (1) support pull-up/pull-down resistors on newer parts
via an enhancement to Msp430HplGeneralIOC. (2) use newer mspgcc definitions
for a more generic ifdef'ed inclusion of interfaces in Msp430HplGeneralIOC.
Initial definition support in Msp430HplGeneralIOC for USCI peripherals.
smckown [Thu, 18 Dec 2008 00:59:45 +0000 (00:59 +0000)]
Update the debian build process to allow building 64-bit tinyos-tools on 64-bit hardware. Currently, build using pbuilder, with 32-bit on 32-bit hardware and 64-bit on 64-bit hardware. Need more testing to allow one machine to build both arches.
R. Steve McKown [Tue, 1 Dec 2009 02:34:03 +0000 (19:34 -0700)]
Debianize the tinyos package. This directory builds tinyos, tinyos-tools, tinyos-source, tinyos-avr and tinyos-msp430. tinyos-avr links to packages that aren't properly configured yet for this environment, but tinyos-msp430 does work correctly.
R. Steve McKown [Mon, 30 Nov 2009 21:48:12 +0000 (14:48 -0700)]
Update git tag release_tinyos_2_1_0_0 for consistency with CVS tag of same name.
Note that the CVS checkout at tag release_tinyos_2_1_0_0 was made without
any keyword expansion, since the git mirror of tinyos CVS also does no
expansion.