diff options
author | manasdas17 | 2019-08-26 09:36:22 +0530 |
---|---|---|
committer | GitHub | 2019-08-26 09:36:22 +0530 |
commit | f55332aac31f9d2945f8a12f02dc0fffe2956dc3 (patch) | |
tree | dad4ee51a96ec8a41aafe912d40f186579b60079 /README.md | |
parent | 1e332fcc6045dea9247bcaf73eff3ffd283df6fa (diff) | |
download | OpenModelica_Arduino_With_MDD-f55332aac31f9d2945f8a12f02dc0fffe2956dc3.tar.gz OpenModelica_Arduino_With_MDD-f55332aac31f9d2945f8a12f02dc0fffe2956dc3.tar.bz2 OpenModelica_Arduino_With_MDD-f55332aac31f9d2945f8a12f02dc0fffe2956dc3.zip |
Update README.md
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 65 |
1 files changed, 64 insertions, 1 deletions
@@ -1,2 +1,65 @@ -# OpenModelica_Arduino_With_MDD +# OpenModelica_Arduino_With_MDD on Linux (Ubuntu 16.04 onwards) Embedded Experiments with OpenModelica and Arduino with facility for Embedded C code generation +Free & Open Source library for based on OpenModelica to perform Embedded Experiments with Arduino.Also, there is a facility to generate Embedded C code by using Modelica_DeviceDrivers models. +Library description + +The library is an open source Modelica package for rael-time simulation of circuit designs involving Arduino platforms based on AVR Atmega328P MCUs. + +Main features: + + Support for Linux. + (Soft) real-time synchronization of a simulation. + +Please note that the library is known to work with + + OpenModelica (partial support starting with OpenModelica v1.11.0, e.g.serial port). + +Prerequisites + + OpenModelica (>= v1.11.0) (https://www.openmodelica.org/download/download-linux) + Modelica_DeviceDrivers (v1.5.1) (https://github.com/modelica/Modelica_DeviceDrivers/releases/tag/v1.5.1) + +Compile and Install + + Compile: Navigate to Library directory under Resources and to compile a source file named filename.c execute the following command + +$ gcc –c –Wall –fPIC ../src/filename.c + +To make a shared object file named libSerialComm.so execute the following + +$ gcc –shared –fPIC *.o -o libSerialComm.so + + Install and Run: Launch OMEdit and load the package Modelica_DeviceDrivers.Also, load the OpenModelica-Arduino package present in Arduino.mo file.Load the Arduino platform with the arduino_firmware.ino code.Create any model using the package and simulate. + +Running Test Firmware + +Test the package using test firmware provided. + + Load the Arduino platform with the arduino_firmware.ino code. + Load the test model present in testfirmware.mo file along with Arduino.mo file in OpenModelica. + Simulate the model.If no error occurs,the package is good to go. + +Running MDD Models + +See the AVR package documentation under Modelica_DeviceDrivers -> EmbeddedTargets -> AVR in OMEdit before running the MDD examples. + + To run a Modelica_DeviceDrivers Blink example, navigate to MDD_build/Blink directory and execute the following command + +$ ./blink.sh [port_no] [baudrate] + + Running Manually: Executing Blink example within Modelica_DeviceDrivers EmbeddedTargets Package:- Put the runMDDAvr.mos file in a (build) directory and execute following commands on the command line: + +$ omc --simCodeTarget=ExperimentalEmbeddedC runMDDAvr.mos +$ avr-gcc -Os -std=c11 -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000UL -Wl,--gc-sections Blink_main.c -o Blink -I /path_to_MDD/Modelica_DeviceDrivers/Resources/Include -I /usr/include/omc/c +$ avr-objcopy -O ihex -R .eeprom Blink Blink.hex +$ avrdude -F -V -c arduino -p ATMEGA328P -P /dev/ttyACM0 -b 115200 -U flash:w:Blink.hex + +For further information: Visit https://build.openmodelica.org/Documentation/Modelica_DeviceDrivers.html. +Development and contribution + +Main developers: + + Manas Ranjan Das, FOSSSEE, IIT-Bombay + +Contributions in shape of [Pull Requests] are always welcome. + |