Skip to content
taliesin edited this page Sep 14, 2010 · 4 revisions

This is a forked repository. Have a look at
smurfix’s owslave wiki
for more information.

I reworked the code base to have it portable for other CPUs, currently it allows compilation on LPC111x by NXP. It already works there, but definitely needs further testing and more production support (serial ID, etc.) Application code is actually not touched (DS2408 tested, DS2423 only supported for ATmega168 and ATtiny84 is untested).

Note that Cortex M0 code currently only compiles under lpcxpresso 3.3beta (setjmp bugfix!) which is only available for Windows, but works nicely under Virtualbox and Ubuntu (sharing the USB LPCLink debugger). There seems to be no support for SWD (single wire debug) using openOCD at the time of this writing. Codesourcery provides a gcc for Cortex M0s and one could use the virtual machine only to run the gdb server. This is probably one of the next things I’ll try.

Another issue still is code complexity:
- the 1-wire state machine is distributed over 2 interrupt service routines
- state decoding is rather complex, probably for performance reasons. It might even be faster if a large switch was used (depending on compiler and CPU), clearly reducing complexity.
- there are (a few) code lines I still don’t comprehend

Clone this wiki locally