Skip to content

A terminal emulator with limited functionality that runs on avr microcontrollers over the serial port

Notifications You must be signed in to change notification settings

jaxsonpd/embedded-terminal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

90 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Embedded Terminal

This is a terminal designed to run on the avr series of micro controller which offers some basic functions.

A screenshot of the welcome message can be seen below:

The embedded terminal welcome

Documentation

Commands

help: View the available commands and get general information about the system.

clear: Clear the terminal screen using the VT100 escape sequence.

led: Toggle an lead connected to a specific pin (in this case pin 13 on the arduino uno)

Testing

This project uses the unity test framework to allow unity testing. This is supplemented by the FFF Fake Function Framework used for faking where needed. The tests are located in ./tests/ and use cmake for execution. It can be manually executed from the host directory using:

cmake -B build tests
cmake --build build --parallel
ctest --test-dir build --output-on-error

Or using the provided bash script as follows:

source run_tests.sh

ToDo

Admin

  • Build script for libraries
  • Build script for source
  • Build script for project

Features

  • I2C library
  • Add display module
  • Finish IO module
  • Add EEPROM module
  • Add pipeing operator

Bug Fix

  • Fix getopt()
  • Fix argument memory leak - This is caused by not freeing the input array.
  • Re write the cmd extract function to be more clear.

Setup

A full installation and setup process can be found in SETUP

But assuming the target device is ATMEL Mega328P (Arduino Uno) then the device can be programmed using:

make flash serial

in the ./src/ directory.

Serial monitor settings

Setting Value
EOL sent \n
EOL reciving \r\n
Baud Rate 56700
Encoding 8n1

To interact with the terminal use a serial monitor. The author recommends using putty which can be installed using:

sudo apt install putty

About

A terminal emulator with limited functionality that runs on avr microcontrollers over the serial port

Topics

Resources

Stars

Watchers

Forks