Recently Updated Pages
Lab: Unit testing with mocks
This article is based on unit-testing article and code labs from: Sibros public unit-test wiki ...
Lab: Periodic Scheduler
Objective of this assignment is: Setup your development environment Learn how to run unit-test...
System Calls
TODO stdio memory
Required reference material
Useful Knowledge
Code Modularity
Code should be broken apart into smaller pieces which has advantages: Small code modules are ea...
Switch / Case Statements
Normally switch / case statements are encouraged. Here is an article that is sort of against it.
Design a code module
This article demonstrates how to design a new code module. Header File A header file: Shall ...
Coding Standards
Existing Code Structure Remember that consistency is more important than standards. That means...
Lookup Tables
Objective To discuss lookup tables and how to use them to sacrifice storage space to increase co...
Binary Semaphores
Semaphores are used to signal/synchronize tasks as well as protect resources. A binary semapho...
I²C (Inter-Integrated Circuit)
What is I2C I2C is pronounced "eye-squared see". It is also known as "TWI" because of the initia...
I2C Slave Lab Assignment
Objective Get hands on experience working with and understanding how I2C works by implementing a...
Watchdogs
Please follow the steps precisely in order to complete the objectives of the assignment. Create...
FreeRTOS Primitives, Data structures, and inter-task communication
Binary Semaphore Semaphores are used to signal/synchronize tasks as well as protect resources. ...
Lab Assignment: UART
Objective To learn how to communicate between two master devices using UART. Assignment This a...
Queues
RTOS Queues There are standard queues, or <vector> in C++, but RTOS queues should almost a...
UART (Universal Asynchronous Receiver-Transmitter)
Objective The objective of this lesson is to understand UART, and use two boards and setup UART ...
FreeRTOS & Tasks
Introduction to FreeRTOS Objective To introduce what, why, when, and how to use Real Time Opera...
SPI Lab
To learn how to create a single dynamic thread-safe driver for Synchronous Serial Port and to co...
Serial Peripheral Interface
What is SPI SPI is a high-speed, full-duplex bus that uses a minimum of 3 wires to exchange data...