Skip to content

Commit

Permalink
updated readme and stupid csma spacing.
Browse files Browse the repository at this point in the history
  • Loading branch information
anroOfCode committed Jan 15, 2013
1 parent c2a0d46 commit b731541
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 9 deletions.
16 changes: 8 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi-

Please note that we're cross-compiling from an x86 machine.

More info can be found [on our lab wiki.](http://energy.eecs.umich.edu/wiki/doku.php?id=proj:rpibr:start)


Installing
----------

Expand Down Expand Up @@ -273,15 +276,12 @@ result 12

Current Status
---------------
The driver currently sends and receives packets! We get close to the maximum
theoretical transmission rate supported by the CC2520, which is just fantastic.

We also support software acknowledgments.
The driver is starting to shape up to be feature-complete. Looking for obscure
timing bugs at the moment, but we support LPL, CSMA/CA, unique filtering, and
Soft-ACK features. It's basically a fully-featured radio implementing something
that's really close to the default TinyOS radio stack.

Work is currently focused on implementing LPL.
The goal is to push as much as possible into userland
but some things need to be implemented in the kernel to enable strict
timing guarantees.
It runs more-or-less a generic, standard MAC layer. Nothing fancy.

Some notes
----------
Expand Down
2 changes: 1 addition & 1 deletion csma.c
Original file line number Diff line number Diff line change
Expand Up @@ -212,7 +212,7 @@ static void cc2520_csma_rx_done(u8 *buf, u8 len)

void cc2520_csma_set_enabled(bool enabled)
{
csma_enabled = enabled;
csma_enabled = enabled;
}

void cc2520_csma_set_min_backoff(int backoff)
Expand Down
22 changes: 22 additions & 0 deletions notes/log.txt
Original file line number Diff line number Diff line change
Expand Up @@ -366,6 +366,28 @@ fields however), or one more than the len value in the case of
a TX (the last two bytes are missing, the len value includes
the length field, while the length field itself does not. -1 + 2 = 1).

Awful Terrible CSMA Bug:
-------------------------
Hypothesis: LPL TX calling top->tx_done is breaking things.

What we know:

What is the big difference between enabling CSMA?
- tx is randomly delayed.
- tx is called from a hrtimer interrupt
- tx_done is sometimes called from a hrtimer interrupt

Other things to note:
- csma_tx should NEVER be called while a tx is in progress. interface semaphore should be blocking.

BUG FIXED! =)










0 comments on commit b731541

Please sign in to comment.