Commit graph

67 commits

Author SHA1 Message Date
Robert Quattlebaum b8c0f2de6c cpu/native: Add file-backed simulated EEPROM to native cpu.
This patch removes a defunct EEPROM implementation from the native
platform and provides a new EEPROM implementation for the native cpu.
The previous implementation appears to be vestigal.

This is useful for testing code which uses the EEPROM without running
the code on the actual hardware.

By default the code will create a new temporary file as the EEPROM
backing, reinitializing each time. If you would like to preserve the
EEPROM contents or specify a specific EEPROM file to use, you can set the
`CONTIKI_EEPROM` environment variable to the name of the EEPROM file you
wish to use instead. If it already exists, its contents will be used.
If it does not already exist, it will be created and initialized by
filling it with `0xFF`---just like a real EEPROM.

A new example is also included, which was used to verify the correctness
of the implementation. It can easily be used to verify the EEPROM
implementations of other targets.
2013-05-18 10:29:41 -07:00
Adam Dunkels 277a348f60 Changed the name of the IPv6 number of route entries configuration from UIP_CONF_DS6_ROUTE_NBU to UIP_CONF_MAX_ROUTES. 2013-03-18 11:12:44 +01:00
Adam Dunkels 0841bce833 Merge pull request #82 from darconeous/master
Makefiles: Allow setting UIP_CONF_IPV6=0 to work as expected.
2013-03-10 12:51:03 -07:00
Robert Quattlebaum 0ca8a57f39 platform/minimal-net: Print out pseudo LED status. 2013-01-30 09:18:40 -08:00
Robert Quattlebaum a571b663b0 platform/minimal-net: Better, more seamless support for OS X.
This patch enables automatic route setup and cleanup when
starting and stopping the minimal-net target on OS X.

Both IPv4 and IPv6 are supported.

Using the minimal-net target on OS X was absolute hell
before I came up with this patch. Now it is painless.
2013-01-30 09:17:30 -08:00
Robert Quattlebaum 092b6f3baa platform/minimal-net: Implement better idle behavior.
The minimal-net target, as currently written, wakes up the
CPU every millisecond to check for packets, and will only
react in real-time to input from stdin. If you are running
this on a laptop battery, your battery will quickly drain.

This change allows the CPU to idle when there is literally
nothing to do while still being responsive to input from
stein and/or incoming packets. This fix should significantly
improve performance while significantly improving power
usage. Win-win.

Also added `_xassert()` implementation so that the contiki-
provided `assert()` macro will work properly when used
on this platform.
2013-01-30 09:17:29 -08:00
Robert Quattlebaum 5afcbf6fff Makefiles: Allow setting UIP_CONF_IPV6=0 to work as expected.
Setting UIP_CONF_IPV6 to zero from the make build command line is
something that seems like it should ensure that IPv6 is disabled, but in
fact it actually *enables* IPv6. This seems counter intuitive, so this
patch changes the behavior of the makefiles to handle this case
properly.
2013-01-14 22:03:42 -08:00
Adam Dunkels 944537fccf Removed all old RCS tags in the Contiki source tree. Those RCS tags are not used any more, as we are now using git to manage the Contiki source tree 2012-10-26 15:54:49 +02:00
Matthias Kovatsch d57904b289 Fixed bug in IPv6 address print function. 2012-03-21 21:27:52 +01:00
Matthias Kovatsch 87cd18539b Eliminated RPL_CONF_ADJUST_LLH_LEN correction by using uip_l3_icmp_hdr_len instead of uip_l2_l3_icmp_hdr_len. 2012-03-08 00:48:04 +01:00
Ilya Dmitrichenko 1214086f97 Fixed TARGET=minimal-net compilation issues on Darwin. 2012-03-02 15:15:49 -05:00
Ilya Dmitrichenko 9c99d46e24 Simplified host OS platform detection in Makefiles 2012-02-25 10:09:33 -05:00
Nicholas J Humfrey 680225e99d Converted u8_t to uint8_t and u16_t to uint16_t in the platforms directory.
Added "These names are deprecated, use C99 names" warnings the contiki-conf.h files that were missing it.
2012-02-21 08:33:25 -05:00
David Kopf 20a5c794dd Move address initialization to after proce_init. Something in that now wiping the address array. 2012-02-11 15:19:28 -05:00
Adam Dunkels acb2c28fdd small code style fixes; removed left-over function call 2012-01-25 06:41:39 -08:00
Adam Dunkels cdfc788967 Increased wait time between main loop polls; cleaned up the code to Contiki code style standards; moved process autostart code to after network setup 2012-01-25 06:34:10 -08:00
Matthias Kovatsch efeebe953c Enabled UDP checksums for minimal-net 2011-10-10 14:25:03 +02:00
Adam Dunkels add8367947 Include stdlib.h for the NULL macro 2011-08-31 21:56:28 +02:00
David Kopf 83e3b99d54 Let RPL examples enable platform RPL 2011-08-15 14:45:44 -04:00
David Kopf 96c3c1093a Assign aaaa:: prefix if HARD_CODED_ADDRESS not defined 2011-08-03 12:30:20 -04:00
David Kopf 05c11d362b Clock seconds since startup on minimal-net 2011-07-24 11:53:36 -04:00
David Kopf 6ea7250af7 Change ctimer startup order, add multihop to wpcap and minimal-net platform. 2011-06-30 12:12:07 -04:00
David Kopf c48b7ab78d Add RPL nodes and border router to minimal-net platform (cygwin only) 2011-06-28 08:19:48 -04:00
adamdunkels 5585d72c86 A simple but substantial change: uIP used the htons()/HTONS() macro
functions for converting between host and network byte order. These
names are the de facto standard names for this functionality because
of the original BSD TCP/IP implementation. But they cause problems for
uIP/Contiki: some platforms define these names themselves (Mac OS,
most notably), causing compilation problems for Contiki on those
platforms.

This commit changes all htons to uip_htons instead. Same goes for
htonl, ntohs, and ntohl. All-caps versions as well.
2010-10-19 18:29:03 +00:00
dak664 9bcf982d87 Update minimal net to new ds6 interface 2010-03-18 20:11:54 +00:00
dak664 3f5bb28383 Allow ip4 address override, show ip6 address 2010-02-02 17:51:55 +00:00
oliverschmidt f606253f58 Minor adjustment to predominant coding style. 2009-08-09 20:51:19 +00:00
dak664 d5047f43c1 Change ip4 addresses to agree with wiki 2009-08-08 11:42:05 +00:00
adamdunkels 6fcca2d545 Initialize ctimer, add IPv6 address configuration for the aaaa prefix 2009-04-29 11:49:27 +00:00
adamdunkels b1cd9c207a Removed serial.c, which is obsoleted by serial-line.c, which in turn now resides in Makefile.include 2009-03-17 21:51:13 +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 3848bba210 Added support for serial data input 2009-03-06 00:13:56 +00:00
adamdunkels 1d56451d11 Changed the default IP address to match the default setting in tapdev 2008-10-31 18:11:44 +00:00
adamdunkels ba43d94ef7 Define IPv6 options only if UIP_CONF_IPV6 is defined (which should be defined by the Makefile.include if IPv6 is enabled) 2008-10-15 09:14:25 +00:00
julienabeille 2238f2e7da Debugged autoconf for ethernet 2008-10-14 16:50:11 +00:00
julienabeille 9b2961046a Modifs to minimal-net for IPv6 support 2008-10-14 10:06:26 +00:00
adamdunkels b18b84bb0e Added clock_seconds implementation to minimal-net port 2008-07-10 17:10:39 +00:00
oliverschmidt b252bb9fc9 Removed finally unnecessary cast (and reverted unintentionally commited change). 2008-02-10 22:52:41 +00:00
oliverschmidt b96c9deebc Added "usual" comments. 2008-01-04 21:53:32 +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
adamdunkels d6c597cf0b Added missing sys/select.h include 2007-11-28 14:16:12 +00:00
adamdunkels a725de0f79 Reimplemented waiting with select() instead of nanosleep(). Let's see if Linux compiles this code now... 2007-11-28 12:54:41 +00:00
adamdunkels 4eae027dd3 Changed usleep() to nanosleep() 2007-11-26 23:28:33 +00:00
oliverschmidt 20d395e9b6 Added user feedback on IP configuration. 2007-11-25 15:00:32 +00:00
oliverschmidt f52ae57d99 Declare strcasecmp here as it isn't part of C99. 2007-11-18 00:46:26 +00:00
oliverschmidt 062e2a1ce4 Removed compiler warning. 2007-11-17 20:13:54 +00:00
oliverschmidt a300c31d7e Removed explicit shut down of network driver as it easily results in endless recursions on errors while network driver initialisation. 2007-05-23 22:01:14 +00:00
oliverschmidt a7dba4cc4f Explicitly shut down network driver. 2007-05-22 21:19:34 +00:00
oliverschmidt 5f3296e943 Changed packet drivers from services to plain processes.
Now tcpip_output() is a function pointer that is supposed to be set via the macro tcpip_set_outputfunc(). Packet drivers do so on process startup.

Thus if there are several packet drivers in a Contiki system the one started last is the one actually used. This behaviour is especially useful for the 'IP forwarding' "meta" packet driver.
2007-05-20 21:29:39 +00:00
oliverschmidt d4528e427f Changed Contiki File System (cfs) from a service to a plain library.
This change means that one needs to select _ONE_ cfs implementation at Contiki library link time. But this doesn't appear to be an issue as all platforms have their "favorite" implementation anyway.
2007-05-19 21:16:08 +00:00