Commit graph

8712 commits

Author SHA1 Message Date
Oliver Schmidt 2263c1aa55 - Optimized LAN91C96 driver for speed and size.
- Speed: The primary byte copy loops are reduzed to the bare minimum by adjusting the base pointer 'ptr' and loop register 'y' in such a way that the 'y' overflow matches the low byte of the loop size.

- Introduced a loop for setting the MAC address.

Additional minor fix:

- Properly start self modification with first location.
2013-09-12 23:32:26 +02:00
Oliver Schmidt ea08635ca4 Optimized CS8900A driver for speed and size.
- Speed: The primary byte copy loops are reduzed to the bare minimum by adjusting the base pointer 'ptr' and loop register 'y' in such a way that the 'y' overflow matches the low byte of the loop size.

- Size: Factored out all repeated code into subroutines. Introduced a loop for setting the MAC address.

Additional minor changes:

- Activate frame reception as last step of initialization after CS8900A configuration.

- Properly set internal address bits used by the CS8900A.
2013-09-12 23:32:25 +02:00
George Oikonomou eb33d5e4c5 Merge pull request #353 from lab11/cc2538-gpio
Updates to CC2538 GPIO
2013-09-12 00:59:39 -07:00
George Oikonomou f31aac7e1c Merge pull request #355 from lab11/cc2538dk-conf-defines
Add conf checks to CC2538dk conf file
2013-09-12 00:27:52 -07:00
Brad Campbell 766fc5a174 Add conf checks to CC2538dk conf file
Allows for specific apps to control more settings of the platform.
2013-09-11 21:43:13 -04:00
Brad Campbell 982ca0fb46 Updates CC2538 GPIO
1. Fixes two of the comments to GPIO macros. They were copied but not
updated.
2. Adds SET and CLR macros for controlling GPIO pins.
2013-09-11 21:39:56 -04:00
Oliver Schmidt 810f770e49 Merge pull request #356 from oliverschmidt/master
Allow text screen memory to be aligned to 0x2000.
2013-09-10 12:01:09 -07:00
Oliver Schmidt 17bbded894 Allow text screen memory to be aligned to 0x2000. 2013-09-10 20:59:19 +02:00
Oliver Schmidt 55686d7ca2 Merge pull request #351 from oliverschmidt/master
Removed unnecessary code from resolver.
2013-09-09 12:36:59 -07:00
Oliver Schmidt c4bba3e89a Removed unnecessary code from resolver. 2013-09-09 21:35:51 +02:00
Oliver Schmidt 0e66cad448 Merge pull request #346 from oliverschmidt/master
Initialize tcpip process before resolver process.
2013-09-01 11:56:39 -07:00
Oliver Schmidt 6fc83cf601 Initialize tcpip process before resolver process.
Since introduction of mDNS (f145c17039)
the resolver process initialization depends on the tcpip process
already being initialized (because of the call to udp_new()).
2013-09-01 20:53:51 +02:00
Oliver Schmidt ce7f350ba9 Merge pull request #345 from oliverschmidt/master
Removed unnecessary code from resolver.
2013-09-01 11:29:17 -07:00
Oliver Schmidt e0ddea2a17 Removed unnecessary code from resolver. 2013-09-01 20:23:11 +02:00
Adam Dunkels 592b6b3385 Merge pull request #343 from g-oikonomou/travis-disable-ipv4
Disable the IPv4 travis job
2013-08-31 02:25:44 -07:00
George Oikonomou 90e27e4839 Disable the IPv4 travis job 2013-08-30 10:39:59 +01:00
Adam Dunkels fff769af1f Merge pull request #318 from cetic/fix-rpl-hbh-1st-hop
Inserts missing IPv6 Hop-By-Hop RPL Option at first hop
2013-08-21 00:37:36 -07:00
Fredrik Österlind e6bd0490fd Merge pull request #336 from cmorty/MSPSim_Log
Add MSPSim Logging
2013-08-20 01:51:16 -07:00
Moritz 'Morty' Strübe 2b5f3bc6bd Add MSPSim Logging 2013-08-20 10:43:32 +02:00
Sébastien Dawans 78e807403c Inserts missing IPv6 Hop-By-Hop RPL Option at first hop 2013-08-19 21:40:24 +02:00
Adam Dunkels a07d332339 Merge pull request #288 from simonduq/neighbor-table
New neighbor tables
2013-08-19 12:01:55 -07:00
Adam Dunkels 86e247025a Removed debugging printout that came before a local variable declaration, which seems to have broken sdcc 2013-08-19 17:48:33 +02:00
Adam Dunkels 2af2478166 A set of RPL regression tests that the RPL network is able to survive the replacement of one node. The different tests test different placements of the moving node, with a varying number of hops from the root 2013-08-19 17:48:33 +02:00
Adam Dunkels 4cfefe80e4 A RPL regression test that tests that the network survives a random rearrangement 2013-08-19 17:48:33 +02:00
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