Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents
minLevel1
maxLevel6
outlinetrue
stylenone
typelist
printabletrue

...

Introduction

This document describes CAN lighting board firmware. Check out the sub-pages and warg-internal documentation for more information.

Page Tree
rootCAN Lighting Board Firmware
expandCollapseAlltrue
startDepth1

Expand
titleWARG Internal

Project Repo:

Sys Arch:

...

EE Top Level: Lighting Boards

POC

Architecture

See Central LED control architecture and Single-Board LED Control for more detailed description. At a high level, there are 3 layers of control.

  • System level control is dictated by ardupilot (+ the pilot).

  • Board level control is handled by the primary controller.

  • LED level control is provided by each boards MCU.

This allows us to break our system into a few categories:

  • LED Driver

  • Board Lighting Controller

  • Central System Lighting Controller + Ardupilot Communications

Note that the boards will set different LED’s for each command domain depending on the drone state. Certain drone states will also enable certain command domains immediately (i.e.: landing lights).

Milestones

These are very brief. Who knows what we do with them.

M1 - Basic Functionality - F24 EOT

LED Control

  •  LED Boards light up & are controllable colour.
  •  Individual LED’s are controllable via Software.
  •  Controllable LED brightness scaling

Board Control

  •  Synchronization between all board-LED’s possible (i.e. fade all together)
  •  Strobe functionality achieved (either main WHILE loop or timer interrupts)
  •  Receive CAN communications & set colour appropriately.
  •  Basic LED command domains

Central Control

  •  CAN Communication with ardupilot possible
  •  Communication (any packet) between LED boards possible (can be on unique bus)
  •  Set colour and/or brightness over CAN (can be on unique bus)
  •  Enable command domain over CAN (i.e. turn strobe on/off).
    •  If possible - turn strobe ON when we receive ardupilot messages, otherwise turn it off.

M2 - “Advanced” Lighting Control - Ideally ready for COMP

LED Control

  •  State reporting (question)
  •  HSL/HEX conversions available
  •  

Board Control

  •  Understand / retain position of board on drone
  •  State reporting
  •  Receive SYNC messages & re-synchronize to Central Controller
  •  Receives “flight / ground / landing / emerg / off” flight states
  •  State machine for flight / ground / landing / off, including standard LED configurations for each domain in each state.
  •  Emerg search light functionality if NO can message’s received after timeout.

Central Control

  •  Understand ardupilot messages & determine drone state.
  •  Send out drone state messages.
  •  Report derived flight state & command domain states to ardupilot

Integration level

  •  When first powered on, LED’s go into “sleep” state (slow breathing)
    •  When CAN from ardupilot received, “wake up” and start lighting control.
    •  If ardupilot messages DROP OUT, but power maintained, go emerg.
  •  Brake lights work (Rapid blinking RED when slowing down)
  •  NAV lights work (relative to orientation of the drone)
    •  Turn ORANGE when the drone is moving
  •  Landing lights work (Turn on when the drone is close to the ground)
  •  Beacon light turns on when LV is applied
  •  Strobe light turns on when HV is applied
    •  Stretch: strobe lights dim/different lights turn on when in different flight states (landing, ground, off)
      •  i.e.: landing stage, strobe lights still send sideways, but dimmer / less
      •  ground stage: strobe lights only blink on inside downards facing LED’s, at a low brightness, to prevent eye damage!

M3 - Stretch Goals for future

  •  Central Control failover (when one central controller fails, another node is able to pick up the task, round robin until all nodes fail)
  •  Wireless light sync between drones - strobe @ same time
    •  Central controller needs wifi/bluetooth/elrs/gps chip - anything to provide PPS sync
  •  Central Controller has light meter - auto-dims or auto-brights in certain conditions to prevent operator eye-damage
    •  i.e. strobe lights dim in ground mode at night to prevent glare, but will compensate in brightness when outside during the day to ensure visibility., etc.

...

OLD / archive

Table of Contents
stylenone

...