Real-time Software using Micro Python – The Basics

 

Course Overview


Real-time Software using Micro Python

Python has become a very popular scripting language and has been deployed on many production systems in addition across multiple application domains. In December of 2013 the Micro Python organization successfully funded a kickstarter project that allowed them to bring their dream of Python running on a microcontroller to life. Micro Python is a lean and efficient Python 3 port designed to run on an STM32 Cortex-M microcontroller!

The primary purpose of this course is to explore real-time embedded software concepts as they relate to Micro Python! The course utilizes the PyBoard (purchased separately from http://micropython.org) which comes with the latest Micro Python distribution already installed. Attendees can expect to learn and take key concepts in areas such as

  • Python
  • Python vs C
  • Real-time Programming
  • Object Oriented Design
  • Rapid Prototyping
  • Controlling MCU peripherals from Micro Python
  • Exception and Error Handling
  • Real-time Scheduler Concepts and Design

The course is broken up into five separate sessions each consisting of a 45 – 60 minute lecture followed by lab exercises to explore the lecture concepts. The labs build on each other resulting in a final script that provides examples on how to use the peripherals, schedule tasks and handle real-time errors. Attendees will leave this course with all the tools and skills necessary to develop a real-time system using Micro Python and develop general Python programs.

Session 1 – Introduction to MicroPython

  • Python Language Overview
  • An introduction to Micro Python
  • TEPL Terminal
  • Creating a script
  • The pyb library
  • Callbacks and Interrupts
  • Switches
  • Gpio

Session 2 – Python Language Fundamentals

  • Operators
  • Flow Control
  • Manipulating Strings
  • Lists
  • Dictionaries
  • Accessing the File System
  • Object Oriented Programming

Session 3 – Real-time Techniques using Micro Python

  • Real-time Scheduling
  • Rate Monotonic Analysis
  • Round Robin Scheduling
  • Timers
  • Organizing Scripts
  • Cooperative Scheduling
  • Designing a Scheduler

Session 4 – Controlling the PyBoard Peripherals

  • UART
  • I2c
  • SPI
  • ADC
  • Real-time Plotting

Session 5 – Debugging and Error Trapping

  • PWM Control
  • Script Debugging Techniques
  • Creating Error Logs
  • Trapping Run-time Errors
  • Bringing it all together

The course is organized as a “work at your own pace” course which allows the student to either complete the course in a single day or split it up over the course of a week or month. This course can be ordered by clicking the “Add to Cart” button located at the bottom of the page.

For additional questions or comments please contact sales@beningo.com

Price: $25

* Please note that once the course is added to the cart you must return to the bottom of the Training Page to Check-out or click here to check-out.