PIC

OCaPIC: PIC microcontrollers programmed in OCaml

OCAPIC OCamlClean Download References Documentation Contact

Latest versions

    • Version: 3.3.
    • Size: 326 kB.
    • Date: October, 5th, 2016.
    • MD5: bd1b2e89acb3399600910b8c2dd48fc6.
    • Version: 2.1.
    • Size: 32 kB.
    • Date: October, 4th, 2016.
    • MD5: 66b45a96980d44df8db72e9d03c8353e.
  • 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 CeCILL license.

OCaPIC release history

  • Latest version: OCaPIC 3.3 (October, 5th, 2016)
      • MD5: bd1b2e89acb3399600910b8c2dd48fc6.
      • SHA256: 268388ee7d488eb442bbe6e897ea5c6f45a69602951e445ca31202c9b84def3a.
    • Fix compatibility with ocaml-4.03.
  • OCaPIC 3.2 (October, 18th, 2015)
      • 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)
      • 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)
      • 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)
      • 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)
      • 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)
      • 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)
      • 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)
      • 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)
      • 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)
      • 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)
      • 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)
      • 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)
      • 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)
      • MD5: d52770b72d3335c49a5416d73bd94fb8.
      • SHA256: b3da90a00df4eb54f4d7e630b92858c439593766d39ac09a5aef60b50ea77276.
    • (change) Small bugfixes and small evolutions due to OCamlClean's extraction.
  • OCaPIC 1.5 (November, 9th, 2010)
      • 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)
      • MD5: 800d8d0b526421222c384f27465c78bc.
      • SHA256: 0a63d8b1053d6ffa4962dedc57b37d8862077d34aa9c4f9433359003d9e726ff
    • (bug fix) Manpages (thanks to Marc Mezzarobba).
  • OCaPIC 1.3 (October, 28th, 2010)
      • 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 here.

  • Latest version: OCamlClean 2.1 (October, 4th, 2016)
      • MD5: 66b45a96980d44df8db72e9d03c8353e.
      • SHA256: c26c37020d8c1c26cf577531250031d59f3b8925f6cbe35194ba9b068cf647b3.
    • Fix compatibility with ocaml-4.03.
  • OCamlClean 2.0 (November, 14th, 2012)
      • 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)
      • 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)
      • MD5: 642fa67d6f5f8cb8c290221dd24bfefc.
      • SHA256: db13ba1c1ecca2080e5c26db9832f45809d1f5cd4b4a3b7b9707c88dce22324c.
    • (bug fix) Source cleanning.
    • (bug fix) Removing unused ASSIGN instruction.
  • OCamlClean 1.7 (January, 9th, 2011)
      • MD5: 28a2ff3a6b448f7d07a104c2bab0c76c.
      • SHA256: 5b536b1fd20dbe77de6a5f059fb1ed7d7f6398b9ad4ae23005e21a06a63c9f12.
    • (bug fix) Top-level expressions elimination.
  • OCamlClean 1.6 (November, 11th, 2010)
      • 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/download.txt · Last modified: 2016/10/05 15:16 by benoit
Cette page utilise JavaScript. Si ce texte est visible, c'est que JavaScript est indisponible. Certains contenus ne vous sont alors pas accessibles.
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki