To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.robotics.rcx.legosOpen lugnet.robotics.rcx.legos in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 Robotics / RCX / legOS / 4032
4031  |  4033
Subject: 
BrickOS Patches and Development
Newsgroups: 
lugnet.robotics.rcx.legos
Date: 
Sun, 15 Feb 2009 03:14:30 GMT
Viewed: 
24180 times
  
Greetings,

This is a follow up to earlier postings discussing the development status of
BrickOS.  While the Sourceforge project has not had much activity of late,
I've come across various modifications that, unfortunately, have never made
it upstream.  Even more unfortunate is that as time passes, it seems a few
more RCX sites go offline.

After finding BrickOS modifications or patches, there are at least two key
issues: 1) the changes are not always against the latest version of BrickOS
and 2) different sets of changes might modify the same section of code.

I have assembled a collection of patches that I have used to update my
version of BrickOS.  Some may be more familiar than others, but I have
listed them all here for completeness.  The numbers correspond to the
numbers in the diff file name in the archive file.

0. There is a slight difference between the 0.9.0 source release and the
current Sourceforge CVS
1 - 5. Dr. Hoenicke's patches ( http://hoenicke.ath.cx/rcx/brickOS.html ),
including gcc33, highmem, performance, Makefile, and tcpcomm
6. Carl Troein's signedness patch (
http://news.lugnet.com/robotics/rcx/legos/?n=3987&t=i&v=a )
7. Outstanding Sourceforge patch - enable Makelx to handle longer file names
8. Outstanding Sourceforge patch - update entrypoint specification to the S9
record (Lego.NET)
9. Outstanding Sourceforge patch - address compatibility issues in
non-Linux/Cygwin environments
10. Outstanding Sourceforge patch - serial port init fix for Mac OS X
11. Mark Riley ( http://news.lugnet.com/org/ca/rtltoronto/?n=14996 ) - LDCC
12. Brown.edu ( http://www.cs.brown.edu/courses/cs148/old/2004fall/brickOS/
and
http://cs.brown.edu/courses/csci1480/old/2005/brickOS/quickstart.html ) -
LNP printf capabilities
13. Mike LeSauvage (
http://tarpit.rmc.ca/mcgaughey/eee243/labs/resources/legoshrink.html ) - LNP
communication utility; made modifications to reuse existing code and added
support for TCP communication (such as used by BrickEmu).  Please note that
I have not been able to test these changes for all platforms.
14. Taiichi Yuasa ( http://xslisp.com/ ) - miscellaneous patches to BrickOS
that are packaged along with xsLisp


I have uploaded this collection of patches to
http://sourceforge.net/tracker2/index.php?func=detail&aid=2601672&group_id=58151&atid=486699


This is by no means an exhaustive inclusion of everything that is out there,
though what remains might require more effort to incorporate.
* Brown.edu also includes "reliable LNP" code
* Powolny had several postings in 2008 on serial communication
* ECU.edu (via archive.org -
http://web.archive.org/web/20070624025341/http://www.cs.ecu.edu/~hochberg/fall2002/brickOS/index.html )
- task prioritization, task scheduling, memory allocation, designate sensor
as real-time
* NCSU.edu ( http://moss.csc.ncsu.edu/~mueller/rt/rt05/readings/g1/ ) -
task scheduling, prioritization, etc.

While probably too large to include in a regular distribution, Olaf Christ's
TCP/IP-enabled RCX is interesting (via archive.org -
http://web.archive.org/web/20040324131317/http://users.informatik.haw-hamburg.de/~christ_o/)


As a side note, several programming languages are available for developing
programs that run on BrickOS.
* XS [Lisp] ( http://www.xslisp.com/ )
* Esterel ( http://www.emn.fr/x-info/lego/ and
http://www.emn.fr/x-info/lego/esterel-tools/ )
* Lustre ( http://www.emn.fr/x-info/lego/ ) - The Lustre compiler is no
longer available at the link given on the Lustre page; it appears you now
have to go through
http://www-verimag.imag.fr/~raymond/tools/lv4-distrib.html to get it.
* Grafcet ( http://www.emn.fr/x-info/lego/ ) In French; doesn't appear to
be any software to download
* Lego.NET ( http://www.dcl.hpi.uni-potsdam.de/research/lego.NET/ ) -
Supports a subset of the Microsoft .NET Framework 2.0

Colibri ( http://opensource.se/colibri/ ) has some API's that could
potentially be incorporated.  "Version 0.1.1 has a reentrant scheduler,
timer functions, advanced semaphores (enhanced POSIX style), interrupt
handling code, some h8 uart code and a small collection of generic data
types."

Then, there is Dr. Hoenick's Bibo ( http://hoenicke.ath.cx/rcx/bibo.html ).
WIth the only real difference from BrickOS being in the task scheduler,
would future development be farther ahead by using Bibo as the starting
point rather then the current BrickOS?


Cheers,
Matthew



Message has 1 Reply:
  Re: BrickOS Patches and Development
 
(...) Case in point: when I first started on this post some weeks(!) ago, hoenicke.ath.cx wasn't responding. (...) And it's not getting easier if we've collected different sets of patches and then make further changes based on those... So yeah, we (...) (15 years ago, 31-Mar-09, to lugnet.robotics.rcx.legos)

29 Messages in This Thread:






Entire Thread on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact
    

Custom Search

©2005 LUGNET. All rights reserved. - hosted by steinbruch.info GbR