The official git repository for OSD-Contiki, the open source OS for the Internet of Things
Find a file
Oliver Schmidt a5d7a06027 Enhanced Ethernet drivers.
Made Ethernet drivers easier to consume by assembly programs.
* Replaced function pointers with JMP instructions.
* Provide return values additionally via Carry flag.

Reset Ethernet chips on initialization.
Both for the CS8900A and the W5100 the data sheets just say that
the RESET bit is automatically cleared after the RESET. This may
be interpreted in two ways:
1) There's no need to be afraid of reading the RESET bit as 1 and
unintentionally trigger a RESET by writing it back after ORing in
some other bit.
2) The RESET process isn't complete before the RESET bit hasn't
become 0 again.
It's impossible for me to empirically falsify the latter option
as the drivers are supposed to work on faster machines than the
ones I have access to. And if the RESET process includes things
like oscillators then the time to complete the RESET could differ
even between multiple exemplars of the same chip. Therefore I
opted to presume the latter option.
However that means a non-exsistent chip may cause an infinite
loop while waiting for the RESET bit to be cleared so I finally
added code to detect the presence of the Ethernet chips. There's
a risk of a chip being locked up in a way that makes the detection
fail - and therefore the RESET not being performed. This catch-22
needs to be solved by the user doing a hard RESET.
2014-06-12 22:56:35 +02:00
apps Removed references to missing DTLS implementation. 2014-05-15 20:29:05 +02:00
core Merge pull request #617 from nfi/extended-radio-api 2014-06-03 21:32:53 +02:00
cpu Enhanced Ethernet drivers. 2014-06-12 22:56:35 +02:00
dev Fixed CC2420 to return RADIO_RESULT_INVALID_VALUE if trying to set a 2014-04-13 21:43:37 +02:00
doc Bumped the version number from 2.6 to 3.x, which is to be used in the development branch 2013-12-12 17:33:18 +01:00
examples Merge pull request #617 from nfi/extended-radio-api 2014-06-03 21:32:53 +02:00
platform Merge pull request #682 from g-oikonomou/watchdog-cc2538 2014-06-03 22:05:08 +01:00
regression-tests Merge pull request #620 from adamdunkels/push/socket-api 2014-04-09 22:12:59 +02:00
tools Added missing license file referenced in z1-bsl-* scripts 2014-05-15 16:02:57 +02:00
.gitignore Adds support for ADF7023 sub-GHz radio from Analog Devices and RL78 series MCU from Renesas. 2014-01-04 18:56:51 -05:00
.gitmodules Added the cc2538-bsl submodule to the tools dir 2014-03-07 15:44:29 +01:00
.travis.yml Fix Travis failure 2014-04-26 14:06:53 +01:00
LICENSE Removed the explicit year 2012 to make it more generic 2012-10-25 23:08:54 +02:00
Makefile.include Makefile.include: Setting RELSTR based on git tags requires to be in 2014-04-09 19:11:35 +02:00
README-BUILDING.md Rename to md 2013-03-26 23:15:37 +01:00
README-EXAMPLES.md Several minor consistency improvements. 2013-07-31 00:55:31 +02:00
README.md Rename to md 2013-03-26 23:15:37 +01:00

The Contiki Operating System

Build Status

Contiki is an open source operating system that runs on tiny low-power microcontrollers and makes it possible to develop applications that make efficient use of the hardware while providing standardized low-power wireless communication for a range of hardware platforms.

Contiki is used in numerous commercial and non-commercial systems, such as city sound monitoring, street lights, networked electrical power meters, industrial monitoring, radiation monitoring, construction site monitoring, alarm systems, remote house monitoring, and so on.

For more information, see the Contiki website:

http://contiki-os.org