CONROLIB. Objective of presentation  CONRO Developer should be able to program a fully functional CONRO after this presentation.

Slides:



Advertisements
Similar presentations
JED Microprocessors Pty Ltd Presenting the JED T430 low-cost Projector Controllers Nov 22nd, 2009.
Advertisements

BEST Robotic, Inc. easyC Team Training
Lab7: Introduction to Arduino
Inputs: Digital and 4 configurable for Digital or 10 bit Analog Outputs:4 - 8 amp Relays or 700ma Transistors (1 PWM) 4 Line by 18 Character fully.
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.
1 Lab1  Objectives  Get familiar w/ hardware  Mote interface board  Mote  Mote sensor board  Get familiar w/ software  MoteWorks  Programmer’s.
Introduction CS212 Dick Steflik. What is CS-212 Primarily an introduction to linear and non-linear data structures  arrays  stacks and queues  lists.
Initial Position Orientation Tracking System (IPOTS) Group Members: Keiichi McGuireHenry Pham Marc TakamoriScott Spiro.
EENG449b/Savvides Lec 9.1 2/10/04 February 9, 2004 Prof. Andreas Savvides Spring EENG 449bG/CPSC 439bG Computer.
ECE 353 WinAVR and C Debugging Tutorial By Adam Bailin ECE 353 Fall ‘06.
1-1 Embedded Software Development Tools and Processes Hardware & Software Hardware – Host development system Software – Compilers, simulators etc. Target.
Wireless Ad Hoc and Sensor Networks Lab1. 2 Objective Comprehend how to setup and use the wireless communication devices, Jennic Evaluation System. You.
ECE 4220 Real Time Embedded Systems Final Project Presentation Spring 2014 University of Missouri Columbia By: Michael Brauch Temperature Data Logger.
Getting Started with a Cortex-M3 Board
Erik A. Cokeley Programming Workshop FIRST 2007.
Renesas Electronics America Inc. © 2012 Renesas Electronics America Inc. All rights reserved. Using a Renesas Code Generation Tool for RL78 Devices.
Robotics Research Laboratory Louisiana State University.
Programming 8-bit PIC Microcontrollers in C Martin Bates Elsevier 2008.
 Purpose of our project  Get real world experience in ASIC digital design  Use same tools as industry engineers  Get practical experience in microprocessor.
Part 1 Using the ARM board And start working with C Tutorial 5 and 6
FUN WITH COOL KIT. Kit Purpose Have fun assembling and programming a simple robot – Includes chassis, wheels, motors, motor driver, IR sensor and arduino.
MoteWorks Installation
Silicon Labs ToolStick Development Platform
The 6713 DSP Starter Kit (DSK) is a low-cost platform which lets customers evaluate and develop applications for the Texas Instruments C67X DSP family.
328eForth for Arduino Uno C. H. Ting February 16, 2012 SVFIG.
Project Futura.
Daniel Pickem and Rowland O’Flaherty 12/04/2012 Mechatronics (ME 6405) Student Lecture On Arduinos *Some slides courtesy of Eoin Brazil
Arduino. What is it? A open-source software suite and single-board microcontroller. Allows easy and affordable prototyping of microcontroller applications.
Introduction to the Arduino
Wireless Sensor Networks MOTE-KITS TinyOS Crossbow UC Berkeley.
By: Eric Backman Advisor: Dr. Malinowski.  Introduction  Goals  Project Overview and Changes  Work Completed  Updated Schedule.
The HVM embedded Java VM For very tiny devices. Overview Hardware near programming: a case example Hardware near programming: a case example in Java Contributions.
Atmel AVR Jared Bevis January 14, The Power of Your Chips The main power of your chips lies in the programming language/compiler available to you.
ATtiny23131 A SEMINAR ON AVR MICROCONTROLLER ATtiny2313.
Source Controller software Ianos Schmidt The University of Iowa.
ChibiOS/RT Demo A free embedded RTOS
Implementation of Embedded OS Lab3 Porting μC/OS-II.
Robocon 2007, Hong Kong University of Science & Technology Robocon 2007 Electronics Quickstart! Session 1 Hello! Microcontroller. Prepared by KI Chi Keung.
4000 Imaje 4020 – Software Imaje 4020 – Content ■ Content of Chapter Software: 1. Flash Up 2. Netcenter 3. FTP 4. Active X 5. XCL commands 6. Exercise.
Submitted by:.  Project overview  Block diagram  Power supply  Microcontroller  MAX232 & DB9 Connector  Relay  Relay driver  Software requirements.
Microcontrollers JULES CALELLA. Microcontrollers vs Microprocessors  Microprocessors – do not contain RAM, ROM, I/O  Microcontrollers – The whole package.
Introduction to Arduino A very basic intro to Arduino, the IDE and the Servos class.
Atmega328p Introduction for Digital and PWM Output Brion L Fuller II Robotics Club.
Low Power Management for CC2430 Jinho Son Real-Time System Lab.
Embedded C- Language Lets Learn fundamentals !!. An Embedded system is combination of computer hardware and software, and perhaps additional mechanical.
Intro to the Atlas Platform Raja Bose Dr. Abdelsalam (Sumi) Helal January 23, 2007.
Using the AFRESH software Ruaraidh Dobson University of Aberdeen V1.0 27/04/2016.
RTLAB Kang. Moo jin Using Open Source Tools for AT91SAM7X Cross Development.
Homework Reading Machine Projects
Introduction of Embedded C and demo programs
Getting started with the Arxterra software and 3DoT Firmware
Lab 1: Using NIOS II processor for code execution on FPGA
PROPELLER DISPLAY OF MESSAGE BY VIRTUAL LEDS
Computer System Laboratory
Implementation of Embedded OS
Implementation of Embedded OS
An Arduino Workshop A Microcontroller.
SCADA for Remote Industrial Plant
Microcontroller Applications
PC Mouse operated Electrical Load Control Using VB Application
AVR-GCC Programming Using C Development Tools to program your Arduino Microcontrollers. Presented by: Charles Norona November 17th, 2011 C. Norona,
Computer System Laboratory
Homework Reading Machine Projects Labs
Week 5: Microcontrollers
Microcontrollers and Microprocessors
Software Setup & Validation
Introduction to Arduino
Introduction to Arduinos
Presentation transcript:

CONROLIB

Objective of presentation  CONRO Developer should be able to program a fully functional CONRO after this presentation

Outline of Presentation  The Basics: What is the new CONRO Hardware?  What is the new development environment?  Where can I get this software environment?  What is CONROLIB?  Discussion of all APIs  Writing your first program …very easy  Modifying the Makefile  How do I add my contribution to CONROLIB?  Why use static libaries?  Future Work on CONROLIB  Demo

The Basics: What is the new CONRO Hardware?  Atmega128 Low power MCU All peripherals on chip (ADC, Timers, UART) 4Mhz, 128Kb Program Flash, 4KB RAM  MICA2DOT = MCU + Wireless Chip + Serial Flash For Data Logging  Board under DOT -> IR LEDs / Transistor  Battery Powered

Main Functionalities of CONRO’s Hardware Communicate using Software UART and Infrared Control 2 Servo Motors Measure Infrared Intensity at each port Send Debug Info to a PC Host Control Each ports TX LED and Read Digital from Rx Wireless Communication

What is the new development environment? PC Host with Cross Compiler Serial Programmer CONRO Atmega128

What is the new development environment?...contd.  Cross Compiler is avr-gcc + avr-linker + avr-binutils  Both *nix & Windows environments available. C Code UISP/Avrdude Bin-Utils converts assembly to Intel hex file Avr-gcc CONRO

Where can I get this software environment?  Unix/Linux : avrtools.html avrtools.html Note:instructions are old download latest versions of gcc, avr-libc, binutils, uisp.  Windows Instructions are available with s/w  NOTE! : Must have permissions for accessing /dev/ttyS0 (unix) or COM1 in Windows

What is CONROLIB?  A precompiled static library with host of standard C APIS.  CONROLIB = libconro_lib.a + header files. That's all you need to program CONRO!  The library has API's for : Reading Sensor from each port Debug through printf to a host pc running hyperterminal(9600 8N1) in Software UART for inter CONRO communication Individual control of each port TX and reading the digital value of Each port RX. Controlling pitch and yaw servo

Discussion of all APIs  1 Header file for each oval functionality adc.h debugPrintf.h portControl.h servo.h uartsw.h

Discussion of all APIs  Uartsw (For Infrared Communication)  #include “uartsw.h”  int sendByte(uint8_t u08)  int receiveByte(void)  #define UARTSW_RX_BUFFER_SIZE 0x20

Discussion of all APIs  Servos  #include “servo.h”  initializeServos();  void controlServoNorth(uint16_t angle);  void controlServoSouth(uint16_t angle);

Discussion of all APIs  Controlling PORT LEDS(TX) and reading a digital value from RX  #include “portControl.h”  initializePorts();  void northPortTx(uint8_t status); //status =1 TX => ON status = 0 =>OFF.  uint8_t readNorthRx(void); //returns a HIGH or LOW

Discussion of all APIs  Reading ADC sensor: intensity of received IR on any RX port  #include “adc.h”  initializeAdc();  uint16_t readSensorNorth(void);

Discussion of all APIs  Using printf to send data to PC: Hyperterminal  #include “debugPrintf.h”  initializeDebug();  Printf(“Howdy CONRO\n\r”); OR  Printf(“value of angle is %d\n\r”,angle);

Writing your first program  Example :you want to move the servo  Make any directory say.. testConro  mkdir testConcro  cd testConro  tar xvzf CONRO.tar.gz  Vi/emacs demo.c

Writing your first program #include “servo.h” Int main(void) { initializeServos();//initiallize servo controlServoNorth(300);//servo middle return 1;//make sure u write return }

Writing your first program To clean testConro>$ make clean To compile testConro>$ make Switch on CONRO,Connect the programming cable testConro>$ make flash You’re done!

Modifying the Makefile  Currently SRCS = demo.c OBJS = demo.o  Change to SRCS = cfile1.c cfile2.c OBJS = cfile1.o cfile2.o

How do I add my contribution to CONROLIB?  U just made a cool *.o u want to add to libconro_lib.a  USE CVS! Do not overwrite the old library  Compile ure code to obj(-c option) do NOT link avr-gcc –mmcu=atmega128 –c blah.c ar qv libconro_lib.a blah.o ranlib libconro_lib.a  Make a header file with ure API in it. Put header file in includes dir and update libconro_lib.a

Why use static libaries?  Precompiled: Saves time  If a bug fix is found you only have to update 1 file !  Insulates you from hardware. Don’t worry about hardware dependant C code  Note: only relevant object code is linked

Future Work on CONROLIB  Modify APIs?  Wireless API  API code is stable according to me but bugs could still be lurking around. Report anything unusual to me  Fixed point Math Library :Speed and Accuracy

Demo  How To install Winavr?  How To use it?  Installing CONROLIB  Running a Program

HAVE FUN !