-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathCONTRIBUTORS
More file actions
301 lines (237 loc) · 10.8 KB
/
CONTRIBUTORS
File metadata and controls
301 lines (237 loc) · 10.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
brickOS-bibo contributors
=================
V1.0.0
---------
Jochen Hoenicke (hoenicke@users.sourceforge.net)
bibo core designer
Matthew Sheets (mesheets@users.sourceforge.net)
Bug Fix: dkey_wait() and getchar() calls in user programs would lock the brick
Added support for using the system buttons (On-Off, Run) in user programs
Merged patches for BrickOS with Bibo,
including LDCC, lnp_printf, and lnpmsg (formerly LegOShrink)
Host Utilities
- Updated utils to better facilitate using TCP as a tty.
- Enable default tty names for types TCP and USB
~ TCP defaults to localhost:50637
~ USB defaults to /dev/usb/legousbtower0
- Made NCD tty types a runtime option instead of a compile-time #define.
- Reworked firmdl3, dll, and lnpmsg under utils as well as
lnp and lnp-logic in the kernel to facilitate better code reuse,
remove essentially duplicate code, and establish a set of common
functions for rcx_comm and LNP. Merged the resulting code into
util/host, deprecating util/firmld, util/dll-src, and util/fontdesign.c.
- Util dll: made fast mode a runtime option instead of a compile-time #define.
Host Communication
- Added ability to send LNP messages directly from the lnpmsg command line.
- Added ir-server from Jochen Hoenicke's BrickEmu package and used
the code reworked from above to add support for tty downlinking
(e.g. serial, USB, TCP) or TCP uplinking.
Communication
- Changed baud rate, carrier state, and timeout settings from compile-time
defines to run-time options
- Standardized parity for all baud rates to "odd"
- Added support for RCX-based communication that does not echo (e.g. bluetooth hacks)
- Enabled more flexible communication options for downloading firmware
Refactored direct motor code
- Added support motor variables (instead of motor-specific functions)
- Added support for retrieving current speed and direction values
- Added support for reversing motor direction without needing to know current direction.
Configure
- Refactor to suppor for a common CFLAGS
- Update search paths
Refactor "makelx" to "writelx" so that the makelx name can be repurposed
Make and Makefiles
- Remove duplications across Makefiles to simplify
- Update "make install" to better support DESTDIR
- Provide consistent path configuration for both source tree and installation
- Enable configurable kernel naming
- Create a "version series" (first digit of the version number) for include files
~ Includes for legacy brickOS 0.9.0 are "v0"
~ Includes for this version are "v1"
- Enable "multi-kernel" support for working among kernels of differing configurations
~ Is backwards compatible with having the legacy brickOS 0.9.0 kernel installed
as a kernel within the multi-kernel structure
- Enable building/installing/uninstalling just specific parts,
such as lib, kernel, rom, or lib+kernel+demos ("rcx").
- Minimize the hardcoding of absolute paths in the Makefile that gets installed
- For the Makefile for *.lx programs, verify that the needed kernel files exist
- Create a "makelx" script that can be used to build programs without
needing to know how Make or Makefiles work
- Eliminate some of the manual updates needed when adding/removing shared libraries
or when switching between using static linking in the kernel
- Support building programs written in Esterel and XS:Lisp
Programming Languages
- Merged XS:Lisp (based on BrickOS 0.2.6.10) with Bibo.
~ Added support for additional conio functions to XS
- Added support for building Esterel programs if the Esterel compiler is installed
Various updates and refactors to reduce firmware size, including:
- Updated code so that CONF_ASCII can be disabled by default, including:
~ Modified conio to remove the CONF_ASCII dependency from CONF_PROGRAM
- Adding a CONF_EXTENDED_MUSIC configuration so that the pitch2freq array
is only included if absolutely needed, such as for scenarios like
transposing note_t arrays or reducing combined kernel+program size if
the number of note_t element in programs exceed ~100
- Adding a CONF_PRINTF configuration so that *printf() and similar capabilities
(e.g. itoa()) are only included if needed
- Separated out *printf() and similar capabilities (e.g. itoa()) from libc
into a separate libprintf library
Sound and Music (in addition to CONF_EXTENDED_MUSIC above)
- Expanded musical scale note defines
- Added defines for the individual note frequencies
- Added tempo calculation support for sound/music
Added the open source ROM implementation from Jochen Hoenicke's BrickEmu package
Various code cleanups...
Carl Troein (troein@users.sourceforge.net)
Fixed signedness and constness warnings
GCC now calls floatunsisf for ulong-to-float conversion.
Mark Riley (http://home.surewest.net/markril/lego/dcc/)
LDCC - Digital Command Control (DCC) implementation
Taiichi Yuasa (http://www.xslisp.com/)
XS: Lisp on Lego MindStorms
Memtest program and debug code
Martin Richard and Xavier Fornari (http://www.emn.fr/x-info/lego/)
Esterel synchronous programming language
Mike LeSauvage (michael <dot> lesauvage <at> rmc <dot> ca)
Utility for LNP communication (lnpmsg, formerly LegOShrink)
Stephan Höhrmann (http://lnphost.sourceforge.net/)
Hexdump display routine
Brown.edu (http://www.cs.brown.edu/courses/cs148/old/2004fall/brickos.shtml)
lnp_printf
bibo is heavily based on brickOS, written by Markus L. Noga. The following
lists the other contributers of brickOS. I did not check, whether their
contribution is still present in bibo.
brickOS contributors
====================
V0.9.0
---------
Bernardo Dal Seno (dibbe@users.sourceforge.net)
Patch optimizing checksum calcs for LNP (Original work and final cleanup)
Patch fixing race conditions in LNP
Ryan Cumming (bodnar42@users.sourceforge.net)
Rediff of LNP checksum patch against 0.2.5
Zhengrong Zang (mikezang@users.sourceforge.net)
Remote Control & Standard Message Patch
Additional LNP Protocol Description
Ross Crawford (roscohead@users.sourceforge.net)
Remote control patch
Ted Hess (thess@users.sourceforge.net)
Blended the best of each of the Remote Control and
LNP Messaging patches resulting in our current
implementation. Also, LCD status fixes
Joseph Woolley (jawoolley@users.sourceforge.net)
Various kernel/task code and comment changes.
Minor bug fix in mm_try_join.
Added kernel tasks to animate man and show/hide
battery indicator.
Stephen M Moraco (stephen@debian.org)
Rewrite make system to handle installs and
document builds.
Upgrade inline documentation in support of our
always publishing brickOS API docs to our website.
Evgeni Krimer <krimer at tx.technion.ac.il>
Roman Barsky <barsky at cs.technion.ac.il>
(while at Israel Institute of Technology Computer Science Department)
Fixes to lib/float/divsf3: Floating point divide single precision routines
and many people testing and submitting fix requests including (but
not limited to):
Michael Obenland, Joseph Woolley, Max Bowsher, and...
V0.2.6
---------
Hary D. Mahesan (hdmahesa@engmail.uwaterloo.ca)
Patches enabling USB-IR tower support on Windows
Paolo Masetti (paolo.masetti@itlug.org)
Added/Updated Cygwin support (B-20 and 1.x)
Stephen M Moraco (stephen@debian.org)
Small writelx (formerly makelx) c++ fix (ctor/dtor alloc), created manpages for dll(1)
and firmdl3(1), added inline API documentation extractable by Doxygen
and many people testing and submitting fix requests including (but
not limited to):
Michael Obenland, Joseph Woolley, Max Bowsher, Kingsley Gifford,
Mathias N. Kjærgaard, Steve Hassenplug
V0.2.5
---------
Jochen Hoenicke (Jochen.Hoenicke@Informatik.Uni-Oldenburg.DE)
Added VELOCITY_X to do velocity sensing with rotation sensors.
Pat Welch (legOS@mousebrains.com)
Added full blown C++ support, including all sensors.
Stig Neilsson (spiff@rhk.dk)
Extremely thorough kernel documentation.
John Markus Bjorndalen (johnm@cs.uit.no)
Small writelx (formerly makelx) fix for gcc 2.96 (RH 7.0).
V0.2.4
---------
Lars Berntzon <lasse@cecilia-data.se>
Added a missing wrapper to the C++ support.
Luis Villa (luis.villa@duke.edu)
HOWTO (again), lots of very small fixes.
Ross Crawford (rcrawford@csi.com)
Some assembler fixes to finally allow use of gcc 2.95.
Eddie C. Dost (ecd@skynet.be)
Fixed bss alignment bug and improved lcd_refresh()
Paolo Masetti (paolo.masetti@itlug.org)
Assortment of fixes and adds to dll, dsensor.h, firmdl3
and battery.h. More details in NEWS file.
Rossz Vamos-Wentworth (rossz2@home.com)
Work on DJGPP port.
V0.2.3
---------
Frank Cremer <frank@holly.demon.nl>
Better handling of re-sent packets in program downloads.
Martin Cornelius <Martin.Cornelius@t-online.de>
Fixed collision handling in lnp-logical.c.
Initiated a useful sound driver at last.
V0.2.2
---------
Frank Cremer <frank@holly.demon.nl>
Patch to shutdown motor/sensor/networking with the RUN button.
Found typing inconsistency in sensor code.
Reported hanging lnp_logical_write call.
Reported never ending story (rotation sensor problems)
V0.2.1
---------
Sergey Ivanyuk <modemch@eventsdigital.com>
Found ON/OFF button bug in program module.
Dave <froods@alphalink.com.au>
Found naming inconsistency in dsound.h
Kekoa Proudfoot <kekoa@pixel.stanford.edu>
Floating point math
V0.2.0
---------
Mark Falco <falcom@dialogic.com>
Mario Ferrari <mario.ferrari@edis.it>
Rotation sensor fixes
Frank Mueller <mueller@informatik.hu-berlin.de>
Touch sensor values
Kekoa Proudfoot <kekoa@pixel.stanford.edu>
IR carrier setup
Snapshot
---------
Tom Emerson <temerson@spyglass.com>
PDF documentation
Lou Sortman <lou (at) sunsite (dot) unc (dot) edu>
Motor speed patch
Priority chain task model
Luis Villa <liv@duke.edu>
HOWTO
V0.1.7
---------
Lou Sortman <lou (at) sunsite (dot) unc (dot) edu>
Optimized rotation sensor code with compile-time shifts
David Van Wagner <davevw@alumni.cse.ucsc.edu>
Found inconsistencies in conditional defines
Pointed out problems with defines in assembler statements
For an example how to use those correctly, see systime.c
Kekoa Proudfoot <kekoa@graphics.stanford.edu>
Integer math routines.
V0.1.6
---------
Michael Nielsen <mic@daimi.aau.dk>
Fixed sound driver IRQ bug
Chris Dearman <chris@algor.co.uk>
Fixed the ugly volatile problem in the IR code
Eric Habnerfeller <ehaberfe@atitech.ca>
Fixed rotation sensors with window-based approach
V0.1.0
---------
Ben Laurie <ben@algroup.co.uk>
Added Priority-based scheduler