Commit graph

646 commits

Author SHA1 Message Date
adamdunkels fc603fdcc6 constness 2008-02-05 20:18:57 +00:00
adamdunkels 3d6c1c966b Bugfix: forwarding functions now have access to its packet headers. Added last hop to the arguments to the reception function 2008-02-05 20:17:43 +00:00
adamdunkels 33bcc24019 Increased timeouts, updated to match new mh API 2008-02-05 20:16:48 +00:00
adamdunkels 465f75736d Minor source code reformatting 2008-02-03 21:12:44 +00:00
adamdunkels f1bec7b955 Added the ability to send packets to an external network 2008-02-03 20:56:07 +00:00
adamdunkels 53f0b7feb8 Added line drawing code when compiled for the netsim target 2008-02-03 20:52:41 +00:00
adamdunkels 2886e03f57 Rewrote the neighbor code to use memb and a list instead of a static array 2008-02-03 20:44:11 +00:00
adamdunkels b001c14bf2 Code style fix 2008-02-03 20:43:35 +00:00
adamdunkels c576b7b01c Optimized transmission when interval == 0 2008-01-25 01:06:25 +00:00
adamdunkels 6e89e545b3 Added optional transmission of ICMP destimation unreachable in response to incoming UDP packets with an destination port that is not open. This is needed for correct operation of traceroute 2008-01-24 23:08:58 +00:00
adamdunkels c9508567a1 Bugfix: IP addresses in ICMP time exceeded messages were not transmitted correctly 2008-01-24 23:07:37 +00:00
adamdunkels eced8a3ec2 Removed left-over debug printouts 2008-01-24 23:07:05 +00:00
adamdunkels 49ac5f9026 Show rt metric in netsim as number of expected transmissions 2008-01-24 21:11:40 +00:00
adamdunkels cdfe030980 Send immediately if interval == 0. Added debug information 2008-01-24 21:10:50 +00:00
adamdunkels f93a48599e Process only one poll request at a time to avoid starvation if one process keeps calling process_poll() from its poll handler 2008-01-24 21:00:51 +00:00
adamdunkels 1b024d6e69 Added const 2008-01-24 13:09:32 +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 af73a358f4 Added const to constant arguments 2008-01-24 13:08:35 +00:00
adamdunkels bf8b5c093d Made timetable code optional 2008-01-24 06:17:51 +00:00
adamdunkels e7fb51b14c Added generic return valued 2008-01-24 06:17:33 +00:00
adamdunkels 546efc7b61 Removed remaining debug code 2008-01-23 21:06:25 +00:00
adamdunkels 29cc2b1266 Updated debug printouts 2008-01-23 16:10:10 +00:00
adamdunkels f4dd9ccd5b Rewrote the process code so that initialization events are posted synchronously instead of asynchronously, so that we don't have to explicitly wait for processes to be initialized. This also reduces the size of the event queue by half on the Tmote Sky platform since the queue was maximized during system bootup. This change also prompted an update of the process invokation code to ensure that a process is not invoked again when processing an event. General cleanup of the code also. 2008-01-23 15:18:06 +00:00
adamdunkels c8dccbbd40 Added a function for converting a timesynchronized time to a local (rtimer) time 2008-01-23 15:07:05 +00:00
adamdunkels 8a9b931a4b Rewrote most of the X-MAC code to make it easier to follow, debug and modify. Also added an optional, experimental time synchronized addition that makes X-MACs on different nodes explicitly de-synchronized 2008-01-23 15:00:54 +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
adamdunkels d9b52d1585 Added ENEGEST_SECOND 2008-01-21 12:36:17 +00:00
adamdunkels 5c169ac291 Better debug output 2008-01-21 12:19:27 +00:00
fros4943 0c21c8893a bugfix: wait while *either* transmitting or unvalid rssi 2008-01-17 15:38:45 +00:00
adamdunkels 7b71f23abe Factored out the time table keeping code from the profiling code and placed it in a separate 'timetable' module, that may be uesd on its own. 2008-01-17 12:19:25 +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
thiemovoigt 304898cd79 added support for devices with power levels (e.g. TX radio) 2008-01-14 16:18:39 +00:00
adamdunkels 57b54894f8 Removed mistakenly added development files 2008-01-14 16:05:34 +00:00
adamdunkels 34bd11905c Rewrote the timesynch code to use the Rime sniffer interface instead of the kludge of running timesynch as a MAC layer 2008-01-14 14:50:01 +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 042180c13f Rewrote the sniffer code to use a list, which makes it possible to add any number of sniffers. Sniffers now can be both for incoming and outoing packets. 2008-01-14 09:42:00 +00:00
adamdunkels 7fcb1f3b2a Updated debug output 2008-01-14 09:36:35 +00:00
adamdunkels 94f8978443 Rewrote the sniffer code to use a list, which makes it possible to add any number of sniffers. Sniffers now can be both for incoming and outoing packets. 2008-01-14 09:35:53 +00:00
adamdunkels b26754fd95 Removed unused code 2008-01-14 09:34:33 +00:00
adamdunkels 7b94bfb621 Rewrote the code to use polite broadcasts istead of regular broadcasts. This reduces the amount of broadcast traffic, particularly for dense networks. 2008-01-14 09:34:00 +00:00
adamdunkels bd125aaac6 Changed the code so that the rtimer is only set from the rtimer (interrupt) code, and not from the non-rtimer code. Removed unused code that was supposed to turn the radio off when a packet for another node was heard (but which didn't really work anyway). Changed default on time to 1/100 seconds, and off time to 1/2 seconds 2008-01-14 09:26:42 +00:00
adamdunkels 28eaf5ee40 Moved C preprocessor concatenation macro to sys/cc.h 2008-01-14 09:22:50 +00:00
adamdunkels 3d17762735 Added a macro for concatenation of two strings, which may be macro expansions 2008-01-14 09:22:22 +00:00
adamdunkels bf5ba0fdea Added missing filesize field 2008-01-09 08:12:52 +00:00
adamdunkels bac526c5f1 Fixed handling of CFS_WRITE and CFS_APPEND 2008-01-08 14:27:06 +00:00
adamdunkels f6b4022511 Setting a lower value now causes a discovery packet go out quicker 2008-01-08 08:27:25 +00:00
adamdunkels bac26c90c8 Made a primary transmission go out immediately instead of within a random interval 2008-01-08 08:26:48 +00:00
adamdunkels a20202231d Minor type change 2008-01-08 08:00:13 +00:00
adamdunkels d2be099c0e Bugfix: queue buffers were not freed when a new packet was sent, leading to memory leakage. Added debug output. 2008-01-08 07:59:51 +00:00
adamdunkels c6a43333d2 Call the timeout function only if it is non-NULL 2008-01-08 07:58:49 +00:00
adamdunkels 40d6216ec9 Added API for reading the routing table 2008-01-08 07:58:23 +00:00
adamdunkels 601560b1eb Added hopcount to callbacks 2008-01-08 07:55:56 +00:00
adamdunkels 0c748d7dd2 Debug formatting fixes 2008-01-08 07:55:15 +00:00
adamdunkels f737127cca Minor type change 2008-01-08 07:55:00 +00:00
adamdunkels 16142f12c7 Removed unused code 2008-01-08 07:54:40 +00:00
adamdunkels 1640b11972 The radio driver now takes care of adjusting for the transmission time 2008-01-08 07:54:16 +00:00
adamdunkels 88a010acdc Added a simple sniffer callback, which currently is a hack - a better solution would be a list of sniffers for both outgoing and incoming packets, but this will do for now. 2008-01-08 07:53:02 +00:00
adamdunkels 5b454bbd5f Added a simple sniffer callback, which currently is a hack - a better solution would be a list of sniffers for both outgoing and incoming packets, but this will do for now. Added trickle, neighbor & route includes. 2008-01-08 07:52:31 +00:00
adamdunkels b356ebe009 Increased the default input line length from 40 to 80 2008-01-08 07:49:51 +00:00
adamdunkels 25a5434fb5 Sending with interval 0 made explicit 2008-01-07 14:53:04 +00:00
adamdunkels d33871facc Bugfix: hops should be at least one for all packets that are sent over the radio 2008-01-07 14:52:23 +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
oliverschmidt 00d75c8d16 Made use of uip_ipaddr_to_quad(). 2008-01-04 23:28:33 +00:00
oliverschmidt af6d9a59be Adjusted value (without distinguishing between Ethernet, SLIP, ...). 2007-12-23 20:24:46 +00:00
oliverschmidt 1ecf65d6c2 Allow to implement cfs API on preprocessor level. The benefits are:
- Less overhead.
- Switching implementations without makefile changes.
- Compatibility with specific declaration needs. (I.e. the cc65 module loader expects the read() function to be defined as fastcall but that contradicts the cfs API declaration.)
2007-12-23 15:22:33 +00:00
oliverschmidt a9ebc469b8 Avoid usage of POSIX function names even for static functions as some indirectly included system header might declare them. 2007-12-23 14:56:54 +00:00
oliverschmidt f67506ba2a Set truncate flag to make sure that overwriting a existing file doesn't result in a mix of old and new content. 2007-12-23 14:12:44 +00:00
oliverschmidt 8a4e2ec268 Fixed typo. 2007-12-22 12:02:43 +00:00
oliverschmidt 0564cc50fd Splitted POSIX based cfs implementation to avoid pulling in potentially large POSIX directory I/O functions without needing them at all. 2007-12-21 01:36:01 +00:00
oliverschmidt 878f56837d Did more aggressive fullscreen ctk codesize optimization. Now ctk draw implementations need adjustment as the struct window member x and y are gone. Another potential optimization would be to remove clipping... 2007-12-20 20:45:06 +00:00
oliverschmidt 1b5ae78a95 Easily avoided double (meant to be a forward ?) definition of timesynch_driver. 2007-12-20 20:30:55 +00:00
adamdunkels 3033b86753 Made the number of routing table entries configurable 2007-12-17 09:20:16 +00:00
adamdunkels 758411d06d Cleaned up #includes to avoid cyclic dependencies - the Rime includes no longer depend on rime.h 2007-12-17 09:14:08 +00:00
adamdunkels 8287215c82 Removed obsolete, unused files 2007-12-17 09:12:16 +00:00
adamdunkels d80052c0e7 Removed debug output 2007-12-16 14:48:33 +00:00
adamdunkels 07e2ca9287 Documentation updates 2007-12-16 14:33:32 +00:00
adamdunkels 5c5775e93b Ensure that receiver_callback is set before calling it 2007-12-16 14:31:43 +00:00
adamdunkels c948c97b4f Fixed timestamping to support the simple implicit network time synchronization mechanism 2007-12-16 14:30:36 +00:00
adamdunkels 8bf9a08a70 A simple implicit network time synchronization mechanism 2007-12-16 14:29:56 +00:00
oliverschmidt 4b11df81ba Mustn't include libconio header as this is just one possible implementation of the conio API (and further code exlusion for fullscreen ctk). 2007-12-16 13:00:51 +00:00
oliverschmidt dca1f5cc19 Exclude unnecessary code in ctk fullscreen mode. 2007-12-15 22:18:13 +00:00
oliverschmidt 80d47e851f Have the fullscreen mode (triggered by not setting CTK_CONF_WINDOWS) work with mouse support. 2007-12-15 21:29:46 +00:00
oliverschmidt 9c9e336f45 Some source reformatting. 2007-12-15 21:04:20 +00:00
oliverschmidt 4671ee3d10 Have ctk (at least on conio) work correctly without menus. 2007-12-15 20:46:15 +00:00
oliverschmidt 6fd3b0dbae Removed CTK_CONF_HYPERLINK from shared code as its use is still unclear (and the implementation was incomplete anyway). 2007-12-15 11:34:59 +00:00
oliverschmidt 3e1431b854 Ooops, forgot to remove debug printfs before committing :-( 2007-12-14 23:38:00 +00:00
oliverschmidt 2da3a926a2 Introduced CTK_CONF_WINDOWS.
If it is set the behaviour is (supposed to be) as before. Otherwise ctk supports just one window in fullscreen mode: No windows, no borders, no menu, no dialogs, no desktop.
The ctk draw interface stays stable but obviously further code savings are possible by making ctk draw implementations CTK_CONF_WINDOWS aware.
Currently the fullscreen mode doesn't work with mouse support - this is supposed to come later...
2007-12-14 23:34:19 +00:00
fros4943 2c67936d6d including uaodv-rt 2007-12-13 10:04:59 +00:00
adamdunkels 43d394f758 Maximum rtmetric now defined by the collect module - a bit of a hack since this probably should be configured elsewhere (and be referenced by both the collect and the neighbor module) but it will do for now 2007-12-09 15:44:21 +00:00
adamdunkels 5a89c19b5e Changed to store neighbors' rtmetrics as 16 bit valued 2007-12-09 15:43:51 +00:00
adamdunkels 01da62aa25 Changed local rtmetric name from 'local_rtmetric' to 'rtmetric' and updated the neighbor discovery module from nbh to neighbor-discovery 2007-12-09 15:43:09 +00:00
adamdunkels 4e1d2906b7 Changed name on the neighbor discovery module from (cryptic) 'nbh' to 'neighbor-discovery' 2007-12-09 15:40:43 +00:00
oliverschmidt 29b2d1d236 Allow to link with UIP_CONF_ACTIVE_OPEN set to 0. 2007-12-08 23:06:02 +00:00
oliverschmidt 3b95e284fc Allow to actually configure active open support via UIP_CONF_ACTIVE_OPEN.
Is there any reason I don't understand why this wasn't allowed? At least it seems to work...
2007-12-08 23:04:34 +00:00
adamdunkels 761ad7dd57 Updated debug output 2007-12-05 13:40:34 +00:00