Create an os-driven multitasking device

Assignment Help Computer Engineering
Reference no: EM132190085

Goal:

In this project you will create an OS-driven multitasking device than can capture data at precise intervals and send data over a serial interface to a computer, while (for extra credit) playing delightful music and riveting games. If more extra credit is desired, buffering the data to EEPROM may be attempted.

Description: Overview

In this project you will create an OS-driven multitasking device than can capture data at precise intervals and send data over a serial interface to a computer, while (for extra credit) blinking a light and playing games. If more extra credit is desired, buffering the data to EEPROM may be attempted. The device will boot into a menu 3 (5 for extra credit) commands are available. This menu serves as the command prompt on a traditional linux system. These commands initiate and suspend tasks. You'll need to perform the following steps to complete the project - any thing in RED is required, everything else is extra credit.

- (EC) Create/add tasks to run provided light and game functions in the OS skeleton code
- Setup ADC and Timer0 to implement precision capture intervals
- Implement a circular buffer in RAM (you may do this in EEPROM for extra credit)
- Create Task to poll and store ADC data into the circular buffer
- Create Task to dequeue data from the circular buffer and send data through serial port at a sufficient rate to avoid overflow
- Implement a menu system (MAIN MENU) using the LCD and Joystick with these 5 commands:
o CAPT- Resumes Capture task (stay at prompt. task suspends itself if circular buffer fills)
o STSD - Resumes Send task (stay at prompt, task runs until suspended)
o SPSD - Suspends Send task (stay at prompt, suspends send task)

The only tasks that you need to do on this project is the required tasks only.

The code should be written in C.

You are provided all the code for:
1- Timer0
2- ADC code
3- LCD
4- UART
All other AVRx codes.

Task Details:

The main menu command driven task control menu should be implemented using a AVRX tasks and should control other AVRX tasks

Implement a menu system (MAIN MENU) using the LCD and Joystick with these 5 commands:

- CAPT- Resumes Capture task (stay at prompt. task suspends itself if circular buffer fills)
- STSD - Resumes Send task (stay at prompt, task runs until suspended)
- SPSD - Suspends Send task (stay at prompt, suspends send task)

Capture TASK

If user selects the capture command, the task for capturing the temperature of the surrounding will start and it will continue to execute as long as there is a free room in the circular buffer. In other words, capture task will suspend itself if there is no room in the buffer, and will continue to run forever if it always finds a free room in the buffer. If you do choose to go for extra credit, EEPROM is available in ATmega169P. Check the datasheet for more info.

ADC and Timer0: :

- Setup ADC to Trigger off of Timer0, with a frequency around 30-32 Hz. You need to figure out how to trigger the ADC off of Timer0 and configure Timer0 accordingly. Set the autoconversion enable bit and set ADCSRB appropriately to select the timer signal source (check datasheet).

- You can trigger the ADC off of Timer0 overflow or output compare match. IMPORTANT NOTE: You will need to have an ISR for whatever interrupt you choose to use because the code will enter there despite the use of auto conversion. You don't need to have any code in the ISR, it just needs to be defined.

- Set the prescalar value, ADPS, to make sure the ADC clock is below the specified 200kHz to achieve full accuracy.
- Set the reference to the internal 1.1V using the REFS bits.

Send Data TASK

Starting/Resuming Send Data: Enabled by sending STSD. This will start a task which will read the captured data from the buffer (implemented in EEPROM if attempting extra credit, but in normal RAM processes if not) and will send it via serial port to the PC. On the PC side an application will listen to the port and will capture the data.

The Sending-Data task will not halt/terminate even if it finds the buffer empty (underflow). It should wait and send new data in the buffer to the PC as it becomes available.

Suspending Send Data: This command will suspend the send-data task if it is running. The side effect of this action will be a full buffer if the Capture Task is still running. A full buffer will cause the Capture Task to be suspended until space in the buffer is available.

Attachment:- PROJECT.rar

Reference no: EM132190085

Questions Cloud

What is the probability that the vehicle you choose : Suppose that you were asked to choose a new car from this city at random and record its color. What is the probability that the vehicle you choose has a color
How do those compare to the impacts on developed countries : Identify appropriate workplace skills that might be appealing to a potential employer, from a technological perspective.
Evaluate the current ethical and legal concerns : Analyze the improvements over the last two years to your communication technology topic, and suggest an improvement based on its current usage.
Discuss about the benjamin franklin in detail : There is NO extra credit for writing on more than five. A top scoring exam will consist of five well-written, thorough, lengthy responses.
Create an os-driven multitasking device : The main menu command driven task control menu should be implemented using a AVRX tasks and should control other AVRX tasks
What type of error is possible in situation : Based on the data they conclude that the evidence is strong enough to conclude that the students are fluent in English. What type of error is possible in this s
Discuss the regulatory standards : What mechanisms must be included in the Data Management System (DSM) for both the hospital-based and population-based registries?
Write a research paper describing an emerging trend : Write a research paper describing an emerging trend in data analytics and business intelligence.
Confidence interval for the true average amount : Construct a 99% confidence interval for the true average amount customer spend when this new feature is added to the incentive program.

Reviews

len2190085

12/10/2018 3:57:22 AM

The only tasks that you need to do on this project is the required tasks only. The code should be written in C. You are provided all the code for: 1- Timer0 2- ADC code 3- LCD 4- UART All other AVRx codes. Almost everything is given except that you need to code the Capture Task as well as the Circuilar Buffer (Sending and Receiving tasks" . After agreeing on the Price, we will send all the files and codes. It must be deilver less than 35 hours from now

len2190085

12/10/2018 3:56:03 AM

Everything should be submitted to the repo by 11:59 am. This includes: 1) All code required to compile and run your program 2) A report with: a. A clear statement on the completeness of your system. Report what testing procedures you performed. b. Design decisions c. A usage manual (make it clear what your system DOES not what it was intended to do but you never got working –explicitly stating if you did the extra credit and what extra credit was implemented).

Write a Review

Computer Engineering Questions & Answers

  It will cost 65000 to implement the project all of which

a four-year financial project has estimates of net cash flows shown in the following tableyear net cash

  What are major characteristics of modern multimedia system

What are the major characteristics of a modern multimedia system? What is the most important characteristic in your opinion?

  Create wild safari interface that incorporate your own theme

Using Flash, Photoshop, or Illustrator, create the Wild Safari interface that incorporates your own theme and design. Be creative! The interface should be easy to navigate and should look professional.

  Define a utp link test

Draw a picture of properly aligned transmit and receive signal of a computer's data link that is running Ethernet data rates.

  Explore the concept of id management for the company

Your supervisor has asked you to explore the concept of ID management for the company. What is involved? How does it pertain to the topic of security?

  Write a complete program that demonstrates the functions

Write a function named arrayToFile. The function should accept three arguments: the name of a file, a pointer to an int array, and the size of the array.

  1 the degreev of a pendant vertex may be either one or

1. the degreev of a pendant vertex may be either one or zero.nbspnbspnbspnbspnbsp tnbsp ornbsp fnbsp2. a tree is any

  Print a message each time operation occurs during simulation

Design and implement an application that simulates the customers waiting in line at a bank. Use a queue data structure to represent the line.

  Generate a context diagram of the system

Generate a context diagram of the system

  Write a method that will traverse a linked B-tree

Write a method that will traverse a linked B-tree, visiting all its entries in order traversal of keys (smaller keys first).

  Describe the likelihood and the potential impact of risks

Identify the key risks (both positive and negative) associated with embarking on a graduate program. Describe the likelihood and the potential impact.

  Compute the picking point a0 on the near plane

we can compute the picking point A0 on the near plane (Z=0) and picking point A1 on the far plane (Z=1) in the 3D camera view.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd