High Reliability Systems
Presented: Northwest C++ User's Group; June 18, 2014; Seattle Robotics Society: January 16, 2016
Abstract: More and more the world runs on software, furthermore software is increasingly controlling devices in the real world. Software failures can now have a greater impact than just loss of data, physical damage and injury are now concerns. While many high reliability specifications exist, such as MISRA and DO-178B, they can be too “heavy” for many projects and are typically domain specific (automotive and airborne systems respectively) and are not used. This presentation explores various software techniques that can be used to harden a software system and make it more reliable. The presentation also covers key questions to be answered when developing software that interacts with the real world. Specifically we will be looking at cases where the software needs to be more reliable than “average” but does not justify investment in a formal specification such as MISRA or DO-178B.
SRS Slides: http://www.CyberData-Robotics.com/Presentations/HighRelSystemsSRS.pdf
NWCPP Slides: http://www.CyberData-Robotics.com/Presentations/HighRelSystems.pdf
NWCPP Video: http://www.youtube.com/watch?v=9WWuSU1w_ZY&feature=youtu.be
Raspberry Pi Robotics
Presented: Seattle Robotics Society; June 21, 2014
Abstract: The Raspberry Pi has become a very popular, inexpensive, credit card sized computer that runs the Linux operating system. The Pi, with a bit of help, is an excellent controller for robotics projects. This talk will explore the use of the Pi, along with an open source Cypress PSoC daughter board, for building a very functional robot. The final goal of this project will be to update the SRS robot with a Raspberry Pi, camera, and WiFi network connection.
Slides: http://www.CyberData-Robotics.com/Presentations/RaspberryPiRobotics.pdf
Real Time Debugging Techniques
Presented: Northwest C++ User Group; November 11, 2013 & Seattle Robotics Society; July. 20, 2013
Abstract: Debugging real time issues presents a unique set of challenges and requirements to the developer. Normal debugging techniques such as breakpoints, printf statements and logging frequently fail to locate the problem and can actually make the issue worse. This presentation examines why common debugging techniques fail when applied to real time issues, and then presents tools and techniques which can successfully address the unique challenges of real time debugging.
Slides: http://www.CyberData-Robotics.com/Presentations/RealTimeDebugging.pdf
Video: http://youtu.be/rCrO0zJ4PqI
Getting Started with the Raspberry Pi
Presented: Seattle Robotics Society; Jan. 19, 2013
Abstract: The Raspberry Pi is an inexpensive ($35), credit card sized computer that is able to run the Linux operating system. The card also contains USB ports, an Ethernet port, camera port, GPIO lines, serial ports, SPI port, HDMI port, and I2C port – just about anything you would want for an inexpensive and very powerful robot controller! Lloyd Moore will show us how to get started with this device. Specifically we'll talk about loading and configuring the operating system, installing the Qt (C++) development system, and controlling some of the ports.
Slides: http://www.CyberData-Robotics.com/Presentations/StartingPi/StartingRaspberryPi.pdf
Demo Code: http://www.CyberData-Robotics.com/Presentations/StartingPi/StartingPiSerial.zip
Full Image Download: http://www.CyberData-Robotics.com/Transfer/RaspPiImage.zip
C For Microcontrollers (SRS)
Presented: Seattle Robotics Society; Sept. 15,2012
Abstract: Microcontrollers represent a highly resource constrained environment. Very small microcontrollers typically have only several K of program space available and several hundred bytes of memory, in addition to very low clock speeds. This talk will look at how to address these resource limitations. Many of the techniques examined also apply to larger / PC class hardware, and can be used to improve the performance for those systems. In addition the techniques explored are also beneficial for optimizing the power consumption of mobile devices and applications. This talk is an update/variant of the presentation given to the NWCPP User Group on April 20, 2011.
Slides: http://www.CyberData-Robotics.com/Presentations/SRS_C_For_Microcontrollers.ppt
Seattle Robotics Society Line Maze Algorithm
Presented: Seattle Robotics Society; May 19,2012
Abstract: This talk gives a brief overview of the concepts necessary to construct a robot to compete in the Robothon Line Maze Competition for 2012. The presentation is oriented to those just getting started with robot competitions and using the SRS robot as a starting point.
Slides: http://www.CyberData-Robotics.com/Presentations/SRSLineMaze.pptx
Qt Development on Android
Presented: Qt Seattle Users' Group; May 10,2012
Abstract: The Qt development framework has been ported for use with Android devices. This talk will provide an initial look at using this framework to develop applications for Android devices and includes: configuration of the development environment, configuration of the debugging environment, building Qt Mobility for Android and installing the application on the target device.
Slides: http://www.CyberData-Robotics.com/Presentations/AndroidQt/QtAndroid.ppt
Demo Code: http://www.CyberData-Robotics.com/Presentations/AndroidQt/AndroidHelloWorld.zip
Using the Cypress PSoC USB
Presented: Seattle Robotics Society; March 17,2012
Abstract: This talk will cover the USB fundamental needed to implement as USB HID joystick device using the Cypress PSoC 5 processor. The concepts covered by the talk are common to USB communications in general and can be used with other processors as well as implmenting other types of devices.
Slides: http://www.CyberData-Robotics.com/Presentations/CypressUSB/PSoC_USB_HID.ppt
Demo Code: http://www.CyberData-Robotics.com/Presentations/CypressUSB/SRS_USB_Demo.zip
Cross Platform Development with Qt
Presented: Qt Seattle Users Group; November 15, 2011
Abstract: One of the fundamental advantages of Qt is the ability to create programs targeting multiple platforms with minimal code changes. This talk will explore techniques and best practices for cross platform development using Qt. In particular we will look at the methods used to construct an application targeting the Windows, Linux and Mac OSX platforms using a common/single code base.
Slides: http://www.CyberData-Robotics.com/Presentations/QtMulitPlat.ppt
Introducing the Cypress PSoC 5
Published: Servo Magazine; September, 2011
Abstract: Cypress Semiconductor recently introduced the PSoC 5 processor and a line of development kits using this processor. For those not familiar with the Cypress PSoC line, the term PSoC stands for Programmable System on Chip, and it is what makes this particular line of processors unique. For many applications additional hardware is not needed, or is greatly reduced.
Article Link: http://servo.texterity.com/servo/201109/?folio=44#pg44
C for Microcontrollers, Just Being Efficient
Presented: Northwest C++ Users Group; April 20, 2011
Abstract: Microcontrollers represent a highly resource constrained environment. Very small microcontrollers typically have only several K of program space available and several hundred bytes of memory, in addition to very low clock speeds. This talk will look at how to address these resource limitations. Many of the techniques examined also apply to larger / PC class hardware, and can be used to improve the performance for those systems. In addition the techniques explored are also beneficial for optimizing the power consumption of mobile devices and applications.
Slides: http://www.CyberData-Robotics.com/Presentations/C_for_Microcontrollers.ppt
Video: http://vimeo.com/nwcpp/april2011
Using PSoC Creator
Presented: Seattle Robotics Society; July 16, 2011
Abstract: PSoC Creator is the development tool chain for the PSoC 3/5 line of Programmable Systems on Chip. This talk will explore this development environment and create a simple bubble level application using Creator with the PSoC 5 First Touch Starter Kit.
Slides: http://www.CyberData-Robotics.com/Presentations/PsocCreator/Using_PSoC_Creator.ppt
Example Code: http://www.CyberData-Robotics.com/Presentations/PsocCreator/BLevel.zip
Using the Cypress PSoC Processor
Presented: Seattle Robotics Society: January 15, 2011
Abstract: The Cypress PSoC is a programmable “system on chip” device which includes all the functions of a traditional microcontroller, in addition to programmable analog and digital blocks. This combination of resources makes the chip well suited to robotics applications. This will be an introductory talk covering the basic architecture and development tools.
Slides: http://www.CyberData-Robotics.com/Presentations/UsingPSoC.ppt