Commit graph

8889 commits

Author SHA1 Message Date
Adam Dunkels 241a4e0100 A RPL regression test that tests that a RPL network survives a temporary root loss 2013-08-19 17:48:33 +02:00
Adam Dunkels 6d386ffc8d A RPL regression test that tests DAO routes going towards the sink and then down 2013-08-19 17:48:32 +02:00
Adam Dunkels b1e6890b32 Re-enabled the large network RPL test 2013-08-19 17:48:32 +02:00
Adam Dunkels bfd7e5f25b Fixed a few bugs in the route handling code. While bughunting, rewrote parts of the code to make its intention clearer. Also added a bunch of comments to make the logic of the code more evident. 2013-08-19 17:48:32 +02:00
Adam Dunkels 8dc4e46968 Check if the nexthop neighbor for a given route has disappeared. If so, we drop the route too. If we happen to be the RPL root, we also initiate a global repair as the neighbor may moved. 2013-08-19 17:48:32 +02:00
Adam Dunkels d0a939afb0 Bugfix: must multiply with ETX divisor to turn into fixed-point format. 2013-08-19 17:48:32 +02:00
Adam Dunkels 4d0ecaae02 Make sure our parent's IP address isn't NULL. 2013-08-19 17:48:32 +02:00
Adam Dunkels e5a6565137 Loop detection via DAO: if we get a DAO from a parent, that parent thinks we are its parent. We poison it and recalulate our parents. 2013-08-19 17:48:32 +02:00
Adam Dunkels 34119b7ef2 Poor man's loop reparation: reset the DIO timer and hope the neighbor learns a better route. 2013-08-19 17:48:32 +02:00
Adam Dunkels d830e9df3f Implement forwarding error handling: if a packet changes direction, we set the FWD_ERR flag. If we see the FWD_ERR flag, we drop the route that we sent it to. If we are the root node, we also initiate a global repair. 2013-08-19 17:48:31 +02:00
Adam Dunkels abb3ef9b3b Bugfix: don't set the parent if the dag is NULL 2013-08-19 17:48:31 +02:00
Adam Dunkels 08761dfd8a Added a function uip_ds6_nbr_num() for getting the number of neighbors 2013-08-19 17:48:31 +02:00
Adam Dunkels a027832f94 Fixed a bunch of compiler warnings 2013-08-19 17:48:31 +02:00
Adam Dunkels 9a74ada90c Added a function rpl_get_parent_link_metric() for obtaining the link metric of a given parent 2013-08-19 17:48:31 +02:00
Adam Dunkels c52fc2fd19 Defensive programming: check for the argument being NULL. 2013-08-19 17:48:31 +02:00
Adam Dunkels b42ccaed1b Added function prototypes to a number of functions with void arguments 2013-08-19 17:48:31 +02:00
Adam Dunkels 82e8eb420d Added and updated debugging printouts and reformatted code to make it a little easier to read. 2013-08-19 17:48:31 +02:00
Simon Duquennoy 248301a041 Fix naming issues and includes in uip-ds6-nbr.h 2013-08-19 17:48:30 +02:00
Simon Duquennoy 5dc05e7913 Port apps, examples, platforms and tools so they use the new neighbor and route API. 2013-08-19 17:48:30 +02:00
Simon Duquennoy ff093a2b50 Removed now unused per-module neighbor table size configs. Use NEIGHBOR_CONF_MAX_NEIGHBORS instead. 2013-08-19 17:48:30 +02:00
Simon Duquennoy c3f62b24c8 Moved ETX management from neighbor-info to rpl-of-etx. Avoids conversions between different fixed point representations, and simplifies neighbor management. Makes more clear how default-ETX and noack-ETX actually affect the rank. Removed neighbor-info and neighbor-attr. 2013-08-19 17:48:30 +02:00
Simon Duquennoy c50d10aa53 Make RPL use neighbor tables. RPL locks the neighbor used as preferred parent. 2013-08-19 17:48:30 +02:00
Simon Duquennoy 09d26f8060 Make uip-ds6-route use neighbor table. Instead of storing a global list of routing entries that contain both the next hop and the destination, we have a separate list of reachable destination for each neighbor in the global table. 2013-08-19 17:48:30 +02:00
Simon Duquennoy ec609b49eb Make DS6 neighbors use neighbor-table, and move all DS6 neighbor management from uip-ds6 to a new uip-ds6-neighbor module. 2013-08-19 17:48:30 +02:00
Simon Duquennoy 5a1d8d8006 Make phase module use neighbor-table. 2013-08-19 17:48:29 +02:00
Simon Duquennoy cfb3bbdad9 Added new neighbor-table module, a centralized place where to store all data about neighbors, indexed by link-layer address. Meant for use in other Contiki modules such as rpl, ds6, ds6-route, phase, neighbor-info. 2013-08-19 17:48:29 +02:00
Fredrik Österlind a372bac787 Merge pull request #335 from adamdunkels/push/cooja-updates
Cooja updates
2013-08-18 23:55:18 -07:00
Adam Dunkels d247eaaad8 Merge pull request #332 from cmorty/rssi_scanner
Add numbers to the RSSI-Scanner graph
2013-08-18 04:08:41 -07:00
Fredrik Osterlind 150807f2e6 removed rpl configuration, instead using contiki default values 2013-08-16 15:06:31 +02:00
Fredrik Osterlind 96968cb35e bugfix: only write to infomem if empty 2013-08-16 15:02:08 +02:00
Fredrik Osterlind 7c125ced9a a set of new cooja-mspsim mote types 2013-08-16 12:02:16 +02:00
Fredrik Osterlind 8041f66d8c link-layer acks support for cooja motes 2013-08-15 14:32:35 +02:00
Fredrik Osterlind 3caf1bfab4 cooja motes rimestats 2013-08-15 11:56:12 +02:00
Fredrik Osterlind 871ea380d0 only show printable characters in mote output plugin 2013-08-15 11:49:48 +02:00
Fredrik Osterlind e5fe37336e enable reconfigurable mote interfaces
some minor trying to fix a bug that occasionally hangs cooja when reconfiguring a mote type
2013-08-15 11:49:31 +02:00
Fredrik Osterlind 92655159c8 added a set of new mspsim-based mote types using CC1120, CC1101 and the Enc28j60 ethernet chip
minor changes: removed some obsolete stack monitoring code, improved mspsim-cooja window handler
integration
2013-08-15 11:46:29 +02:00
Moritz 'Morty' Strübe e292d31640 Add channel numbers and RSSI-Values 2013-08-14 16:44:01 +02:00
Moritz 'Morty' Strübe 244b06f25d Fix calculation of the maximum RSSI value 2013-08-14 16:44:01 +02:00
Moritz 'Morty' Strübe f407dea8ff Update documentation in ViewRSSI.java 2013-08-14 16:44:01 +02:00
Moritz 'Morty' Strübe fae6c530de Fix indention of ViewRSSI.java 2013-08-14 16:44:00 +02:00
Fredrik Osterlind ba39d98a86 store current radio transmission bitrate in .csc
trigger radio event when device radio channel is changed
2013-08-14 13:56:39 +02:00
Fredrik Osterlind 9929cc2a10 added new mote type method that returns the by default used mote interfaces, as opposed to all compatible mote
interfaces

this allows a user to override default settings in the create-new-mote-type dialogs
2013-08-14 13:30:15 +02:00
Fredrik Osterlind 8e264badb7 added new mote type method that returns the by-default used mote interfaces, as opposed to all compatible mote
interfaces

this allows the user to override default settings in the create-new-mote-type dialogs
2013-08-14 13:25:53 +02:00
Fredrik Osterlind f59040375b repaint labels periodically instead of every time data is sent over the serial connection 2013-08-14 13:04:37 +02:00
Fredrik Osterlind 8a084926e2 re-implemented stack overflow monitoring, and user can now manually override the stack addresses for use with
custom linker scripts
2013-08-14 13:03:15 +02:00
Fredrik Osterlind 11d124882c made mote-to-mote relations optional, reordered how skins are painted to more easily decide which skin is
painted first
2013-08-14 13:00:00 +02:00
Fredrik Osterlind 21a901ad26 removed unnecessary imports 2013-08-14 12:57:58 +02:00
Fredrik Osterlind 5b7cc56cc5 guard amount of serial data being written to simulated contiki nodes 2013-08-14 12:57:17 +02:00
Fredrik Osterlind 1842fae903 write node id to infomem 2013-08-14 12:56:25 +02:00
Fredrik Osterlind 0b09084b92 minor bugfix: simulation speed was not restored correctly 2013-08-14 12:54:30 +02:00