CS684: Embedded System Course

Resources


FSM and Statechart Resources


Paper on Statecharts: Download

FSM and Yakindu Statechart Tool: Youtube Video


Lustre Resources


Tutorial on Lustre: Download

SCADE Industrial: Download


Reactive Kernel Resources


  • Download ReacK.zip. Unzip it.
  • The extracted folder ReacK contains reactive kernel code written in C by hand (by-hand folder) and synthesized to C from a high-level language (Heptagon, by-hept folder).
  • by-hand has C code implemented for Minimum (min) and Minimum of Average (min_avg) which follows the structure of a reactive kernel. That is, it consists of a C file with step and reset functions forming the compute part and the main file (the entry point) that reads inputs from the console (sense), calls functions from the compute part and prints on the console (or actuate).
  • by-hept implements Heptagon code for the same problems, which synthesizes to C code.
  • Minimum takes an input x and finds minimum of the x’s seen so far.
  • Minimum of Average takes inputs x and y and finds minimum of the average at each instance (x+y)/2 seen so far.

Compiling and Running:

  • C file
cd </path/to/Reack>/by-hand/min
gcc -c min.c
gcc -c main.c
gcc -o min main.o min.o
./min
  • Heptagon file
./simulate.sh -s <name-of-node> -p </path/to/heptagon/code.ept>  -c 1
  • After running enter an integer value for x. The output should be the minimum of x entered since the start of the program.
  • Similarly you can check the output for minimum of average.

Embedded Resources


Note: All the resources provided below are based on Firebird V robot which consists of ATmega2560 microcontroller. But for the lab sessions, we will be working on ATmega328 controller (Arduino Uno) given that concepts remain same across both the controllers (belong to same family).

Alphabot Resources: Alphabot Ar

Additional Module: Introduction to Firebird V Robot

Module 1: I/O Interfacing

  • Understand the function of I/O ports and the associated registers.
  • Interface I/O peripherals like Switch, Buzzer and Bar graph LEDs.

Module 2: Masking

  • Understand the concept of Masking with the help of I/O interfacing.
  • Need of using AND and OR operators with the help of few examples.

Additional Module: LCD Interfacing

Module 3: Motor Interfacing

  • Direction control of DC motors present on Firebird V Robot.
  • Understanding the use of L293D motor driver IC.

Module 4: Pulse Width Modulation

  • Understanding Timers and associated registers.
  • Speed control of the robot and brightness control of the LED.