Subject:
|
Re: BrickOS Patches and Development
|
Newsgroups:
|
lugnet.robotics.rcx.legos
|
Date:
|
Wed, 24 Jun 2009 00:47:03 GMT
|
Viewed:
|
34558 times
|
| |
| |
The Bibo Patch Rollup Collection posted to SourceForge at
http://sourceforge.net/tracker/?func=detail&aid=2773502&group_id=58151&atid=486699
has been updated.
New for this update are patches 25 through 35.
25: Cleanup in the util subdirectory
- Updated lnpmsg to more cleanly handle and process command-line arguments
- Removed in mkimg that is a duplicate of code in srecload
- Updated some Makefile cross targets
26: Updated makefiles
- Changed the existing TOOLPREFIX to CROSSTOOLPREFIX, then used TOOLPREFIX
for the host tools (needed when creating packages that must be targeted to,
for example, a 486 processor)
- Moved some target definitions to Makefile.user, since it is shared by
both Makefile.dist and Bibo's make process. This also reduced Makefile
dependencies across SUBDIRS (util, lib, include, kernel, demo, doc). Some
individual subdirs can now be removed from the SUBDIRS assignment statement
in the main Makefile and the rest of the project will still build
successfully.
- Updates related to util/host, as it seems to be stabilizing. Some items
in util/Makefile.sub have been moved to util/host/Makefile.sub, since the
code now resides there
- Removed the need to set PROGRAMS when building *.lx files. Building %.c
/ %.cpp / %.s / %.S will now look for a make variable by the name of "%_SRC"
to determine if additional object files need to be built.
- Changed the cross-compiler optimization from -O2 to -Os (space)
27: Configuration #defines
- Added a CONF_VIEW_BUTTON define based on Taiichi Yuasa's modification,
allowing exclusion of the information display normally provided when
pressing the RCX View button. The primary reason for adding this
configuration define is enable building a smaller kernel.
- Added a configuration define needed in one of the demo programs in case
CONF_RCX_MESSAGE is not defined.
28: Merged XS Lisp - http://www.xslisp.com/
- A few of the above patches were in preparation for this update
- Was originally based on BrickOS 0.2.6.10
- Is not an addition to the kernel but instead can be used to build *.lx
files that can be downloaded to the RCX. The generated *.lx programs are
large, so a smaller kernel is needed.
- Supports both an IR-link mode and an autonomous mode (IR features were
updated to use rcx_comm)
- Added better support for building from Makefiles
- For the full detail on XS, please see the file xs/README and or visit
the website. Note that information on the website refers to files such as
xs, xs0, xs1, xs2, etc. When merged with Bibo, the numeric suffixes were
replace with more descriptive text, and xs/README reflects this
modification.
- A list of suggested configurations to disable is also included in
xs/README. Any other recommendations or suggestions here would be
appreciated.
29: RCX Communication
- Created a tty struct to replace the existing FILEDESCR and tty_type_t
that get passed around in host-based programs.
- Replaced the fast/slow options in the host utilities with support for
specifying a baud rate at run-time.
30: RCX Communication Timeout for Host Utilities
- Timeout value in milliseconds can now be specified at run-time instead
of being a build-time #define. This is useful when switching between a
low-latency, local IR tower and a TCP connection over the Internet (e.g.
using the uplink and downlink features added to ir-server) with a higher
latency.
31: TTY Device Names
- Added support for interpreting NQC-style port name strings of the format
"<device type>:<device name>". This format was already being used by the
TCP and NQC Bibo additions and was extended to include "serial:" and "usb:".
Backwards compatibility with existing conventions has been maintained.
32: Read Default TTY from a Config File
- Added support for reading the default tty device name from a
configuration file ("~/.rcx/tty.conf"). This essentially fulfills the same
purpose as the RCXTTY environment variable, but without some of the
limitations of environment variables. I am hoping to be able to add this
support to NQC, too.
33: IR Communication and Hacked-on (e.g. Bluetooth) Communication
- Attempted to provide an easier starting point for those using
communication hacks such as the bluetooth hack
~ Ability to set the baud rate
~ Ability to turn of echo handling
- Created configuration #defines to allow setting defaults for
~ Baud rate
~ IR Carrier enabled/disabled
~ Transmit echo/no echo
- Replaced slow/fast (2400/4800 bps) options with the ability to select a
baud rate
- Firmware downloads at 2400 bps can now also be completed without sending
the complement bytes (previously, this option was only available for "fast"
4800 baud)
- Enabled setting the communication timeout value at run-time. This is
useful, for example, when switching between a low-latency serial connection
and a higher-latency TCP-based connection.
- Improved the keepalive functionality for serial IR towers
- Moved help text for standard rcx_comm options to the rcx_comm header
file
** IMPORTANT CHANGE NOTE: Parity for all baud rates is now "odd"
34: Config File Cleanup
- Removed #define entries for configurations that no longer exist
- Removed RCX-only #define entries from the host configuration file
35: Remove CONF_ASCII Dependencies
- Currently, if CONF_PROGRAM is defined CONF_ASCII must also be defined.
This patch reduces the CONF_PROGRAM dependency level from CONF_ASCII to
CONF_CONIO, reducing the size of the kernel needed for program support.
- Created #defines for each of the entries in CONF_ASCII's
ASCII-to-CONIO-mask lookup table
- With those #defines, CONF_ASCII is no longer needed for displaying
static strings. (The small hex lookup table included by CONF_CONIO is still
present there.) Functions that are variants of cputc_native*, cpuc_hex*, or
cputw may be used to write to the display. For example, cputs("Lego") may
now be written as cputc_native_user(CHAR_L, CHAR_e, CHAR_g, CHAR_o). While
it's a little longer statement to type, it does help toward reducing kernel
size. ;-)
- All demo programs were able updated to eliminate the need for
CONF_ASCII.
- For dynamically generated strings, CONF_ASCII will still be required.
XS utilizes CONF_ASCII features for the XS functions that mirror the cputs
andcputc C functions (puts and putc), but due to the large size of XS, this
patch just limits the cputs/cputc functionality if CONF_ASCII is disabled
(puts will output "ASCII" and putc will display a '-' in the specified
position).
Thanks,
Matthew
|
|
Message has 1 Reply: | | Re: BrickOS Patches and Development
|
| The Bibo Patch Rollup Collection posted to SourceForge at (URL) been updated. New for this update are patches 36 through 39. 36: RCX tty config file - Extends patch 32 so that /etc/rcx/device.conf will also be checked for a default tty. The (...) (15 years ago, 26-Jul-09, to lugnet.robotics.rcx.legos)
|
Message is in Reply To:
| | Re: BrickOS Patches and Development
|
| The Bibo Patch Rollup Collection posted to SourceForge at (URL) has been updated. This update adds a handful of patch files--20 through 24. 20: Nice group of Linux error/warning fixes from Carl and posted to SourceForge at (URL) Thanks, Carl! 21: (...) (16 years ago, 24-May-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
This Message and its Replies on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
|
|
|
|