Commit graph

222 commits

Author SHA1 Message Date
fros4943 26bb5ecd21 added radio and MAC generic return values to allow applications finding out whether the packet was transmitted 2009-11-13 08:59:22 +00:00
fros4943 5f71e9914e configurable line buffer size + simplified interrupt handler + overflow check on line buffer 2009-11-02 12:47:06 +00:00
fros4943 6f4a537aa0 serial line ringbuf implementation + increased default buffer size to 128 bytes 2009-10-27 16:20:31 +00:00
adamdunkels 8745235a79 Minor codestyle fix 2009-09-09 21:07:42 +00:00
nifi d4b619bcc5 Renamed SPI_WAITFOREOTxBUF to SPI_WAITFORTxREADY for clarity and generalized SPI transmission status checks to work with both AVR and MSP430 2009-09-07 11:31:26 +00:00
nifi 3a8ee769cb Changed to monitor the UART transmitter buffer ready flag instead of the UART transmitter empty flag. This almost doubles the speed of transmitting data to CC2420. Patch by James Brown. 2009-08-31 12:06:34 +00:00
nifi c81dbb6c89 Fixed problem with the radio driver changing transmission power to max when not specified at transmission. Also fixed bug where the lock was released when setting the transmission power.
Thanks to Djamel Djenouri and Marcus Lundén for identifying the problem.
2009-08-19 15:05:05 +00:00
fros4943 18a98bb573 bug fix: we need to explicitly turn off the cc2420 listen mode after a packet transmission 2009-08-19 12:00:04 +00:00
joxe 0c8b200987 added autoack configuration for CC2420 and reversed long ieee address for address recognition 2009-07-28 22:24:53 +00:00
joxe a71664e8d1 quick fix for driver to work with 4MHz 2009-06-23 13:12:37 +00:00
adamdunkels 92862ad2a5 Increased the number of iterations for ugly-hack-loop that checks if a transmission has started, to accommodate a faster CPU speed on the MSP430 2009-04-29 11:38:50 +00:00
nifi a3777852d4 * Corrected address for setting key 1
* Added missing include
2009-04-07 09:22:58 +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 65eb5fd4e8 Renamed the rimebuf module to packetbuf to signal that the module is used outside of a pure Rime context (e.g., the sicslowpan code uses it). 2009-03-12 21:58:20 +00:00
adamdunkels f634ccfb3d Set transmission power based on packet attribute 2009-03-11 20:38:53 +00:00
adamdunkels 57b9cab27e Set RSSI, correlation, and timestamp as packet attributes for incoming packets 2009-03-02 21:59:01 +00:00
nifi dee785ae88 added configuration of checksum and timesynch 2009-02-25 21:21:06 +00:00
adamdunkels e34e97cd6f Minor code style fixes 2009-02-24 21:30:20 +00:00
zhitao ae271a7f2f replaced the TMOTE_SKY macros with CONTIKI_TARGET_SKY, in conformance to the latest target hint rules 2008-11-25 09:20:54 +00:00
adamdunkels ceb2554d2f Enabled the SHT11 register readout to allow reading the low-voltage indicator bit 2008-11-10 21:10:36 +00:00
adamdunkels a42311dc7e Only process incoming data if the process is polled. Compile checksum checks only for IPv4. 2008-11-06 08:18:29 +00:00
joxe 673d73bfa3 added energest on all parts of leds API and some cleanup 2008-09-29 11:35:28 +00:00
adamdunkels 6a460fecdd There is problem with the CC2420 driver: under high traffic load the packets often get mangled in the receive FIFO. Not sure why this happens or how to best prevent it. As a temporary workaround, I've added an additional CRC16 check to the incoming packets. This eats two bytes from each packet, but at least protects against the erroneous packets we've seen quite a few of lately. The reception code was also cleaned up, which resulted in a smaller code size. 2008-08-26 21:44:03 +00:00
adamdunkels f58b387bd3 Code style fixes 2008-07-08 08:23:47 +00:00
adamdunkels 1f005b6299 Moved energest.{c,h} from core/lib to core/sys: power profiling is a system mechanism, not a library 2008-07-03 23:36:30 +00:00
adamdunkels 51f4ab8b2c Changed type from off_t (that potentially conflicts with existing types.h typedefs) to unsigned long 2008-07-03 23:12:10 +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 6b187328bd Added AES cipher constants 2008-07-02 09:03:49 +00:00
nifi 1cef019e78 Fixed typo. 2008-07-02 09:02:39 +00:00
adamdunkels 1da58b8858 Functions for interfacing the built-in AES functions of the CC2420 chip 2008-07-02 08:46:13 +00:00
adamdunkels 1586d8f36f Changed filename of the CC2420 driver from simple-cc2420 to cc2420. 2008-07-01 21:02:51 +00:00
adamdunkels c802151453 Removed unused files 2008-07-01 20:13:24 +00:00
adamdunkels 6709823d4a Bugfix: energy estimation was not correct if a packet was sent when the radio was not in listen mode 2008-05-14 19:44:30 +00:00
adamdunkels 39abed8672 Moved old CC2420 driver to the backyard 2008-02-24 22:29:08 +00:00
adamdunkels af48b648ee Added a function that gets called when we see SLIP input. This function can be used to determine if a node is a SLIP gateway or not. 2008-02-24 21:00:53 +00:00
adamdunkels b001c14bf2 Code style fix 2008-02-03 20:43:35 +00:00
adamdunkels dc70ac2584 Added calibration to channel switch if currently in receive mode. Added explicit checks for transmission activity before channel switch 2008-01-24 13:09:16 +00:00
adamdunkels 2c5964ef55 Changed default transmission behaviour to be to send without checking for channel activity first (in anticipation of radio API change that adds a CCA function to the radio API). General code cleanup. Added optional timetable profiling. Added simple_cc2420_get_channel() function, changed simple_cc2420_set_chan_pan to simple_cc2420_set_pan since we now have a dedicated simple_cc2420_set_channel 2008-01-23 14:57:19 +00:00
fros4943 0c21c8893a bugfix: wait while *either* transmitting or unvalid rssi 2008-01-17 15:38:45 +00:00
nvt-se 8a38ffea87 added declaration for simple_cc2420_get_txpower. 2008-01-15 08:53:52 +00:00
nvt-se 057cd5ac05 no ENERGEST_ON_* macro needed for levels. 2008-01-15 08:52:16 +00:00
nvt-se c3653b96ce check if ENERGEST_CONF_LEVELDEVICE_LEVELS is set.
call ENERGEST_ON_LEVEL.
2008-01-15 08:33:02 +00:00
thiemovoigt 21c690ecae energy measurement support for TX power levels 2008-01-14 16:19:25 +00:00
adamdunkels 02ee418313 Moving timesynch.[ch] from sys/ to core/net/rime as they have more to do with Rime than with the kernel 2008-01-14 14:22:16 +00:00
adamdunkels b356ebe009 Increased the default input line length from 40 to 80 2008-01-08 07:49:51 +00:00
adamdunkels a0a524e128 Added watchdog_reboot() prototype 2008-01-07 14:42:35 +00:00
adamdunkels cc6c6eee62 Added prototype for _on() and _off() functions 2008-01-07 14:41:34 +00:00
adamdunkels d8e84abaae Made estimation of departure time better by locally measuring the average time per byte and adding this to the incoming timestamp. 2008-01-07 14:08:02 +00:00
adamdunkels c948c97b4f Fixed timestamping to support the simple implicit network time synchronization mechanism 2007-12-16 14:30:36 +00:00
adamdunkels d8617c7879 Added API for setting 802.15.4 channel and for measuring RSSI 2007-12-05 13:21:05 +00:00
ksb 71dc988cb9 slip.c:
char is signed but uip_buf is unsigned

spi.h:
	casted unused values to void

autostart.c:
autostart.h:
        The array itself should be const but the processes pointed to
        should not.

profile-aggregates.c:
        sizeof returns unsigned long on my platform
2007-11-18 12:27:44 +00:00
adamdunkels e1affe5e72 Changed watchdog API by adding a start function, and renaming the restart function to periodic to make it clear that this should be called periodically 2007-11-17 10:15:50 +00:00
adamdunkels 5e7cbff22a Fixed compiler warnings 2007-11-17 10:12:19 +00:00
adamdunkels 670f65b55e Added battery sensor to the core interfaces 2007-11-13 20:36:40 +00:00
fros4943 2c1af74f37 declaration outside loop 2007-11-13 06:45:29 +00:00
adamdunkels c5d79e8aea Added contentiondrop rimestats when a packet couldn't be sent because of failing CCA check 2007-11-12 22:26:03 +00:00
adamdunkels 127503e2a6 waiting for valid RSSI bugfix, minor cleanup 2007-10-25 13:29:21 +00:00
adamdunkels 349274cb81 Turn off listen energy accounting when transmitting 2007-10-25 09:38:15 +00:00
adamdunkels a9e4287cbe Changed the energy estimation type ENERGEST_TYPE_RECEIVE to ENERGEST_TYPE_LISTEN to highlight that energy is spent on idle listening, not just the actual reception of packets 2007-10-25 09:30:39 +00:00
nvt-se 045225fa05 Made driver less platform-dependent and added support for msb-430. 2007-10-22 12:19:58 +00:00
nifi ccf6bc4d9d moved ENERGEST_ON to actual transmission 2007-09-18 10:36:31 +00:00
nifi c12af56ad0 Turn off ENERGEST_TYPE_TRANSMIT if send error 2007-09-18 10:32:00 +00:00
bg- 70ddc0f27e * If we detect a RXFIFO overflow schedule a poll of the device driver. 2007-07-30 14:54:49 +00:00
bg- 8f0d9aab89 * Change max life of neigbour entries from 60 to 30 seconds by
changing the time unit (quanta) from 4 to 2 seconds.
2007-06-28 15:08:53 +00:00
bg- 08d547780c * Some extra delay when broadcasting to break potential symmetries. 2007-06-01 14:37:02 +00:00
bg- 81b684414d * Changed implementation for dealing with retransmissions to be
strictly event driven. The old implementation was rather process
  like and the new one is still implemented as a process.
2007-05-31 10:15:57 +00:00
oliverschmidt 4aabfc10b3 Moved 6502 inline assmbler into backyard as it was never replaced by C code. 2007-05-26 22:00:12 +00:00
adamdunkels f373c63532 Removed __ prefixes on symbols, which are reserved for C implementation; updated to new radio.h types 2007-05-25 08:06:15 +00:00
adamdunkels c8eecc5b02 Updated types to avoid reliance on uIP includes 2007-05-25 08:05:24 +00:00
adamdunkels b8d586b210 Enabled dropping of packets with bad CRC. Added statistics gathering. Bugfix when packets where shorter than 2 bytes 2007-05-22 20:51:30 +00:00
adamdunkels 0e4c30ccb4 Added net include to define u*_t types 2007-05-22 20:50:22 +00:00
adamdunkels 940f323801 Removed unused files 2007-05-22 17:35:28 +00:00
bg- 1009c3fabf * Literal constants REMOTE_*. 2007-05-21 14:24:51 +00:00
fros4943 41255df6b0 removed old radio_on/off functions 2007-05-18 13:13:18 +00:00
adamdunkels af997a93e0 Moved a much code as possible away from interrupt handler; main thread code now do not need to disable interrupts. Added energy estimation code. Added radio driver structure. 2007-05-15 07:53:09 +00:00
adamdunkels 177e07992d A common structure for radio drivers. Used by MAC protocols. 2007-05-15 07:51:57 +00:00
bg- 81ad433208 * Change function uaodv_bad_route to uaodv_bad_dest. 2007-05-08 13:31:50 +00:00
bg- b10eea85f5 * Add attribute to track bad routes and necessary support for this.
* Revamp forwarding to deal with bad routes or request new routes as
  appropriate.
2007-05-08 08:36:00 +00:00
bg- 34b1d02607 * Need to track if this was the incoming interface. 2007-05-08 08:27:34 +00:00
bg- 536703d0a2 * Check in with debug off! 2007-05-07 12:02:14 +00:00
bg- d34db6ee92 * Change retransmission scheme both for unicasts and for
broadcasts. Only count retransmissions that actually caused
  transmission (according to the hardware).
2007-05-07 12:01:32 +00:00
bg- cce656e23d * Print LOST in dotted format. 2007-05-07 11:44:40 +00:00
bg- 83f2b1da00 * Use uip_fw return codes.
* Use unicast retransmission scheme also for broadcasts.
2007-05-02 14:51:20 +00:00
bg- b97a9e1c28 * Sending routing messages should bypass same routing protocol.
* Unifdef UAODV_BAD_ROUTE.

* Less confusing debug printf.
2007-04-30 09:47:09 +00:00
bg- f2ea90ba06 * Use literal constant.
* Better debug printf.
2007-04-30 09:42:16 +00:00
bg- e7d7e31bc9 * Better management of "DATA ACK"s. 2007-04-30 09:41:42 +00:00
bg- cd0d83a705 * Toggle led before returning.
* Change printf.
2007-04-24 18:38:11 +00:00
bg- 9c8f01be41 * Major overhaul in order to support route sequence numbers.
* Changes to use network byte order.

* Add RREQ forwading cache.

* Fix some const:ness and casts.

* RERR shall only delete old routes.

* Filter RREQ:s also using cc2420_check_remote().

* LRU management of routes.
2007-04-04 12:12:21 +00:00
bg- 212f455b71 * Literal constants. 2007-04-04 11:46:47 +00:00
bg- 478953dcf4 * Randomised backoff when broadcasting.
* Only warn about rxfifo overflows when sending.

* More intricate tests to verify if transmission really started.
2007-04-04 11:46:10 +00:00
adamdunkels 7ce8d3920a Added radio_on() and radio_off() functions 2007-04-03 19:05:44 +00:00
adamdunkels 96d8967673 Should subtract two bytes from the length to account for the two-bytes footer 2007-03-25 17:15:30 +00:00
adamdunkels cf24a46d2a Exported RSSI values 2007-03-22 23:56:05 +00:00
adamdunkels bc25633fd9 Removed blinking LEDs 2007-03-22 23:55:48 +00:00
adamdunkels 1ab044e319 Corrected sending of two bytes footer 2007-03-21 23:19:15 +00:00
adamdunkels bba0485797 Experimental energy estimation code 2007-03-19 00:30:13 +00:00
adamdunkels 91fc3c3917 Renamed Rime output function 2007-03-15 22:11:06 +00:00
adamdunkels ec9ea6d366 Button sensor header 2007-03-15 21:42:09 +00:00
adamdunkels 92a5b01bed Radio sensor header file 2007-03-15 21:27:09 +00:00
adamdunkels c29eb96219 A Rime driver for the simple-cc2420 driver 2007-03-15 21:26:18 +00:00
adamdunkels 638640113e A very simple CC2420 driver that can only send and receive raw packets. No extra CC2420 functionality is enabled or used. 2007-03-15 21:26:00 +00:00
bg- 429d41defd * General stuff for different baudrates:
- ubr argument to slip_arch_int

    - macros for calculating ubr

    - argument -Bbaudrate to tools tunslip and scat
2007-02-02 13:26:48 +00:00
bg- 7d5a6d6558 * Check for ip_id zero senders and low cost update of zero ip_id. 2007-02-01 14:04:06 +00:00
bg- 85fd100263 * PRINTF macro.
* Update printf on failed transmission.
2007-02-01 14:02:19 +00:00
bg- 95164eb39f * Perform RXFIFO overflow check as late as possible when sending. 2007-02-01 14:00:27 +00:00
bg- 2a879202a2 * Initial AVR port.
* Check for RXFIFO overflow before sending.

* Fix in loop that waits for SFD start.
2007-01-24 16:26:55 +00:00
bg- bea6aa5b3d * Don't request MAC level ACKs for packets we "try" to forward before
we have a route.
2007-01-24 16:08:27 +00:00
bg- a88f797455 * Constness and voidness. 2007-01-23 12:29:50 +00:00
bg- f6936bfd51 * Comment. 2007-01-12 18:18:23 +00:00
bg- 29572668ac * Typo in comment. 2006-12-20 13:42:55 +00:00
bg- 5d970109c8 * If broadcast transmission never starts, retry with (nearly)
exponential backoff.

* Fine-tune check for transmission start.
2006-12-01 15:04:04 +00:00
bg- f3a6cee55b * Oops, some machine dependent changes was accidentally committed. 2006-11-17 13:03:51 +00:00
bg- 27e531baad * Set CC2420_RXCTRL1.RXBPF_LOCUR=1 as recommended in data sheet.
* Use PRINTF to disable debug printfs.
2006-11-17 12:27:23 +00:00
nifi 5528198929 fixed leds invert 2006-10-09 14:38:23 +00:00
adamdunkels 022b1ba742 Made LEDS not count 2006-10-09 11:55:02 +00:00
bg- 670f414594 * FASTSPI_READ_RAM_LE(p,a,c,n) for completeness. 2006-09-26 15:48:01 +00:00
bg- 3de6d787c9 * New function slip_write(u8_t *ptr, int len).
* Slip active detection and current address reporting.
2006-09-26 15:47:14 +00:00
bg- 5dacf0be11 Move misc. routines to new file. 2006-08-09 17:39:39 +00:00
bg- fb94d50410 Change typedef of uip_ipaddr_t from a vector type to a union.
typedef union uip_ip4addr_t {
  u16_t u16[2];
  u8_t  u8[4];
} uip_ip4addr_t;

typedef uip_ip4addr_t uip_ipaddr_t;

This implies that one must consistently pass pointers to
uip_ipaddr_t:s and not mix and match pointers with
uip_ipaddr_t:s as was done earlier.
2006-08-09 16:13:39 +00:00
bg- 4eee7b8bf4 Slightly outdated versions were imported to sf. 2006-08-02 14:33:36 +00:00
nifi a63bbe05ba changed to terminate the event data with a zero character instead of line feed character 2006-07-03 11:29:16 +00:00
adamdunkels c9e808d638 Import of the contiki-2.x development code from the SICS internal CVS server 2006-06-17 22:41:10 +00:00