“COMMAND PARSE” - A STATUS REPORT - Matt Smith Pallavi Khandelwal

Slides:



Advertisements
Similar presentations
Process management Information maintained by OS for process management  process context  process control block OS virtualization of CPU for each process.
Advertisements

Module R2 CS450. Next Week R1 is due next Friday ▫Bring manuals in a binder - make sure to have a cover page with group number, module, and date. You.
Lecture 11: Operating System Services. What is an Operating System? An operating system is an event driven program which acts as an interface between.
Autonomous Helicopter: James Lyden Harris Okazaki EE 496 A project to create a system that would allow a remote- controlled helicopter to fly without user.
Operating Systems High Level View Chapter 1,2. Who is the User? End Users Application Programmers System Programmers Administrators.
University of Kansas EPS of KUTEsat Pathfinder Leon S. Searl April 5, 2006 AE256 Satellite Electrical Power Systems.
Page: 1 Director 1.0 TECHNION Department of Computer Science The Computer Communication Lab (236340) Summer 2002 Submitted by: David Schwartz Idan Zak.
CSE Fall Introduction - 1 What is an Embedded Systems  Its not a desktop system  Fixed or semi-fixed functionality (not user programmable)
Firmware implementation of Integer Array Sorter Characterization presentation Dec, 2010 Elad Barzilay Uri Natanzon Supervisor: Moshe Porian.
Low level telemetry software Marty Olevitch Washington U. in St Louis April 8, 2005.
The University of New Hampshire InterOperability Laboratory Serial ATA (SATA) Protocol Chapter 10 – Transport Layer.
Renesas Electronics Europe GmbH A © 2010 Renesas Electronics Corporation. All rights reserved. RL78 Clock Generator.
07/10/ Strings ASCII& Processing Strings with the Functions - Locate (Instr), Mid, Length (Len), Char (ChrW) & ASCII (Asc)
Recall: Three I/O Methods Synchronous: Wait for I/O operation to complete. Asynchronous: Post I/O request and switch to other work. DMA (Direct Memory.
Chapter 6-2 the TCP/IP Layers. The four layers of the TCP/IP model are listed in Table 6-2. The layers are The four layers of the TCP/IP model are listed.
Autonomous Helicopter James LydenEE 496Harris Okazaki.
Timer Timer is a device, which counts the input at regular interval (δT) using clock pulses at its input. The counts increment on each pulse and store.
Time Management.  Time management is concerned with OS facilities and services which measure real time, and is essential to the operation of timesharing.
Slide 1 Project 1 Task 2 T&N3311 PJ1 Information & Communications Technology HD in Telecommunications and Networking Task 2 Briefing The Design of a Computer.
CE Operating Systems Lecture 2 Low level hardware support for operating systems.
Operating Systems 1 K. Salah Module 1.2: Fundamental Concepts Interrupts System Calls.
1 Computer Systems II Introduction to Processes. 2 First Two Major Computer System Evolution Steps Led to the idea of multiprogramming (multiple concurrent.
Configuration Mapper Sonja Vrcic Socorro,
Process Description and Control Chapter 3. Source Modified slides from Missouri U. of Science and Tech.
CE Operating Systems Lecture 2 Low level hardware support for operating systems.
Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
Laboratory 2 Group 19 The Group of Destiny. User Interface - Debugging Objectives:  Display: Sensor data (telemetry) – including IR sensors, status of.
TinyOS Sandeep Gupta. Operating System (OS) What is an OS? Main functions  Process management  Memory management  Resource management Traditional OSs.
1 Run-to-Completion Non-Preemptive Scheduler. 2 In These Notes... What is Scheduling? What is non-preemptive scheduling? Examples Run to completion (cooperative)
System Software Design Dan Sweet May 6 th, 2008 Western Washington University Bicycle Power Meter.
Communication thread core thread Spawn N negotiation threads... negotiation threads active inactive Initialize An Agent and Its Threads execution thread.
Active-HDL Server Farm Course 11. All materials updated on: September 30, 2004 Outline 1.Introduction 2.Advantages 3.Requirements 4.Installation 5.Architecture.
HAMILTON Software VENUS two VENUS two General Steps.
WINLAB Open Cognitive Radio Platform Architecture v1.0 WINLAB – Rutgers University Date : July 27th 2009 Authors : Prasanthi Maddala,
Of Privilege, Traps, Interrupts & Exceptions Prof. Sirer CS 316 Cornell University.
Tutorial 2: Homework 1 and Project 1
Yongchang, Kai, Justin, Rama
Chip Config & Drivers – Required Drivers:
Adopting the Python language for On-board Programmable Payload Autonomy Steven Doran 2016 Flight Software Workshop 12/14/2016.
Introduction to Operating Systems
Do-more Technical Training
Chapter Objectives In this chapter, you will learn:
Lecture 1: Operating System Services
Neha Nehru Shadab Ambat
Power meter SB-DN-PM1P03 SB-DN-PM3P02.
Dale McClure Michael McEwen Sam Hishmeh Nanxiang Li Dec 5th, 2006
EmuOS Phase 3 Design Brendon Drew Will Mosley Anna Clayton
Exceptional Control Flow
Key Ideas from day 1 slides
Lesson Objectives Aims Key Words Interrupt, Buffer, Priority, Stack
Topics Introduction to Repetition Structures
Protection of System Resources
Technology Literacy Hardware.
Neha Nehru Shadab Ambat
Senior Software Engineering Student Robertas Sys
Introduction to Operating Systems
Tutorial 19 - Microwave Oven Application Building Your Own Classes and Objects Outline Test-Driving the Microwave Oven Application Designing.
An Introduction to Java – Part I, language basics
PROCESS MANAGEMENT Information maintained by OS for process management
4.1 Strings ASCII & Processing Strings with the Functions
CSE 451 Autumn 2003 Section 3 October 16.
EE 472 – Embedded Systems Dr. Shwetak Patel.
CSE 451: Operating Systems Autumn 2003 Lecture 2 Architectural Support for Operating Systems Hank Levy 596 Allen Center 1.
CSE 451: Operating Systems Autumn 2001 Lecture 2 Architectural Support for Operating Systems Brian Bershad 310 Sieg Hall 1.
CSE 451: Operating Systems Winter 2003 Lecture 2 Architectural Support for Operating Systems Hank Levy 412 Sieg Hall 1.
CSE 1020:Software Development
“COMMAND PARSE” - A STATUS REPORT-.
Interrupts and System Calls
Technical Training.
Presentation transcript:

“COMMAND PARSE” - A STATUS REPORT - Matt Smith Pallavi Khandelwal Vaibhav Badjatya

INTRODUCTION Command Executor A task that Extracts command id from the received packet and runs a switch on “command id” call functions that handle the commands. Command Scheduler A task that Schedules the different incoming commands , that is decides the order in which they will be executed

GOALS FOR THE SEMSESTER DEVELOP COMMAND EXECUTOR FOR THE COMPLETE COMMAND SET. DEVELOP FUNCTIONS RELATED TO REAL TIME CLOCK. DEVELOP THE COMMAND SCHEDULER . PRODUCE A COMPLETE DOCUMENT OF THE COMMANDS TO BE IMPLEMENTED.

SOFTWARE FLOW switch(command.ID) // Notify of unhandled command Receives Command GET_CMD_RX( (ubyte*)&(command.ID), (ubyte*)&(command.Payload), (ubyte*)&(command.NumBytes) Gives error if invalid command ID. // Notify of unhandled command void errorNotify(unsigned char cmndID) { kysat_printf("COMMAND EXECUTOR Command not implemented: %c \n", cmndID) } If valid command sends acknowledgement. // sends ack. of command back to radio void sendAcknowledge(CommandItem* command) command->ID = command->ID + 32; send_tx_raw( command->ID, command->Payload, command->NumBytes); Runs the switch on command ID ,and calls relevant functions. switch(command.ID) case BEACON: :

OTHER FUNTIONS IMPLEMENTED REAL TIME CLOCK //BASIC STRUCTURE USED typedef struct { uint16 year; ubyte month; ubyte day; ubyte hour; ubyte minute; ubyte second; } RTCTime; // TO SET CURRENT TIME FOR RTC ubyte RTCSetTime(uint16 year, ubyte month, ubyte day, ubyte hour, ubyte minute, ubyte second ); //SETS TIME FROM AN ARRAY OF UBYTES ubyte RTCSetTimeRaw(ubyte* data); // RETURN CURRETN TIME RTCTime RTCGetTime( void ); COMNNAD SCHEDULER // TO SCHEDULE A COMMAND ubyte CmdSchSchedule( ubyte* id, ubyte* payload, ubyte* numbytes); The input is the command to schedule a command Function checks the ID to make sure it is the correct command type, else it returns an error Then checks to make sure the queue is not full, or it will return an error Then finds the spot in the queue the command belongs. The queue is sorted based on when the command needs executed Finally it inserts the command in the queue and moves other commands if necessary // THE TASK FOR THE COMMAND SCHEDULER void CmdSchTask( void ); Wakes up to check if a command needs executed (currently periodically) If a command needs executed then the command is placed in the CMD_RX queue

Sends back Packet received with ID changed to ‘a’. Beacon coded ID 2 De Coded NAME ARGUMENTS ACTIONS ACK OR RETURN PACKET INCHARGE MODULE      A BEACONS Time period(). changes the period of the following periodic beacon packet to the Time period in the argument Sends back Packet received with ID changed to ‘a’. Beacon B 1 TELEMETRY_REQUEST Telemetry information required. Supplies the telemetry packet containing the required telemetry information No ack, but just the requested packets.      C 2 TELEMETRY_WINDOW ID (telemetry point ), Rate() , Length () Samples the Telemetry Point specified by ID at the specified rate for the specified length of time. Writes results to file. Sends back Packet received with ID changed to ‘c’.      D 3 DIGITAL_UPLINK_ CONTROL Follow Beacon, Timeout (1 BYTE) (OS TICKS) Cancel Beacons, Timeout (1 BYTE) (OS TICKS) Change which Beacon (0 DB, 1 CW) the Receiver Listens After and for How Long Afterwards (units);. Sets the length of time (units) that the Beacons are halted for and the receiver is on after a digital packet is received. Sends back Packet received with ID changed to ‘d’      E 4 SEND_FILE File ID, Extension, Folder ID, Packet Number, Data Returns the specified portion of the requested file Sends back Packet received with ID changed to ‘e’ and arguments removed. File System

Start Packet Number, Number of Packets Stores data locally. ID1 En coded ID 2 De Coded NAME ARGUMENTS ACTIONS ACK OR RETURN PACKET INCHARGE MODULE      F 5 REQUEST_FILE File ID, Extension, Folder ID, Start Packet Number, Number of Packets Stores data locally. No ack, but just the requested packets. File System G 6 S-BAND_CONTROL power, ON/OFF 0 0 (I BYTE) 1/0 auto-off, timeout 0 1 (I BYTE) , (os ticks) register control, control data 1 1 , ???? Turns the S-band Radio on/off. Specifies how long the radio should remain on after it is activated Used to directly manipulate the s-band configuration Sends back Packet received with ID changed to ‘g’ H 7 PLAY_AUDIO DTMF Wait, Loop Timer, Audio Telemetry Bitfield Plays the specified audio file after receiving the appropriate DTMF tone (if DTMF wait is set to true) loops if loop timer is non-zero, and inserts the audio telemetry points specified in the bitfield after each loop. None. Audio playback is sufficient. Audio Processing      I 8 PHOTOGRAPH Number in Sequence (max. limit), Pause (units…) Takes specified number of pictures with specified pause between them. Automatically sends the first packet of each picture when complete. Sends back Packet received with ID changed to ‘i’ .

ID1 En coded ID 2 De Coded NAME ARGUMENTS ACTIONS ACK OR RETURN PACKET INCHARGE MODULE     J 9 REAL_TIME Set Time, Real Time Send Time Set the Real-Time Clock.(is the time sent back to user??) No Action Command executor     K 10 ACKNOWLEDGEMENT_CONTROL ON / OFF 1 0 Allows/Disables the Auto-Reply Function of Most Commands. Sends back Packet received with ID changed to ‘k’ .     L 11 STOP_ACTION None Stops all activities onboard. An escape key on the spacecraft Sends back Packet received with ID changed to ‘l’ .     M 12 SYSTEM_RESET Soft(0), Key String Hard(1), Key String Soft reset of the CPU. Hard reset of the system. Sends back Packet received with ID changed to ‘m’ .     N 13 POWER_MODE Mode, Key String Force into low-power state (limit radio usage and camera usage, shorten the CW beacon, fewer digibeacons, no audio playback, no s-band radio, no pictures). Sends back Packet received with ID changed to ‘n’ .      O 14 AUTO POWER_DOWN Voltage Sets the battery voltage used to determine when to automatically go into the low power mode.

COMMANDS TESTED COMMAND ID COMMAND NAME ARGUMENTS FUNTIONS BEACON Time period changes the period of periodic beacon packet to the period given in the argument B , 1 TELEMETRY_REQUEST Telemetry Supplies the telemetry packet containing the required telemetry information H , 7 PLAY_AUDIO Signal to the audio The audio file is played K, 10 ACKNOWLEDGEMENT_CONTROL_ On / off Turns on or off the acknowledgment reception J , 11 REAL TIME Can set the real time clock, get the current time. Dummy values for command ID before the switch statement. Dummy packets from packet Rx. Dummy function calls e.g.. PLAY_AUDIO . Real Time Clock starting the RTC task and initializing the time and then printing out debug statements each time the clock updated .

GOALS FOR THE SEMSESTER vs. current status DEVELOP COMMAND EXECUTOR FOR THE COMPLETE COMMAND SET. --- is completed with the switch for whole set of commands (in all 15 ) , and tested for some. DEVELOP FUNCTIONS RELATED TO REAL TIME CLOCK. --- completed and tested, but for the ubyteRTCSetTimeRaw(ubyte* data); DEVELOP THE COMMAND SCHEDULER . --- partially complete, will be completed by the end of the semester PRODUCE A COMPLETE DOCUMENT OF THE COMMANDS TO BE IMPLEMENTED --- mostly finished but for some changes.

FUTURE GOALS IMPLEMENT SOME MORE FUNTIONS IN THE COMMAND EXECUTOR. WRITE A FUNCTION TO HANDLE THE COMMAND FOR THE REAL TIME CLOCK. DEVELOP THE COMMAND SCHEDULER FOR COMPLETE FUNCTIONALITY BY THE END OF SEMESTER INCLUDE THE LENGTH AND DATA TYPE OF THE ARGUMENTS IN THE COMMAND LIST AND INCLUDE THE COMMANDS FOR SCHEDULER.