LEGO Mindstorms EV3


Application Versions

This section describes the relative changes from previous version

Version
lms2012_v109D
  1. As v109H but telnet enabled with password "Just a bit off the block!"
Version
lms2012_v109
  1. As v1081 but version changed to 1.09
Version
lms2012_v1081
  1. Telnet disabled
Version
lms2012_v108
  1. Support for edimax added
Version
lms2012_v107
  1. As v1066 but version changed to 1.07
Version
lms2012_v1066
  1. ISSUE 4330 - sub call aliases block local issue UN-fixed
Version
lms2012_v1065
  1. Bluetooth bundle changed to "BA9Q76VTQG" "com.lego.education.ev3"
Version
lms2012_v1064
  1. Bluetooth bundle changed to "BA9Q76VTQG" "com.lego.edu.ev3"
Version
lms2012_v1063
  1. Bluetooth bundle changed
Version
lms2012_v1062
  1. Bluetooth bundle changed for test
Version
lms2012_v1061
  1. "Brick Name" app implemented
Version
lms2012_v106_140502
  1. As v105a but version changed to 1.06
Version
lms2012_v105a_140327
  1. IIC issue with automatic update blocking access fixed in "d_iic.c"
  2. UART protocol escape future issue fixed in "d_uart.c"
Version
lms2012_v105H_140211
  1. As v104x but version changed to 1.05
Version
lms2012_v104x_140206
  1. ISSUE 4330 - sub call aliases block local issue fixed
  2. Number of memory handles rised from 250 to 500 (MAX_HANDLES = 500)
  3. Color sensor mode 4 data checksum issue fixed
Version
lms2012_v104w_140110
  1. Test app "Sensors" changed to use "Modes" instead of "Views" in mode change limit
  2. opINPUT SETUP - IIC third party sensor read/write issue fixed
  3. opINPUT READY_IIC implemented
  4. More documentation about sensor reading (see Third Party Device Design Guidelines )
Version
lms2012_v104v_131205
  1. Release of version 104u for testing
Version
lms2012_v104u_131205
  1. Corrected issue when connecting to several devices using bluetooth (c_bt.c)
  2. opUI_DRAW VALUE bug fixed (negative figures)
  3. opUI_DRAW VIEW_UBIT bug fixed (negative figures)
  4. opINPUT_DEVICE INSERT_TYPE implemented
  5. opINPUT_DEVICE SET_TYPEMODE implemented
  6. Corrected issue if trying to search for BT devices and allready connected to 7 devices
  7. Corrected issue if get remote bluetooth name fails in a bluetooth search
  8. Bluetooth connect is not called if create paired device fails
  9. Bluetooth connection attempt actively rejected if user presses X on the UI
Version
lms2012_v104t_131108
  1. Corrected remote bluetooth name issue
  2. Corrected brick crashing if number of motors diff from 2 in sync'ed motor cmds
  3. Corrected filetransfer between SD cards in bricks - Folder type issue
  4. Corrected filetransfer between SD cards in bricks - Filehandle issue
  5. opFILE CLOSE_LOG changed to free up handle when logging in memory
  6. SD card back key bug fixed
  7. ISSUE 2636 - "Brick Program" app - test for attached sensor
  8. ISSUE 3226 - opMATH MOD8, MOD16, MOD32 zero bug fixed
  9. ISSUE 3492 - opUI_DRAW LINE and RECT hang bug fixed
  10. ISSUE 3565 - Brick Hang with 3rd party sensor bug fixed
  11. Added TIInit_6.6.15.bts to the filesystem to support 1325A version bluetooth
  12. Special exception text added to headers: "lmstypes.h", "lms2012.h" and "bytecodes.h"
  13. opINPUT_DEVICE INSERT_TYPE implemented for test
  14. IIC 3rd party hang and data instability issue fixed
    Version
    lms2012_v104H_130531
  15. Bluetooth transfer folder error fixed in cComCreateBeginDL
  16. First release for AFOL
Version
lms2012_v103H_130528
  1. Reduced tone levels
  2. Corrected kernel source error introduced in v102
Version
lms2012_v102H_130524
  1. Check on characters in filenames
  2. opARRAY WRITE_CONTENT bug with DATA16, DATA32 and DATAF arrays fixed
  3. Scheduling blocked non-reentrant subcalls changed
  4. 3th. party sensor scaling updated
  5. "Brick Program" app stop motor issue fixed
  6. Power down screen when WiFi active issue fixed
  7. Power down LED color set to RED
  8. opFILENAME GET_FOLDERNAME implemented (to execute "rbf" files anywhere)
  9. opSYSTEM implemented (for test purpose only)
  10. opUI_READ GET_LBATT implemented (for motoring battery level in %)
  11. opSTRINGS VALUE_FORMATTED implemented (for formatted value to string output)
  12. opSTRINGS NUMBER_FORMATTED implemented (for formatted number to string output)
  13. SI unit limit on UART sensors removed
  14. opMATH TRUNC changed to round up
  15. E-meter mode "ALL" scaling changed
  16. Bluetooth hinted pairing - bluetooth address only valid once
  17. Bluetooth pairing changed to use dbus call (to enable connecting to some phones)
  18. Fixed motor synced issue, when speed set to 0
  19. Several changes to wifi
  20. Sound tone level adjusted
Version
lms2012_v101H_130204
  1. Live update on datalog is possible on PC when running up to 100 samples per second
  2. opINPUT_DEVICE CAL_MIN and CAL_MAX changes to accept SI units (in DATA32 format)
  3. opPROGRAM_INFO OBJ_START bug fixed
  4. opOBJECT_START bug fixed
  5. Bluetoothd changed to comply with correct reply to SDP_ServiceSearchRequest
  6. l2test added to file system to comply with bluetooth testing
  7. Output check for more that 2 synchronized motors at a time
  8. Enabling bluetooth pscan after pairing only process
Version
lms2012_v100H_121220
  1. WIFI reconnect with TCP is now possible
Version
lms2012_v069_121219
  1. Warnings in display after boot now looks fine
  2. READ_SIZE related to arrays have added NOBREAK
  3. Motor sync going straight backwards could not regulate down issue fixed
  4. UI Browser issues related to download and deleting files fixed
  5. Corrected make_ev3_os.sh to add CVS folder in all apps directories
Version
lms2012_v068_121214
  1. Shut down while user program running issue fixed
  2. Printouts on debug port when connecting/disconnecting USB removed in kernel
  3. SSID Name truncation issue fixed
  4. Valid IP in WIFI changed
Version
lms2012_v067_121207
  1. opARRAY READ_SIZE implemented
  2. Daisy-chain, the motors on the lower layers are not stopped when the program ends - fixed
  3. Daisy-chain, reset on the lower layers when program is started
  4. WiFi shutdown bug fixed
  5. Filesystem inconsistence bug fied
  6. Firmware updated only available through USB
  7. Motor - program end 100mS delay to float implemented
  8. cCom byte codes supports dynamic strings
  9. LIST_FILE handles now allocated from original handle pool
  10. "IR Control" app updated (Sensor in wrong mode bug - fixed)
  11. opARRAY RESIZE is now capable to down size arrays
  12. opARRAY COPY is now capable to down size arrays
  13. BT status updated in UI if changed (by direct command or user program)
  14. WIFI status updated in UI if changed (by direct command or user program)
  15. Download sound issue fixed (waits for completion)
  16. Bumbed on unmounted touch sensor returns 0 (instead of nan)
  17. Sys. command BLUETOOTHPIN can only be set by USB connection
  18. Sys. command CONTINUE_DOWNLOAD returns END_OF_FILE when complete file has been received
  19. Spaces is allowed in WiFi SSID
  20. Sound handle issue fixed (tight loop)
  21. opFILENAME TOTALSIZE - parameter added
  22. opFILE GET_ICON removed
  23. opFILE SET_LOG_SYNC_TIME and GET_LOG_SYNC_TIME implemented
  24. On brick copy limited to folder with maximum 125 files
    Version
    lms2012_v066_121130
  25. Underscore enabled in paskeys and network names
  26. "Brick Program" app - 50mS delay after gyro reset to ensure correct zeroed data
  27. "Brick Datalog" app updated (missing NXT pictures on Color and US sensor)
  28. "Brick Datalog" app removed from UI (unlock code "opFILENAME(UNPACK,'../apps/Brick\ Datalog')")
  29. "Debug" tool removed from UI (avaliable on SDCard)
  30. "Test" tool removed from UI (avaliable on SDCard)
  31. opFILE MOVE changed to remove destination if destination exist
  32. Button implementation changed ("scroll" in all apps)
  33. File download error if insuficient room
  34. Tacho reset if motor pluged/unpluged
  35. Bluetooth visible can be changed when connected
  36. Bluetooth name can be changed when connected
Version
lms2012_v0657_121123
  1. "Brick Datalog" and "Brick Program" app updated (keyboard layout aligned)
  2. "IR Control" app updated (graphics)
  3. Stable time for connecting output devices changed to 350mS
  4. File permissions changed
  5. Rechargeable levels around power management - changed
  6. "WiFi" app updated (on/off checked, no search when off)
  7. Four layer daisy chain implemented
  8. "printf" bug in VM - fixed
Version
lms2012_v065_121116
  1. Kernel modules updated with zeroed shared memory
  2. Light around buttons numbering changed (back to V0.62)
  3. Virtual temperature rise shutdown implemented
  4. opARRAY READ_CONTENT and WRITE_CONTENT implemented
  5. Default sleep time changed to 30 minuttes
  6. "Brick Datalog" app updated (keep alive when logging)
  7. "Brick Program" app updated (default sensor color = black, back button skips canvas bug fixed)
  8. SD card recognised also at boot time
Version
lms2012_v064_121106
  1. EnergyMeter mode change stabilized and change time lowered to 100mS
  2. Datalogging, Same value is being saved for each logging - bug fixed
  3. opINPUT_DEVICE SETUP - bug fixed (support for 3th. party IIC sensors)
  4. UI update after download - fixed
  5. opUI_DRAW BMPFILE clip bug fixed
  6. Sleep power down shows now the power down screen
  7. Low voltage power down fixed
  8. Unsupported files will not be shown in the UI
  9. Cannot Cancel on BT "Connect?" screen - bug - fixed
  10. Max number of files/folders per level rised to 128
  11. opUI_WRITE DOWNLOAD_END implemented (send from PC when download is completed)
Version
lms2012_v063_121030
  1. Missing app icon bug fixed
  2. Orange and red LED light swapped bug fixed
  3. Download of App DO NOT require adding an icon (default implemented)
  4. SD card size bug fixed
  5. Timing, running a program using time get corrupted after XX min - bug fixed
  6. IIC sensor bug fixed
  7. Support for EnergiMeter implemented (sensor type 99)
  8. Ram test byte code implemented
  9. Bug fixing around motor commands
  10. Mode 2 bug fixing
  11. Daisy chain sensor mode bug fixed
  12. USB starving fixed
  13. Only fraction of file downloaded - bug - fixed
  14. Program validate accept nan/inf as floating point constants
Version
lms2012_v062_121012
  1. Graphics updated
  2. opFILE OPEN_APPEND bug fixed
  3. UART sensor detection changed
  4. Gyro turntable test program implemented (time from calibrate to read value = 2.2 Second)
  5. Light around buttons numbering changed
  6. USB icon implemented
  7. 0.5 second delay at program end (to help stop motors)
  8. Long Filenames => Gives an error but creates a folder - bug fixed
  9. Upper and lower numbering used for light around buttons - changed
  10. SD_Card changed to use link
  11. UART write changed
  12. Sound level 0 = silence
Version
lms2012_v061_120928
  1. UART sensor error reset implemented (sensors before EP2 may not function propperly)
  2. MAX_HANDLES to arrays in one program increased to 250
  3. Fast datalog file handle bug fixed
  4. opFILE LOAD_PICTURE removed (use UI_DRAW BMPFILE as replacement)
  5. opFILE GET_IMAGE removed
  6. opFILE UNLOAD removed
  7. opSTRINGS SUB implemented
  8. opSTRINGS VALUE_TO_STRING changed to return maximal 4 dashes in case of "nan"
  9. Key click sound implemented
  10. Startup and power down sounds implemented
  11. opMEMORY_USAGE changed to return memory total and memory free [KB]
  12. Direct command reply bug fixed
  13. EOF on datalog files implemented
  14. Message box array support implemented
  15. BT disconnect ingoing connection if outgoing connection is establissed
  16. Running synced motors and interrupt with single motor command floats both motors before executing new command
  17. Sound noise removed
Version
lms2012_v060_120917
  1. Linux prompt bug fixed (no prompt when exitting debugger)
  2. Display update limitted to 10 frames per second
  3. "Ui" updated (handles text files in browser)
  4. opINPUT_DEVICE CAL_MIN, CAL_MAX bug fixed (init min and max first time)
  5. LED orange light when warning active - implemented (voltage, current, memory, busy)
  6. opUI_WRITE SET_BUSY implemented (1 makes LEDs orange and 0 makes LEDs normal again)
  7. "WiFi" app updated (busy makes LEDs orange)
  8. "Blutooth" app updated (busy makes LEDs orange)
  9. "Ui" updated (refreshes so it not always jumps to first folder)
  10. opTST TST_ACCU_SWITCH implemented
  11. opFILENAME CHECK implemented
  12. opUI_READ GET_SDCARD implemented
  13. opUI_READ GET_USBSTICK implemented but disabled
  14. opSTRINGS VALUE_TO_STRING changed to insert dashed ("-----") instead of "nan"
  15. Number of file handles for system commands changed to 64
  16. Boot time reduced to 30 seconds
Version
lms2012_v059_120830
  1. SD card folder copy implemented (popup for overwrite and media full)
  2. USB stick folder copy implemented (popup for overwrite and media full)
  3. NXT temperature logging bug fixed
  4. opFILENAME EXIST, TOTALSIZE, SPLIT, MERGE implemented
  5. opTST TST_OPEN, TST_CLOSE, TST_READ_PINS, TST_WRITE_PINS implemented
  6. opTST TST_READ_ADC, TST_WRITE_UART, TST_READ_UART implemented
  7. opFILE OPEN_LOG alwayes append if filename exist (delete file first if append not needed)
  8. opFILE CLOSE_LOG append 8 times 0xFF at the end of the log file when closed
  9. opFILE GET_LOG_NAME implemented
  10. opNOTE_TO_FREQ implemented (documentation under "Byte Codes"/"VM")
  11. NXT sound sensor detection bug fixed
  12. "Test" app updated (display test)
  13. "Bluetooth" app updated (mode 2)
  14. "Port View" app updated (NXT color and ultrasonic sensor picture)
  15. "Brick Program" updated (IR remote bug fixed)
Version
lms2012_v0581_120822
  1. Daisy chain mode change bug fixed
  2. NXT ultrasonic missing 9V fixed
  3. opINPUT_DEVICE CLR_ALL bug fixed
  4. Bluetooth connect issue fixed (firmware image scribt changed)
  5. "Motor Control" app changed (graphics and functionality)
  6. "IR Control" app implemented
  7. "Brick Program" app changed (open and save icons flipped)
  8. opINPUT_DEVICE GET_CHANGES and GET_BUMPS is removed (will not work daisy chaned)
  9. TOUCH sensors have a new mode 1 called "BUMPS" (will work daisy chained)
  10. opPORT_CNV_OUTPUT implemented
  11. opPORT_CNV_INPUT implemented
Version
lms2012_v057_120816
  1. "Black layer buffering" bug fixed and enabled again
  2. opINPUT_DEVICE CLR_ALL implemented
  3. opINPUT_DEVICE SETUP implemented
  4. NXT light sensor mode 0 changed to NXT-REFLECT
  5. NXT light sensor mode 1 changed to NXT-AMBIENT
  6. NXT color sensor mode 0 changed to NXT-COL-REF
  7. NXT color sensor mode 2 changed to NXT-COL-COL
  8. opINPUT_DEVICE READY_XX do not wait if port is OPEN
  9. Low memory indication implementation started
  10. O_SYNC removed from file open
  11. ON BRICK BUTTONS REMAPPED NOT BACKWARD COMPATIBLE
  12. WiFi splitted transfer stabilized
  13. Daisy chain supports one slave (motor ready/test is not supported yet)
Version
lms2012_v056_120807
  1. "Black layer buffering" disabled
  2. Internal use only: simple "C-call way" of executing byte code streams - implemented
  3. opINPUT_DEVICE CLR_ALL implemented (only placeholder - not functioning)
  4. WiFi reconnection on TPC connection
  5. WiFi menu lock up bug fixed
  6. 3th party IIC sensors are named "IIC-SENSOR"
Version
lms2012_v055_120718
  1. Fixed bug in CONTINUE_GETFILE
  2. Implementation of iDevice interface started (Added c_i2c.c and c_i2c.h)
Version
lms2012_v054_120712
  1. Fast datalog (black layer buffering and optimization) on IIC implemented
  2. Third party device support implemented (HW buffer on IIC clock)
  3. Error reply on direct commands implemented
  4. PRU UART bitrate adjusted
  5. Integrated current shutdown implementation started
  6. Start of faulty program handled by showing an error popup
  7. opMATH changed from radians to degrees
  8. Button mapping implemented (not active yet)
  9. opUI_READ BUTTON0 - opBUTTON5 removed (use opUI_BUTTON SHORTPRESS instead)
  10. opMEMORY_USAGE implemented
  11. MD5 SUM and filesize added to LIST_FILES and CONTINUE_LIST_FILES system commands
Version
lms2012_v053_120628 (EP2)
  1. Dynamic hardware adaptation implemented (from FINALB V0.30 hardware)
  2. opINPUT_SAMPLE changed to support dynamic output array
  3. opARRAY_APPEND implemented
  4. opSTRINGS VALUE_TO_STRING changed to strib trailing zeroes
  5. Validation bug on handles fixed
  6. Daisy chain support implemented
  7. Fast datalog (black layer buffering and optimization) on UART and analog implemented
Version
lms2012_v052_120620
  1. Fast datalog (black layer buffering and optimization) implementation started
  2. opSTRINGS VALUE_TO_STRING bug fixed
  3. opUI_DRAW FILLCIRCLE algorithm changed
  4. opUI_BUTTON GET_BUMBED implemented
  5. opINPUT_SAMPLE implemented (read buffered device values) (see Example)
  6. opFILE WRITE_LOG last two parameters removed and 4th. parameter changed encoding to "handle"
  7. opUI_WRITE GRAPH_SETUP last five parameters changed encoding to "handle"
  8. opFILE WRITE_LOG writes scrambled values (4 bytes floatingpoint) NOT ASCII characters in the file
Version
lms2012_v051_120604
  1. "Brick Program" app graphics updated
  2. Daisy chain support implementation started
  3. IIC sensor support implemented
  4. Debug console bug fixed
  5. opSTRINGS VALUE_TO_STRING changed to accept left adjusted result
  6. opTST byte codes implementation started
  7. WiFi TKIP/AES implemented
Version
lms2012_v050_120511
  1. NEW KERNEL AND FILESYSTEM REQUERED
  2. UART sensor module updated
  3. Mini tacho motor regulation updated
  4. opINPUT_DEVICE GET_BUMPS implemented (read negative changes on a device)
  5. "Brick Program" app updated
  6. opFILE GET_HANDLE has changed parameters (open for write flag implemented)
  7. opUI_DRAW CLEAN removed (use opUI_DRAW FILLWINDOW,0,0,0)
  8. opKEEP_ALIVE implemented (see opKEEP_ALIVE)
  9. ISSUE 239 - LED flashing changed to 250mS on / 250mS off
  10. ISSUE 42 - "Motor Control" app IR seeker port changed to 4
  11. opSOUND REPEAT implemented
  12. WiFi enabled
Version
lms2012_v049_120413
  1. opUI_DRAW ERASE_WINDOW removed
  2. opUI_DRAW FILLWINDOW implemented (can replace ERASE_WINDOW with the right parameters)
  3. opFILE SAVE_IMAGE removed
  4. opFILE LOAD_SOUND removed
  5. "Brick Program" app updated
  6. opFILE OPEN_APPEND implemented (open for write to end of file)
  7. opFILE GET_HANDLE implemented (get filehandle from open file by filename)
Version
lms2012_v048_120330
  1. ISSUE 15 - Download and run can't stop program - bug fixed
  2. ISSUE 56 - UI buttons are active while program is running - bug fixed
  3. ISSUE 93 - Button light pattern on P-Brick - bug fixed
  4. opPROGRAM_START used in a direct command do nothing if USER_SLOT or DEBUG_SLOT is running
  5. Topline update enable when user program stops
  6. A/D converter is running SPI (not bitbanging)
  7. Uart interrupt on port 1 implemented (not used yet)
  8. Bluetooth authentication implemented
  9. Bluetooth hinted pairing implemented
Version
lms2012_v047_120323
  1. ISSUE 6 - "Motor Control" app react on wrong channel - bug fixed
  2. ISSUE 17 - Motor run unlimitted preformance - bug fixed
  3. ISSUE 49 - Motor stop and brake - bug fixed
  4. Not able to stop user program - bug fixed
  5. Crash when trying to execute program with long (>51 chararcter) name - bug fixed
  6. "Brick Program" app sound retrig crashes - bug fixed
  7. Old NXT color sensor implementation started
Version
lms2012_v046_120316
  1. "Brick Program" app : exit canvas when program saved bug fixed
  2. Wrong bytecode version resets sensor in port 1 bug fixed
  3. "Brick Program" app : no wait for sound finished implemented
  4. opSTRING_TO_VALUE accept commas
Version
lms2012_v045_120312
  1. UART sensor port 3 and 4 bug fixed
  2. Graphics minor issues fixed
  3. "Port View" app : error graphics for wrong connected devices
  4. "Port View" app : bar has center for signed value devices
  5. "Brick Program" app : angle and encoder sensors made relative
  6. "Brick Program" app : canvas full experience bug fixed
  7. "General navigation" file transfer to bluetooth implemented
Version
lms2012_v044_120302
  1. General navigation - WiFi - implementation started
  2. UI changed to also stop user programs started from direct commands
  3. INPUT_DEVICE READY_xxx changed to not force change task
  4. opOBJECT_TRIG and opOBJECT_WAIT changed to not force change task
  5. "Brick Program app" bug fix (run and save file no posible)
  6. "Brick Datalog app" bug fix (save file no posible)
  7. "Brick Program app" bug fix (max block issue)
  8. General navigation - folder order fixed
  9. On Brick Programs has changed extension from ".rbf" to ".rpf"
  10. opMATH MOD8, MOD16, MOD32 implemented
  11. "Details" app changed name to "Brick Info"
  12. opARRAY SIZE implemented
  13. opMATH POW implemented
  14. opINPUT_DEVICE CAL_MIN and CAL_MAX implemented
  15. NXT devices got their name back
  16. Output devices can be read equal to input devices (see Example)
  17. Messaging implemented
Version
lms2012_v043_120210 (EP1)
  1. opUI_STORE and opUI_RESTORE had one parameter added (to expand the window levels)
  2. opUI_DRAW BMPFILE and PICTURE graphic bug (when drawing aligned bitmaps) fixed
  3. opUI_DRAW KEYBOARD parameter has been added (Icon)
  4. opUI_DRAW VERTBAR implemented
  5. System specific defines are made visible for byte code assembler
  6. Non volatile setting files are moved to a specific folder called "../sys/settings/"
  7. "Program app" (without test area) finished (development stopped)
  8. "Play Recent" items will disappear when deleted in "File Navigation" - implemented
  9. General navigation - Bluetooth - implementation started
  10. opINFO GET_ID removed
  11. opCOM_GET GET_ID implemented
  12. opUI_DRAW KEYBOARD some characters disabled (characters invalid in filenames)
  13. opUI_WRITE LED has changed functionality and number of parameters
  14. Bluetooth commands implemented (see "Byte Codes" - "Communication")
  15. App names changed to "General Navigation: Flow (30JAN)" concept
  16. "Program" app changed name to "Brick Program"
  17. "Datalog" app changed name to "Brick Datalog"
  18. "Remote" app changed name to "Motor Control"
  19. "View" app changed name to "Port View"
Version
lms2012_v042_120120
  1. opINPUT_DEVICE GET_MINMAX implemented
  2. opINPUT_DEVICE CMD parameter moved to start (first parameter)
  3. Low voltage shut down changed (delay before user program stop / motor off)
  4. opUI_BUTTON TESTSHORTPRESS and TESTLONGPRESS implemented
  5. opUI_DRAW GRAPH_SETUP and GRAPH_DRAW implemented
  6. opUI_WRITE GRAPH_SAMPLE implemented
  7. opFILE OPEN_LOG implemented (OPEN_LOG example)
  8. opFILE WRITE_LOG changed (WRITE_LOG example)
  9. opFILE CLOSE_LOG implemented (CLOSE_LOG example)
  10. opFILE REMOVE implemented
  11. opFILE MOVE implemented
  12. opUI_BUTTON supports ANY_BUTTON
  13. opUI_DRAW support TINY_FONT
  14. opUI_DRAW APPSELECT removed (see opUI_DRAW BROWSE)
  15. opUI_DRAW PRJSELECT removed (see opUI_DRAW BROWSE)
  16. opUI_DRAW CACHESELECT removed (see opUI_DRAW BROWSE)
  17. opUI_DRAW BROWSE implemented
  18. opUI_BUTTON PRESSED bug fixed
  19. opRL32 bug fixed
  20. UART sensor READY/BUSY bug fixed
  21. Repeate on arrow buttons implemented
  22. opARRAY COPY implemented
  23. opFILE WRITE_TEXT no of parameters changed (DEL added)
  24. opFILE READ_TEXT no of parameters changed (DEL added)
  25. opFILE WRITE_VALUE no of parameters changed (DEL added)
  26. opFILE READ_VALUE no of parameters changed (DEL added)
  27. opINPUT_DEVICE CAL_MINMAX implemented (CAL_MINMAX example)
  28. opINPUT_DEVICE CAL_DEFAULT implemented (CAL_DEFAULT example)
  29. opINPUT_TEST has changed byte code number (to the one opINPUT_GET_TYPE had)
  30. opINPUT_GET_TYPE is removed (see below)
  31. opINPUT_DEVICE GET_TYPEMODE implemented
  32. Datalog app implemented
  33. Motor Control app implemented
  34. Following byte codes are updated to support dynamic string handles
Version
lms2012_v041_111209
  1. opSINF, opCOSF, opTANF, opASINF, opACOSF, opATANF removed (see below)
  2. opMATH SIN, COS, TAN, ASIN, ACOS, ATAN implemented
  3. opMATH EXP, MOD, FLOOR, CEIL, ROUND, ABS, NEGATE, SQRT, LOG and LN implemented
  4. opRL8, opRL16, opRL32 implemented
  5. Delete files from the UI implemented
  6. High temperature motor shut off implemented
  7. Low voltage shut down implemented
  8. UI readout with kernel version and build implemented
Version
lms2012_v040_111201
  1. OPB support for file load and save implemented
  2. Overall run screen implemented
  3. opINFO GET_STATUS number of parameters has changed
  4. Weird Error - DATA8 parameter don't like variables above address 127 - fixed
  5. Debug app updated
  6. opTIMER_READ changed to return milliseconds from byte code program start
  7. SUBCALLs optimized
  8. opMOVE32_16 writes to 4 bytes bug - fixed
Version
lms2012_v039_111121
  1. Delete project (folder) from the UI implemented
  2. opINPUT_WRITE make device not ready until new data arrive
  3. opINPUT_DEVICE GET_CHANGES and CLR_CHANGES implemented on input
  4. opINPUT_DEVICE READY_PCT, READY_RAW and READY_SI implemented on input
  5. Close open files when user (all) program stops implemented
  6. Debugger will start user programs in user slot (1) like the UI
  7. Direct command breaks running program bug fixed
  8. Message counter in communication implemented
  9. opUI_BUTTON SET_BACK_BLOCK and GET_BACK_BLOCK implemented
  10. opUI_DRAW BMPFILE implemented
  11. opUI_BUTTON(FLUSH) does not flush LONGPRESS
  12. opFILE OPEN_READ - SIZE parameter added
  13. On Brick Programming app started (motor, color, wait blocks implemented)
  14. Motors must come to complete stop when brake parameter is set fixed
Version
lms2012_v038_111104
  1. opPROGRAM_INFO OBJ_START bug fixed (delayed program start)
  2. opOutput_RESET should be used to clear tacho and timer upon program start
  3. opOUTPUT_CLR_COUNT 10mS tacho clear bug fixed
  4. IR Seeker (doc error around DATA_SI)
Version
lms2012_v037_111027
  1. opINPUT_DEVICE SET_RAW implemented
  2. opUI_DRAW VIEW_UNIT implemented
  3. opSTRINGS VALUE_TO_STRING implemented
  4. opSTRINGS STRING_TO_VALUE implemented
  5. opUI_READ GET_HW_VERS implemented
  6. opUI_READ GET_FW_VERS implemented
  7. opUI_READ GET_FW_BUILD implemented
  8. opUI_DRAW FILLCIRCLE implemented
  9. opRANDOM implemented
  10. opUI_BUTTON PRESSED implemented
  11. opFILE CLOSE changed to opFILE UNLOAD
  12. opFILE OPEN_WRITE, OPEN_READ, CLOSE, REMOVE implemented
  13. opFILE WRITE_TEXT, READ_TEXT implemented
  14. opFILE WRITE_VALUE, READ_VALUE implemented
  15. opFILE WRITE_BYTES, READ_BYTES implemented
  16. opINPUT_DEVICE GET_FIGURES implemented
  17. opARRAY INIT8, INIT16, INIT32, INITF implemented
  18. "View" app implemented
  19. Figures and Decimals added to type datas (controls readout in view and datalog)
  20. opUI_DRAW NOTIFICATION changed (last parameter removed)
  21. opUI_DRAW APPSELECT changed (STATUS parameter removed)
  22. opUI_DRAW PRJSELECT changed (STATUS parameter removed)
  23. opUI_DRAW CACHESELECT changed (STATUS parameter removed)
  24. opINPUT_DEVICE GET_FORMAT has changed number of parameters to contain "views"
  25. opPROGRAM_STOP changed to accept CURRENT_SLOT
  26. opUI_DRAW KEYBOARD changed
  27. opUI_BUTTON WAIT_FOR_PRESS bug fixed (destroyed actually button press)
  28. Array handle type changed to 16 bit (DATA16)
  29. New ID for "NEW TACHO MOTOR" implemented
  30. opINIT_BYTES has changed parameter types to "encoded" ones
  31. opPROGRAM_START has a possibility to load but not start the program (see Example)
  32. Reentrant subcall validation bug - fixed
  33. USB IDs changed
  34. BEGIN_UPLOAD, CONTINUE_UPLOAD, BEGIN_GETFILE, CONTINUE_GETFILE, LIST_FILES added to communication (see Example)
    Version
    lms2012_v036_110928
  35. File browser changed opUI_DRAW CACHESELECT, APPSELECT, PRJSELECT changed
  36. opFILE has changed numeric value from 0xB0 to 0xC0 (to make room for more motor commands)
  37. opARRAY has changed numeric value from 0xB1 to 0xC1 (to make room for more motor commands)
  38. opARRAY_WRITE has changed numeric value from 0xB2 to 0xC2 (to make room for more motor commands)
  39. opARRAY_READ has changed numeric value from 0xB3 to 0xC3 (to make room for more motor commands)
  40. Some "Pratical Stuff" updated in buildin documentation
  41. opUI_DRAW VALUE changed to fit "View" app (negative sign, "nan" -> "----")
  42. Array bug when using handles for system calls fixed
  43. opUI_DRAW VIEW_VALUE implemented
  44. Large font implemented
  45. opOUTPUT_CLR_COUNT and opOUTPUT_GET_COUNT implemented
  46. opOUTPUT_STEP_SYNC and opOUTPUT_TIME_SYNC implementation started
Version
lms2012_v035_110909
  1. PrimParPointer changed so array handles can be converted to pointers (for array refference)
  2. Only first VMTHREAD is started when program is loaded
  3. Normal, small, large icon implemented
  4. Normal, small font implemented
  5. Large font implementation started
  6. Validation of variable alignment implemented
  7. opINFO GET_VOLUME, SET_VOLUME, GET_MINUTES, SET_MINUTES, GET_INCH implementation started
  8. opINFO SET_INCH, GET_FAHRENHEIT, SET_FAHRENHEIT implementation started
  9. opINFO SET_ERROR added
  10. opINFO GET_ERROR added
  11. opINFO ERRORTEXT added
  12. opFILE GET_CACHE_PRJ_NAME, PUT_CACHE_PRJ_NAME, DEL_CACHE_PRJ_NAME, GET_CACHE_PRJS removed
  13. opFILE GET_CACHE_FILE, PUT_CACHE_FILE, DEL_CACHE_FILE, GET_CACHE_FILES added
  14. opFILE GET_CACHE_NAME added
  15. opUI_DRAW DOTLINE added (only vertical and horisontal supported)
  16. opUI_DRAW SELECT_FONT added
  17. opUI_DRAW ERASE_WINDOW added
  18. opUI_DRAW CACHESELECT added
  19. opUI_DRAW TOPLINE added
  20. opUI_LF removed (changed to opUI_BUTTON) (use opUI_WRITE,LC0(PUT_STRING),LCS,'','n',0)
  21. opUI_BUTTON added
  22. opUI_WRITE BUTTON_FLUSH has been replaced by opUI_BUTTON FLUSH
  23. opUI_READ BUTTON_READY has been replaced by opUI_BUTTON WAIT_FOR_PRESS
  24. opUI_BUTTON SHORTPRESS added
  25. opUI_BUTTON LONGPRESS added
  26. opUI_BUTTON PRESS added
  27. opUI_BUTTON RELEASE added
  28. opUI_READ BUTTON0, BUTTON1, BUTTON2, BUTTON3, BUTTON4, BUTTON5 will be removed in V0.36
Version
lms2012_v034_110822
  1. End of direct commands does not float motors
  2. Validation of byte code programs has changed to be more restricteded
  3. Version in image headers is tested against "BYTECODE_VERSION" from "bytecodes.h"
  4. Validation and disassembly has been separated
  5. lms2012.h header has been separated into lms2012.h, lmstypes.h, bytecodes.h
  6. bytecodes.c has been added and hold byte code description tables used for validation
  7. DATA_PCT and DATA_SI has changed value
  8. opPROGRAM changed name to opPROGRAM_INFO
  9. opINIT_BYTES parameter 1 and 2 has changed
  10. opUI_READ POWER has changed
  11. opUI_READ VERSION has changed
  12. opUI_WRITE VERSION has changed
  13. opUI_WRITE POWER has changed
  14. opINPUT_DEVICE has changed
  15. opINIT_BYTES has changed
  16. opSWITCH has been removed
  17. User interface flowcart added to documentation Apps
  18. Hardware schematics added to documentation schematics
  19. opUI_DRAW NOTIFICATION implemented
  20. opUI_DRAW QUESTION implemented
  21. opUI_DRAW KEYBOARD implemented
  22. opUI_DRAW INVERSERECT implemented
  23. opUI_DRAW APPSELECT implementation started
  24. opUI_DRAW PRJSELECT implementation started
  25. opSOUND PLAY parameter 3 changed to filename
  26. opUI_WRITE STRING changed to opUI_WRITE PUT_STRING
  27. opSTRING changed to opSTRINGS
Version
lms2012_v033_110728
  1. opMEMORY_WRITE implemented to write to different memory types in VM space (see Example)
  2. opSTRING ADD, COMPARE and DUPLICATE is implemented (see Example)
  3. String parameters for SUBCALLS (see Info)
  4. opOUTPUT_TEST number of parameters changes (see opOUTPUT_TEST)
Version
lms2012_v032_110623
  1. opUI_WRITE SET_TESTPIN implemented
  2. opINPUT_TEST implemented
  3. opINPUT_READY implemented
  4. opSOUND TONE implemented
  5. opSOUND PLAY implemented (volume not working yet)
  6. opSOUND BREAK implemented
  7. opSOUND_TEST implemented
  8. opSOUND_READY implemented
Version
lms2012_v031_110616
  1. Hardware platform "FINAL" implementation started
  2. Sound implementation started
  3. UART sensor bug fixed
  4. Read UART sensor returns "nan" if sensor not ready
Version
lms2012_v030_110609
  1. opUI_READ GET_IMAGE removed
  2. opFILE GET_PRJS, GET_APPS and GET_TOOLS removed
  3. opFILE GET_PRJ_NAME, GET_APP_NAME and GET_TOOL_NAME removed
  4. opFILE GET_PRJ_ICON, GET_APP_ICON and GET_TOOL_ICON removed
  5. opFILE GET_PRJ_IMAGE, GET_APP_IMAGE and GET_TOOL_IMAGE removed

  6. System command reply bug fixed
  7. All 128x178 pixels used on the display
  8. No terminal output as default (activate by running "Debug" app)
  9. ALL folders are relative to "~/lms2012/sys" (where the application executable reside)
  10. opINPUT_WRITE implemented (only works on UART device)
  11. opINPUT_DEVICE GET_SYMBOL implemented
  12. opFILE GET_ITEM implemented
  13. opFILE GET_CACHE_PRJS implemented
  14. opFILE PUT_CACHE_PRJ_NAME implemented
  15. opFILE GET_CACHE_PRJ_NAME implemented
  16. opFILE DEL_CACHE_PRJ_NAME implemented
  17. opFILE GET_FOLDERS implemented
  18. opFILE GET_SUBFOLDER_NAME implemented
  19. opFILE GET_ICON implemented
  20. opFILE GET_IMAGE implemented
  21. opFILE DEL_SUBFOLDER implemented

  22. GUI addition: startup folder contains latest projects runned
  23. GUI addition: delete total project
  24. GUI addition: Debug app activates terminal output
Version
lms2012_v029_110513
  1. opUI_READ BUTTON_READY implemented
  2. opUI_WRITE BUTTON_FLUSH implemented
  3. No need for poll on USB
  4. Reply/no reply implemented on USB
Version
lms2012_v028_110509
  1. Application folder structure changed (see Folder Structure)
  2. Bytecode file extension must be ".rbf"
  3. Graphics file extension must be ".rgf"
  4. Sound file extension must be ".rsf"
  5. System command "Begin Download" creates folders acording to file path relative to "~/lms2012/"
Version
lms2012_v027_110428
  1. Device type alignmet started
  2. UART device communition change started
  3. opARRAY_WRITE and opARRAY_READ bug fixed
  4. SUBCALL IN/OUT parameter bug fixed
  5. opINPUT_READ, opINPUT_READSI and opINPUT_READEXT: MODE parameter added
  6. opINPUT_DEVICE GET_FORMAT: MODES parameter added
  7. opFILE GET_PRJS, GET_APPS and GET_TOOLS implemented
  8. opFILE GET_PRJ_NAME, GET_APP_NAME and GET_TOOL_NAME implemented
  9. opFILE GET_PRJ_ICON, GET_APP_ICON and GET_TOOL_ICON implemented
  10. opFILE GET_PRJ_IMAGE, GET_APP_IMAGE and GET_TOOL_IMAGE implemented
  11. opUI_READ GET_HORZ implemented
  12. opUI_READ GET_VERT implemented
  13. opUI_DRAW FILLRECT implemented
  14. opINFO GET_ID implemented
  15. Application folder structure changed (see Folder Structure)
  16. opTIMER_READ implemented
Version
lms2012_v026_110405
  1. Input port 1 and 2 works now with Uart sensors (see Terminal Configuration)
  2. opARRAY CREATE8, CREATE16, CREATE32, CREATEF implemented
  3. opARRAY DELETE, FILL, RESIZE implemented
  4. opARRAY_WRITE and opARRAY_WRITE implemented
Version
lms2012_v025_110330
  1. USB communication support protocol from "Communication spec.docx"
  2. Userspace memory allocation centralized in "c_memory" (kernelspace is local)
  3. opINPUT_DEVICE GET_FORMAT added
  4. BLOCKS local variable bug fixed
Version
lms2012_v024_110325
  1. procedure for formatting and copying SC cards added in documentation
  2. SUBCALL mutex bug fixed ("motorsCrash" program runs)
  3. opINPUT_READEXT implemented (see doc)
  4. support for more data sets added (c_input and d_uart)
  5. device type tabel content has changed
Version
lms2012_v023_110307
  1. linux prompt controlled by firmware started
  2. opMEMORY_READ implemented to read different memory types from VM space (see Example)
  3. opDO: PRGID parameter added
  4. opUI_READ,CODE: LENGTH parameter type changed
  5. opCOM_READ,CODE: LENGTH parameter type changed, SIZE parameter removed
  6. opFILE,LOAD_PICTURE: PRGID parameter removed
  7. opFILE,GET_POOL added
  8. opFILE,CLOSE added - used to close files opened by LOAD_PICTURE and GET_POOL
  9. Direct commands are treaded as small programs able to run in parallel with user programs
  10. SUBCALLs protected by mutex
Version
lms2012_v022_110218
  1. lms2012 project prepared for simulation
  2. Usb device module template added
  3. Usb host module template added
  4. opINPUT_DEVICE_LIST have an extra parameter containing changed status
Version
lms2012_v021_110201
  1. scratches bug fixed on display
  2. power off bug fixed on display
  3. support for IR seeker sensor
  4. support for Distance sensor
  5. support for Color sensor
Version
lms2012_v020_110126
  1. Graphical interface implementation started
  2. Simple graphical terminal implemented (in shared libary not in kernel module)
  3. opUI_DRAW supports: UPDATE, CLEAN, PIXEL, LINE, CIRCLE, TEXT, ICON and BITMAP
  4. opUI_WRITE,LED supports PWM 0..100% with 5% resolution
  5. opUI_READ,BUTTON supports all five buttons on the A4 prototypes
  6. d_analog prepared for ONE2ONE prototype GPIO
  7. d_power prepared for ONE2ONE prototype GPIO
  8. d_uart prepared for ONE2ONE prototype GPIO
  9. d_ui prepared for ONE2ONE prototype GPIO
  10. d_pwm prepared for ONE2ONE prototype GPIO
  11. Simple error logging implementation started
  12. Simple graphical UI implemented
  13. IONGEN (sensor supply) removed 1 second under powerup to reset UART sensors
  14. ONE2ONE power on and off implemented
Version
lms2012_v019_101231
  1. Performance algorithm changed
  2. Uart statemachine implementation started
Version
lms2012_v018_101209
  1. prepared for cvs
  2. module d_tacho removed
  3. module d_display added
Version
lms2012_v017_101203
  1. Output ID detection implementation started
  2. Shared memory for analog module changed to use ANALOG struct and no SIGNAL
  3. d_power module implementation started
  4. d_uart module implementation started
Version
lms2012_v016_101129
  1. PWM module changed to support all 4 output ports on LEGO A4 board
  2. opOUTPUT_TIME_POWER, opOUTPUT_POLARITY, opOUTPUT_READY and OUTPUT_TEST implemented
  3. Simple debug monitor implemented
  4. opPROGRAM_START - one exstra parameter added (DEBUG)
  5. Subcall return changed to return parameters in variables - offset by input parameters
  6. USB direct command implementation started
  7. USB file download implementation started
  8. Byte code for LED control implemented (opUI_WRITE,LED,....)
Version
lms2012_v015_101114
  1. Analog ID system implemented for input ports
  2. Validation output changed to use "op" prefix on byte codes (output can be reassembled)
Version
lms2012_v014_101110
  1. Adapted to the new distribution (DaVinci-PSP-SDK-03.20.00.1313)
  2. Subcall return parameter bug fixed
  3. Analog module changed to support all 4 input ports on LEGO A4 board
  4. Port sequence remapped (physical 1 = logical 4, 2 = 1, 3 = 2, 4 = 3)
Version
lms2012_v013_101011
  1. Internal transition to new platform support package
Version
lms2012_v012_101011
  1. Signal used to speed up awareness of device changes on input ports
  2. Kernel shared memory used to speed up reading of analog values from user land
  3. In image the program header is expanded by 4 bytes to hold also the image size
  4. opUI GET_IMAGE implemented
  5. opFILE ISAVE implemented
Version
lms2012_v011_100930
  1. opCALL - one more parameter = number of parameters added (needed for validation)
  2. Simple UI changed to use subcalls
  3. Image.h substituted with a ui byte code file "ui"
  4. Compare instructions implemented
  5. Select instructions implemented
  6. Logic instructions implemented
  7. Geometric instructions implemented
  8. UI bytecode function, parameters and value changed
  9. User programs and direct command sheet are updated to follow the above changes
  10. opOUTPUT_STEP_POWER implemented
Version
lms2012_v010_100923
  1. typedata - 1st implementation for type data file read
  2. d_ui - 1st implementation for read BUT0
  3. lms_cmdin - device file that are able to receive VM commands
  4. lms_cmdout - device file that contains VM command output
  5. Jump label implemented
  6. Automatic program validation started
  7. simple bytecode assembler added in folder "bytecodeassembler"
  8. opOBJECT_END bytecode implemented - must be the last bytecode in EVERY object in image
Version
lms2012_v009_100903
  1. More support for eval-add-on-board input port (type, Pct, Si)
  2. Support for eval-add-on-board output port (start, stop, power)
Version
lms2012_v008_100826
  1. Place holder for d_pwm, d_tacho, d_analog, d_dcm added
  2. d_analog - bitbang SPI for A/D converter implemented
  3. d_dcm - 1st implementation of device ID detection
  4. c_input - 1st implementation of device tabel
  5. Support for eval-add-on-board input port started
Version
lms2012_v007_100809
  1. opINPUT takes "TYPE" as 3th parameter
  2. opOUTPUT_WRITE, opOUTPUT_STEP removed
  3. opOUTPUT_TIME_POWER, opOUTPUT_TIME_SPEED, opOUTPUT_STEP_POWER, opOUTPUT_STEP_SPEED added
  4. opOUTPUT_STOP changed
Version
lms2012_v006_100806
  1. AM1808 eclipse debug enabled (debug setup is username dependend)
  2. VM optimization started
  3. opINPUT takes "LAYER" as 1st parameter
  4. opOUTPUT takes "LAYER" as 1st parameter
Version
lms2012_v005_100708
  1. AM1808 platform added
  2. d_ppboard module uses "UDEV" way to deal with driver "files"
Version
lms2012_v004_100614
  1. Parallel port board driver added
Version
lms2012_v003_100613
  1. opUI,READ_CODE can read a ascii string and convert to a bytecode string
  2. opDO can execute a bytecode string as "Direct Command"
  3. 'c' executes direct command as cXXxxXXxxXXxxXX
  4. opPROBE can show variables on stdout
  5. 'p' probes VMTREAD 1 globals and locals
  6. More documentation added
  7. opSWITCH8 makes a simple selection on a DATA8 value
    Version
    lms2012_v002_100603
  8. opTIMER_WAIT, opTIMER_READY - 1mS resolution - cTimer changed to use "clock_gettime"
  9. opJR_xx - cBranch optimized if no jump
  10. d_pwm changed to use hrtimer and PWM base is 1000 Hz with 10 steps resolution
  11. Instruction counter implemented to read out execution speed
  12. p5 faked line follower
  13. Some documentation started
  14. opOBJECT_TRIG, opOBJECT_WAIT implemented
    Version
    lms2012_v001_100520
  15. UiImage contains info string and commands 'q','r' and 'b'
  16. 'r' runs programs as rFILENAME
  17. 'b' sets breakpoint as bADDRESS
  18. stdin used for faking input values with + and -
  19. opINIT_BYTES is used for initialising global and local variables as opINIT_BYTES (DATA32)Length (DATA8)Destination (DATA8)ByteStream
  20. opBREAKPOINT bytecodes moved to 0x87 - 0x8F
  21. opUI (READ_STR, READ_ADR, WRITE_STR, WRITE_ADR) stdin/out used for user input/output
  22. LCS macro for image - defines that zero terminated string follows (see Image.h line 8+9)

LEGO® Robotics Firmware Documentation
Confidential Information © 2013 The LEGO Group