| 116 | } |
| 117 | |
| 118 | u8 TimeRamp::update8(u32 now) FL_NOEXCEPT { |
| 119 | if (!isActive(now)) { |
| 120 | return 0; |
| 121 | } |
| 122 | // u32 elapsed = now - mStart; |
| 123 | u8 out = 0; |
| 124 | if (now < mFinishedRisingTime) { |
| 125 | out = time_alpha8(now, mStart, mFinishedRisingTime); |
| 126 | } else if (now < mFinishedPlateauTime) { |
| 127 | // plateau |
| 128 | out = 255; |
| 129 | } else if (now < mFinishedFallingTime) { |
| 130 | // ramp down |
| 131 | u8 alpha = |
| 132 | time_alpha8(now, mFinishedPlateauTime, mFinishedFallingTime); |
| 133 | out = 255 - alpha; |
| 134 | } else { |
| 135 | // finished |
| 136 | out = 0; |
| 137 | } |
| 138 | |
| 139 | mLastValue = out; |
| 140 | return out; |
| 141 | } |
| 142 | |
| 143 | } // namespace fl |
no test coverage detected