Table of Contents | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...
Introduction
This document describes CAN lighting board firmware. Check out the sub-pages and warg-internal documentation for more information.
Page Tree | ||||||
---|---|---|---|---|---|---|
|
Expand | ||
---|---|---|
| ||
Project Repo: Sys Arch: |
...
EE Top Level: Lighting Boards |
POC
Anthony Luo Software architecture & board firmware
Folarin Fatola LED Drivers & Board firmware
Nick Armstrong CAN Drivers, Ardupilot Communication, & Board Firmware
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
- 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 | ||
---|---|---|
|
...