Introduction to Python for Embedded Programmers

Python is typically associated with Web and Internet development and is not normally related to embedded systems programming. However, the full development process for embedded systems requires many tasks, usually using PC based support tools (e.g. diagnostics, build management, hardware-in-the-loop testing) where traditional embedded programming languages, such as C and C++, do not lend themselves easily to these tasks.

There are quite a few languages available for this task, but the advantages of Python are many. Python is quite easily learned by people from various programming backgrounds, especially C and C++. As well as being a program that excels in fast development, Python lends itself to the creation of highly readable, compact and well structured code

PY-403
4 days
£1960
pdf download

Dates:

3 - 6 Jun 2013
23 - 26 Sep 2013
9 - 12 Dec 2013

Course Outline

 

Introduction to Python

  • What is Python?
  • Understanding scripting
  • Advantages of Python
  • Python and Java
  • Interpreted languages
  • Performance
  • Control Structures Statements
  • Error Handling

Data Types

  • Basic Types
  • Composite Types

Functions

  • Simple functions
  • Passing parameters
  • Returning multiple results
  • Pass by value
  • Working with lists
  • Pass by object reference
  • Object Identity

Exception Handling

  • try
  • except
  • finally
  • raise
  • assert

Classes and Objects

  • Classes
  • Methods
  • Attributes
  • Importing
  • Intrinsic Attributes
  • Operating Overloading

Files

  • Opening and closing
  • Modes
  • Iterating through
  • Random access
  • Reading binary data

Advanced Scripting

  • Regular expressions
  • Network programming
  • Interacting with hardware (Serial I/O)
  • Unit Testing

Graphical Interfacing

  • Python Imaging Library (PIL)
  • Gstreamer
  • GUI
  • WxPython

Extending Python with C Modules

Course Overview

 

This 4-day course will give practical, hands-on experience of the Python Programming Language.
 
Course Objectives:

  • To provide an understanding of the essentials of the Python programming language.
  • To give you practical experience of writing scripting using Python.
  • To demonstrate how Python can be a useful tool for the embedded programmer.
  • To give you the confidence to apply these new concepts to your next project.

Pre-requisites:

  • A good working knowledge of a programming language
  • C++ is a benefit, but not essential

Who Should Attend?
The course is designed for engineers who are embarking on a project requiring supporting PC based applications and are new to the power of scripting. It is also suitable for Test and Application engineers required to support existing systems.

Duration:

  • 4 days.

Course Materials:

  • Delegate Handbook

Related Courses:

Course Workshop:
The course labs in the first part of the course exemplify the concepts presented in the lecture materials. In the latter part of the course you will use the Python language to build a networked MP3 information system. This includes building:

  • A client/server system
  • Unit tests for each component

The case study highlights Python’s ability to develop prototype systems quickly and efficiently.