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
Dates:
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.



