Arduino Programming Essentials: Logic & Control Flow

Digital Read Serial Example

This section presents an Arduino sketch demonstrating how to read a digital input and print its state to the Serial Monitor.


/*
  Leen - Digital Read Serial - May 13
  DigitalReadSerial

  Reads a digital input on pin 2, prints the result to the Serial Monitor

  This example code is in the public domain.

  https://www.arduino.cc/en/Tutorial/BuiltInExamples/DigitalReadSerial
*/
// digital pin 2 has a pushbutton attached to it. Give it a name:
int pushButton = 4;

// the 
Read More

SFML C++ Pong Game Project: Code Breakdown

This document presents the core C++ source code for a simple Pong game built using the SFML multimedia library. It details the implementation of the Ball and Bat classes, along with the main game loop.

Ball Class Implementation

The Ball class manages the game ball’s properties and behavior, including its position, shape, speed, and collision responses.

Ball.h: Class Definition

#pragma once
#include <SFML/Graphics.hpp>

using namespace sf;

class Ball {
private:
    Vector2f m_Position;
    CircleShape 
Read More

ADO Object Reference: Data Access Components

ADO Recordset Object Fundamentals

A Recordset object represents the entire set of records from a table or the result of an executed command. At any time, the Recordset object refers to only one record within the set, known as the current record.

Recordset Object Details

Recordset objects are crucial for manipulating data from a provider. When using ADO, data is almost entirely handled by Recordset objects. All Recordset objects are composed of records (rows) and fields (columns). Depending on the functionality

Read More

Java Temperature Control System with Invariant Checks

Java Temperature Control System Implementation

This document presents the implementation of a Java-based temperature control system, featuring an IncubatorController class with robust invariant checking using the VDM (Vienna Development Method) approach. It includes supporting classes for signals, custom exceptions, and a basic console-based tester.

Signal Class: Defining Temperature Change States

The Signal class acts as an enumeration for the possible actions related to temperature adjustment: increasing,

Read More

Scripting Language Design, Concurrency, and Communication Patterns

Scripting Language Design Principles

Variable Declaration and Dynamic Typing

  • Most scripting languages, with Scheme as a notable exception, do not require variables to be declared.
  • Perl and JavaScript permit optional declarations, serving as a form of compiler-checked documentation.
  • Perl can be run in a mode (use strict 'vars') that mandates variable declarations.
  • With or without explicit declarations, most scripting languages employ dynamic typing. The interpreter performs type checking at runtime or
Read More

ARM Processor Architecture & Embedded Systems

Current Program Status Register (CPSR)

The Current Program Status Register (CPSR) is a 32-bit special-purpose register in ARM processors. It plays a central role in controlling the state and execution flow of the processor.

CPSR Structure

The CPSR has four 8-bit fields: Flags (holds condition flags), Status and Extension (reserved), and Control. In current ARM designs, only the Control and Flags fields are actively used.

Key CPSR Bits

  • N (Bit 31) – Negative flag
  • Z (Bit 30) – Zero flag
  • C (Bit 29)
Read More