diff --git a/README.txt b/README.txt new file mode 100644 index 0000000..d1a790c --- /dev/null +++ b/README.txt @@ -0,0 +1,264 @@ + nxtOSEK + + Takashi Chikamasa (takashic@users.sourceforge.net) +================================================================================ + +What's new in 2.18 (January 2013) +============================= +- Fixed bugs in PCM sound stream C API and added new functions for PCM sound playback +- Added wavelooptest C sample (see samples_c\wavelooptest) +Special thanks to Eiji Sato who developed the API and the sample originally for ET ROBOCON 2012(http://www.etrobo.jp/2012/) +- Improved stability of NXT BIOS +Special thanks to Koji Shimizu +- Support OSEK COM (see samples_c\comtest or samples_c++\OsekCom) +Note that OSEK COM requires sg2.10.exe in TOPPERS ATK1 (http://www.toppers.jp/atk1-download.html) +Special thanks to Professor Naohiko Shimizu (http://www.ip-arch.jp/) +- Fixed a bug in ecrobot.mak and ecrobot++.mak +Special thanks to Dariusz Antoniuk + +What's new in 2.17 (February 2012) +============================= +- Added ecrobot_exec_NXT_BIOS C/C++ API to be able to execute NXT BIOS from application automatically +(See samples_c\executeNXTBIOS, samples_c++\cpp\ExecNXTBIOS samples) +Note that the new C/C++ API works only when NXT BIOS is used. Otherwise it does nothing +Note that the new C/C++ API requires NXT BIOS 1.04 or later +- Updated NXT BIOS to 1.04 + - Uploaded application is executed after program upload without turn off/on the NXT + - Improved robustness of program upload (I hope) + - Program upload progress bar is replaced with simple "Uploading..." message to reduce IRQ load for LCD updates +Note that the new C/C++ API and the update of NXT BIOS improve usability of NXT BIOS and user can design prefered application upload sequence + +What's new in 2.161 (December 2011) +============================= +- Updated ecrobot C++ API reference generated by doxygen +- Updated ecrobot_base.c to support ARM EABI +Special thanks to Dmitry Prokhorov + +What's new in 2.16 (December 2011) +============================= +- Support HiTechnic DC Motor Controller for TETRIX in C API (See samples_c\tetrix) +Special thanks to Loic Cuvillon to develop the C API and the C sample +- Added installation instructions for Mac OS X (Lion) +Special thanks to Dmitry Prokhorov +- Updated installation instructions for Linux (Ubuntu 11.10) +Special thanks to Lauro Ojeda +- Added samples_c\mathtest sample +- Modified LFLAG in tool_gcc.mak to link ANSI-C math library properly +Special thanks to Paul Besson to report the bug + +- Added NO_RUN_ENTER_STOP_EXIT compile switch macro to enable to suppress initial splash screen and disable RUN/ENTER/STOP/EXIT operations assignment to the NXT buttons +(See samples_c\noRunEnterStopExit, samples_c\noRunEnterStopExitAndBluetooth and samples_c++\cpp\Nxt2 samples) +- Added ecrobot_restart_NXT and ecrobot_shutdown_NXT C API to be able to re-start/shutdown NXT +- Added ecrobot_get_button_state C API and BTN_ORANGE_RECT/BTN_LEFT/BTN_RIGHT/BTN_GRAY_RECT macros to be able to retrieve status of the buttons on the NXT +- Added the above new C API equivalent properties to ecrobot::Nxt C++ class +Note that the above new features allows users to design user orignal interface with the NXT LCD and buttons instead of nxtOSEK default +initial display and RUN/ENTER/STOP/EXIT buttons assignment. It also reduces ROM size about 2 Kbytes. + +What's new in 2.15 (March 2011) +============================= +- Improved and fixed bugs in Bluetooth C/C++ API +1. Removed BT_BUF_SIZE macro in C API and MAX_BT_DATA_LENGTH in C++ API +2. Corrected maximum size of Rx data packet buffer to be 126 (formerely, 254 bytes) for ecrobot_read_bt_packet and related C++ API +3. Fixed bugs in ecrobot_get_device_address, ecrobot_get_device_name and related C++ API +4. [RECOMMENDED TO USE] Added C/C++ API to send/read data without data frame restrictions +Note thath the new C/C++ send/read API are faster and it allows user to fully design data frame structure (extra 2 bytes can be used in +user application) +5. Added C/C++ API to get signal strength (RSSI) +6. Added Bluetooth C/C++ samples + (samples_c\btinfo, samples_c\btecho, samples_c++\cpp\BluetoothInformation, samples_c++\cpp\BluetoothEcho) +Special thanks to Yamaguchi-san + +- Changed the scope range of ecrobot\c\colorsensor.h from global to internal use only +Special thanks to Yamaguchi-san +- Fixed a bug in ecrobot_sound_wav C API and Speaker C++ API +(enable to play WAV files that don't contain 2 byte dummy zeros in the fmt block) +Special thanks to Eric Matsui-san + +What's new in 2.14 (November 2010) +============================= +- Added NXT2.0 Color Sensor C/C++ API (See nxtOSEK\samples_c\nxtcolorsensortest and \nxtOSEK\samples_c++\cpp\NxtColorSensor) +Special thanks to Marcel Hein and Benjamin Bode who developed the APIs +- Added HiTechnic Prototype Sensor C API (See nxtOSEK\samples_c\hitechtest3) +- Improved robustness of NXT BIOS and appflash.exe (upload sequence, check sum and error routines) +Note: If program uproad process was stopped due to some reason (e.g. USB disconnection, data corruption) + Keep pushing EXIT button on the NXT longer than one second to shut down the NXT. +- Fixed a bug in ECRobot C++ API(GyroSensor.setOffset) +- Fixed a bug for ecrobot_device_initialize when application program is re-started + +What's new in 2.13 (May 2010) +============================= +- Added ECRobot RS485 C/C++ API (See samples_c\rs485test and samples_c++\cpp\RS485) +Special thanks to Simone Casale Brunet to develop RS485 API. +- Added ECRobot mindsensors Multiplexer for NXT Motors (See samples_c\nxtmmxtest) +Special thanks to Thanh Pham who develop the API + +What's new in 2.12 (March 2010) +============================= +- sg.exe is removed from nxtOSEK (March 01, 2010) +To keep the terms of Sourceforge.net, I have decided to remove sg.exe (an OSEK OIL parser and code generator) from +nxtOSEK. sg.exe which was included in nxtOSEK is same as sg.exe in TOPPERS/OSEK 1.1 at TOPPERS project where outside of Sourceforge.net. TOPPERS/OSEK 1.1 is available here: http://www.toppers.jp/download.cgi/osek_os-1.1.lzh +osek_os-1.1.lzh is compressed as LZH format and it needs to use a lzh supported file extractor, for example, 7-zip +(http://www.7-zip.org/) which would work in Windows XP/Vista and Linux. +To use sg.exe in osek_os-1.1.lzh for nxtOSEK: + - Extract osek-os-1.1.lzh + - Copy extracted /toppers_osek/sg/sg.exe to nxtOSEK/toppers_osek/sg directory + +- Corrected inconsistent linefeeds (Unix + DOS) in the source files + + Special thanks to Bernhard Merkle + +What's new in 2.11 (January 2010) +============================= +- ECRobot C++ API(I2C devices and Clock) are supported by TOPPERS/JSP(ITRON) + + Special thanks to mai-mai san (http://www.chihayafuru.jp/) +- Corrected PSP-Nx class of ECRobot C++ API to work properly + + Special thanks to Rade to test it patiently +- Added mindsensor NxtCam C API developed by Loic Royer + + Check his cool nxtjohnny5 project: http://code.google.com/p/nxtjohnny5/ +- Added mindsensor NxtCam C++ API (see samples_c++\cpp\Camera) + + Based on Loic's C API (but, never tested because I don't have a NXTCam) +- Added BTConnection C++ API. This is a helper class for Bluetooth connection. + (see samples_c++\cpp\BTConnection) +- Added clearRow member function to Lcd C++ API. +- Refactored and added dynamic gyro sensor offset calibration feature to nxtway_gs++ sample + (see samples_c++\cpp\NXTway_GS++) +- Added NXTway-GS++ based Line Tracing robot (see samples_c++\cpp\NXTway_LT) +- Added Tribot R/C sample (see samples_c++\cpp\TribotRC\) + +What's new in 2.10 (May 2009) +============================= +- Improve ARM7-AVR communication to be more robust (especially effective for TOPPERS/JSP) + + Updated lejos device drivers (the low level stuff has become most stable ever!) + + Note that this change also makes NXT BIOS update to v1.02 +- Refactored ECRobot C++ API + + Added global C++ new/delete overload to reduce memory consumption (ecrobot\c++\util\New.cpp) + * Overloaded new/delete does not have exception handlings and is not thread safe + * Improved linker script for heap memory (ecrobot\c\sam7_ecrobot.lds) + + Changed behavior of Motor.reset() C++ API + * Stop the motor immediately (with brake) even if Motor.setBrake(false) was set + + Unified data type of string parameters to (const) CHAR* in Bluetooth C/C++ API + + Removed unneccessary explicit destructors to reduce memory consumption + + Added explicit keyword to converting constructors to prevent implicitly converted + + Inlined simple forwarded member functions + + Re-ordered class member to public->protected->private +- Fixed a bug in ecrobot_get_sonar C API for supporting multiple sonars + + Special thanks to Iheanyi Umez-Eronini to report and fix the bug +- Fixed a bug in ecrobot_read_bt_packet C API and ECRobot Blutooth C++ API + + Special thanks to EunJin Jeong to report and fix the bug +- Fixed a bug in ecrobot_sound_wav C API and ECRobot Speaker.playWav C++ API + + Special thanks to epokh to report the bug + +What's new in 2.09 (April 2009) +============================= +- Added no C++ RTTI option (fno-rtti) for .cc and .cpp source files +Note that it saved several Kbytes of memory!! +- Added LegoLight class in ECRobot C++ API +- Refactored ECRobot C++ API according to GCC warning options and design patterns +- Fixed bugs in tool_gcc.mak and ecrobot++.mak + +What's new in 2.08 (March 2009) +============================= +- Added ECRobot C++(.cpp) API (./ecrobot\c++) and samples (samples_c++\cpp) +doxygen generated C++ API reference is here: ./ecrobot/c++/html/index.html + +- Added HiTechnic IR Seeker, Color Sensor and Compass Sensor C API +- Added ecrobot_wait_I2C_ready API and fixed bugs in I2C send/receive API +- Added SetRelAlarm API sample (samples\alarmManualTest) + +What's new in 2.07 (February 2009) +============================= +- Added C++ sprite animation API and samples (samples\c++\sprite_*) +Note that C++ sprite animation API and samples are developed by Jon C. Martin +- Added NXT sleep feature. +If there was no operation within 10minutes after starting the system (not application), +NXT is automatically turned off to avoid battery discharge. +- Fixed a bug in ECRobot USB API (ecrobot\nxtusb.c) +- Fixed a bug in Makefile for C++ library (c++\src\Makefile) + +What's new in 2.06 (January 2009) +============================= +- Fixed bugs in nxtcommfantom API (ecrobot\nxtcommfantom) +Note that multiple NXTs connection seem to not work, so the API is restricted for only a NXT. + +What's new in 2.05 (January 2009) +============================= +- Officially supported for Windows Vista (Enhanced NXT firmware and NXT BIOS) +- Updated ECRobot USB C API to be able to communicate with LEGO MINDSTORMS NXT Driver (samples\usbtest, usbhost) +- Updated appflash.exe and NXT BIOS to be able to communicate with LEGO MINDSTORMS NXT Driver +Note that NXT BIOS is updated to v1.01 +- Obsoleted biosflash.exe and replaced with NeXTTool to upload NXT BIOS +- Support for TOPPERS/JSP as an RTOS kernel in addtion to TOPPERS/ATK(OSEK) +Note that TOPPERS/JSP is complied with Japan original open RTOS specification ƒÊITRON 4.0 +Note that nxtOSEK C++ API uses some OSEK APIs, so it can't be used with JSP +Note that porting TOPPERS/JSP to the NXT is done by Monami Software Limited Partnership, JAPAN. +- Refactored makefiles and replaced lejos_osek.tmf with ecrobot.mak +(lejos_osek.tmf is still supported for backward compatibility) +- Refactored NXT button status check routines + +What's new in 2.04 (November 2008) +============================= +- Support for C malloc/free (but not thread safe) +- Support for C++ new/delete, Boost smart pointer (but not thread safe) +Special thanks to Jon C. Martin + +What's new in 2.03 (October 2008) +============================= +- Added NXTway-GS C API(see new NXTway-GS sample) +- Added mindsensors PSPNx C++ API +Special thanks to Jon C. Martin +- Support for multiple HiTechnic Acceleration Sensors on a NXT +- Fixed a bug in ecrobot_RUN_button_pressed/ecrobot_ENTER_button_pressed API +- Added biped robot sample using LATTEBOX NXTe/LSC (via I2C interface API) +- Added LATTEBOX LSC-22 sample +- Removed NXTway-DS sample + +What's new in 2.02 (June 2008) +============================= +- Support for enhanced LEGO standard firmware (see #168 for more detailed information) +Special thanks to Sivan Toredo and John Hansen. +- Added LATTEBOX NXTe RC servo controller sample (see samples/nxte) +Special thanks to Yu Yang san. + +What's new in 2.01 (May 2008) +============================= +- Changed the project name from LEJOS OSEK to nxtOSEK. +This change is not due to legal issue. However, LEJOS(leJOS) sometimes seems to make +people misunderstand LEJOS OSEK as "an alternative Java VM" or "an add-on of leJOS NXJ". +Therefore, we have changed the name, but, it would not affect the backward compatibility +of APIs and existing users applications. +- Support for BMP file format for LCD graphics (see samples/bmptest, anime) +- Support for WAV file format for sound generation. (see samples/wavtest) +- Added USB API (see samples/usbtest) +- Added I2C API +- Support Bluetooth run-time connection (see samples/btmaster, btslave) +- User customizable BMP file based splash screen +- No functionality changes in NXT BIOS (you don't need to update NXT BIOS) + +What's new in 2.00 (April 2008) +=============================== +Until LEJOS OSEK 1.10, LEJOS OSEK program had to be uploaded into SRAM of AT91SAM7S256 +in the NXT due to Flash endurance. This used to be a big restriction of LEJOS OSEK +compared to other NXT firmwares and programming environments. But now... +The new LEJOS OSEK provides: + - Execution of LEJOS OSEK application in Flash/SRAM. + - NXT BIOS supports LEJOS OSEK application flash WITHOUT touching the lock bits of AT91SAM7S. + - 224Kbytes Flash and appx. 50Kbytes SRAM for user application and LEJOS OSEK in Flash. + - New splash screen and main screen with status bar. + - Speed up compilation time by archiving LEJOS OSEK application independent part. + + +Installation and Set up +======================= +Installation and set up for nxtOSEK is here: +http://lejos-osek.sourceforge.net/installation.htm + + +How to upload a program to the NXT +================================== +nxtOSEK application program can be uploaded either Flash or SRAM. +In case of uploading a program into Flash, it needs to upload NXT BIOS +and nxtOSEK application. +http://lejos-osek.sourceforge.net/howtoupload.htm + +and, there are many samples and application videos at nxtOSEK Website. + +Enjoy it! diff --git a/nxtOSEK_v300.zip b/nxtOSEK_v300.zip new file mode 100644 index 0000000..1f51b39 Binary files /dev/null and b/nxtOSEK_v300.zip differ