LEGO Mindstorms EV3


Application Versions

This section describes the relative changes from previous version

Version
lms2012_v104H_130531
  1. Bluetooth transfer folder error fixed in cComCreateBeginDL
  2. First release for AFOL

    Version
    lms2012_v103H_130528
  3. Reduced tone levels
  4. Corrected kernel source error introduced in v102

    Version
    lms2012_v102H_130524
  5. Check on characters in filenames
  6. opARRAY WRITE_CONTENT bug with DATA16, DATA32 and DATAF arrays fixed
  7. Scheduling blocked non-reentrant subcalls changed
  8. 3th. party sensor scaling updated
  9. "Brick Program" app stop motor issue fixed
  10. Power down screen when WiFi active issue fixed
  11. Power down LED color set to RED
  12. opFILENAME GET_FOLDERNAME implemented (to execute "rbf" files anywhere)
  13. opSYSTEM implemented (for test purpose only)
  14. opUI_READ GET_LBATT implemented (for motoring battery level in %)
  15. opSTRINGS VALUE_FORMATTED implemented (for formatted value to string output)
  16. opSTRINGS NUMBER_FORMATTED implemented (for formatted number to string output)
  17. SI unit limit on UART sensors removed
  18. opMATH TRUNC changed to round up
  19. E-meter mode "ALL" scaling changed
  20. Bluetooth hinted pairing - bluetooth address only valid once
  21. Bluetooth pairing changed to use dbus call (to enable connecting to some phones)
  22. Fixed motor synced issue, when speed set to 0
  23. Several changes to wifi
  24. Sound tone level adjusted

    Version
    lms2012_v101H_130204
  25. Live update on datalog is possible on PC when running up to 100 samples per second
  26. opINPUT_DEVICE CAL_MIN and CAL_MAX changes to accept SI units (in DATA32 format)
  27. opPROGRAM_INFO OBJ_START bug fixed
  28. opOBJECT_START bug fixed
  29. Bluetoothd changed to comply with correct reply to SDP_ServiceSearchRequest
  30. l2test added to file system to comply with bluetooth testing
  31. Output check for more that 2 synchronized motors at a time
  32. Enabling bluetooth pscan after pairing only process

    Version
    lms2012_v100H_121220
  33. WIFI reconnect with TCP is now possible

    Version
    lms2012_v069_121219
  34. Warnings in display after boot now looks fine
  35. READ_SIZE related to arrays have added NOBREAK
  36. Motor sync going straight backwards could not regulate down issue fixed
  37. UI Browser issues related to download and deleting files fixed
  38. Corrected make_ev3_os.sh to add CVS folder in all apps directories

    Version
    lms2012_v068_121214
  39. Shut down while user program running issue fixed
  40. Printouts on debug port when connecting/disconnecting USB removed in kernel
  41. SSID Name truncation issue fixed
  42. Valid IP in WIFI changed

    Version
    lms2012_v067_121207
  43. opARRAY READ_SIZE implemented
  44. Daisy-chain, the motors on the lower layers are not stopped when the program ends - fixed
  45. Daisy-chain, reset on the lower layers when program is started
  46. WiFi shutdown bug fixed
  47. Filesystem inconsistence bug fied
  48. Firmware updated only available through USB
  49. Motor - program end 100mS delay to float implemented
  50. cCom byte codes supports dynamic strings
  51. LIST_FILE handles now allocated from original handle pool
  52. "IR Control" app updated (Sensor in wrong mode bug - fixed)
  53. opARRAY RESIZE is now capable to down size arrays
  54. opARRAY COPY is now capable to down size arrays
  55. BT status updated in UI if changed (by direct command or user program)
  56. WIFI status updated in UI if changed (by direct command or user program)
  57. Download sound issue fixed (waits for completion)
  58. Bumbed on unmounted touch sensor returns 0 (instead of nan)
  59. Sys. command BLUETOOTHPIN can only be set by USB connection
  60. Sys. command CONTINUE_DOWNLOAD returns END_OF_FILE when complete file has been received
  61. Spaces is allowed in WiFi SSID
  62. Sound handle issue fixed (tight loop)
  63. opFILENAME TOTALSIZE - parameter added
  64. opFILE GET_ICON removed
  65. opFILE SET_LOG_SYNC_TIME and GET_LOG_SYNC_TIME implemented
  66. On brick copy limited to folder with maximum 125 files
    Version
    lms2012_v066_121130
  67. Underscore enabled in paskeys and network names
  68. "Brick Program" app - 50mS delay after gyro reset to ensure correct zeroed data
  69. "Brick Datalog" app updated (missing NXT pictures on Color and US sensor)
  70. "Brick Datalog" app removed from UI (unlock code "opFILENAME(UNPACK,'../apps/Brick\ Datalog')")
  71. "Debug" tool removed from UI (avaliable on SDCard)
  72. "Test" tool removed from UI (avaliable on SDCard)
  73. opFILE MOVE changed to remove destination if destination exist
  74. Button implementation changed ("scroll" in all apps)
  75. File download error if insuficient room
  76. Tacho reset if motor pluged/unpluged
  77. Bluetooth visible can be changed when connected
  78. Bluetooth name can be changed when connected

    Version
    lms2012_v0657_121123
  79. "Brick Datalog" and "Brick Program" app updated (keyboard layout aligned)
  80. "IR Control" app updated (graphics)
  81. Stable time for connecting output devices changed to 350mS
  82. File permissions changed
  83. Rechargeable levels around power management - changed
  84. "WiFi" app updated (on/off checked, no search when off)
  85. Four layer daisy chain implemented
  86. "printf" bug in VM - fixed

    Version
    lms2012_v065_121116
  87. Kernel modules updated with zeroed shared memory
  88. Light around buttons numbering changed (back to V0.62)
  89. Virtual temperature rise shutdown implemented
  90. opARRAY READ_CONTENT and WRITE_CONTENT implemented
  91. Default sleep time changed to 30 minuttes
  92. "Brick Datalog" app updated (keep alive when logging)
  93. "Brick Program" app updated (default sensor color = black, back button skips canvas bug fixed)
  94. SD card recognised also at boot time

    Version
    lms2012_v064_121106
  95. EnergyMeter mode change stabilized and change time lowered to 100mS
  96. Datalogging, Same value is being saved for each logging - bug fixed
  97. opINPUT_DEVICE SETUP - bug fixed (support for 3th. party IIC sensors)
  98. UI update after download - fixed
  99. opUI_DRAW BMPFILE clip bug fixed
  100. Sleep power down shows now the power down screen
  101. Low voltage power down fixed
  102. Unsupported files will not be shown in the UI
  103. Cannot Cancel on BT "Connect?" screen - bug - fixed
  104. Max number of files/folders per level rised to 128
  105. opUI_WRITE DOWNLOAD_END implemented (send from PC when download is completed)

    Version
    lms2012_v063_121030
  106. Missing app icon bug fixed
  107. Orange and red LED light swapped bug fixed
  108. Download of App DO NOT require adding an icon (default implemented)
  109. SD card size bug fixed
  110. Timing, running a program using time get corrupted after XX min - bug fixed
  111. IIC sensor bug fixed
  112. Support for EnergiMeter implemented (sensor type 99)
  113. Ram test byte code implemented
  114. Bug fixing around motor commands
  115. Mode 2 bug fixing
  116. Daisy chain sensor mode bug fixed
  117. USB starving fixed
  118. Only fraction of file downloaded - bug - fixed
  119. Program validate accept nan/inf as floating point constants

    Version
    lms2012_v062_121012
  120. Graphics updated
  121. opFILE OPEN_APPEND bug fixed
  122. UART sensor detection changed
  123. Gyro turntable test program implemented (time from calibrate to read value = 2.2 Second)
  124. Light around buttons numbering changed
  125. USB icon implemented
  126. 0.5 second delay at program end (to help stop motors)
  127. Long Filenames => Gives an error but creates a folder - bug fixed
  128. Upper and lower numbering used for light around buttons - changed
  129. SD_Card changed to use link
  130. UART write changed
  131. Sound level 0 = silence

    Version
    lms2012_v061_120928
  132. UART sensor error reset implemented (sensors before EP2 may not function propperly)
  133. MAX_HANDLES to arrays in one program increased to 250
  134. Fast datalog file handle bug fixed
  135. opFILE LOAD_PICTURE removed (use UI_DRAW BMPFILE as replacement)
  136. opFILE GET_IMAGE removed
  137. opFILE UNLOAD removed
  138. opSTRINGS SUB implemented
  139. opSTRINGS VALUE_TO_STRING changed to return maximal 4 dashes in case of "nan"
  140. Key click sound implemented
  141. Startup and power down sounds implemented
  142. opMEMORY_USAGE changed to return memory total and memory free [KB]
  143. Direct command reply bug fixed
  144. EOF on datalog files implemented
  145. Message box array support implemented
  146. BT disconnect ingoing connection if outgoing connection is establissed
  147. Running synced motors and interrupt with single motor command floats both motors before executing new command
  148. Sound noise removed

    Version
    lms2012_v060_120917
  149. Linux prompt bug fixed (no prompt when exitting debugger)
  150. Display update limitted to 10 frames per second
  151. "Ui" updated (handles text files in browser)
  152. opINPUT_DEVICE CAL_MIN, CAL_MAX bug fixed (init min and max first time)
  153. LED orange light when warning active - implemented (voltage, current, memory, busy)
  154. opUI_WRITE SET_BUSY implemented (1 makes LEDs orange and 0 makes LEDs normal again)
  155. "WiFi" app updated (busy makes LEDs orange)
  156. "Blutooth" app updated (busy makes LEDs orange)
  157. "Ui" updated (refreshes so it not always jumps to first folder)
  158. opTST TST_ACCU_SWITCH implemented
  159. opFILENAME CHECK implemented
  160. opUI_READ GET_SDCARD implemented
  161. opUI_READ GET_USBSTICK implemented but disabled
  162. opSTRINGS VALUE_TO_STRING changed to insert dashed ("-----") instead of "nan"
  163. Number of file handles for system commands changed to 64
  164. Boot time reduced to 30 seconds

    Version
    lms2012_v059_120830
  165. SD card folder copy implemented (popup for overwrite and media full)
  166. USB stick folder copy implemented (popup for overwrite and media full)
  167. NXT temperature logging bug fixed
  168. opFILENAME EXIST, TOTALSIZE, SPLIT, MERGE implemented
  169. opTST TST_OPEN, TST_CLOSE, TST_READ_PINS, TST_WRITE_PINS implemented
  170. opTST TST_READ_ADC, TST_WRITE_UART, TST_READ_UART implemented
  171. opFILE OPEN_LOG alwayes append if filename exist (delete file first if append not needed)
  172. opFILE CLOSE_LOG append 8 times 0xFF at the end of the log file when closed
  173. opFILE GET_LOG_NAME implemented
  174. opNOTE_TO_FREQ implemented (documentation under "Byte Codes"/"VM")
  175. NXT sound sensor detection bug fixed
  176. "Test" app updated (display test)
  177. "Bluetooth" app updated (mode 2)
  178. "Port View" app updated (NXT color and ultrasonic sensor picture)
  179. "Brick Program" updated (IR remote bug fixed)

    Version
    lms2012_v0581_120822
  180. Daisy chain mode change bug fixed
  181. NXT ultrasonic missing 9V fixed
  182. opINPUT_DEVICE CLR_ALL bug fixed
  183. Bluetooth connect issue fixed (firmware image scribt changed)
  184. "Motor Control" app changed (graphics and functionality)
  185. "IR Control" app implemented
  186. "Brick Program" app changed (open and save icons flipped)
  187. opINPUT_DEVICE GET_CHANGES and GET_BUMPS is removed (will not work daisy chaned)
  188. TOUCH sensors have a new mode 1 called "BUMPS" (will work daisy chained)
  189. opPORT_CNV_OUTPUT implemented
  190. opPORT_CNV_INPUT implemented

    Version
    lms2012_v057_120816
  191. "Black layer buffering" bug fixed and enabled again
  192. opINPUT_DEVICE CLR_ALL implemented
  193. opINPUT_DEVICE SETUP implemented
  194. NXT light sensor mode 0 changed to NXT-REFLECT
  195. NXT light sensor mode 1 changed to NXT-AMBIENT
  196. NXT color sensor mode 0 changed to NXT-COL-REF
  197. NXT color sensor mode 2 changed to NXT-COL-COL
  198. opINPUT_DEVICE READY_XX do not wait if port is OPEN
  199. Low memory indication implementation started
  200. O_SYNC removed from file open
  201. ON BRICK BUTTONS REMAPPED NOT BACKWARD COMPATIBLE
  202. WiFi splitted transfer stabilized
  203. Daisy chain supports one slave (motor ready/test is not supported yet)

    Version
    lms2012_v056_120807
  204. "Black layer buffering" disabled
  205. Internal use only: simple "C-call way" of executing byte code streams - implemented
  206. opINPUT_DEVICE CLR_ALL implemented (only placeholder - not functioning)
  207. WiFi reconnection on TPC connection
  208. WiFi menu lock up bug fixed
  209. 3th party IIC sensors are named "IIC-SENSOR"

    Version
    lms2012_v055_120718
  210. Fixed bug in CONTINUE_GETFILE
  211. Implementation of iDevice interface started (Added c_i2c.c and c_i2c.h)

    Version
    lms2012_v054_120712
  212. Fast datalog (black layer buffering and optimization) on IIC implemented
  213. Third party device support implemented (HW buffer on IIC clock)
  214. Error reply on direct commands implemented
  215. PRU UART bitrate adjusted
  216. Integrated current shutdown implementation started
  217. Start of faulty program handled by showing an error popup
  218. opMATH changed from radians to degrees
  219. Button mapping implemented (not active yet)
  220. opUI_READ BUTTON0 - opBUTTON5 removed (use opUI_BUTTON SHORTPRESS instead)
  221. opMEMORY_USAGE implemented
  222. MD5 SUM and filesize added to LIST_FILES and CONTINUE_LIST_FILES system commands

    Version
    lms2012_v053_120628 (EP2)
  223. Dynamic hardware adaptation implemented (from FINALB V0.30 hardware)
  224. opINPUT_SAMPLE changed to support dynamic output array
  225. opARRAY_APPEND implemented
  226. opSTRINGS VALUE_TO_STRING changed to strib trailing zeroes
  227. Validation bug on handles fixed
  228. Daisy chain support implemented
  229. Fast datalog (black layer buffering and optimization) on UART and analog implemented

    Version
    lms2012_v052_120620
  230. Fast datalog (black layer buffering and optimization) implementation started
  231. opSTRINGS VALUE_TO_STRING bug fixed
  232. opUI_DRAW FILLCIRCLE algorithm changed
  233. opUI_BUTTON GET_BUMBED implemented
  234. opINPUT_SAMPLE implemented (read buffered device values) (see Example)
  235. opFILE WRITE_LOG last two parameters removed and 4th. parameter changed encoding to "handle"
  236. opUI_WRITE GRAPH_SETUP last five parameters changed encoding to "handle"
  237. opFILE WRITE_LOG writes scrambled values (4 bytes floatingpoint) NOT ASCII characters in the file

    Version
    lms2012_v051_120604
  238. "Brick Program" app graphics updated
  239. Daisy chain support implementation started
  240. IIC sensor support implemented
  241. Debug console bug fixed
  242. opSTRINGS VALUE_TO_STRING changed to accept left adjusted result
  243. opTST byte codes implementation started
  244. WiFi TKIP/AES implemented

    Version
    lms2012_v050_120511
  245. NEW KERNEL AND FILESYSTEM REQUERED
  246. UART sensor module updated
  247. Mini tacho motor regulation updated
  248. opINPUT_DEVICE GET_BUMPS implemented (read negative changes on a device)
  249. "Brick Program" app updated
  250. opFILE GET_HANDLE has changed parameters (open for write flag implemented)
  251. opUI_DRAW CLEAN removed (use opUI_DRAW FILLWINDOW,0,0,0)
  252. opKEEP_ALIVE implemented (see opKEEP_ALIVE)
  253. ISSUE 239 - LED flashing changed to 250mS on / 250mS off
  254. ISSUE 42 - "Motor Control" app IR seeker port changed to 4
  255. opSOUND REPEAT implemented
  256. WiFi enabled

    Version
    lms2012_v049_120413
  257. opUI_DRAW ERASE_WINDOW removed
  258. opUI_DRAW FILLWINDOW implemented (can replace ERASE_WINDOW with the right parameters)
  259. opFILE SAVE_IMAGE removed
  260. opFILE LOAD_SOUND removed
  261. "Brick Program" app updated
  262. opFILE OPEN_APPEND implemented (open for write to end of file)
  263. opFILE GET_HANDLE implemented (get filehandle from open file by filename)

    Version
    lms2012_v048_120330
  264. ISSUE 15 - Download and run can't stop program - bug fixed
  265. ISSUE 56 - UI buttons are active while program is running - bug fixed
  266. ISSUE 93 - Button light pattern on P-Brick - bug fixed
  267. opPROGRAM_START used in a direct command do nothing if USER_SLOT or DEBUG_SLOT is running
  268. Topline update enable when user program stops
  269. A/D converter is running SPI (not bitbanging)
  270. Uart interrupt on port 1 implemented (not used yet)
  271. Bluetooth authentication implemented
  272. Bluetooth hinted pairing implemented

    Version
    lms2012_v047_120323
  273. ISSUE 6 - "Motor Control" app react on wrong channel - bug fixed
  274. ISSUE 17 - Motor run unlimitted preformance - bug fixed
  275. ISSUE 49 - Motor stop and brake - bug fixed
  276. Not able to stop user program - bug fixed
  277. Crash when trying to execute program with long (>51 chararcter) name - bug fixed
  278. "Brick Program" app sound retrig crashes - bug fixed
  279. Old NXT color sensor implementation started

    Version
    lms2012_v046_120316
  280. "Brick Program" app : exit canvas when program saved bug fixed
  281. Wrong bytecode version resets sensor in port 1 bug fixed
  282. "Brick Program" app : no wait for sound finished implemented
  283. opSTRING_TO_VALUE accept commas

    Version
    lms2012_v045_120312
  284. UART sensor port 3 and 4 bug fixed
  285. Graphics minor issues fixed
  286. "Port View" app : error graphics for wrong connected devices
  287. "Port View" app : bar has center for signed value devices
  288. "Brick Program" app : angle and encoder sensors made relative
  289. "Brick Program" app : canvas full experience bug fixed
  290. "General navigation" file transfer to bluetooth implemented

    Version
    lms2012_v044_120302
  291. General navigation - WiFi - implementation started
  292. UI changed to also stop user programs started from direct commands
  293. INPUT_DEVICE READY_xxx changed to not force change task
  294. opOBJECT_TRIG and opOBJECT_WAIT changed to not force change task
  295. "Brick Program app" bug fix (run and save file no posible)
  296. "Brick Datalog app" bug fix (save file no posible)
  297. "Brick Program app" bug fix (max block issue)
  298. General navigation - folder order fixed
  299. On Brick Programs has changed extension from ".rbf" to ".rpf"
  300. opMATH MOD8, MOD16, MOD32 implemented
  301. "Details" app changed name to "Brick Info"
  302. opARRAY SIZE implemented
  303. opMATH POW implemented
  304. opINPUT_DEVICE CAL_MIN and CAL_MAX implemented
  305. NXT devices got their name back
  306. Output devices can be read equal to input devices (see Example)
  307. Messaging implemented

    Version
    lms2012_v043_120210 (EP1)
  308. opUI_STORE and opUI_RESTORE had one parameter added (to expand the window levels)
  309. opUI_DRAW BMPFILE and PICTURE graphic bug (when drawing aligned bitmaps) fixed
  310. opUI_DRAW KEYBOARD parameter has been added (Icon)
  311. opUI_DRAW VERTBAR implemented
  312. System specific defines are made visible for byte code assembler
  313. Non volatile setting files are moved to a specific folder called "../sys/settings/"
  314. "Program app" (without test area) finished (development stopped)
  315. "Play Recent" items will disappear when deleted in "File Navigation" - implemented
  316. General navigation - Bluetooth - implementation started
  317. opINFO GET_ID removed
  318. opCOM_GET GET_ID implemented
  319. opUI_DRAW KEYBOARD some characters disabled (characters invalid in filenames)
  320. opUI_WRITE LED has changed functionality and number of parameters
  321. Bluetooth commands implemented (see "Byte Codes" - "Communication")
  322. App names changed to "General Navigation: Flow (30JAN)" concept
  323. "Program" app changed name to "Brick Program"
  324. "Datalog" app changed name to "Brick Datalog"
  325. "Remote" app changed name to "Motor Control"
  326. "View" app changed name to "Port View"

    Version
    lms2012_v042_120120
  327. opINPUT_DEVICE GET_MINMAX implemented
  328. opINPUT_DEVICE CMD parameter moved to start (first parameter)
  329. Low voltage shut down changed (delay before user program stop / motor off)
  330. opUI_BUTTON TESTSHORTPRESS and TESTLONGPRESS implemented
  331. opUI_DRAW GRAPH_SETUP and GRAPH_DRAW implemented
  332. opUI_WRITE GRAPH_SAMPLE implemented
  333. opFILE OPEN_LOG implemented (OPEN_LOG example)
  334. opFILE WRITE_LOG changed (WRITE_LOG example)
  335. opFILE CLOSE_LOG implemented (CLOSE_LOG example)
  336. opFILE REMOVE implemented
  337. opFILE MOVE implemented
  338. opUI_BUTTON supports ANY_BUTTON
  339. opUI_DRAW support TINY_FONT
  340. opUI_DRAW APPSELECT removed (see opUI_DRAW BROWSE)
  341. opUI_DRAW PRJSELECT removed (see opUI_DRAW BROWSE)
  342. opUI_DRAW CACHESELECT removed (see opUI_DRAW BROWSE)
  343. opUI_DRAW BROWSE implemented
  344. opUI_BUTTON PRESSED bug fixed
  345. opRL32 bug fixed
  346. UART sensor READY/BUSY bug fixed
  347. Repeate on arrow buttons implemented
  348. opARRAY COPY implemented
  349. opFILE WRITE_TEXT no of parameters changed (DEL added)
  350. opFILE READ_TEXT no of parameters changed (DEL added)
  351. opFILE WRITE_VALUE no of parameters changed (DEL added)
  352. opFILE READ_VALUE no of parameters changed (DEL added)
  353. opINPUT_DEVICE CAL_MINMAX implemented (CAL_MINMAX example)
  354. opINPUT_DEVICE CAL_DEFAULT implemented (CAL_DEFAULT example)
  355. opINPUT_TEST has changed byte code number (to the one opINPUT_GET_TYPE had)
  356. opINPUT_GET_TYPE is removed (see below)
  357. opINPUT_DEVICE GET_TYPEMODE implemented
  358. Datalog app implemented
  359. Motor Control app implemented
  360. Following byte codes are updated to support dynamic string handles
  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
  9. OPB support for file load and save implemented
  10. Overall run screen implemented
  11. opINFO GET_STATUS number of parameters has changed
  12. Weird Error - DATA8 parameter don't like variables above address 127 - fixed
  13. Debug app updated
  14. opTIMER_READ changed to return milliseconds from byte code program start
  15. SUBCALLs optimized
  16. opMOVE32_16 writes to 4 bytes bug - fixed

    Version
    lms2012_v039_111121
  17. Delete project (folder) from the UI implemented
  18. opINPUT_WRITE make device not ready until new data arrive
  19. opINPUT_DEVICE GET_CHANGES and CLR_CHANGES implemented on input
  20. opINPUT_DEVICE READY_PCT, READY_RAW and READY_SI implemented on input
  21. Close open files when user (all) program stops implemented
  22. Debugger will start user programs in user slot (1) like the UI
  23. Direct command breaks running program bug fixed
  24. Message counter in communication implemented
  25. opUI_BUTTON SET_BACK_BLOCK and GET_BACK_BLOCK implemented
  26. opUI_DRAW BMPFILE implemented
  27. opUI_BUTTON(FLUSH) does not flush LONGPRESS
  28. opFILE OPEN_READ - SIZE parameter added
  29. On Brick Programming app started (motor, color, wait blocks implemented)
  30. Motors must come to complete stop when brake parameter is set fixed

    Version
    lms2012_v038_111104
  31. opPROGRAM_INFO OBJ_START bug fixed (delayed program start)
  32. opOutput_RESET should be used to clear tacho and timer upon program start
  33. opOUTPUT_CLR_COUNT 10mS tacho clear bug fixed
  34. IR Seeker (doc error around DATA_SI)

    Version
    lms2012_v037_111027
  35. opINPUT_DEVICE SET_RAW implemented
  36. opUI_DRAW VIEW_UNIT implemented
  37. opSTRINGS VALUE_TO_STRING implemented
  38. opSTRINGS STRING_TO_VALUE implemented
  39. opUI_READ GET_HW_VERS implemented
  40. opUI_READ GET_FW_VERS implemented
  41. opUI_READ GET_FW_BUILD implemented
  42. opUI_DRAW FILLCIRCLE implemented
  43. opRANDOM implemented
  44. opUI_BUTTON PRESSED implemented
  45. opFILE CLOSE changed to opFILE UNLOAD
  46. opFILE OPEN_WRITE, OPEN_READ, CLOSE, REMOVE implemented
  47. opFILE WRITE_TEXT, READ_TEXT implemented
  48. opFILE WRITE_VALUE, READ_VALUE implemented
  49. opFILE WRITE_BYTES, READ_BYTES implemented
  50. opINPUT_DEVICE GET_FIGURES implemented
  51. opARRAY INIT8, INIT16, INIT32, INITF implemented
  52. "View" app implemented
  53. Figures and Decimals added to type datas (controls readout in view and datalog)
  54. opUI_DRAW NOTIFICATION changed (last parameter removed)
  55. opUI_DRAW APPSELECT changed (STATUS parameter removed)
  56. opUI_DRAW PRJSELECT changed (STATUS parameter removed)
  57. opUI_DRAW CACHESELECT changed (STATUS parameter removed)
  58. opINPUT_DEVICE GET_FORMAT has changed number of parameters to contain "views"
  59. opPROGRAM_STOP changed to accept CURRENT_SLOT
  60. opUI_DRAW KEYBOARD changed
  61. opUI_BUTTON WAIT_FOR_PRESS bug fixed (destroyed actually button press)
  62. Array handle type changed to 16 bit (DATA16)
  63. New ID for "NEW TACHO MOTOR" implemented
  64. opINIT_BYTES has changed parameter types to "encoded" ones
  65. opPROGRAM_START has a possibility to load but not start the program (see Example)
  66. Reentrant subcall validation bug - fixed
  67. USB IDs changed
  68. BEGIN_UPLOAD, CONTINUE_UPLOAD, BEGIN_GETFILE, CONTINUE_GETFILE, LIST_FILES added to communication (see Example)
    Version
    lms2012_v036_110928
  69. File browser changed opUI_DRAW CACHESELECT, APPSELECT, PRJSELECT changed
  70. opFILE has changed numeric value from 0xB0 to 0xC0 (to make room for more motor commands)
  71. opARRAY has changed numeric value from 0xB1 to 0xC1 (to make room for more motor commands)
  72. opARRAY_WRITE has changed numeric value from 0xB2 to 0xC2 (to make room for more motor commands)
  73. opARRAY_READ has changed numeric value from 0xB3 to 0xC3 (to make room for more motor commands)
  74. Some "Pratical Stuff" updated in buildin documentation
  75. opUI_DRAW VALUE changed to fit "View" app (negative sign, "nan" -> "----")
  76. Array bug when using handles for system calls fixed
  77. opUI_DRAW VIEW_VALUE implemented
  78. Large font implemented
  79. opOUTPUT_CLR_COUNT and opOUTPUT_GET_COUNT implemented
  80. opOUTPUT_STEP_SYNC and opOUTPUT_TIME_SYNC implementation started

    Version
    lms2012_v035_110909
  81. PrimParPointer changed so array handles can be converted to pointers (for array refference)
  82. Only first VMTHREAD is started when program is loaded
  83. Normal, small, large icon implemented
  84. Normal, small font implemented
  85. Large font implementation started
  86. Validation of variable alignment implemented
  87. opINFO GET_VOLUME, SET_VOLUME, GET_MINUTES, SET_MINUTES, GET_INCH implementation started
  88. opINFO SET_INCH, GET_FAHRENHEIT, SET_FAHRENHEIT implementation started
  89. opINFO SET_ERROR added
  90. opINFO GET_ERROR added
  91. opINFO ERRORTEXT added
  92. opFILE GET_CACHE_PRJ_NAME, PUT_CACHE_PRJ_NAME, DEL_CACHE_PRJ_NAME, GET_CACHE_PRJS removed
  93. opFILE GET_CACHE_FILE, PUT_CACHE_FILE, DEL_CACHE_FILE, GET_CACHE_FILES added
  94. opFILE GET_CACHE_NAME added
  95. opUI_DRAW DOTLINE added (only vertical and horisontal supported)
  96. opUI_DRAW SELECT_FONT added
  97. opUI_DRAW ERASE_WINDOW added
  98. opUI_DRAW CACHESELECT added
  99. opUI_DRAW TOPLINE added
  100. opUI_LF removed (changed to opUI_BUTTON) (use opUI_WRITE,LC0(PUT_STRING),LCS,'','n',0)
  101. opUI_BUTTON added
  102. opUI_WRITE BUTTON_FLUSH has been replaced by opUI_BUTTON FLUSH
  103. opUI_READ BUTTON_READY has been replaced by opUI_BUTTON WAIT_FOR_PRESS
  104. opUI_BUTTON SHORTPRESS added
  105. opUI_BUTTON LONGPRESS added
  106. opUI_BUTTON PRESS added
  107. opUI_BUTTON RELEASE added
  108. opUI_READ BUTTON0, BUTTON1, BUTTON2, BUTTON3, BUTTON4, BUTTON5 will be removed in V0.36

    Version
    lms2012_v034_110822
  109. End of direct commands does not float motors
  110. Validation of byte code programs has changed to be more restricteded
  111. Version in image headers is tested against "BYTECODE_VERSION" from "bytecodes.h"
  112. Validation and disassembly has been separated
  113. lms2012.h header has been separated into lms2012.h, lmstypes.h, bytecodes.h
  114. bytecodes.c has been added and hold byte code description tables used for validation
  115. DATA_PCT and DATA_SI has changed value
  116. opPROGRAM changed name to opPROGRAM_INFO
  117. opINIT_BYTES parameter 1 and 2 has changed
  118. opUI_READ POWER has changed
  119. opUI_READ VERSION has changed
  120. opUI_WRITE VERSION has changed
  121. opUI_WRITE POWER has changed
  122. opINPUT_DEVICE has changed
  123. opINIT_BYTES has changed
  124. opSWITCH has been removed
  125. User interface flowcart added to documentation Apps
  126. Hardware schematics added to documentation schematics
  127. opUI_DRAW NOTIFICATION implemented
  128. opUI_DRAW QUESTION implemented
  129. opUI_DRAW KEYBOARD implemented
  130. opUI_DRAW INVERSERECT implemented
  131. opUI_DRAW APPSELECT implementation started
  132. opUI_DRAW PRJSELECT implementation started
  133. opSOUND PLAY parameter 3 changed to filename
  134. opUI_WRITE STRING changed to opUI_WRITE PUT_STRING
  135. opSTRING changed to opSTRINGS

    Version
    lms2012_v033_110728
  136. opMEMORY_WRITE implemented to write to different memory types in VM space (see Example)
  137. opSTRING ADD, COMPARE and DUPLICATE is implemented (see Example)
  138. String parameters for SUBCALLS (see Info)
  139. opOUTPUT_TEST number of parameters changes (see opOUTPUT_TEST)

    Version
    lms2012_v032_110623
  140. opUI_WRITE SET_TESTPIN implemented
  141. opINPUT_TEST implemented
  142. opINPUT_READY implemented
  143. opSOUND TONE implemented
  144. opSOUND PLAY implemented (volume not working yet)
  145. opSOUND BREAK implemented
  146. opSOUND_TEST implemented
  147. opSOUND_READY implemented

    Version
    lms2012_v031_110616
  148. Hardware platform "FINAL" implementation started
  149. Sound implementation started
  150. UART sensor bug fixed
  151. Read UART sensor returns "nan" if sensor not ready

    Version
    lms2012_v030_110609
  152. opUI_READ GET_IMAGE removed
  153. opFILE GET_PRJS, GET_APPS and GET_TOOLS removed
  154. opFILE GET_PRJ_NAME, GET_APP_NAME and GET_TOOL_NAME removed
  155. opFILE GET_PRJ_ICON, GET_APP_ICON and GET_TOOL_ICON removed
  156. opFILE GET_PRJ_IMAGE, GET_APP_IMAGE and GET_TOOL_IMAGE removed

  157. System command reply bug fixed
  158. All 128x178 pixels used on the display
  159. No terminal output as default (activate by running "Debug" app)
  160. ALL folders are relative to "~/lms2012/sys" (where the application executable reside)
  161. opINPUT_WRITE implemented (only works on UART device)
  162. opINPUT_DEVICE GET_SYMBOL implemented
  163. opFILE GET_ITEM implemented
  164. opFILE GET_CACHE_PRJS implemented
  165. opFILE PUT_CACHE_PRJ_NAME implemented
  166. opFILE GET_CACHE_PRJ_NAME implemented
  167. opFILE DEL_CACHE_PRJ_NAME implemented
  168. opFILE GET_FOLDERS implemented
  169. opFILE GET_SUBFOLDER_NAME implemented
  170. opFILE GET_ICON implemented
  171. opFILE GET_IMAGE implemented
  172. opFILE DEL_SUBFOLDER implemented

  173. GUI addition: startup folder contains latest projects runned
  174. GUI addition: delete total project
  175. GUI addition: Debug app activates terminal output

    Version
    lms2012_v029_110513
  176. opUI_READ BUTTON_READY implemented
  177. opUI_WRITE BUTTON_FLUSH implemented
  178. No need for poll on USB
  179. Reply/no reply implemented on USB

    Version
    lms2012_v028_110509
  180. Application folder structure changed (see Folder Structure)
  181. Bytecode file extension must be ".rbf"
  182. Graphics file extension must be ".rgf"
  183. Sound file extension must be ".rsf"
  184. System command "Begin Download" creates folders acording to file path relative to "~/lms2012/"

    Version
    lms2012_v027_110428
  185. Device type alignmet started
  186. UART device communition change started
  187. opARRAY_WRITE and opARRAY_READ bug fixed
  188. SUBCALL IN/OUT parameter bug fixed
  189. opINPUT_READ, opINPUT_READSI and opINPUT_READEXT: MODE parameter added
  190. opINPUT_DEVICE GET_FORMAT: MODES parameter added
  191. opFILE GET_PRJS, GET_APPS and GET_TOOLS implemented
  192. opFILE GET_PRJ_NAME, GET_APP_NAME and GET_TOOL_NAME implemented
  193. opFILE GET_PRJ_ICON, GET_APP_ICON and GET_TOOL_ICON implemented
  194. opFILE GET_PRJ_IMAGE, GET_APP_IMAGE and GET_TOOL_IMAGE implemented
  195. opUI_READ GET_HORZ implemented
  196. opUI_READ GET_VERT implemented
  197. opUI_DRAW FILLRECT implemented
  198. opINFO GET_ID implemented
  199. Application folder structure changed (see Folder Structure)
  200. opTIMER_READ implemented

    Version
    lms2012_v026_110405
  201. Input port 1 and 2 works now with Uart sensors (see Terminal Configuration)
  202. opARRAY CREATE8, CREATE16, CREATE32, CREATEF implemented
  203. opARRAY DELETE, FILL, RESIZE implemented
  204. opARRAY_WRITE and opARRAY_WRITE implemented

    Version
    lms2012_v025_110330
  205. USB communication support protocol from "Communication spec.docx"
  206. Userspace memory allocation centralized in "c_memory" (kernelspace is local)
  207. opINPUT_DEVICE GET_FORMAT added
  208. BLOCKS local variable bug fixed

    Version
    lms2012_v024_110325
  209. procedure for formatting and copying SC cards added in documentation
  210. SUBCALL mutex bug fixed ("motorsCrash" program runs)
  211. opINPUT_READEXT implemented (see doc)
  212. support for more data sets added (c_input and d_uart)
  213. device type tabel content has changed

    Version
    lms2012_v023_110307
  214. linux prompt controlled by firmware started
  215. opMEMORY_READ implemented to read different memory types from VM space (see Example)
  216. opDO: PRGID parameter added
  217. opUI_READ,CODE: LENGTH parameter type changed
  218. opCOM_READ,CODE: LENGTH parameter type changed, SIZE parameter removed
  219. opFILE,LOAD_PICTURE: PRGID parameter removed
  220. opFILE,GET_POOL added
  221. opFILE,CLOSE added - used to close files opened by LOAD_PICTURE and GET_POOL
  222. Direct commands are treaded as small programs able to run in parallel with user programs
  223. SUBCALLs protected by mutex

    Version
    lms2012_v022_110218
  224. lms2012 project prepared for simulation
  225. Usb device module template added
  226. Usb host module template added
  227. opINPUT_DEVICE_LIST have an extra parameter containing changed status

    Version
    lms2012_v021_110201
  228. scratches bug fixed on display
  229. power off bug fixed on display
  230. support for IR seeker sensor
  231. support for Distance sensor
  232. support for Color sensor

    Version
    lms2012_v020_110126
  233. Graphical interface implementation started
  234. Simple graphical terminal implemented (in shared libary not in kernel module)
  235. opUI_DRAW supports: UPDATE, CLEAN, PIXEL, LINE, CIRCLE, TEXT, ICON and BITMAP
  236. opUI_WRITE,LED supports PWM 0..100% with 5% resolution
  237. opUI_READ,BUTTON supports all five buttons on the A4 prototypes
  238. d_analog prepared for ONE2ONE prototype GPIO
  239. d_power prepared for ONE2ONE prototype GPIO
  240. d_uart prepared for ONE2ONE prototype GPIO
  241. d_ui prepared for ONE2ONE prototype GPIO
  242. d_pwm prepared for ONE2ONE prototype GPIO
  243. Simple error logging implementation started
  244. Simple graphical UI implemented
  245. IONGEN (sensor supply) removed 1 second under powerup to reset UART sensors
  246. ONE2ONE power on and off implemented

    Version
    lms2012_v019_101231
  247. Performance algorithm changed
  248. Uart statemachine implementation started

    Version
    lms2012_v018_101209
  249. prepared for cvs
  250. module d_tacho removed
  251. module d_display added

    Version
    lms2012_v017_101203
  252. Output ID detection implementation started
  253. Shared memory for analog module changed to use ANALOG struct and no SIGNAL
  254. d_power module implementation started
  255. d_uart module implementation started

    Version
    lms2012_v016_101129
  256. PWM module changed to support all 4 output ports on LEGO A4 board
  257. opOUTPUT_TIME_POWER, opOUTPUT_POLARITY, opOUTPUT_READY and OUTPUT_TEST implemented
  258. Simple debug monitor implemented
  259. opPROGRAM_START - one exstra parameter added (DEBUG)
  260. Subcall return changed to return parameters in variables - offset by input parameters
  261. USB direct command implementation started
  262. USB file download implementation started
  263. Byte code for LED control implemented (opUI_WRITE,LED,....)

    Version
    lms2012_v015_101114
  264. Analog ID system implemented for input ports
  265. Validation output changed to use "op" prefix on byte codes (output can be reassembled)

    Version
    lms2012_v014_101110
  266. Adapted to the new distribution (DaVinci-PSP-SDK-03.20.00.1313)
  267. Subcall return parameter bug fixed
  268. Analog module changed to support all 4 input ports on LEGO A4 board
  269. Port sequence remapped (physical 1 = logical 4, 2 = 1, 3 = 2, 4 = 3)

    Version
    lms2012_v013_101011
  270. Internal transition to new platform support package

    Version
    lms2012_v012_101011
  271. Signal used to speed up awareness of device changes on input ports
  272. Kernel shared memory used to speed up reading of analog values from user land
  273. In image the program header is expanded by 4 bytes to hold also the image size
  274. opUI GET_IMAGE implemented
  275. opFILE ISAVE implemented

    Version
    lms2012_v011_100930
  276. opCALL - one more parameter = number of parameters added (needed for validation)
  277. Simple UI changed to use subcalls
  278. Image.h substituted with a ui byte code file "ui"
  279. Compare instructions implemented
  280. Select instructions implemented
  281. Logic instructions implemented
  282. Geometric instructions implemented
  283. UI bytecode function, parameters and value changed
  284. User programs and direct command sheet are updated to follow the above changes
  285. opOUTPUT_STEP_POWER implemented

    Version
    lms2012_v010_100923
  286. typedata - 1st implementation for type data file read
  287. d_ui - 1st implementation for read BUT0
  288. lms_cmdin - device file that are able to receive VM commands
  289. lms_cmdout - device file that contains VM command output
  290. Jump label implemented
  291. Automatic program validation started
  292. simple bytecode assembler added in folder "bytecodeassembler"
  293. opOBJECT_END bytecode implemented - must be the last bytecode in EVERY object in image

    Version
    lms2012_v009_100903
  294. More support for eval-add-on-board input port (type, Pct, Si)
  295. Support for eval-add-on-board output port (start, stop, power)

    Version
    lms2012_v008_100826
  296. Place holder for d_pwm, d_tacho, d_analog, d_dcm added
  297. d_analog - bitbang SPI for A/D converter implemented
  298. d_dcm - 1st implementation of device ID detection
  299. c_input - 1st implementation of device tabel
  300. Support for eval-add-on-board input port started

    Version
    lms2012_v007_100809
  301. opINPUT takes "TYPE" as 3th parameter
  302. opOUTPUT_WRITE, opOUTPUT_STEP removed
  303. opOUTPUT_TIME_POWER, opOUTPUT_TIME_SPEED, opOUTPUT_STEP_POWER, opOUTPUT_STEP_SPEED added
  304. opOUTPUT_STOP changed

    Version
    lms2012_v006_100806
  305. AM1808 eclipse debug enabled (debug setup is username dependend)
  306. VM optimization started
  307. opINPUT takes "LAYER" as 1st parameter
  308. opOUTPUT takes "LAYER" as 1st parameter

    Version
    lms2012_v005_100708
  309. AM1808 platform added
  310. d_ppboard module uses "UDEV" way to deal with driver "files"

    Version
    lms2012_v004_100614
  311. Parallel port board driver added

    Version
    lms2012_v003_100613
  312. opUI,READ_CODE can read a ascii string and convert to a bytecode string
  313. opDO can execute a bytecode string as "Direct Command"
  314. 'c' executes direct command as cXXxxXXxxXXxxXX
  315. opPROBE can show variables on stdout
  316. 'p' probes VMTREAD 1 globals and locals
  317. More documentation added
  318. opSWITCH8 makes a simple selection on a DATA8 value
    Version
    lms2012_v002_100603
  319. opTIMER_WAIT, opTIMER_READY - 1mS resolution - cTimer changed to use "clock_gettime"
  320. opJR_xx - cBranch optimized if no jump
  321. d_pwm changed to use hrtimer and PWM base is 1000 Hz with 10 steps resolution
  322. Instruction counter implemented to read out execution speed
  323. p5 faked line follower
  324. Some documentation started
  325. opOBJECT_TRIG, opOBJECT_WAIT implemented
    Version
    lms2012_v001_100520
  326. UiImage contains info string and commands 'q','r' and 'b'
  327. 'r' runs programs as rFILENAME
  328. 'b' sets breakpoint as bADDRESS
  329. stdin used for faking input values with + and -
  330. opINIT_BYTES is used for initialising global and local variables as opINIT_BYTES (DATA32)Length (DATA8)Destination (DATA8)ByteStream
  331. opBREAKPOINT bytecodes moved to 0x87 - 0x8F
  332. opUI (READ_STR, READ_ADR, WRITE_STR, WRITE_ADR) stdin/out used for user input/output
  333. 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