Plant Watering Sensor
Display Namespace Reference

The display module controls the visual signals to the user. More...

Enumerations

enum  Color : uint8_t { Red = Hardware::LED_Red, Green = Hardware::LED_Green }
 The color for the display. More...
 

Functions

void flash (Color color, uint8_t flashCount)
 Display a number of flashes. More...
 
void modulateLed (Color color, uint8_t pwmValue)
 One cycle of a modulated LED. More...
 
void pulse (Color color)
 Smooth Pulse one time. More...
 
void dimSignal (Color color)
 Very short dim signal. More...
 

Detailed Description

The display module controls the visual signals to the user.

Enumeration Type Documentation

◆ Color

enum Display::Color : uint8_t

The color for the display.

Enumerator
Red 

Display a red color.

Green 

Display a green color.

Definition at line 34 of file Display.h.

34  : uint8_t {
37 };
The green LED is on.
Definition: Hardware.h:36
Display a red color.
Definition: Display.h:35
Display a green color.
Definition: Display.h:36
The red LED is on.
Definition: Hardware.h:37

Function Documentation

◆ dimSignal()

void Display::dimSignal ( Color  color)

Very short dim signal.

Parameters
colorThe color for the signal.

Definition at line 73 of file Display.cpp.

74 {
75  for (uint16_t i = 0; i < Configuration::cDisplayDimSignalCycles; ++i) {
77  }
78 }
const uint8_t cDisplayDimSignalPwm
The PWM value for the dim signal.
Definition: Configuration.h:69
const uint16_t cDisplayDimSignalCycles
The duration of the dim signal.
Definition: Configuration.h:73
void modulateLed(Color color, uint8_t pwmValue)
One cycle of a modulated LED.
Definition: Display.cpp:49

◆ flash()

void Display::flash ( Color  color,
uint8_t  flashCount 
)

Display a number of flashes.

Parameters
colorThe color for the flash.
flashCountThe number of flashes to show.

Definition at line 31 of file Display.cpp.

32 {
33  for (uint8_t i = 0; i < flashCount; ++i) {
34  if (i > 0) {
36  }
37  Hardware::setLedState(static_cast<Hardware::LedState>(color));
40  }
41 }
const uint16_t cDisplayFlashDurationMs
The flash duration.
Definition: Configuration.h:53
const uint16_t cDisplayFlashPauseMs
The pause between two flashes.
Definition: Configuration.h:57
The LED is off.
Definition: Hardware.h:35
void setLedState(LedState ledState)
Enable or disable the status LEDs.
Definition: Hardware.cpp:69
void delayMs(uint16_t delay)
Wait approximate the given number of milliseconds.
Definition: Tool.cpp:31

◆ modulateLed()

void Display::modulateLed ( Color  color,
uint8_t  pwmValue 
)

One cycle of a modulated LED.

Parameters
colorThe color for the cycle.
pwmValueThe PWM value for the on state of the cycle.

Definition at line 49 of file Display.cpp.

50 {
51  Hardware::setLedState(static_cast<Hardware::LedState>(color));
52  Tool::delayCycles(pwmValue);
54  Tool::delayCycles(0xffu-pwmValue);
55 }
void delayCycles(uint8_t delay)
Wait a very short time (CPU frequency depended).
Definition: Tool.cpp:39
The LED is off.
Definition: Hardware.h:35
void setLedState(LedState ledState)
Enable or disable the status LEDs.
Definition: Hardware.cpp:69

◆ pulse()

void Display::pulse ( Color  color)

Smooth Pulse one time.

Parameters
colorThe color for the pulse.

Definition at line 58 of file Display.cpp.

59 {
60  for (uint8_t i = 1; i < Configuration::cDisplayPulseMaximumPwm; ++i) {
61  for (uint8_t j = 0; j < Configuration::cDisplayPulseCyclesPerLevel; ++j) {
62  modulateLed(color, i);
63  }
64  }
65  for (uint8_t i = Configuration::cDisplayPulseMaximumPwm; i > 1; --i) {
66  for (uint8_t j = 0; j < Configuration::cDisplayPulseCyclesPerLevel; ++j) {
67  modulateLed(color, i);
68  }
69  }
70 }
void modulateLed(Color color, uint8_t pwmValue)
One cycle of a modulated LED.
Definition: Display.cpp:49
const uint8_t cDisplayPulseCyclesPerLevel
The number of cycles for each PWM level.
Definition: Configuration.h:65
const uint8_t cDisplayPulseMaximumPwm
The maximum PWM for a pulse.
Definition: Configuration.h:61