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.