Skip to content
/ prod Public

TinyOS (less academic, more industrial orientation, rD, less filling)

License

Notifications You must be signed in to change notification settings

tinyprod/prod

Repository files navigation

WARNING:  Default branch has been switched to *** tp-master ***

============================================================================

See "Where to begin" (next section) for where to start.

============================================================================

TinyProd
   tp-freeforall/prod

TinyProd is a more production/industrial orientated TinyOS repository.  It
actively tracks the academic/development main TinyOS repository.   While 
maintaining proper production controls.  The highly controlled release 
repository is tinyprod/prod (github.com/tinyprod/prod).

tp-freeforall is the main integration flavor and is used to integrate new code.
It is still managed but pretty much almost any new code is allowed to come in.
The intent is to provide an integration platform for new code proposed for addition
to the TinyProd code base.


The current major feature of TP-freeforall is an integrated msp430 core.  This 
includes support for the 3 major TI msp430 families (x1, x2, and x5).  See 
tos/chips/msp430/00_Chip_Notes for more details.  When the first TP release occurs,
a better release note will be written.  This will occur immediately after the 
TinyOS 2.1.2 release occurs.


** Default (Main working) Branch:** (2012-12-03)   tp-master
   motenet_rel, msp430-int, etc.  all merged.

<current feature branch>
msp430-int:     msp430 integration (merged).

If in doubt, branch off tp-master.

Status: 2012-12-03

tinyprod-base: integrated with the tip of tinyos-main trunk (0e4829, r6209)
msp430-int:    integrated with updated tinyprod-base.

Merge with Z1 (x2) tinyos-main code complete.


2012-12-03: msp430-int merged into tp-master
    motenet_rel merged into tp-master

2011-12-16: msp430-int-next promoted to msp430-int
    integration with Z1 x2 tinyos-main (svn) complete.

    bring gnode (sownet) into msp430-int.

2011-09-21
msp430-int-pu merged into msp430-int, includes base x5  (prior to tinyprod-base)
tinyprod-base: new branch replaces vhsb (nuke old z1 code)
  tinyprod-base now based on the tinyos-main trunk (2011-09-21) mainline.
msp430-int-next, vhsb nuked, based on tinyprod-base
msp430-int-pu-next, new int-pu based on tinyprod-base.

msp430-int <- msp430-int-pu
msp430-int-pu temporarily reserved (to give folks time to adapt).

upstream-next: new upstream, present during an update cycle.
tinyprod-base: based off upstream-next.
msp430-int-next: off tinyprod-base
msp430-int-pu-next: off msp430-int-next  (at this point should be pristine).
msp430-int-svn: continues along.   (commits that should come into the
				    tinyos-main mainline)

============================================================================

** Where to begin: **

00a_Repo_Notes: (this file).  For a general overview of what this Repo is
  about.  Note this repository uses GIT as its DVCS.
 
00b_Development_Environment: Setting up a development environment.

00c_Getting_Started_Git: Overview of getting started using git, github, and
  this repo.

00d_Contribution_Process: Contributing back to the central Repository.


============================================================================

Welcome to TinyProd

* About TinyProd:

TinyProd is a GIT based TinyOS repository that is immediately downstream from
the main SVN based TinyOS repository that is maintained by the academic TinyOS
community.

TinyProd is intended to be a developer/production orientated repository.
Some of the features include:

  o organize git based TinyOS development.
  o More vibrant, higher rate of change for the community.
  o Encourage collaboration
  o Optimize developer resources.  (Streamline the development process).
    Developer centric rather than academic centric.
  o Peer driven code review, norm rather than the exception.
  o real issue and bug tracking
  o tracking changes to TinyProd managed pieces of the source tree
    and linking to appropriate tracking documents.
  o stable mainline.
  o Continuous release cycle.

The intent is to keep the structure as simple as possible while allowing
for reasonable levels of contribution.   We want a forum where developers
can make their code easily accessible, mechanisms for real code review and
feedback, and a reasonable level of stability in the releases.

The assumption is that developer resources are scarce and should be optimized
while still maintaining good development practices.

If a developer takes the time to put a reasonable piece of code together, gets
it reviewed, then they should have a place where it can live and contribute
to the mainline.   The critical resource for getting development done is the
developers time and effort.   We should be making their life easier and
providing a mechanism for their code to become part of the whole.

If you have something to contribute we will find a reasonable way to get it
published and easy to find as part of the TinyOS community.


* Msp430 Toolchain:

The initial major feature of the TinyProd repository is the creation of a more
complete TI Msp430 core.   This requires use of an updated TI msp430 toolchain.
The new toolchain is being worked on by Peter Bigot and is in active development
and needs to be verified.   While this repository supports old TI processors (x1
family) its primary focus is on the newer processors which requires the newer
toolchain.   The intent is that all processors (original, x1 as well as the newer
x2 and x5 families) should be tested with the newer toolchain.

The current msp430 toolchain, 4.6.3 should be used.  This tool chain is available
for Ubuntu Oneric (11.10) and Debian (6.5) or later.  Debian packages are available
from http://tinyprod.net/repos/debian.  Follow the instructions in the README.


* Repo Structure

github.com/tinyprod/prod: main TinyProd repo.
  The VeryBlessed repo.  Holds the stable mainline (svn/current).   Releases
  come off this repo and the master branch.  Current tinyprod branch is
  tp-master.

github.com/tp-freeforall/prod: working fork.
  Blessed repo.  Holds consolidated integration branches and
  proposed updates.

github.com/<github_user>/prod: user's tinyprod working fork.
  branched off tp-freeforall/prod.   working branches
  should be branched off the tp-freeforall/prod(branch)
  that the user is working on.  (ie. msp430-int or msp430-int-pu, topic branches)

The general form for a repository/branch is: <github_context>/<repo>(branch)
ie. gh:tp-freeforall/prod(msp430-int-pu) is the msp430-int-pu branch in the
tp-freeforall/prod repository.

Local repositories are referenced using local(branch).   local(remote/branch).


Also see 00_Getting_Started and 00a_Contribution_Process for more details on
getting started and using git to contribute.



main persistent branches:

svn/upstream: svn tinyos tracking branch.
svn/upstream-next: the upstream of the repo is being moved.   This is the new
proposed upstream position.

tp-master: the main tinyprod release line.
tp-next:   integration branch for next release on master.
tp-pu:     integration branch for proposed updates.

<feature>-int: integration branch for feature
<feature>-int-pu: proposed update.
<feature>-int-next: accepted updates.

(some of these branches may be skipped depending on need).




Other current branches:

msp430-int: msp430 integration (msp430 core, x1, x2, x5) feature branch

msp430-int-next: code accepted from int-pu and in process of merging into
    msp430-int.

msp430-int-pu: proposed updates to msp430-int.

swreset: potential msp430 swreset implementation.

motenet-rel: replacement for the serialforwarder.   Adds AF_AM sockets and
  a socket interface to the serial stack.

tinyprod-base: base changes forming the base of the tinyprod repo.  Minimal
changes from the tinyos trunk.  (originally vhsb removed the msp430X commit
but this has now been reconciled).

(note: tinyprod's master branch will eventually consist of a merge between
msp430-int, svn-vhsb, swreset, and motenet-rel).



user branches are working branches in user working forks.  ie.

    local(msp430-int-pu)	refers to the msp430-int-pu branch in a
				user's local working repository.

    gh:roberthunter/prod(rh)	refers to the branch rh (a developer branch)
				in the developer repository at github.



svn t2 mainline ---|
		   | hourly
		   |
		   v         (git)
------------------ hinrg t2 -----------------------
       	     | 	       	     | 	       	   |
	     |		     |		   |
     prod   svn/upstream ---------------------------------
             |			|
             |			|
              - tinyprod-base -------\
       	       			      \
		swreset	    ------------------ master
		       		      /
		motenet-rel ---------/



                tinyprod-base -------------------
                      |		|	     |
	  	       --------------------------msp430-int ----------------
				|		    |           |
				---- msp430-int-pu ------------------


* Branches:

svn/upstream: is the main branch coming from the svn t2 mainline.  Updated
	manually. It denotes a merge point taken for tinyprod.
svn/upstream-next: proposed next version of an upstream snapshot.  Indicates a
	merge cycle in underway.

svn/current: tracks the main svn t2 mainline but is updated more often then
	svn/upstream.

tinyprod-base: Minimal base changes for the tinyprod repository.  Current
	t2 trunk includes the revised Z1 commits which kills the need for
	the vhsb (remove extraneous Z1 msp430X commits).   Tinyprod-base
	is the replacement.

msp430-int: main integration branch for the msp430 core.   It represents the
	current released version of the branch.

	includes all three major families (x1, x2, and x5).  Major cpu dependancies
	held in tos/chips/msp430/{x1xxx,x2xxx,x5xxx}

msp430-int-pu: new proposed changes to msp430-int are first integrated here.
	When verified these get merged into msp430-int.