====== Latest versions ====== * **OCaPIC**: {{:ocapic:ocapic-3.4.tar.bz2|}} * Version: 3.4. * Size: 326 MB. * Date: March, 8th, 2019. * MD5: ''d6e36a79114fada541555ce3173ccfb3''. * **OCamlClean**: {{:ocapic:ocamlclean-2.2.tar.bz2|}} * Version: 2.2. * Size: 30 kB. * Date: March, 8th, 2019. * MD5: ''5f3f7d31527ca30123e6b46b17c19dcc''. * **OCaPIC tutorial (French version)**: {{:tutoriel-ocapic-1.2.pdf|}} * Version: 1.2. * Size: 209 kB. * Date: April, 19th, 2012. * Language: French. * **OCaPIC tutorial (English version)**: {{:ocapic-tutorial-1.2.pdf|}} * Version: 1.2. * Size: 205 kB. * Date: April, 19th, 2012. * Language: English. ====== Open source license ====== OCaPIC and OCamlClean are under [[http://www.cecill.info/licences.en.html|CeCILL]] license. ====== OCaPIC release history ====== * **Latest version:** OCaPIC 3.4 (March, 8th, 2019) * {{:ocapic:ocapic-3.4.tar.bz2|}} (326 MB) * MD5: ''d6e36a79114fada541555ce3173ccfb3''. * SHA256: ''130f5dc4f342a51fe4d542401d9b2805f6815803874bdc17949ad212cc5c58f6''. * Fix compatibility with ocaml-4.07. * OCaPIC 3.3 (October, 5th, 2016) * {{:ocapic:ocapic-3.3.tar.bz2|}} (326 kB) * MD5: ''bd1b2e89acb3399600910b8c2dd48fc6''. * SHA256: ''268388ee7d488eb442bbe6e897ea5c6f45a69602951e445ca31202c9b84def3a''. * Fix compatibility with ocaml-4.03. * OCaPIC 3.2 (October, 18th, 2015) * {{:ocapic:ocapic-3.2.tar.bz2|}} (285 kB) * MD5: ''682ec0c8ec355863b7bbf870c9bb7173''. * SHA256: ''3af5e2f86bbf186173c214a856316c8d6ed0d3b40492d10e6185ae942a06804b''. * (new feature) Simulators: add analogical input management. * (change) Simulators: improve -slow running (now divide CPU usage by 5). * (change) Simulators: improve circuits layout. * (change) Simulators: improve colors. * (bug fix) Simulators: exit properly when a window is closed. * OCaPIC 3.1 (July, 1st, 2013) * {{:ocapic:ocapic-3.1.tar.bz2|}} (283 kB) * MD5: ''b667b4a8dd3096c9b286783a8b6aa18a''. * SHA256: ''777d4ae4dab6e97f8f11b6da5c133828d34320042b44aee2a63ab34dd3d02fae''. * (new feature) A new Garbage Collector: Mark&Compact. * (new feature) Simulator (ocasim): hardware cycle count. * (new feature) Simulator (ocasim): code execution tracing (from .lst files). * (new feature) Simulator (ocasim): add debugging instructions (ECHO, DUMP_RAM, ENABLE/DISABLE_TRACE). * (new feature) New test: a chocolate heater. * (bug fix) Compatibility with OCaml 3.10 (Obj.unaligned_value). * OCaPIC 3.0 (November, 14th, 2012) * {{:ocapic-3.0.tar.bz2|}} (283 kB) * MD5: ''e453251c23ec866a05bdc44cad83675e''. * SHA256: ''fff0856ac6594c53f4915168f28d5e09d923c44880b0569f00b1874f22934484''. * (change) Integration of OCamlClean. * (change) Better configuration/installation tests and messages. * (OCamlClean new feature) Function environments cleaning. * (OCamlClean bug fix) Control flow analysis of function bodies ending by RAISE. * OCaPIC 2.9 (November, 5th, 2012) * {{:ocapic-2.9.tar.bz2|}} (279 kB) * MD5: ''4de5af189adc5d782cf9e5293292e470''. * SHA256: ''734bc83448e245d54c8553b3acac737155617d38d6ae793aad5392ce6e6e4f20''. * (new feature) Battery charger example: parasitic resistances management. * (bug fix) PIC simulator (ocasim): disabled load of used module Trigs (for 4.0 compatibility). * OCaPIC 2.8 (September, 23rd, 2012) * {{:ocapic-2.8.tar.bz2|}} (260 kB) * MD5: ''d09650c13cee28d1773c13389a5ff2da''. * SHA256: ''2fe5b59499bd8be0edda041c83c87cb57a7501e37189131f5686f1f1bddbfcc2''. * (new feature) New test: an analog to digital converter. * (new feature) New test: a battery charger. * (bug fix) OCaml 4.0 compatibility. * OCaPIC 2.7 (July, 24th, 2012) * {{:ocapic-2.7.tar.bz2|}} (263 kB) * MD5: ''a29aa1a75a8da8da1a807cc021e02522''. * SHA256: ''5b37e522d9e8b572f0a190afe6a83d99d2d74e8c3a9375dc333de1b5354d0ead'' * (new feature) A keyboard simulator module. * (change) License: CeCILL. * (change) Default CLOCK configuration. * (change) Better DIP40 simulator graphics. * (bug fix) Data constructor overflow in data segment. * (bug fix) Write and I/O change on PORTE. * (bug fix) Manpages typos. * (OCamlClean bug fix) Toplevel (try)-with code dependencies. * OCaPIC 2.6 (April, 18th, 2012) * {{:ocapic-2.6.tar.bz2|}} (278 kB) * MD5: ''618ad3b79d295b388e130b36c35651fe''. * SHA256: ''cf4189963b59363ab5071f6ab59dd1d64936448802ae2f2afc045bb72c640e80''. * (new feature) ''Genlex'' module in standard library. * (new feature) Upgrade of ''Pervasives'': string/float conversions. * (new feature) Float formatting with ''Printf'' module (''%f'', ''%F'', ''%e'', ''%E'', ''%g'' and ''%G''). * (new feature) ''Lcd'' library: character generation (new ''register_bitmap'' function). * (new feature) New options for ''ocapic'' command: -where, -ocaml, -ocamlc, -camlp4. * (new feature) New test: a PIC programmer. * (new feature) Default PIC configuration word definitions (new ''default-config.asm'' file). * (new feature) Static check of heap/stack sizes validity and compatibility. * (new feature) Better manpages, usages and help messages. * (optimization) Float merge optimization by ''bc2asm'' command. * (bug fix) Installation path checking. * (bug fix) OCaml 3.10.0 compatibility (''double_field'' function). * (bug fix) Camlp4 pre-processor environment variable CAMLLIB. * (bug fix) Float comparison algorithm. * (bug fix) Float allocation code. * (bug fix) Float assembler function dependancies. * (bug fix) Licence of ''distgen'' script. * (bug fix) Function ''wait_ready'' in 4 bits bus mode (''Lcd'' library). * (bug fix) Pic bits ''RX7'' => integer out of bounds in global data. * (bug fix) Invalid LCD size exception. * (bug fix) Extra-library manpages generation. * (bug fix) Manpage generation of ''Pervasives'' module. * (OCamlClean bug fix) Manpage installation. * OCaPIC 2.5 (August, 6th, 2011) * {{:ocapic-2.5.tar.bz2|}} (257 kB) * MD5: ''fb3e092f093fe755aa5a1e2f3367f100''. * SHA256: ''43457ba54cf0014f8b0aa008605526d7ed4df0583635211d8278bcc35d4421a0''. * (new feature) A new simulator (complementary to the first) for external function assembler debugging. * (new feature) Standard library and extra libraries manpages. * (new feature) More tests and examples. * (new feature) Tutorial. * (bug fix) Manpage of ''bc2asm''. * OCaPIC 2.4 (May, 29th, 2011) * {{:ocapic-2.4.tar.bz2|}} (246 kB) * MD5: ''19856b8198129909d0b2cce45dd4b2a3''. * SHA256: ''f306352f201aa133580a992a2ec08ecc3e0d3896d0c563cc7d46997a272d2585''. * (new feature) Serial library: full-duplex OCaml value transmission through a serial connection with configurable timeouts and reliability improvement. * (new feature) A new OCaml library: EEPROM manipulation. * (new feature) PIC configuration word setting by a -config option. * (change) Atoms representation. * (bug fix) Function ''string_of_int'' (of invalid integers in simulation mode). * (bug fix) Flotting point numbers ''0.0'' and ''-0.0'' PIC representations. * (bug fix) VM instruction ''MAKEFLOATBLOCK''. * OCaPIC 2.3 (April, 7th, 2011) * {{:ocapic-2.3.tar.bz2|}} (236 kB) * MD5: ''23edb1515830a0a3398ea9ba27386962''. * SHA256: ''5bac04a8cb8c2ea861f835f7979a37405b41e22541087e708e3ff021f379208e''. * (new feature) A "circuit" simulator (with LED, button, switch, LCD display, 7-segment display, ...). * (new feature) A library to write component simulators in OCaml. * (change) Package architecture. * (bug fix) Source code files headers. * (bug fix) Keyboard events in LCD simulator. * OCaPIC 2.2 (March, 2nd, 2011) * {{:ocapic-2.2.tar.bz2|}} (228 kB) * MD5: ''e84a8911e9a748110c6d80e5c3dd2a77''. * SHA256: ''0eedc038727d14a15484b90f4f87f4435fee6029c84b832d7bb820bc9783e17e''. * (new feature) Stack occupation access in the simulator. * (new feature) Improvement of library ''Lcd'' with quick configuration. * (optimization) ''Lcd'' library (frees 78 bytes from the heap). * (optimization) Objects library (frees 770 bytes from the heap). * (bug fix) External function ''caml_make_array''. * (OCamlClean bug fix) Source cleanning. * (OCamlClean bug fix) Removing unused ''ASSIGN'' instruction. * OCaPIC 2.1 (February, 4th, 2011) * {{:ocapic-2.1.tar.bz2|}} (432 kB) * MD5: ''d1dbd0511d54a71187ae34c480b61a44''. * SHA256: ''f31b5721d4de04b89cbff4859b131c9661c762771d53e29454bb09a8e6980030''. * (new feature) A library to manipulate an high level serial connection from a computer to a pic. * (new feature) The Stream module in standard library. * (optimization) Float array compression. * (optimization) Atoms representation. * (bug fix) External function ''caml_alloc_dummy_float''. * OCaPIC 2.0 (January, 9th, 2011) * {{:ocapic-2.0.tar.bz2|}} (213 kB) * MD5: ''fafcb97a6429bdc800caad6af03a8aca''. * SHA256: ''69dd8ee051a2d80015c950455188750207d5a248402bf0e3201760667f3ef22a''. * (new feature) 32bit float values and basic flotting point arithmetic operations. * (new feature) ''Int32'' and ''Int64'' modules implementation. * (new feature) ''Printf'' module implementation. * (new feature) PIC interruptions management (in a way similar to Unix signals). * (new feature) Type ''out_channel'' specification and tools implementation. * (new feature) Improvements of ''Lcd'' module (''moveto'', ''‘\n’'', display initialization protocol). * (new feature) A standard sleep function (so the simulator will behave more as the hardware). * (optimization) Memory representation for exceptions (frees 240 bytes on the heap and 12 levels on the stack). * (bug fix) Exceptions raised by an external function which has more than 2 arguments. * (bug fix) Catching ''Out_of_memory'' exception. * (bug fix) LCD display simulator on 4bit protocol. * OCaPIC 1.6 (November, 11th, 2010) * {{:ocapic-1.6.tar.bz2|}} (256 kB) * MD5: ''d52770b72d3335c49a5416d73bd94fb8''. * SHA256: ''b3da90a00df4eb54f4d7e630b92858c439593766d39ac09a5aef60b50ea77276''. * (change) Small bugfixes and small evolutions due to OCamlClean's extraction. * OCaPIC 1.5 (November, 9th, 2010) * {{:ocapic-1.5.tar.gz|}} (1.2 MB) * MD5: ''4e1b7a8992ce4b31a4b0651d1de0445e''. * SHA256: ''20a99f3fbe44af1b10e5fe1412d7fb3e8b94d5f02d8de2697f8a23a68d039ab5''. * (new feature) All PIC18 are now supported. * (OCamlClean bug fix) Large bytecode binaries, file opening on Windows (thanks to //Thomas Moniot//). * OCaPIC 1.4 (November, 6th, 2010) * {{:ocapic-1.4.tar.gz|}} (181 kB) * MD5: ''800d8d0b526421222c384f27465c78bc''. * SHA256: ''0a63d8b1053d6ffa4962dedc57b37d8862077d34aa9c4f9433359003d9e726ff'' * (bug fix) Manpages (thanks to //Marc Mezzarobba//). * OCaPIC 1.3 (October, 28th, 2010) * {{:ocapic-1.3.tar.gz|}} (181 kB) * MD5: ''cb73c826a9b95786ccf71f3a1d294ad3''. * SHA256: ''6975f9a8ed0e3e22c8b8dc301e00dd07acc8dc15d6994bce18987770d3178721''. * (bug fix) Building examples on 64bit plateforms (thanks to //Stéphane Glondu//). * OCaPIC 1.2 (October, 26th, 2010) * Update license. * OCaPIC 1.1 (October, 6th, 2010) * Development snapshot. * OCaPIC 1.0 (October, 5th, 2010) * First //stable// version. ====== OCamlClean release history ====== OCamlClean is included in OCaPIC distribution. This section is meant for those who do not want to get OCaPIC but only OCamlClean. A small description of OCamlClean is available [[ocamlclean|here]]. * **Latest version:** OCamlClean 2.2 (March, 8th, 2019) * {{:ocapic:ocamlclean-2.2.tar.bz2|}} (30 kB) * MD5: ''5f3f7d31527ca30123e6b46b17c19dcc''. * SHA256: ''33d17a1f823d32f37a6eb78d681e53a3ba0b77006346542d990541a3c10abc9c''. * Fix compatibility with ocaml-4.07. * OCamlClean 2.1 (October, 4th, 2016) * {{:ocapic:ocamlclean-2.1.tar.bz2|}} (30 kB) * MD5: ''66b45a96980d44df8db72e9d03c8353e''. * SHA256: ''c26c37020d8c1c26cf577531250031d59f3b8925f6cbe35194ba9b068cf647b3''. * Fix compatibility with ocaml-4.03. * OCamlClean 2.0 (November, 14th, 2012) * {{:ocamlclean-2.0.tar.bz2|}} (30 kB) * MD5: ''c72c562c5c77e12e731bd3b934fee376''. * SHA256: ''f49c49de0a1103e3d3e4eda392c5eac16370effa9efc0f9a9265c4f981e49593''. * (new feature) Function environments cleaning. * (bug fix) Contrôl flow analysis of function bodies ending by RAISE. * OCamlClean 1.9 (July, 24th, 2012) * {{:ocamlclean-1.9.tar.bz2|}} (29 kB) * MD5: ''fc51c25266e008e1a5164f6d5b42fb70''. * SHA256: ''8214b70f489e44756f53f3096e7ab202e83684b095145c85ac90225585287553''. * (change) License: CeCILL. * (bug fix) Top-level (try)-with code dependencies. * (bug fix) Manpage installation. * OCamlClean 1.8 (March, 1st, 2011) * {{:ocamlclean-1.8.tar.bz2|}} (29 kB) * MD5: ''642fa67d6f5f8cb8c290221dd24bfefc''. * SHA256: ''db13ba1c1ecca2080e5c26db9832f45809d1f5cd4b4a3b7b9707c88dce22324c''. * (bug fix) Source cleanning. * (bug fix) Removing unused ''ASSIGN'' instruction. * OCamlClean 1.7 (January, 9th, 2011) * {{:ocamlclean-1.7.tar.bz2|}} (29 kB) * MD5: ''28a2ff3a6b448f7d07a104c2bab0c76c''. * SHA256: ''5b536b1fd20dbe77de6a5f059fb1ed7d7f6398b9ad4ae23005e21a06a63c9f12''. * (bug fix) Top-level expressions elimination. * OCamlClean 1.6 (November, 11th, 2010) * {{:ocamlclean-1.6.tar.bz2|}} (29 kB) * MD5: ''8c4d35d8cb7ee9c2d2e7cd65187ec58f''. * SHA256: ''b3c40cd6ba296cd5db46c19afc3cc71e0a5735aa16385d61ef4fee0f395eb245''. * (bug fix) Deletion of DBUG section in generated bytecode. ====== OCaPIC tutorial release history ====== * **Latest version**: OCaPIC tutorial 1.2 (April, 19th, 2012) * French version: {{:tutoriel-ocapic-1.2.pdf|}} (209 kB). * English version: {{:ocapic-tutorial-1.2.pdf|}} (205 kB). * (bug fix) Execution command for usart test. * (bug fix) Serial connection: baud rate conversion. * (bug fix) Serial library test: LCD bus size. * OCaPIC tutorial 1.1 (August, 22nd, 2011) * French version: {{:tutoriel-ocapic-1.1.pdf|}} (220 kB). * English version: {{:ocapic-tutorial-1.1.pdf|}} (216 kB). * (new feature) English translation (thanks to //Zoé Faget//). * (bug fix) Compilation command for sender.ml. * (bug fix) Refinement of timer speed. * (bug fix) Some typos. * OCaPIC tutorial 1.0 (August, 6th, 2011) * French version: {{:tutoriel-ocapic-1.0.pdf|}} (219 kB) * First stable version.