Milestone 3

Table of contents

  1. Goal
  2. Organization
  3. Pass Off and Code Submission

In this milestone you will implement most of the ā€˜Cā€™ code that implements the core transmit and receive capability of the laser tag system.

Goal

You will demonstrate that the laser tag unit is working with feedback from the transmit path to the receive path. This can be done optically (holding a white piece of paper in front of the unit to reflect the transmit signal into the receiver) or electrically (a jumper wire from the transmit signal to the receive signal on the digital board). You will demonstrate the ability to:

  • detect hits on each of the player frequencies,
  • no false detects,
  • no bouncing of the trigger switch, i.e., register one hit for each push/release of the trigger,
  • display the computed energy of each of the channels on the LCD with the provided histogram component.

Organization

This milestone will be divided into three tasks:

  1. Task 1 Implement:
    • Delay line - used by the FIR filter and energy computation
    • FIR filter - lowpass, anti-aliasing, decimating
    • IIR filter - bandpass using cascaded second-order sections (SOS)
    • Energy computation - incremental from IIR filter output
  2. Task 2 Implement:
    • Trigger state machine - debounce button press
    • Transmitter driver - interface with hardware PWM
    • Hit LED timer - flash LEDs
  3. Task 3 Implement:
    • Circular buffer - used by the receive driver to save ADC sample values
    • Hit detector - determines if a hit occurred based on channel energy
    • Shot counter - keep track of remaining shots

Pass Off and Code Submission

Each task requires a pass off and the submission of your code. All of the tasks comprising Milestone 3 are software tasks and must adhere to the coding standard.

See Learning Suite for due dates and a breakdown of the credit that you receive for pass off and source-code submission.